论文部分内容阅读
本文首先简单分析了通用串行总线USB(Universal Serial Bus)的产生,发展以及嵌入式USB主机国内外研究状况。其次,简单介绍了USB2.0总线协议,包括USB体系结构,物理接口,数据通信中各种包结构及数据传输的四种类型。接下来,主要说明了本论文中设计的嵌入式USB2.0主机控制器IP核的设计方法,详细描述其组成结构及各功能模块的设计,并介绍其在系统中的应用方案。在本设计中USB2.0主机控制器IP核实现了高速及全速功能,而没有设计低速功能。本设计中的嵌入式USB2.0主机实现了控制传输,批量传输,同步传输,中断传输四种数据传输类型。设计中内嵌了一个DMA(Direct Memory Access)主/从控制器,通过软件配置相应寄存器位来选择内部DMA的工作模式。当外部没有DMA主机控制器时,USB2.0主机控制器内的DMA控制器可以选择工作在DMA主机模式,来实现其发送/接收缓存与系统内存之间的数据交换。当外部有DMA主机控制器时, USB2.0主机控制器内的DMA控制器选择工作在DMA从机模式,来实现数据交换,这样设计大大提高了此USB主机控制器的利用灵活性,同样也很大程度的提高的数据传输速度。同时,本设计中发送/接收存储模块采用了乒乓缓冲的设计方法,即利用两个RAM(Random Access Memory)同时交替访问,方便了CPU与USB主机之间数据的同步。论文还简单介绍了USB2.0主机控制器软件的系统结构,并重点介绍了USB2.0主机控制器驱动程序的设计实现。最后,介绍了本设计的嵌入式USB2.0主机控制器IP核的功能仿真及验证平台,并详细介绍了总线枚举和数据传输在仿真平台中的实现方法,并分析了仿真结果,进行了FPGA验证,并且经过Silterra公司0.18um多项目晶圆(Multi-Project Wafer,MPW)流片,最后对流片回来芯片进行了功能验证。