论文部分内容阅读
通用串行总线(USB)是一种具有即插即用、高扩展性、高速稳定等优点的通信接口标准。目前基于PC机的USB应用已趋于成熟,但一些便携式USB设备要求脱离PC机实现数据通信。因此将USB主机控制器应用于嵌入式系统,实现USB的点对点通信显得日益重要,本文旨在设计一款可在嵌入式SOPC系统中使用的USB主机控制器IP核。本文在对USB协议规范和OHCI主机控制器设计规范深入研究的基础上,采用自顶向下的设计思想,对USB主机控制器IP核进行顶层设计和模块划分。完成USB主机控制器IP核的RTL级描述、仿真及验证,并分析其仿真和综合结果。论文主要包括以下几方面的内容:首先,对USB协议规范进行深入详细的研究。在透彻理解USB协议的基础上对USB主机控制器IP核按照自顶向下的设计思想进行顶层设计和模块划分。其次,采用Verilog HDL硬件描述语言对所划分的主机控制模块、串行接口引擎、Avalon总线接口模块、接收和发送缓冲等子模块进行RTL级设计。其中主机控制模块完成USB数据传输的核心控制功能,串行接口引擎实现USB协议层功能,Avalon总线接口层和接收发送缓冲模块完成系统总线与USB总线的时钟域切换和数据的异步时域传输功能。在设计中采用一种新型的CRC校验并行算法,提高了校验效率、优化了逻辑电路的时序特性;设计存储深度可配置的FIFO作数据收发缓冲,在保证传输速度的基础上方便用户裁减以节省逻辑资源开销。最后,针对所设计的主机控制器IP核制定详细的仿真测试方案,搭建仿真测试平台,编写结构化的Testbench,采用ModelSim仿真工具对各子模块进行功能仿真,保证模块逻辑功能满足设计要求,采用Altera公司的FPGA验证平台进行逻辑综合与验证。所设计的USB主机控制器IP核仿真和测试结果表明,主机控制器IP核各模块逻辑功能均达到设计要求,整个主机控制器可在USB1.1协议规定的低速和全速两种传输模式下完成指定类型的数据包的发送。本设计为SOPC系统中嵌入USB主机控制器提供了有效可行的实现方案,拓展了SOPC系统的外设接口,具有较高的应用价值。