摘 要
USB ( universal serial bus)是近年发展起来的一种快速、灵活的总线接口。它最大的特点是易于使用、可热插拔、接口连接灵活,并且能够提供外设电源,在嵌入式系统及智能仪表中得到广泛的应用。本文讨论了一种基于USB2.0的数据传输设计和实现方法。
本数据传输系统采用FPGA作为主控制器,通过SLAVE FIFO方式将数据送入USB控制板,最后经USB将数据读入计算机。论文首先简述了USB协议,包括体系结构、数据流模型、传输类型等。在硬件设计部分先讨论了USB2.0接口芯片CY7C68013,然后给出了FPGA的硬件设计方案及FPGA程序设计;在软件部分,介绍了FX2的固件框架,使用了USB从属FIFO接口模式。最后将系统的软硬件设计相结合,实现了对系统调试。
关键词:USB,CY7C68013,固件,FPGA
目 录
摘要………………….…………………………………………………………………………….….II
1 绪论………………….………………………………………………………………………….….1
1.1 选题背景及研究意义………………….………………………………………………. …….1
1.2 国内外研究现状………………….…………………………….…………………………….2
1.3 本论文的主要研究内容………………….………………………….……………………….3
2 USB总线体系结构………………….……………………………………….….………………4
2.1 USB系统的描述………………….…………………………………………….…………….4
2.2 总线结构………………….………………………………………………….……………….4
2.2.1 USB主机与设备………………….…………………………………………………….5
2.2.2 USB的电气特性………………….…………………………………………………….6
2.2.3 USB总线机械特性………………….………………………………………………….6
2.2.4 USB电源………………….…………………………………………………………….6
2.3 USB总线协议………………….……………………………………………………………7
2.4 USB通信流………………….…………………………………………………….………….8
2.5 USB设备与枚举过程………………….……………………………………….…………….10
2.5.1 USB设备………………….………………………………………………………….10
2.5.2 USB设备状态………………….…………………………………………………….11
2.5.3 总线枚举(Bus Enumeration)………………….……………………………….…….12
3 USB数据传输系统的硬件设计………………….………………………………….………14
3.1 芯片选择………………….………………………………………………………….………14
3.2 USB芯片………………….……………………………………………………………….14
3.2.1 USB芯片介绍………………….…………………………………………………….14
3.2.2 USB2.0的主要特点………………….………………………………………………15
3.2.3 CY7C68013芯片………………….……………………………………….………….17
3.3 FPGA设计………………….……………………………………………….……………….23
3.3.1 FPGA简介………………….…………………………………………….…………….23
3.3.2 FPGA设计流程………………….…………………………………………….……….23
3.4 硬件接口电路实现………………….…………………………………………….…………24
3.5 逻辑控制电路的设计………………….………………………………………….…………25
4 固件程序设计………………….……………………………………….………………………28
4.1 固件功能………………….………………………………………………….………………28
4.1.1 CY7C68013固件架构………………….……………………………….…………….28
4.1.2 描述符的定义………………….……………………………………….…………….32
4.1.3 端点的配置………………….…………………………………………….………….33
4.2 USB固件程序设计………………….………………………………………………………33
4.2.1 固件程序工程………………….………………………….………………………….33
4.2.2 固件程序的编译与调试………………….………………….……………………….35
4.2.3 固件程序的下载………………….…………………………….…………………….35
5 调试与主要问题………………….……………………………………….……………………37
5.1 数据传输调试………………….…………………………………….…………………….37
5.2 主要问题…………………….………………………………………….………………….39
6 总结…………………….……………………………………………….……………….…………41
致谢…………………….…………………………………………………….…………………………42
参考文献…………………….………………………………………………………………………43
附录1 FPGA程序………….…………………………………………………….……………….…44