每日一练6.24#基于FPGA的USB2.0接口通信
|
|
为鼓励大家动手动脑,早日成为技术大牛。电路城论坛现在推出#每日一练#栏目,由版块版主出题及提供答案,内容涉及电源,射频,单片机等各种技术话题。我们会在周一至周五的早上10:30更新问题和前天问题的解题思路及答案。欢迎大家参与。
本期内容来源于:
Casper.T,电子与通信工程专业,在读硕士,对模拟通信,智能电子设计以及FPGA图像处理和加速器有丰富的设计经验。现主要从事电子信息技术运营方面的工作。
传统的USB通信开发对工程人员的要求比较高,除了上层应用软件以外,还需要掌握一定的USB传输协议、固件编程以及底层驱动等等。对于FPGA固件开发人员来说,我只关心数据如何可以正确的收发,说白了就是给我说清楚接口交互时相关信号之间的时序关系即可,其他的内容并不是这么关心。FTDI公司的FT232H应运而生,他把USB的相关协议封装在芯片内部,只把数据端口部分开发给工程开发人员。与市面上另外一款USB芯片(cypress的CY7C68013)相比,FT232H在模式配置上,有官方提供的工具软件直接进行模式配置,而不需要像前者那样,还要编写模式配置的相关代码,从而大大提高开发效率。
接口芯片FT232H FT232H是一款单通道的高速USB转UART/FIFO芯片,支持USB2.0协议。通过配套的软件可以配置成不同的应用模式,如下图所示:
FT232H的内部结构 从图1中我们可以了解到,FT232H芯片内部可以划分为UTMI_PHY、USB_protocol and FIFO ctrol、Tx/Rx Buffer、MPSSE/Multi_purpose UART/FIFO controler以及EEPROM_interface这几部分。其中MPSSE/Multi_purpose UART/FIFO controler是面向用户设计的IO,通过配置成不同的模式,管脚对应的定义不一样。 我们通过把FT232H配置成同步FIFO模式,已达到最快的传输速率。
软件设计 芯片工作模式配置 FT232H在出厂的时候,默认是UART模式,配置长同步FIFO模式,需要通过官方提供的配置软件FT_PROG进行配置,配置过程十分简单,如下:
如上图所示,配置过程大体上可以分为上述3个步骤。需要注意的是在进行第一步之前,PC上需要安装好相应的驱动,才能够识别出芯片;还有一个需要注意的地方是,Property中product_desc里面的值可以自己修改,但是上位机一定要与之对应,否则编写的上位机软件有可能打不开设备。
问:根据上述的FIFO模式下的拓扑结构和芯片模式配置,写出你的代码设计过程?
答:
|
|
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2022-6-30 09:25 |
|---|
签到天数: 199 天 连续签到: 1 天 [LV.7]常住居民III
状元
- 积分
- 4132
|
沙发
kunchen
发表于 2020-6-28 13:06:11
|
只看该作者
|
|
|
|
|
|
|
|
|
|
板凳
ゞ灬丫頭、別跑づ
发表于 2020-7-13 09:08:25
|
只看该作者
|
请教一下楼主,我使用FT232H这款芯片,然后也想设置成同步FIFO模式,但是我按教程所说的设置后,60M的时钟没有输出,是有什么地方没有设置好吗? |
|
|
|
|
|
|
|
|
TA的每日心情 | 衰 2020-7-24 03:31 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
白丁
- 积分
- 48
|
地板
extensible
发表于 2020-7-13 09:08:12
|
只看该作者
|
|
|
|
|
|
|
|
|
|
5#
TNByuyang
发表于 2021-3-20 23:09:48
|
只看该作者
|
|
|
|
|
|
|
|
|
|
6#
TNByuyang
发表于 2021-3-20 23:10:38
|
只看该作者
|
|
|
|
|
|
|
|
|
|
7#
eefocus_3702999
发表于 2021-6-15 20:22:20
|
只看该作者
|
|
|
|
|
|
|
|
|
|
8#
华庆
发表于 2021-7-5 11:51:26
|
只看该作者
|
|
|
|
|
|
|
|
|
|
9#
xiaobing3886
发表于 2022-3-14 12:05:52
|
只看该作者
|
|
|
|
|
|
|
|
|
|
10#
eefocus_3952400
发表于 2023-12-26 21:52:55
|
只看该作者
|
|
|
|
|
|
|
|