论文部分内容阅读
作为一种简单易用和高速的串行总线,USB(通用串行总线)从出现至今,越来越受到人们的欢迎。而随着OTG(On The Go)技术的推出,更加拓展了USB的应用领域。USB OTG设备具备双重角色的功能,既能作为高速或全速USB设备使用,又能提供有限主机的功能。USB OTG技术的广泛应用,不仅来自于市场的需求,也得益于其相关芯片开发的硬件支撑。在基于IP(知识产权核)复用的SoC芯片设计中,片内总线(OCB)成为关键的技术问题,而在目前所有的片内总线规范中,AMBA(高级微控制器总线架构)逐渐成为一种事实标准。因此,将USB OTG技术与AMBA总线进行结合,设计通用的USB OTG IP并进行验证,是本文着重讲述的内容。本文介绍的USB OTG IP软核,既包含了USB高速设备控制器,也具备全速和高速主机控制器,同时,还有OTG控制器用于实现OTG协议。其中,高速主机控制器基于EHCI协议,全速主机控制器基于OHCI协议,并且两者在实现上对协议做了改进。高速设备控制器支持高速和全速的USB事务处理。OTG控制器主要用于实现SRP和HNP主从切换功能。该IP需要外接MCU解析上层协议,两者之间采用AHB(先进高性能总线)接口进行连接。本文首先对AHB总线接口单元的设计进行了详细描述,该模块基于可复用的方法分别设计了AHB Master、AHB Slave和DMA(直接内存存取)控制器,可以采用PIO和DMA两种数据传输模式,并且使用了基于握手协议的数据同步方式;随后针对USB OTG IP的设计,搭建了基于Xilinx FPGA和ARM处理器的SoC原型验证平台,并就验证和调试的相关方法和流程进行了介绍;最后给出IP板级测试的结果。结果显示该IP配合驱动程序能够实现USB高速和全速主机、从机,以及完成OTG主从切换功能,符合USB 2.0 OTG的基本特征,具备一定的实用性和可推广性。