[发明专利]一种VxWorks操作系统下USB设备增强识别方法有效
申请号: | 201210221105.0 | 申请日: | 2012-06-29 |
公开(公告)号: | CN103514122B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | 高海波;周俊 | 申请(专利权)人: | 中国船舶重工集团公司第七0九研究所 |
主分类号: | G06F13/10 | 分类号: | G06F13/10 |
代理公司: | 武汉河山金堂专利事务所(普通合伙)42212 | 代理人: | 胡清堂 |
地址: | 430074 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 vxworks 操作系统 usb 设备 增强 识别 方法 | ||
技术领域
本发明涉及USB通信技术领域,尤其涉及一种VxWorks操作系统下USB设备增强识别方法。
背景技术
USB接口由于其具有接口统一、即插即用、支持热拔插等特性,和支持低速、全速、高速等不同传输率,能够满足不同数据传输性能的产品要求,其在实时嵌入式领域得到了大量使用。
在VxWorks操作系统中,USB主机协议栈的初始化,包括:1)USB主机控制器的初始化,直接控制USB主机控制器硬件,包括主机控制器和集线器;2)USB驱动程序的初始化,处理客户软件和USB设备之间的数据传输,实现USB总线枚举、总线带宽分配、传输控制等操作。USB设备的初始化,包括注册设备驱动,配合完成设备总线枚举,在全局设备列表中添加该设备名称。
当USB设备接入到集线器的某个下行端口时,该集线器会把端口状态变化信息反馈给主机,主机接收到信息后,开始对USB设备进行枚举。如果枚举不成功,主机会置枚举不成功标志,重新对USB设备进行枚举。为了保证系统的实时性,以及不影响其它USB设备的识别,这个重试的过程是有次数限制的,一般为3次。如果重试3次,主机对设备的枚举还是不成功,系统认为该设备是一个故障设备,会进行删除设备的处理。
嵌入式系统的应用环境一般比较复杂,USB设备常常容易受到振动、内部或者外部的电磁干扰等影响。如果在设备的枚举阶段,正好发生了振动或者电磁干扰等影响,导致USB设备不能正常应答USB主机的问询包,枚举失败,该设备就不可用了。
发明内容
本发明的目的是提供一种在VxWorks操作系统中,当设备初始枚举不成功时,后期增加USB设备识别率的方法。
本发明一种在VxWorks操作系统中增加USB设备识别率的方法,所述方法包括下述步骤:
(1)在USB主机协议栈初始化完成后,获取所有USB集线器的下行端口信息;
(2)在USB设备初始化完成后,获取所有设备枚举信息;
(3)将枚举不成功的USB设备信息与USB集线器上所有连接USB设备的下行端口信息进行比对,得到枚举不成功的USB设备所连接的集线器号和端口号;
(4)对枚举不成功的USB设备所连接的集线器的下行端口进行复位,以使USB主机协议栈再次对该设备进行枚举操作。这样可以增加VxWorks操作系统中USB设备的识别率。
本发明一种VxWorks操作系统中增加USB设备识别率的系统,所述系统包括:
USB集线器端口信息获取模块,用于当USB主机协议栈初始化,USB集线器下行端口扫描完成后,获取所有USB集线器下行端口的信息,并发往信息比对模块;
USB设备枚举信息获取模块,用于当USB设备初始化完成后,获取所有USB设备枚举信息,并发往信息比对模块;
信息比对模块,接收USB集线器端口信息获取模块和USB设备枚举信息获取模块的信息,将枚举不成功的USB设备信息与USB集线器上所有连接USB设备的下行端口信息进行比对,得到枚举不成功的USB设备所连接的集线器号和端口号,并发往USB集线器端口复位模块;
USB集线器端口复位模块,接收信息比对模块发送过来的信息,将USB集线器的指定端口进行复位操作。
本发明提出了一种在VxWorks操作系统下增强USB设备识别率的方法和系统。在操作系统引导过程中,如果发生电磁干扰,或者因为振动等原因引起USB信息传输故障,会导致USB设备识别出错或者无法识别。本发明所述方法能有效促使USB设备在不同程度的电磁干扰或者振动条件下的正常识别和工作,避免了系统开机过程中USB设备识别问题的出现,提高了USB设备识别率,增强了USB设备的环境适应性。
操作系统引导完成后,如果USB设备没有被识别,用户一般会通过拔插该设备的USB电缆,以使系统重新对该设备进行枚举,达到设备可以使用的目的。如果一次拔插没有识别,用户还会进行多次拔插操作。这样的拔插操作会对USB接口造成一定程度的损害,最终导致接口不可用。本发明通过软件的方法来对没有被识别的USB设备重新发起枚举操作,不需人工干预;在提高USB设备识别率的同时,对硬件没有任何损害,保证了USB接口及设备的稳定性与可靠性。
本发明只针对没有被识别的设备进行该设备上行端口的复位操作,该操作在一个独立的任务里进行,不会影响其它USB设备和主机的通信,保证了系统的实时性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七0九研究所,未经中国船舶重工集团公司第七0九研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210221105.0/2.html,转载请声明来源钻瓜专利网。