目录
- 1、前言
- 2、FT601芯片解读和时序分析
- FT601功能和硬件电路
- FT601读时序解读
- FT601写时序解读
- 3、我这儿的 FT601 USB3.0通信方案
- 4、vivado工程详解
- 5、上板调试验证
- 6、福利:工程代码的获取
1、前言
目前USB3.0的实现方案很多,但就简单好用的角度而言,FT601应该是最佳方案,因为它电路设计简单,操作时序简单,软件驱动简单,官方甚至提供了包括FPGA驱动在内的丰富的驱动源码和测试软件;
本设计用FPGA驱动FT601芯片实现USB3.0数据通信,使用同步245模式通信,在FPGA里设置了一个计数器,在写操作时计数器每个时钟累加1,此间QT上位机会读取FT601发给上位机的数据实现读操作测速,此外,QT上位机会主动写数据到FT601,但此时FPGA并不接收数据,如此也可以实现写操作测速;代码编译通过后上板调试验证,可直接项目移植,适用于在校学生做毕业设计、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的USB3.0通信和图像传输领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式以及上板调试的演示视频放在了文章末尾,请耐心看到最后;
2、FT601芯片解读和时序分析
FT601功能和硬件电路
FT600/601Q 的技术参数如下:
FT600&601Q 芯片是 FT 最新推出的 USB3.0 to FIFO interface IC,实现 USB3.0 与 16/32bit 并行 IO 接口之间的数据传输。
整个 USB 通信协议全部由芯片驱动自行完成,开发者无须考虑 USB 底层固件的编程。
兼容支持 USB3.0(5Gbps),向下兼容 USB2.0(480Mbps and 12Mbps)传输。
高达 8 个可配置 Endpoint. >>支持 2 种 FIFO 传输协议,最大传输可达 400MB/s。
芯片内部有 16K 字节的缓冲区,可以进行数据的大吞吐量操作。
支持远程唤醒功能。
芯片支持多种 IO 电压:1.8V,2.5V.3.3V。
通过 16bit D[O:15]或 32bit D[0:31]并行数据线和读写状态/控制线 RXF、TXE、RD、WR,加上时钟 CLK,使
能 OE 信号线就可实现与 CPU/FPGA 的数据交换。
该芯片内部集成 1.0V LDO,可提供给芯片核心部分使用。
工业级芯片,工作温度范围-40 to 85℃。
芯片框架如下:
外围电路设计参考如下:
FT600/601Q 支持的多种传输模式,其中 245 Synchronous FIFO 模式和 Multi-Channel FIFO 模式是我们最常用的模式。我们这里介绍的 demo 以 245 Synchronous FIFO 模式为例;传输模式通过GPIO引脚高低电平配置,配置真值表如下:
FT601读时序解读
245 Synchronous FIFO 模式读时序如下:
RXF_N为读数据状态信号,RXF_N为低电平期间FPGA可以读取FT601数据;
检测到RXF_N低电平后,拉低OE_N和RD_N,然后开始读数据;
检测到RXF_N高电平后,拉高OE_N和RD_N,然后退出读数据状态;
FT601写时序解读
245 Synchronous FIFO 模式写时序如下:
TXF_N为读数据状态信号,RXF_N为低电平期间FPGA向FT601写入数据;
检测到TXF_N低电平后,拉低WR_N,然后开始向FT601写入数据;
检测到TXF_N高电平后,拉高WR_N,然后退出写数据状态;
3、我这儿的 FT601 USB3.0通信方案
我这儿现有的FPGA基于FT601的USB3.0通信方案主要有简单的测速方案、图像传输方案,图像传输方案包括简单的彩条传输采集、OV5640摄像头传输采集、HDMI视频采集,HDMI视频采集抓拍等等,所有工方案均包括FPGA工程和QT上位机源码;感兴趣的可以去我的FT601 USB3.0通信专栏阅读,专栏地址如下:
https://blog.csdn.net/qq_41667729/category_12339160.html?spm=1001.2014.3001.5482
4、vivado工程详解
开发板FPGA型号:xc7k325tffg900-2;
开发环境:vivado2022.2;
输入输出:USB3.0接口;
应用:USB3.0数据测速试验;
代码架构如下:
综合编译完成后的FPGA资源消耗和功耗预估如下:
5、上板调试验证
测试很简单,将USB先连接FPGA开发板和电脑即可,测试结果如下;
6、福利:工程代码的获取
福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式1:私,或者文章末尾的V名片。
网盘资料如下: