● 摘要
USB接口近几年来受到了越来越多使用者和设备商的关注。它具有速度快、支持热插拔、使用简单、功耗低、性能稳定等优点。USB 2.0是基于USB 1.1的一个高级版本,比起USB 1.1,它在数据的传输速度上提高了很多。目前,几乎所有的数据设备终端都使用USB接口协议与PC进行数据交换。开发USB接口的方式有很多。但是在开发前期使用硬件语言描述,并使用FPGA实现是设计和验证的最好方式。后期我们可以把设计好的代码打包成为IP核,供未来开发移植。本文主要通过FPGA器件,利用Verilog HDL语言,完成了USB2.0设备控制器的设计和实现。论文首先介绍USB2.0的体系结构特点,包括总线特征、协议特征、传输方式等等,又介绍了FPGA技术的设计方法,然后对USB2.0设备控制器的功能和原理进行详细的分析后采用自顶向下的设计方法,将USB2.0设备控制器划分为7个主要功能模块:USB收发器UTMI(USB Transceiver Marcrocell Interface)、UTMI接口、协议层(Protocol Layer)、RAM数据缓冲区、存储器接口和仲裁器接口、控制和状态寄存器及功能接口,之后在系统级描述的基础上,依次对各个功能模块进行进一步的结构划分,本文重点对其中的UTMI接口、协议层PL、存储器和仲裁器3个模块进行了细分,做了较深入的分析,并使用Verilog HDL硬件描述语言完成了个子模块的功能描述,同时作了相应的仿真工作。最后,用FPGA器件进行了验证和测试,并取得了满意的测试结果。