1、USB3.0介绍

USB3.0协议:协议就是传输数据的规则,定义接口设备、器件及信号、总线及通道之间需要满足的关系。
USB3.0接口:接口是一种连接标准,又常常被称之为物理接口。
USB3.0总线:总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线、地址线、控制线等构成。

组成部分:
通用可编程接口 (GPIF II)
GPIFI是一种可编程的状态机,它所启用的灵活接口使用自己的高速时钟,完全独立于ARM9。在工业标准或专用接口中,GPIFII能够作为一个主设备或从设备运行。GPIFll可支持并行和串行接口。
GPIF II的主要特性包括:
·可作为主设备或从设备使用。
·提供256种可编程状态。
·支持8位、16位、24位和32位的并行数据总线。支持频率高达100 MHz的接口。
·使用32位数据总线时,支持14个可配置的I/O 引脚输出或双向引脚使用。
·使用16/8位数据总线时,支持16个控制V/O引脚。控制引脚可作为输入、输出或双向引脚使用。

32 位 CPU
·FX3拥有一个片上32位200 MHz ARM926EJ-S内核CPU。该内核能直接访问16KB的指令紧密连接内存(TCM)和8KB的数据紧密连接内存。ARM926EJ-S内核还提供了用于固件调试的JTAG接口。
·FX3集成了512KB 或,256KB的嵌入式SRAM(取决于所选择的设备型号),并支持四种启动代码的方法(USB、GPIF II、I2C或者 SPI)。
· FX3能在多种外设(如USB、 GPIFII、12S、SPI 以及UART)间实现高效灵活的DMA 连接。
·FX3固件配置外设间的数据访问后,DMA结构将管理传输,而不需要 ARM9内核参与。安装EZ-US:FX3SDK后可以使用FX3示例固件。
③JTAG接口
JTAG协议制定了一种边界扫描的规范。边界扫描架构提供了有效的测试布局紧凑PCB板上元件的能力。边界扫描可以在不使用物理测试探针的情况下测试引脚连接,并在器件正常工作的过程中捕获运行数据。
FX3的JTAG接口包含一个标准的5引脚接口,用于连接JTAG 调试器,以便通过CPU 内核的片上调试电路来调试固件。ARM926EJ-S 内核的业界标准调试工具可用于FX3应用开发。如Jlink。
外设

  1. I2C 主控制器:FX3的I2C接口作为I2C主设备使用,同I2C从设备进行通信。例如,可从连接至I2C接口的 EEPROM启动。FX3的I2C主控制器支持多主控制财能和I2C时钟延展。I2C控制器所支持的总线频率有100 kHz、400Hz和1MHz。
  2. UART:FX3的UART 接口支持全双工通信,包括TX、RX、CTS以及 RTS信号。UART支持各种波特率,从 300 bps 到4608 Kbps,可通过 FX3件进行选择。(一般用于调试串口使用)
  3. SPI 主控制器:FX3支持作为SPI主设备接口,其最大工作频率为33MHz。SPI控制器支持四种 SPI通信模式,传输数据大小为4位到32位。
  4. I2S 主控(仅发射器):FX3拥有一个12S发送器,用于支持外部音频编解码器和其它12S接收器。I2S接口支持的采样频率有32 kHZ、44.1 kHz和48 kHz。

FX3应用:
1.(主要)作为协处理器

利用USB PHY的特点,通过GPIF接口向内部写入数据,通过USB接口输出。
2.作为主处理器

利用ARM内核功能+USB,功能类似STM32F103,但是USB功能升级了。

①FX3芯片应用——与FPGA进行连接
通过高速并行 GPIF II接口,某些应用可以将 FPGA或ASIC连接到 FX3。作为数据的源或库的其它设备则被连接到FPGA或 ASIC。这样的应用包括数据采集设备、打印机、扫描仪和成像设备等等。
在上述应用中,FX3作为与USB主机进行数据发送和接收的快速数据管道。对于这些应用,FX3到FPGA/ASIC的接口通常是同步从设备FIFO接口。

②FX3芯片应用——与图像传感器(摄像头)进行连接
在图像应用中,图像传感器通过并行GPIF II接口直接与FX3相连,视频流通过 FX3从传感器发送给USB主机。通过使用合适的固件对 FX3进行编程,可使该系统同USB视频类别(UVC)相兼容。

FX3芯片电路设计
FX3芯片电路设计主要包括以下内容:
-电源电路
-USB接口电路
-时钟配置电路
-启动配置电路
-lIC电路
-SPI电路
-lIS电路
-GPIF II接口

硬件设计
1、时钟
FX3有19.2、26、38.4 和 52 MH,有晶体输入和有源晶振输入两种,通过配置FSLC[0…2]让内部PLL(锁相环)知道是哪种时钟输入:

2、 复位
通过激活 EZ-USB FX3 上的 Reset# 引脚来初始化硬复位。复位序列和时序的具体要求详见下图。
常规的使用就是RC复位即可,想控制FX3,把Reset# 引脚拉到FPGA即可(注意电平匹配)。

3、 引导选向
FX3 为了灵活使用,加载程序时可从多个源加载引导二进制文件(编译出来的),可通过 PMODE 引脚配置来选择。EZ-USB FX3 有下列引导选项:

从 USB 引导
从 I2C 引导
从 SPI (支持的 SPI 器件为 M25P16 (16 Mbit)、M25P80 (8 Mbit) 和 M25P40 (4 Mbit))或同类器件引导
从 GPIF II 异步 ADMUX 模式引导
从 GPIF II 同步 ADMUX 模式引导
从 GPIF II 异步 SRAM 模式引导


(F代表的是悬空)
常用的:
F11(USB引导):用来调试和下载固件;
I2C引导:用来从EEPROM启动;
SPI引导,用来从SPI FLASH启动。

FPGA和USB3.0通信相关推荐

  1. FPGA和USB3.0通信知识记录(3)——基于特权同学图书《Xilinx FPGA伴你玩转USB3.0与LVDS》

    PS FPGA和USB3.0通信知识记录(2)最后FX3驱动安装由于还未拿到开发板,后面再学习.我是个新人,请多多关照. 第四章 第一个例程与FPGA下载配置 4.1流水灯例程 介绍了Vivado创建 ...

  2. FPGA和USB3.0通信-FX3硬件设计简谈

    FPGA和USB3.0通信-FX3硬件设计简谈 本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下称 FX3),该芯片是标准的USB3.0 PHY,可以大大简化使用USB通信时FP ...

  3. FPGA和USB3.0通信-USB3.0 PHY介绍

    可以和FPGA搭配使用的USB3.0 PHY芯片 通过之前的介绍<FPGA和USB3.0通信-USB3.0协议介绍 USB3.0 PHY简介 首先我们需要了解PHY具体完成哪些工作以及我利用FP ...

  4. FPGA和USB3.0通信知识记录(2)——基于特权同学图书《Xilinx FPGA伴你玩转USB3.0与LVDS》

    一.注册XILINX账户 二.Vivado下载安装(先注册账户才行) Downloads (xilinx.com) 以上是我下载的那个版本对应的链接. ①点击如图所示版本 ②点击后填写账户信息,填写好 ...

  5. FPGA和USB3.0通信知识记录(5)——基于特权同学图书《Xilinx FPGA伴你玩转USB3.0与LVDS》(Uart-lookback实验)

    上一篇(4)简单介绍了PLL IP核的用法,这一篇继续记录一个例程--FPGA串口通信. 之前学习51单片机的串口通讯实验的时候,似乎不是很难,简单了解一下协议就开始编程了,殊不知其实单片机的硬件串口 ...

  6. FPGA和USB3.0通信知识记录(4)——基于特权同学图书《Xilinx FPGA伴你玩转USB3.0与LVDS》

    上一次第(3)篇我记得记录了一下软件安装.这一节我来记录一个小例程--配置PLL 一.设计源文件 如图是工程主界面. 按红色箭头(从上到下)的顺序找到名为Clocking Wizard的IP核. 如上 ...

  7. FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码

    目录 1.前言 2.FT601芯片解读和时序分析 FT601功能和硬件电路 FT601读时序解读 FT601写时序解读 3.我这儿的 FT601 USB3.0通信方案 4.vivado工程1--彩条视 ...

  8. FPGA驱动FT601实现USB3.0相机HDMI视频采集 提供工程源码和QT上位机源码

    目录 1.前言 2.FT601芯片解读和时序分析 FT601功能和硬件电路 FT601读时序解读 FT601写时序解读 3.我这儿的 FT601 USB3.0通信方案 4.详细设计方案 5.vivad ...

  9. CYUSB3014 USB3.0与FPGA设计

    目录 1. USB3014连接框图 2. 复位设置 3. 时钟晶振 4. 时钟源配置 5. 引导方式配置 6. IIC存储器 7. SPI flash存储器 8. FPGA外接串口 1. USB301 ...

最新文章

  1. 【原创】设置头文件路径, gcc -I 选项写法
  2. Excel制作带勾的方框
  3. IT资料,重磅来袭!
  4. mysql查询优化之一:mysql查询优化常用方式
  5. 常用技巧 —— 离散化
  6. 插件式架构设计实践一:插件式系统架构设计简介
  7. JAVA写的多线程下载程序,并具有断点续传功能
  8. 使用指针时的“陷阱”
  9. Oracle Dataguard 管理命令
  10. guido发布python版本的年份_Guido van Rossum
  11. Qt 设置应用程序图标(windows)
  12. 破解中兴ZXV10 H108L电信猫超级密码,附赠破解路由限制
  13. TiDB错误码与故障排除
  14. flask_web 蓝本基模板继承问题
  15. 听说,在巴别鸟评审文件特别快?
  16. 获取显示器分辨率大小更改页面字体大小JS
  17. LPN(Request,Offer,Poll / Update,Establish,Cache)
  18. 聊聊Windows的销售渠道和授权版本
  19. 用find在html中找字符串,Windows CMD中 find命令(字符串查找)
  20. 手写中文数字识别PyTorch实现(全连接卷积神经网络)

热门文章

  1. 在Xcode7中搭建python开发环境
  2. android 杜比 播放器,适用于移动设备的杜比全景声 (Dolby Atmos)
  3. Hadoop KMS环境安装
  4. Lua Profiler——快速定位Lua性能问题
  5. SQL Server 判断时间是一年的第几周、星期几
  6. 【CV】图像卷积计算即二维矩阵卷积(Python)
  7. 注意力图Attention map可视化【亲测完美】
  8. 微服务——服务依赖与治理-服务调用异常、超时,id生成
  9. Pandas 安装与教程
  10. Linux系统时间不准问题分析