USBHost故障自恢复的方法及装置制造方法

文档序号:6544803阅读:386来源:国知局
USB Host故障自恢复的方法及装置制造方法
【专利摘要】本发明适用于电子【技术领域】,提供了USB?Host故障自恢复的方法及装置,所述方法包括如下步骤:检测USB设备的端口;当检测到USB设备的某一端口失效时,重启与所述USB设备关联的控制器。本发明提出的方法及装置可实现无需重启USB?Host即可自动重启USB设备。
【专利说明】USB Host故障自恢复的方法及装置
【技术领域】
[0001]本发明属于电子【技术领域】,尤其涉及一种USB Host故障自恢复的方法及装置。
【背景技术】
[0002]在PC机操作过程中,经常需要外接多个USB设备,但是有的CPU只支持外接一个USB设备,如果需要外接更多USB设备,则需要在HSIC总线上外接一个USB Hub作为USB扩展接口。在实际使用过程中,多次热插拔USB设备的过程中,会出现CPU外接USB Hub的端口被Disable的情况,在USB标准的规格中此种情况USB端口将不能恢复,此时内核及驱动程序上会关闭出现这种错误的USB端口,只有重新启动设备才能恢复USB功能,而重启设备对用户来说即浪费时间又不方便。

【发明内容】

[0003]本发明实施例的目的在于提供一种USB Host故障自恢复的方法及装置,旨在解决现有的USB Host在端口出现故障时需要重启设备的问题。
[0004]本发明实施例是这样实现的,一种USB Host故障自恢复的方法,所述方法包括如下步骤:
[0005]检测USB设备的端口;
[0006]当检测到USB设备的某一端口失效时,重启与所述USB设备关联的控制器。
[0007]进一步地,所述检测USB设备的端口具体为:
[0008]实时监测USB设备的状态寄存器;
[0009]当状态寄存器中某一端口的端口状态为无效状态时,判定该端口失效。
[0010]进一步地,所述重启与USB设备关联的控制器包括:
[0011]关闭USB Host控制器和USB设备;
[0012]给所述USB Host控制器和USB设备上电,并初始化。
[0013]进一步地,所述重启与USB设备关联的控制器还包括:
[0014]关闭HSIC 接口;
[0015]给HSIC接口上电,并初始化。
[0016]进一步地,所述USB设备关联的控制器包括USB Host电源和USB标准控制寄存器。
[0017]本发明还提出一种USB Host故障自恢复的装置,所述装置包括:
[0018]检测模块,用于检测USB设备的端口 ;
[0019]重启模块,用于当检测到USB设备的某一端口失效时,重启与所述USB设备关联的控制器。
[0020]进一步地,所述检测模块包括:
[0021]监测单元,用于实时监测USB设备的状态寄存器;
[0022]判定单元,用于当状态寄存器中某一端口的端口状态为无效状态时,判定该端口失效。[0023]进一步地,所述重启模块包括:
[0024]第一关闭单元,用于关闭USB Host控制器和USB设备;
[0025]第一初始化单元,用于给所述USB Host控制器和USB设备上电,并初始化。
[0026]进一步地,所述重启模块还包括:
[0027]第二关闭单元,用于关闭HSIC接口 ;
[0028]第二初始化单元,用于给HSIC接口上电,并初始化。
[0029]进一步地,所述USB设备关联的控制器包括USB Host电源和USB标准控制寄存器。
[0030]本发明实施例中,CPU主动检测USB设备的状态寄存器,当发现USB设备的状态寄存器中某一端口失败后,通过关闭并再次开启相应的USB控制器、然后进行USB初始化,重新枚举并连接相应的USB设备。本发明实施例在USB Host用USB Hub进行扩展,经多次热插拔后出现故障时自行恢复,使得用户不会察觉底层出现错误。且不需要重新启动设备,对用户来说即节约时间又方便。
【专利附图】

【附图说明】
[0031]图1是本发明实施例一提供的USB Host故障自恢复的方法的流程图;
[0032]图2是本发明实施例一提供的USB Host故障自恢复的方法中USB Host和USB设备之连接示意图;
[0033]图3是本发明实施例二提供的USB Host故障自恢复的装置的结构图;
[0034]图4是本发明实施例二提供的USB Host故障自恢复的装置中检测模块的结构图;
[0035]图5是本发明实施例二提供的USB Host故障自恢复的装置中重启模块的结构图。
【具体实施方式】
[0036]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0037]实施例一
[0038]本发明实施例一提出一种USB Host故障自恢复的方法。如图1所示,本发明实施例一的方法包括如下步骤:
[0039]S1、检测USB设备的各个端口。本发明实施例一中,USB设备可以为USB Hub、U盘等,本发明实施例一以USB Hub为例进行说明。如图2所示,U盘等设备可通过USB Hub接入到USB Host的HSIC接口(HSIC接口非必须),一个USB Hub上可以连接多个U盘,本发明实施例一还可支持级联的USB Hub。USB Host的CPU实时监测USB控制器中USB标准定义的USB Hub章节的相应状态寄存器portchange寄存器。当USB Hub某一端口状态发生改变时,USB Hub的CPU收到中断信息,则USB控制器置portchange寄存器的相应Disable位为1,表明该端口不可自恢复,该端口的端口状态为无效状态。此时判定该USB端口失效。
[0040]S2、当检测到USB设备的某一端口失效时,重启与USB设备关联的控制器。
[0041]USB设备关联的控制器包括USB Host电源、USB标准定义的控制寄存器,当有HSIC接口和USB Hub时,还包括HSIC接口和USB hub。对上述控制器进行关闭,再重新上电并初始化。达到发生USB端口挂起导致USB设备不能使用后,可以重新使用USB设备。[0042]本发明实施例一的方法,CPU主动检测USB设备的状态寄存器,当发现USB设备的状态寄存器中端口失败后,通过关闭并再次开启相应的USB控制器,然后进行USB初始化,重新枚举并连接相应的USB设备。本发明实施例在USB Host用USB Hub进行扩展,经多次热插拔后出现故障时自行恢复,使得用户不会察觉底层出现错误。且不需要重新启动设备,对用户来说即节约时间又方便。
[0043]实施例二
[0044]本发明实施例二提出一种USB Host故障自恢复的装置,该装置可以是USB Host本身,也可以是USB Host内置或外接的一装置。如图3所示,本发明实施例二的装置包括相互连接的检测模块10和重启模块20,其中:
[0045]检测模块10,用于检测USB设备的端口 ;
[0046]重启模块20,用于当检测到USB设备的某一端口失效时,重启与USB设备关联的控制器。
[0047]如图4所示,检测模块10包括:
[0048]监测单元11,用于实时监测USB设备的状态寄存器;
[0049]判定单元12,用于当状态寄存器中某一端口的端口状态为无效状态时,判定该端口失效。
[0050]如图5所示,重启模块20包括:
[0051]第一关闭单元21,用于关闭USB Host控制器和USB设备;
[0052]第一初始化单元22,用于给USB Host控制器和USB设备上电,并初始化。
[0053]第二关闭单元23,用于关闭HSIC接口;
[0054]第二初始化单元24,用于给HSIC接口上电,并初始化。
[0055]本发明实施例二中,USB设备可以为USB Hub、U盘等,本发明实施例二以USB Hub为例进行说明。U盘等设备可通过USB Hub接入到USB Host的HSIC接口(HSIC接口非必须),一个USB Hub上可以连接多个U盘,本发明实施例二还可支持级联的USB Hub。USBHost的监测单元11实时监测USB控制器中USB标准定义的USB Hub章节的相应状态寄存器portchange寄存器。当USB Hub某一端口状态发生改变时,检测模块10收到中断信息,则将portchange寄存器的相应Disable位置为I,表明该端口不可自恢复,该端口的端口状态为无效状态。此时判定单元12可判定该USB端口失效。
[0056]当检测到USB设备的某一端口失效时,重启模块20重启与USB设备关联的控制器。USB设备关联的控制器包括USB Host电源、USB标准定义的控制寄存器,当有HSIC接口和USB Hub时,还包括HSIC接口和USB hub。第一关闭单元21和第二关闭单元23对上述控制器进行关闭,第一初始化单元22和第二初始化单元24再重新上电并初始化。达到发生USB端口挂起导致USB设备不能使用后,可以重新使用USB设备。
[0057]本发明实施例二装置检测USB设备的状态寄存器,当发现USB设备的状态寄存器中端口失败后,通过关闭并再次开启相应的USB控制器,然后进行USB初始化,重新枚举并连接相应的USB设备。本发明实施例在USB Host用USB Hub进行扩展,经多次热插拔后出现故障时自行恢复,使得用户不会察觉底层出现错误。且不需要重新启动设备,对用户来说即节约时间又方便。
[0058]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种USB Host故障自恢复的方法,其特征在于,所述方法包括如下步骤: 检测USB设备的端口 ; 当检测到USB设备的某一端口失效时,重启与所述USB设备关联的控制器。
2.如权利要求1所述的方法,其特征在于,所述检测USB设备的端口具体为: 实时监测USB设备的状态寄存器; 当状态寄存器中某一端口的端口状态为无效状态时,判定该端口失效。
3.如权利要求1所述的方法,其特征在于,所述重启与USB设备关联的控制器包括: 关闭USB Host控制器和USB设备; 给所述USB Host控制器和USB设备上电,并初始化。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述重启与USB设备关联的控制器还包括: 关闭HSIC接口 ; 给HSIC接口上电,并初始化。
5.如权利要求1至3中任一项所述的方法,其特征在于,所述USB设备关联的控制器包括USB Host电源和USB标准控制寄存器。
6.一种USB Host故障自恢复的装置,其特征在于,所述装置包括: 检测模块,用于检测USB设备的端口 ; 重启模块,用于当检测到USB设备的某一端口失效时,重启与所述USB设备关联的控制器。
7.如权利要求6所述的装置,其特征在于,所述检测模块包括: 监测单元,用于实时监测USB设备的状态寄存器; 判定单元,用于当状态寄存器中某一端口的端口状态为无效状态时,判定该端口失效。
8.如权利要求6所述的装置,其特征在于,所述重启模块包括: 第一关闭单元,用于关闭USB Host控制器和USB设备; 第一初始化单元,用于给所述USB Host控制器和USB设备上电,并初始化。
9.如权利要求6至8中任一项所述的装置,其特征在于,所述重启模块还包括: 第二关闭单元,用于关闭HSIC接口 ; 第二初始化单元,用于给HSIC接口上电,并初始化。
10.如权利要求6至8中任一项所述的装置,其特征在于,所述USB设备关联的控制器包括USB Host电源和USB标准控制寄存器。
【文档编号】G06F11/16GK103955414SQ201410169824
【公开日】2014年7月30日 申请日期:2014年4月24日 优先权日:2014年4月24日
【发明者】刘洋, 李红京 申请人:深圳市道通科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1