一种usb设备识别主机系统的方法及usb设备的制造方法

文档序号:9524146阅读:1028来源:国知局
一种usb设备识别主机系统的方法及usb设备的制造方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种USB设备识别主机系统的方法及USB设备。
【背景技术】
[0002]通用串行总线(USB, Universal Serial Bus)技术是一种让计算机主机和外围设备进行通讯的串行总线标准,支持热插拔和即插即用功能。目前几乎所有的计算机外围设备,例如键盘、鼠标、游戏手柄、扫描仪、数码相机、打印机、硬盘、光驱和网卡等均可以通过USB接口与主机连接并使用,USB已经成为使用最为广泛的一种接口技术。
[0003]目前,由于Windows系统在XP及以后的版本上提供了微软操作系统描述符(MODS,Microsoft OS Descriptors),那么,当将USB设备插入到运行有Windows系统的主机中时,主机会下发MODS请求,请求查询USB设备中的M0DS,这样,USB设备就可以基于有没有接收到MODS请求将Windows系统识别出来。但是对于其他系统的识别,现有技术中并不存在较为合理的解决方案。
[0004]所以,现有技术存在USB设备仅能够识别Windows系统的技术问题。

【发明内容】

[0005]有鉴于此,本发明实施例期望提供一种USB设备识别主机系统的方法及USB设备,以实现USB设备对B1S的识别,进一步兼容主机B10S,提高USB设备运行的可靠性。
[0006]为达到上述目的,本发明的技术方案是这样实现的:
[0007]—方面,本发明实施例提供一种USB设备识别主机系统的方法,所述方法包括:USB设备将所述USB设备的设备描述符中可配置数目设置为大于等于2的整数,并向主机上报所述设备描述符;所述USB设备在未检测到所述主机下发的MODS请求及根据所述可配置数目下发的轮询请求时,确定所述主机上当前运行的是B10S,其中,所述轮询请求用于请求轮询所述USB设备中所有的配置描述符。
[0008]可选地,所述USB设备向所述主机上报所述设备描述符,包括:所述USB设备接收所述主机发送的设备描述符请求;所述USB设备执行所述设备描述符请求,上报所述设备描述符。
[0009]可选地,在所述USB设备向所述主机上报所述设备描述符之后,所述方法还包括:所述USB设备在检测到所述MODS请求时,确定所述主机上当前运行的是Windows系统。
[0010]可选地,在所述USB设备向所述主机上报所述设备描述符之后,所述方法还包括:所述USB设备在未检测到所述MODS请求,且检测到所述轮询请求时,确定所述主机上当前运行的是Linux/Mac系统。
[0011]可选地,所述设备描述符为大容量存储设备的设备描述符信息。
[0012]另一方面,本发明实施例提供一种USB设备,所述USB设备包括:配置单元、上报单元及识别单元;其中,所述配置单元,用于将所述USB设备的设备描述符中的可配置数目设置为大于等于2的整数;所述上报单元,用于向所述主机上报所述设备描述符;所述识别单元,用于在未检测到主机根据所述设备描述符下发的MODS请求及根据所述可配置数目下发的轮询请求时,确定所述主机上当前运行的是B1S,其中,所述轮询请求用于请求轮询所述USB设备中所有的配置描述符。
[0013]可选地,所述上报单元,具体用于接收所述主机发送的设备描述符请求;执行所述设备描述符请求,上报所述设备描述符。
[0014]可选地,所述识别单元,还用于在所述上报单元向所述主机上报所述设备描述符之后,在检测到所述MODS请求时,确定所述主机上当前运行的是Windows系统。
[0015]可选地,所述识别单元,还用于在所述上报单元向所述主机上报所述设备描述符之后,在未检测到所述MODS请求,且检测到所述轮询请求时,确定所述主机上当前运行的是 Linux/Mac 系统。
[0016]可选地,所述设备描述符为大容量存储设备的设备描述符信息。
[0017]本发明实施例所提供的USB设备识别主机系统的方法及USB设备中,USB设备将设备描述符中的可配置数目设置为大于等于2的整数,并向主机上报设备描述符;当主机接收到设备描述符之后,如果主机上上当前运行的是Windows系统的话,主机会向USB设备下发MODS ;而如果主机上当前运行的是Linux/Mac系统的话,主机会在获取到可配置数目后,认为USB设备为多配置设备,向USB设备发送轮询请求,以请求轮询USB设备中所有的配置描述符;而如果主机上当前运行的是B1S的话,主机是不会向USB设备发送上述两种请求,所以,USB设备就可以根据有没有接收到上述两种请求,来对主机系统进行识别。那么,在USB设备未检测到主机下发的MODS请求及轮询请求时,就能够确定主机上当前运行的是B1S。如此,就解决了现有技术中存在的USB设备仅能够识别Windows系统的技术问题,实现了 USB设备对主机B1S的识别;进一步地,由于USB设备能够识别出主机上当前运行的是B10S,那么,在选择驱动模式时,USB设备就会选择B1S对应的驱动模型,以兼容主机B10S,提高USB设备运行的可靠性。
【附图说明】
[0018]图1为本发明实施例中的USB通信系统的结构示意图;
[0019]图2为本发明实施例中的USB通信系统侧进行USB设备识别主机系统的方法的流程意图;
[0020]图3为本发明实施例中的USB通信系统侧进行USB设备识别Windows系统的方法的流程示意图;
[0021 ] 图4为本发明实施例中的USB通信系统侧进行USB设备识别Linux/Mac系统的方法的流程示意图;
[0022]图5为本发明实施例中的USB通信系统侧进行USB设备识别B1S的方法的流程不意图;
[0023]图6为本发明实施例中的USB设备的进行USB设备识别主机系统的方法的流程示意图;
[0024]图7为本发明实施例中的USB设备的结构示意图。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0026]本发明实施例提供一种USB通信系统,图1为本发明实施例中的USB通信系统的结构示意图,参考图1所示,该USB通信系统包括:主机11及USB设备12 ;
[0027]其中,主机11上可以运行一个或者多个系统,比如,Windows系统、B1S、Linux系统或者Mac系统;USB设备12可以为USB网卡、USB数据卡等。
[0028]需要说明的是,上述系统的各个版本均属于本发明的保护范围,本发明不作具体限定。
[0029]结合本发明实施例,在上述通信系统中,主机11,用于与USB设备12进行数据传输;
[0030]USB设备12,用于将自身的设备描述符中的可配置数目设置为大于等于2的整数,并向主机11上报该设备描述符;在未检测到主机11下发的MODS请求及根据可配置数目下发的轮询请求时,确定主机11上当前运行的是B1S,其中,轮询请求用于请求轮询USB设备12中所有的配置描述符。
[0031]下面结合上述通信系统对本发明实施例中的USB设备识别主机系统的方法进行说明。
[0032]图2为本发明实施例中的USB通信系统侧进行USB设备识别主机系统的方法的流程TJK意图。
[0033]请参考图2所示,该方法包括:
[0034]S201 =USB设备插入主机,进入上电状态,开始枚举;
[0035]S202:主机检测到有新的USB设备插入,与USB设备进行枚举交互;若主机上运行的是Windows系统,跳至203 ;若主机上运行的是非Windows系统,跳至S204 ;
[0036]具体来说,在主机检测到有新的USB设备插入之后,首先,主机上的USB集线器使用中断通道将事件报
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1