本文开源一个FPGA项目: USB3.0 LoopBack 。基于FPGA的USB3.0通信方案有很多,其中非常好用的一款USB3.0芯片是 FT600/601Q 。
下面介绍一下这款FT600/601Q芯片的技术参数,控制信号、数据读写时序等,并利用官方提供的上位机软件进行数据回环测试。
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)传输;
- 支持2种FIFO传输协议,最大传输可达400MB/s;
- 高达8个可配置Endpoint;
- 芯片内部有16K字节的缓冲区,可以进行数据的大吞吐量操作;
- 支持远程唤醒功能;
- 芯片支持多种IO电压:1.8V,2.5V,3.3V,
- 通过16bit或32bit并行数据线和读写状态、控制线RXF、TXE、RD、WR,加上时钟CLK,使能OE信号线就可实现与CPU、FPGA的数据传输;
- 工业级芯片,工作温度范围-40~85℃。
芯片内部架构
极简外围电路设计
读写模式&时序
FT600/601Q常用读写模式为245 Synchronous FIFO模式和Multi Channel FIFO模式,本工程以芯片默认的245 Synchronous FIFO模式为例。
FT600/601Q读写模式是通过GPIO0和GPIO1进行配置,具体配置方法如下图所示:
245 Synchronous FIFO模式读写时序也非常简单,当RXF_N信号拉低时, 通知FPGA开始读任务,当TXE_N信号拉低时,通知FPGA开始写任务:
- 245 Synchronous FIFO模式读时序
- 245 Synchronous FIFO模式写时序
回环传输测试
采用官方提供的FT600 Data Loopback Demo App上位机软件进行 数据回环测试 ,每次读写4096字节数据,结果如下图所示:
在Vivado工程中通过添加在线逻辑分析仪模块查看相关信号:
另外,还可以采用官方提供的FT600 Data Streamer Demo App上位机软件进行Stream数据流传输测试,速度可以达到360MB/S左右:
-
FPGA
+关注
关注
1629文章
21729浏览量
602960 -
USB3.0
+关注
关注
1文章
262浏览量
79786 -
cpu
+关注
关注
68文章
10854浏览量
211567 -
接口
+关注
关注
33文章
8575浏览量
151012 -
上位机
+关注
关注
27文章
941浏览量
54789
发布评论请先 登录
相关推荐
评论