论文部分内容阅读
随着SoC技术的迅速发展,越来越多的IP模块被集成到了单个芯片中,以便满足不断增长的用户功能需求。而复杂的数字系统中需要一个与外部设备进行数据交换的高速接口。通用串行总线USB(University Serial Bus)以其支持热拔插、多设备、外设自我标识、传输速度快等特点成为计算机的标准外围设备接口。因此,在SoC系统中集成USB主机控制器必然会成为一种新的趋势,使得USB技术可以脱离PC的束缚得到更广泛的应用,这也是本文的研究意义所在。本文以“家庭网关SoC”项目为背景,对USB2.0主机控制器IP核进行了研究和实现。文章重点介绍了USB主机的设计思路和基于USB主机控制器的SoC系统的实现。USB主机控制采用了基于EHCI软硬件接口,硬件以DMA的方式完成传输数据的读写,支持控制、批量、中断、同步四种传输模式;本文通过深入分析USB协议和EHCI接口,对USB2.0主机控制器IP进行了测试和改进;设计和实现了一种基于分层结构的USB主机控制器软件驱动。驱动程序包括EHCI主机控制器驱动,USB驱动,和USB客户端驱动三个部分。采用了动态缓冲区管理技术,充分地提高了专用内存的利用效率;提出了一种基于事件驱动的软硬件协同验证结构,有效地提高了验证的自动化程度和效率,保证了IP核的可靠性。本文将USB2.0主机控制器与UART, SRAM控制器等IP模块一起集成了到openrisc的处理器平台中,并详细阐述了SoC设计中的软硬件协同仿真测试和调试的方法。最后,本文利用FPGA开发平台对USB2.0主机控制器片上系统进行了验证。结果显示在批量和控制传输两种传输方式下USB接口可以非常可靠的高速的传输数据,并通过移植嵌入式FAT文件系统,成功的实现了对大容量存储设备的访存。1