1-FPGA-USB3.0-FT601Q简单理论
1-FPGA-USB3.0-FT601Q简单理论
前言
最近有一个FPGA项目中需要使用USB3.0完成高速数据收发,通过USB3.0数据线、母座、FT601Q芯片实现主从设备之间的数据传输。学习资料是米联客的USB3.0 MicroB,而为了提高稳定性和可靠性实物采用的是USB3.0 StandB,那么这篇博客针对USB3.0三种母座接口进行分析,同时对FT601Q芯片进行介绍。
USB规范协议:https://www.usbzh.com/article/detail-385.html
USB3.0协议及引脚定义
下图是从USB规范协议中文版中截取的,可以看出在采用了3路差分信号,传输速率有明显的提升。
USB3.0 StandA、USB3.0 StandB、USB3.0 MicroB
原理图对比

PCB封装对比

实物对比

| VBUS | 供电,由外部设备提供 |
|---|---|
| D- | 高速USB收发器差分对- |
| D+ | 高速USB收发器差分对+ |
| SSTX- | 超高速USB发射器差分对- |
| SSTX+ | 超高速USB发射器差分对+ |
| SSRX- | 超高速USB接收器差分对- |
| SSRX+ | 超高速USB接收器差分对+ |
| GND | GND |
通过查阅USB3.0接口的厂商文档和USB规范协议得出,除了USB3.0 MicroB多了一个ID引脚外(数据传输可以不用),因此上述三种母座是通用。
FT601Q
FT601Q控制结构图

米联客极简外围电路设计


FT601Q控制引脚说明
下表对编程控制需要使用的引脚进行记录
| CLK | O | FIFO总线时钟,注意看是输出66M或者100M |
|---|---|---|
| DATA[31:0] | I/O | FIFO数据输入输出 |
| BE[3:0] | I/O | FIFO数据使能 |
| TXE | O | 245同步FIFO模式:输出FIFO的空信号,表明可以写数据 |
| 多通道FIFO模式:输出有效信号 | ||
| RXE | O | 245同步FIFO模式:接收FIFO的满信号,表明可以读数据 |
| 多通道FIFO模式:确认接收信号 | ||
| SIWU | I | 保留引脚,正常使用时拉高 |
| WR | I | 写,低有效 |
| RD | I | 读,低有效 |
| OE | I | 245同步FIFO模式输出使能,低有效 |
| WAKEUP | I/O | 应用程序驱动这个引脚低在USB挂起时产生一个远程唤醒信号给USB主机 |
| GPIO[1:0] | I/O | 两个引脚用来选择FIFO协议和通道 |
FIFO协议选择
两种FIFO协议,一种是245同步FIFO,另一种是多通道FIFO。
后者适用于FT232H/FT2232H设备输入的数据,FT232H/FT2232H是高速单通道UART/FIFO芯片,这里我们使用的是FPGA的FIFO IP核,所以采用第一种245同步FIFO。

多通道模式支持FIFO的4进4出,245同步模式支持FIFO的单入单出,二者的时钟均由芯片的CLK提供。
通过查阅数据手册得知,多通道模式是针对多从设备的情况进行设计的,因此后文对245同步模式展开介绍。

GPIO[1:0]用于FIFO协议、通道的选择,原理图上标位SCL和SDA(不知道为什么这么标注)。
这里针对GPIO功能进行记录,不对BCD功能记录。

245FIFO模式读写时序图


浙公网安备 33010602011771号