文章目录
开发环境
- 小梅哥AC6102开发板(内含CYUSB3014芯片)
- quartus prime17.1
- win10
- 带usb3.0接口的电脑
只要带CYUSB3014芯片的fpga开发板都可以参考本教程
准备工作
- 缓冲区可以通过固件来配置,上图是2缓存,每个缓冲区是1kB,为了提高性能,我在固件中设置的是4缓存,每个缓冲区16KB.数据总线32位宽,时钟100MHz,实测上下行通信都能达到338MB/s。
- CYUSB3014芯片与fpga连接还是和usb2.0的一样,使用的是GPIF接口,我们只需要把CYUSB3014当成fifo来使用即可。
驱动
- 先安装FX3_SDK_Windows_v1.3.3,这个软件安装目录,下面有简称为SDK
- 在SDK目录中,有提供很多文档、固件实例和相应的驱动
- 在进行试验前要先安装好cypress提供的usb驱动,插上usb后,电脑就会检测到未识别的设备,这时打开设备管理器,右键未识别的usb,然后手动选择驱动。
固件
- 对于固件这块,有兴趣的同学可以自己去研究一下,如果只是使用的话,就可以直接使用我写好的固件。使用本实例的固件,你就可以基本可以把当成usb2.0一样使用了,因为他们都是slave fifo模块。
- 如果自己想折腾一下的话,需要注意的就是标志信号的设置,usb标志信号比较灵活。下面主要讲解一下标志信号的设置。
GPIF II Designer
Cypress官方提供了一个软件,可以用来设置gpif接口信号(包括标志信号),本教程只针对slave fifo,其他的模式自己去查看文档。
- 打开GPIF II软件
点击红色圈的地方
- 想要编辑更多的信息,点击 File->Save