论文部分内容阅读
USB(Universal Serial Bus,通用串行总线)是以Intel为首的七家公司(Intel, Compaq, Microsoft, IBM, NEC等)共同提出来的,具有成本低、速度快、易于扩展等优点,它是当今电子产品中应用最为广泛的接口协议之一;然而在电子产品的设计中,使用USB接口并不十分方便,且性价比相对较差。现在,由于EDA技术的发展,SOPC(System On a Programmable Chip)极大的提高了电子产品的性价比,同时也使设计更加方便。因此本论文设计了一个能够应用在SOPC系统设计中的USB设备接口IP核。本文主要讨论了USB设备接口IP核的设计。在深入研究了USB协议后,决定在设计中,采用自顶向下的设计方法,降低了设计的复杂度,使得整个设计结构清晰;同时在设计当中,全部采用硬件描述语言进行编写,使得IP核的速度得以大大提高。论文内容主要包括以下几个方面:1)在分析研究USB系统的数据传输方式和通信协议标准基础上,提出了基于FPGA的USB设备接口IP核的总体设计方案,进行了功能模块划分,即:物理层模块、UTMI模块、控制器模块、FIFO模块、存储器接口模块和协议层模块。其中物理层模块、控制器模块和协议层模块是整个设备接口的关键模块。2)通过Verilog HDL硬件描述语言对各个功能模块进行详细的设计。其中,物理层模块主要用来完成对时钟和数据的分离,进行串行并行的转换;控制器模块采用了专用控制器的设计方法,完成USB设备的枚举和数据传输的工作;协议层模块通过有限状态机的设计方法成功的实现了复杂的USB协议,包括对数据的打包和解包等工作。3)通过专业软件(QuartusⅡ和ModelSim SE)对USB设备接口IP核进行综合仿真,对USB设备接口的控制端点、IN端点和OUT端点进行了测试,验证了数据传输的正确性。然后对设备接口进行了FPGA硬件验证,在硬件验证的过程中,USB主机(PC机)和设备接口进行了成功的USB数据通信,并通过USB HOUND软件截取了在USB总线上的通信数据。实验结果表明,论文中设计的USB设备接口IP核能作为一个单独的IP模块嵌入到SOPC系统设计中去,使得USB接口在电子产品中的应用更加方便。