论文部分内容阅读
在USB协议标准发展的过程中,USB2.0接口以其灵活、稳定、速度快等优点,占据着大部分的电子类消费市场,并且广泛应用于计算机、通信和消费类电子产品。而对于一个USB2.0的系统而言,USB主机端大都是集成在PC机的主板上来与外围设备通信的。所以,在无PC机情况下实现嵌入式USB2.0主机控制器的设计具有广阔的应用前景。本设计USB2.0主机端控制器完全支持USB2.0协议、UTMI规范、ULPI规范和海量存储协议。在通过对该控制器性能分析的基础上,进行了系统功能框架的搭建和各功能模块的划分。本设计主要分为主控模块、ULPI模块、双口RAM模块和MCU接口模块这四部分。其中,主控模块是该控制器设计中最核心的模块。它既要实现USB协议层的封包、拆包和控制包的传输方式,又要实现软件硬化部分对于设备枚举和文件系统访问的功能。双口RAM模块功能是实现数据的缓冲。ULPI模块实现了主机控制器和前端物理层芯片的连接,而MCU接口模块则提供了主机控制器和和后端MCU的接口。本设计的创新处在于实现USB主机端控制器基本功能的基础上,对主机的软件驱动程序作了硬化处理,即同样用硬件描述语言来实现对设备枚举和对设备文件系统进行管理的功能。这样就增强了主机控制器的独立性和可移植性。而MCU采用实验室成熟的51IP核,既可协助主机控制器与设备之间的通信,又可通过其串口完成可靠的验证工作本设计搭建的硬件平台是由实验室Xilinx Virtex-II型号的FPGA开发板和开发子板两部分组成的。对于开发子板,本设计完成了子板的PCB绘制、焊接和调试工作。而开发子板的核心芯片选用的是支持USB主机端设计的物理层芯片ISP 1504。该芯片支持ULPI协议,既减少了USB2.0链路层到物理层的接口信号数,又简化了高速USB连接的要求。最后,本文对该设计的验证方法进行了详细阐述。然后在ISE软件和MODELSIM软件中完成了软件仿真,在FPGA开发板上下载代码并通过串口调试助手完成了验证工作。通过对软件仿真图和串口输出数据的分析,本设计符合预期的设计要求。