USB英文全称 Universal Serial Bus,即通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。
FTDI 公司的USB2.0 芯片FT232H 进行USB 通信
FH232H芯片在内部不仅完成了USB 硬件接口差分电平转换,还封装了USB 的相关协议,留出数据交互接口
FH232H可以默认配置为UART模式,还可配置为JTAG,FIFO,IIC,SPI,本次将其配置为FIFO进行实验。
作为FPGA开发者只需要关注数据交互接口的时序即可实现USB功能。

MPSSE/Multi_purpose UART/FIFO controler:该模块为多功能UART/FIFO 控制器,它集成了面向用户的IO,直接负责与用户端(FPGA)进行数据交互。当把FT232H 配置成不同的模式时,管脚会有不同的含义

(I/O是对于FT232H来说)
ADBUS[7:0]: (I/O) 数据端口,双向IO接口(读写不能同时发生)
RD: (IN) FT232H中的数据输出使能,由FPGA发送给FT232H,低电平有效
WR: (IN) FT232H中的数据输入使能,由FPGA发送给FT232H,低电平有效
RXF: (OUT) FT232H中的FIFO数据可读标志位,低电平有效
TXE: (OUT) FT232H中的FIFO数据可写标志位,低电平有效
OE: (IN) FT232H中的数据输出,低电平有效
CLKOUT: (OUT) 60MHz时钟信号,由FT232H产生并传递给FPGA作为本次实验主时钟
SIWU: (OUT) FT232H中的数据立即发送使能,低电平有效

读时序:232拉低RXF表示有数据可读 > FPGA拉低OE使能输出 > 等待数据有效 > FPGA拉低RD > 有效数据 > 232拉高RXF > 读空 > FPGA需要同时拉高RD和OE
写时序:232中FIFO未满 > 232拉低TXE > FPGA拉低WR > 向232写入数据 > 232拉高TXE > 写满
硬件设计:参考

最低0.47元/天 解锁文章

1万+





