USB总线因其传输速度快、占用资源少以及真正的即插即用等诸多优点,受到了广大开发者的青睐,已经成为很多计算机设备的一种基本配置。目前被广泛采用的USB设备开发方案主要有以下两种(1)利用USB设备端接口芯片加微控制器结构。如国内用的比较多的Philips公司的PDIUSBD12/ISP1581等。(2)采用USB单片机。采用这两种方案要求开发者彻底理解USB协议的细节,并编写出固件程序。固件的运行要占用微控制器的时间和空间资源,实际通信效率不会很高。也有人用FPGA实现固件的功能,但这种方案开发和调试的难度很大。本人在实际工作中用FPGA外部直接连接一片USB协议芯片FT245BM,实现了FPGA与PC机的USB通信,该方法不用微控制器,减少了元器件的个数,并且占用FPGA资源很少,FPGA仍然可以实现其他逻辑功能,系统设计的灵活性很大。
关于FT245BM的内部结构及详细地引脚介绍读者可以参考其他相关资料,在此仅对与本设计相关的内容作一个介绍。FT245BM内含两个FIFO数据缓冲区,一个是128字节的接收缓冲区,另一个是384字节的发送缓冲区。它们用作USB 数据与并行I/O口数据的交换缓冲区。FIFO实现与外界(微控制器、FPGA或其它器件)的接口,主要通过8根数据线D0~D7、读写控制线RD#和 WR#以及FIFO发送缓冲区空标志TXE#和FIFO接收缓冲区非空标志RXF来完成数据交互。TXE#为低表示当前FIFO发送缓冲区为空,为高表示当前FIFO发送缓冲区满或者正在存储前一个字节,禁止向缓冲区中写数据。RXF#为低表示当前FIFO的接收缓冲区非空。RD#信号由低变高将从 FIFO缓冲区中读取数据。当RD#变低时将数据送到数据总线。RXF#为高不能从FIFO读数据。读写时序见图1和图2。

图2 写数据时序
FT245BM与FPGA的接口电路设计
硬件电路设计
图3是FT245BM的USB与FPGA的接口电路,FPGA选用ALTERA EPF1K50TC-144,其中D0~D7是FT245BM与FPGA交换数据的数据总线,USB_RD#、USB_WR、USB_TXE#、USB_RXF#是相关的控制总线。

图3 FT245BM与FPGA的接口电路
相关热词:#fpga
影响介电常数的因素有哪些?
时间:2026-04-22
关于电流互感器基础知识介绍
时间:2026-04-22
开关电源的工作原理及特性
时间:2026-04-22
绝缘栅双极型晶体管(IGBT)外形、等效结构与...
时间:2026-04-22
信噪比(SNR)的定义,如何计算信噪比
时间:2026-04-22
波特率是什么意思_怎样计算波特率
时间:2026-04-21
RS485基本知识介绍
时间:2026-04-18
什么是激光雷达?激光雷达的构成与分类
时间:2026-04-18
Excelpoint - 一文了解SiC MOS的应用
时间:2026-04-18
什么是磁电阻器?磁电阻特性及应用
时间:2026-04-18
基于逻辑门的构成解释如何完成任意逻辑的管...
时间:2026-03-08
彩灯电路
时间:2026-03-05
NE555的有趣电路设计分享
时间:2026-03-08
三相异步电动机原理
时间:2026-03-04
三相异步电动机的拆装详讲
时间:2026-03-04
从0学电路,万用表演示测量三极管方法
时间:2026-03-08
电动机单线远程正反转控制电路图
时间:2026-03-04
光耦在电子电路中作用、关键参数详解
时间:2026-03-08
H桥电机驱动电路解析
时间:2026-03-08
转角测量电路
时间:2026-03-05