论文部分内容阅读
通用串行总线(Universal Serial Bus,USB)技术是一种为实现计算机与各种外设进行数据交换而提出的工业标准。它以其高的数据传输速率、耗费主机资源少、支持级联和多外设、智能化的即插即用、易于使用等优势迅速占领了计算机外设接口领域的统治地位,而且随着USB技术的广泛应用,在各种SoC系统中集成USB功能接口成为一种必然趋势,因此本文设计实现了USB2.0设备控制器IP软核。本论文对通用串行总线系统进行了研究,并根据USB2.0规范设计了SB2.0设备控制器IP软核。论文首先从功能设备的角度分析了USB2.0体系布局、总线协议、USB数据结构、四种事务传输类型以及错误的检测与恢复等特性,同时简单介绍了收发器宏单元接口(USB Transceiver Macrocell Interface,UTMI)。在此基础上根据USB2.0设备控制器的特点,提出了该设备控制器的设计方案。采用自顶向下的方法划分系统模块,将系统分为UTMI、UTMI接口、Packet处理单元、Endpoint单元、MCU接口六个模块,并用Verilog HDL完成了USB2.0设备控制器的寄存器级(RTL)的实现。最后,搭建测试环境,在NC-Verilog中完成前仿真。选用Xilinx公司的ISE6.3综合和实现及下载配置文件到FPGA芯片上(FPGA芯片为SPARTANⅡ系列的XC2S00芯片)进行验证。在验证的过程中,配置的USB设备在FPGA测试板上成功的完成了与主机的通信,并利用USB2.0协议分析仪USBEX200对该系统截取了通信样本。验证后的结果表明,本设计可以在预定频率下工作,实现了设备控制器的功能,达到了设计研究的目标,可以作为一个单独的IP模块嵌入到USB设备或SOC系统中。