基于Linux的USB 2.0 OTG IP核主机驱动的研究与实现

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:w7kny6194i
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
USB是数字有线通信设备应用十分广泛的接口之一,但USB接口两端的设备有主从之分,因此USB接口不支持任意两个USB设备之间的直接通信。OTG的出现解决了这一问题,支持OTG规范的USB OTG双重角色设备既可以实现主机功能,又可以实现标准设备功能,使得该设备可以实现与任意USB主机或设备间的通信,此外两个支持OTG规范的设备也能直接通信。本文介绍一种基于ARM芯片的USB2.0 OTG接口的IP核设计,主要对其在Linux下的主机控制器设备驱动的设计做详细讨论。本论文基于的课题设计的USB2.0 OTG IP核支持USB2.0协议、OTG补充规范、UTMI+协议。该IP核的一侧通过UTMI+的PHY与OTG设备通信;另一侧通过存储器控制器与ARM嵌入式系统相连,使得ARM访问IP核如同访问存储器。该IP硬件包括OTG控制器(OTGC)、高速主机控制器(EHC)、全速主机控制器(OHC)以及设备控制器(DC)。与本论文相关的硬件模块是主机端EHC和OHC模块,本IP设计的特点在于其具有OTG功能,主机端同时具有全速与高速主机控制器,而且本IP独立于MCU,不具有总线控制权的接口模块设计,其与MCU的数据交互均通过中断服务程序完成。USB主机功能由USB主机控制器硬件和USB主机驱动共同实现。USB主机驱动是一个复杂的软件体系,在Linux系统中,USB主机驱动分为USB设备类驱动、USB核心驱动(USBD)、USB主机控制器驱动(HCD)几个层次。本论文详细研究的HCD是USB主机驱动中与硬件结合最紧密的一层,它是上层驱动与下层硬件沟通的桥梁。HCD实现了主机控制器的管理、应用程序数据到USB数据的转化、传输的管理、设备的管理等重要功能。本论文首先仔细研究了Linux系统内核中的USB主机协议栈,在此基础上构建USB驱动的框架。根据上层驱动框架、IP核硬件设计,结合本IP核与ARM嵌入式系统之间的接口分析,实现USB全速和高速主机控制器驱动的功能部分。由于IP硬件设计的特殊性,主机控制器驱动的设计需要考虑到高速与全速控制器的路由切换与缓存区的共享,以及ARM访问作为SLAVE的IP核的方式。最后介绍了该驱动作为Linux内核的一个模块,与IP核结合,在基于Linux的ARM测试平台上运行和测试,并分析了结果。分析大规模存储功能测试的结果,该系统实现了预期USB全速与高速主机功能,并能成功切换。为进一步应用OTG功能开发奠定基础。
其他文献
语言是人类交流最直接的方式,因此研究语音信号的表示方法具有重要意义。基于Matching pursuit(MP)的语音信号稀疏分解由于其表示方法的优越性得到了广泛应用。但是该算法的
图像超分辨率重构广泛应用于医学图像处理、视频监督、天文学研究等领域,主要思想为利用已知的图像信息补充低分辨率图像丢失的细节信息,进而重构出期望的高分辨率图像。现有
群小区架构是一个广义协作分布式架构。该架构可以充分利用多天线技术带来的优势,适应物理层先进技术并且能够有效解决由于载频提高导致小区面积减小而带来的频繁切换问题。
数字抠图技术是把图像中的特定部分从其他部分中分离出来的一种图像处理技术,它在图像处理、影视制作及虚拟现实领域有着广泛的应用。最初出现的蓝屏抠图技术和差异抠图技术对
随着移动通信向着高速宽带发展,在传输速度的要求下,频率资源变得越来越宝贵。未来的通信系统必须充分利用有限的频谱资源,频带有效性和功率有效性的矛盾日益突出,而编码调制
目前声波测井地面系统采用多种通讯方式实现数据传输,如串口方式、PCI总线方式、USB总线方式等。这些通讯方式在速度、传输距离、可靠性或应用简便性等方面有一定限制,无法完
随着Internet和图像处理技术的快速发展,视频监控的规模不断地扩大,基于网络的智能视频监控技术得到了广泛的应用,如交通监控、智能小区、银行、学校等领域。由于硬件及网络
全球导航卫星系统(GNSS)目前有四种体系结构,四种系统都将在本世纪二十年代全面建成并投入使用。对四种卫星定位系统信号的综合利用将是未来定位技术发展的趋势。四种体系都提
为了满足指数式增长的通信需求,混合网络已经成为了下一代移动通信系统的关键技术,具体分为蜂窝网络与设备到设备(Device-to-Device, D2D)网络所组成的混合网络和宏小区与多个
学位