基于OHCI的嵌入式USB主机控制器接口实现

基于OHCI的嵌入式USB主机控制器接口实现

ID:38711378

大小:72.50 KB

页数:5页

时间:2019-06-18

基于OHCI的嵌入式USB主机控制器接口实现_第1页
基于OHCI的嵌入式USB主机控制器接口实现_第2页
基于OHCI的嵌入式USB主机控制器接口实现_第3页
基于OHCI的嵌入式USB主机控制器接口实现_第4页
基于OHCI的嵌入式USB主机控制器接口实现_第5页
资源描述:

《基于OHCI的嵌入式USB主机控制器接口实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于OHCI的嵌入式USB主机控制器接口实现TheInterfaceImplementationofEmbeddedUSBHostControllerBasedonOHCI(安徽大学)刘锋韩超汪磊峰叶爱玲LIUFengHANChaoWANGLei-fengYEAi-ling摘要:本文介绍了基于OHCI的USB主机系统的硬件核心主机控制器接口规范,分析USB协议栈的硬件层实现。结合了可重用的嵌入式USB主机系统研究课题,阐述主机控制器驱动程序开发方法,并列举了驱动程序内建的数据结构及接口函数的实现。完成了独立于操作系统的HCD开发,最后在S3C241

2、0平台下进行了实验验证。关键词:USB;HC;HCD;OHCI中图分类号:TP311文献标识码:AAbstract:ThepaperpresentstheinterfacespecificationofUSBhostcontrollerbasedonOHCI,analyzestheimplementationofhardwarelayerinUSBstack.AmethodofdevelopinghostcontrollerdriverisdescribedbasedonreusableembeddedUSBhostsystemresearch.T

3、hekeydatastructuresandinterfacefunctionwhichareusedinthedriverarealsoexplained.AsuccessfulexperimentisdoneontheS3C2410platformafterHCDisfinished.Keywords:USB,HC,HCD,OHCI1引言当前有关USB的开发,大多是针对USB外设或是USB高层驱动程序开发,少数基于单片的无OS(operatingsystem)的USB主机开发大都是由个人完成,其软件的耦合度高、接口不够清晰、可重用性低。而LIN

4、UX中的USB主机驱动程序由于其复杂性和对系统的依赖性,对其在无OS平台上的移植带来了一定的困难。论文以Compaq、Microsoft等公开的USB主机控制器接口规范为基础,遵循USB主机的协议规范,开发了独立于操作系统的USB主机底层驱动程序,并在S3C2410平台上得到了验证。下面详细论述主机控制器接口规范及驱动程序实现。2USB体系结构USB体系包括一系列的硬件层和软件层,如图1所示。USB设备类驱动USBDHCAPIHC的控制管理数据传输HCD硬件层软件层URB图1为了实现其可重用性和适合嵌入式系统特性,图1借鉴了PC机上的USB主机系统

5、结构,同时对一些在嵌入式系统中不必要的功能进行了取舍。用户程序和USB设备类驱动通过I/O请求包(IRP)将设备操作请求发送给USBD(USBDriver)。设备驱动程序(USBDriver)加工和分解IRP,构建相应的URB(UniversalRequestBlock)并通过HCD(HostControllerDriver)提供的接口传递给主控制器驱动程序HCD。HCD处理URB并建立相应的端点ED和传输数据TD,其基本信息包括:USB设备地址和端点号、数据传输类型、最大包长度、传输方向、传输速度和内存缓冲区地址等,细节在下文介绍。然后启动HC(

6、HostController)进行数据传输。HCD还负责主机控制器HC的管理,通过一组硬件寄存器来控制HC。HC通过USB总线与设备相连,在HCD的控制下处理数据的输入输出。HC还提供协议引擎、差错处理、远程唤醒、帧产生等功能。HC是USB主机系统的硬件核心,它位于USB协议栈中最低层,HC向上提供一个接口规范HCI(HostControllerInterface),HCD是此接口的具体实现。目前USB的HC芯片组有三种,而随之对应的HCI也有三种:EHCI(EnhancedHostControllerInterface);OHCI(OpenHos

7、tControllerInterface);UHCI(UniversalHostControllerInterface)。论文将以嵌入式系统中应用较多的OHCI为例,介绍接口规范和驱动程序实现细节。3HCD的实现USB主机控制器驱动程序(HCD)是USB软件协议栈最底层一部分。HCD向上仅对USBD提供服务,HCD提供一个软件接口,即HCDI(HCDInterface),接受USBD的调用和管理。HCD通过HC的操作寄存器和通信域来管理HC和实现USB数据的传输。HCD具体实现如下:3.1HCD数据结构的构建HCD主要构建的数据结构有端点描述符ED

8、(EndpointDescriptor)、传输描述符TD(TransferDescriptor)。3.1.1ED(Endp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。