当前位置:主页 > 科技论文 > 计算机论文 >

基于μC/OS-Ⅱ的USB OHCI主机协议栈的实现

发布时间:2020-12-10 12:44
  通用串行总线(USB)是一种计算机外围串行通信接口标准,已经成为现代计算机必备的接口之一。开放主机控制器接口(OHCI)是一个在嵌入式系统中得到广泛应用的USB主机控制器接口规范。μC/OS-Ⅱ是一个简单高效的嵌入式实时操作系统。基于μC/OS-Ⅱ的USB OHCI主机协议栈占用系统资源少,适合应用在资源紧张的嵌入式系统中,为产品提供USB设备接入功能。目前已有的USBOHCI主机协议栈在功能、资源占用、成本和可维护性等方面通常不能满足商业化产品的需要。本文在AT91SAM9260硬件平台上实现了一个较完整的基于μC/OS-Ⅱ操作系统的USB OHCI主机协议栈。首先进行了总体设计和模块划分,然后进行了主机控制器驱动模块、USB驱动模块和类驱动模块的设计和实现。在主机控制器驱动模块中,通过对主机控制器的管理和控制,实现了USB底层数据传送功能。在USB驱动模块中,实现了USB通信功能和USB设备管理功能。在类驱动模块中,实现了大容量存储类协议和人机接口设备类协议。最后,搭建了一个测试平台,设计了一系列测试用例,验证了主机协议栈的有效性。实验结果表明,该USBOHCI主机协议栈的可行性和... 

【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校

【文章页数】:71 页

【学位级别】:硕士

【部分图文】:

基于μC/OS-II 的 USB OHCI 主机协议栈的实现控制器驱动首先定位目标端点的 ED,然后根据 USB 驱动传过 TD,插入到 ED 的 TD 队列中,最后提交给主机控制器处理。控制传送的处理比较简单,只要把 URB 定义的数据分割成多 ED 的 TD 队列中就可以了。传送的情况有些特殊。如图 4.7 所示,控制传送分为三个阶段 STATUS。在 SETUP 阶段,主机向设备发送一个控制命令包(备请求)。在可选的 DATA 阶段,主机和设备之间传送零个或TATUS 阶段,主机和设备之间传送一个零字节的数据包,方向据传送方向相反(对于没有 DATA 阶段的情况,方向为输入)可以清楚地看出算法对控制传送的处理情况:DATA 阶段使用ETUP 阶段和 STATUS 阶段分别使用一个 TD。

处理流程图,热拔插,处理流程,设备


图 5.4 设备热拔插处理流程设备热拔插事件的处理过程分为以下几步:1. 事件检测:驱动监视集线器的状态,当集线器产生状态改变事件指向集线器 USB 设备对象的指针发送到消息队列。主机控制器驱监视根集线器,集线器驱动负责监视所有的普通集线器。2. 事件源确认:USB 主任务从消息队列中取消息,判断事件来自于线器设备。3. 事件处理:USB 主任务调用集线器驱动提供的事件处理程序处理设备产生的“连接状态改变”事件,判断事件类型,如果是“设事件”,向系统添加设备,反之,如果是“设备拔出”事件,则把系统中删除。4. 重新开始事件检测:对于除根集线器之外的其它普通集线器,US务向其状态改变端点提交轮询 URB,重新启动集线器的事件检测使集线器驱动继续监视集线器的状态。根集线器的事件检测通过断实现,不需要这一步骤。

【参考文献】:
期刊论文
[1]USB设备启动过程的分析与实现[J]. 张国云.  现代电子技术. 2005(23)
[2]Open HCI for USB浅析[J]. 朱良.  计算机工程与科学. 2005(09)
[3]基于Mass Storage协议的USB接口设计[J]. 田奕.  电子器件. 2005(03)

硕士论文
[1]USB OHCI主机协议栈设计及移植[D]. 李大鹏.东北大学 2009
[2]嵌入式下的USB协议栈设计与实现[D]. 阮寅.电子科技大学 2006



本文编号:2908715

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2908715.html


Copyright(c)文论论文网All Rights Reserved | 网站地图

版权申明:资料由用户144e7***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱[email protected]