通用串行总线主机、设备及信息传输方法

文档序号:6434507阅读:103来源:国知局
专利名称:通用串行总线主机、设备及信息传输方法
技术领域
本发明涉及通用串行总线的领域,更具体地,本发明涉及一种通用串行总线主机、 设备及信息传输方法。
背景技术
目前,诸如智能手机、平板电脑的移动网络设备(MID, Mobile Internet Device) 多数都提供有通用串行总线(USB,Universal Serial Bus)接口,并且能够支持诸如USB键 盘的人机接口设备(HID,Human Interface Device)。然而,由于与WINDOWS 操作系统 不同,现有的移动网络设备中的诸如Android、WebOS和iOS的操作系统都是封闭式的,即, 无法自由加载驱动,因此,用户无法通过USB接口外挂所述移动网络设备能够支持的HID设 备以外的其他USB设备。发明内容
有鉴于上述情况,本发明提供了一种通用串行总线主机、设备及信息传输方法,其 无需加载额外驱动,就能够在如上所述的操作系统的移动网络设备上使用除特定USB设备 以外的其他USB设备,方便了用户使用,改进了用户体验。
根据本发明一实施例,提供了一种应用于通用串行总线USB设备的信息传输方 法,所述USB设备通过USB接口与USB主机连接,所述USB主机仅支持与所述USB设备不同 的特定USB设备,所述信息传输方法包括经由默认通信信道接收所述USB主机的描述符获 取请求;响应于所述描述符获取请求,获取与所述特定USB设备对应的特定描述符,其中, 所述特定描述符与所述USB设备自身的描述符不同;将所述特定描述符经由所述默认通信 信道发送到所述USB主机;接收所述USB主机响应于所述特定描述符而分配的USB地址和 通信信道标识;以及基于所述USB地址和所述通信信道标识,按照所述USB设备中预先设置 的与所述特定USB设备一致的通信格式,与所述USB主机通信。
所述特定描述符可包括设备描述符和接口描述符。
根据本发明另一实施例,提供了一种应用于通用串行总线USB主机的信息传输方 法,包括检测是否有USB设备通过USB接口连接到所述USB主机;响应于检测到所述USB 设备,将描述符获取请求经由默认通信信道发送到所述USB设备,其中,所述USB主机仅支 持与所述USB设备不同的特定USB设备;经由所述默认通信信道接收从所述USB设备传输 的特定描述符,所述特定描述符与所述特定USB设备相对应,并且所述特定描述符与所述 USB设备自身的描述符不同;响应于所述特定描述符,对所述USB设备分配USB地址和通信 信道标识;将所分配的USB地址和通信信道标识经由所述默认通信信道发送到所述USB设 备;以及基于所述USB地址和所述通信信道标识,按照所述USB设备中预先设置的与所述特 定USB设备一致的通信格式,与所述USB设备通信。
与所述USB设备通信可包括为所述USB设备加载所述特定USB设备的驱动。
根据本发明另一实施例,提供了 一种应用于通用串行总线USB设备,所述USB设备通过USB接口与USB主机连接,所述USB主机仅支持与所述USB设备不同的特定USB设备, 所述USB设备包括请求接收单元,经由默认通信信道接收所述USB主机的描述符获取请 求;获取单元,响应于所述描述符获取请求,获取与所述特定USB设备对应的特定描述符, 其中,所述特定描述符与所述USB设备自身的描述符不同;描述符发送单元,将所述特定描 述符经由所述默认通信信道发送到所述USB主机;分配信息接收单元,接收所述USB主机响 应于所述特定描述符而分配的USB地址和通信信道标识;以及第一通信单元,基于所述USB 地址和所述通信信道标识,按照所述USB设备中预先设置的与所述特定USB设备一致的通 信格式,与所述USB主机通信。
根据本发明另一实施例,提供了一种通用串行总线USB主机,包括检测单元,检 测是否有USB设备通过USB接口连接到所述USB主机;请求发送单元,响应于检测到所述 USB设备,将描述符获取请求经由默认通信信道发送到所述USB设备,其中,所述USB主机 仅支持与所述USB设备不同的特定USB设备;描述符接收单元,经由所述默认通信信道接收 从所述USB设备传输的特定描述符,所述特定描述符与所述特定USB设备相对应,并且所述 特定描述符与所述USB设备自身的描述符不同;分配单元,响应于所述特定描述符,对所述 USB设备分配USB地址和通信信道标识;分配信息发送单元,将所分配的USB地址和通信信 道标识经由所述默认通信信道发送到所述USB设备;以及第二通信单元,基于所述USB地址 和所述通信信道标识,按照所述USB设备中预先设置的与所述特定USB设备一致的通信格 式,与所述USB设备通信。
所述第二通信单元可包括加载单元,为所述USB设备加载所述特定USB设备的驱动。
在本发明实施例的通用串行总线主机、设备及信息传输方法中,通过在接收到USB 主机的描述符获取请求时,将与所述USB主机支持的特定USB设备对应的特定描述符(而 非所述USB设备自身的描述符)发送到USB主机,使得所述USB主机认为所连接的USB设 备是所述特定USB设备,从而根据与所述特定USB设备一致的通信格式,与所述USB设备通 信。由此,无需加载额外驱动,就能够在如上所述的封闭式操作系统的移动网络设备上使用 除特定USB设备以外的其他USB设备,方便了用户使用,改进了用户体验。


图1是图示根据本发明实施例的信息传输方法的流程图2是图示根据本发明实施例的信息传输方法中为所述USB设备分配USB地址和 通信信道标识的过程的格式;
图3示意性示出虚拟HID键盘USB协议的传输格式;
图4示出虚拟HID键盘USB协议中的某些字段的现有定义;以及
图5是图示根据本发明实施例的USB设备和USB主机的主要配置的框图。
具体实施方式
以下将参考附图详细描述本发明实施例。
首先,将参考图1描述根据本发明实施例的信息传输方法。
根据本发明实施例的信息传输方法应用于USB(通用串行总线)设备和USB主机中。所述USB设备例如为USB接口的键盘、鼠标、红外发送装置等各种人机接口设备。在下 文中,将以USB接口的红外发送装置作为USB设备的示例。
所述USB设备通过USB接口与USB主机连接。所述USB主机是诸如智能手机、平 板电脑等的移动网络设备。此外,所述USB主机例如基于Android、WebOS、iOS等的封闭式 的操作系统。这里,所谓的“封闭式”指的是所述USB主机内预先设置了特定USB设备的驱 动,用户不能自由加载其他USB设备的驱动。也就是说,所述USB主机仅支持特定USB设备。 在下文中,将以具有USB接口的USB键盘作为所述特定USB设备的示例。
具体地,如图1所示,在USB主机侧,在步骤S101,所述USB主机检测是否有USB设 备通过USB接口连接到所述USB主机。
当检测到USB设备的连接时,在步骤S102,所述USB主机响应于检测到所述USB设 备,将描述符获取请求经由默认通信信道发送到所述USB设备。根据USB协议,所述描述符 获取请求用于获取例如设备描述符、接口描述符、配置描述符、端点描述符等的描述符。所 述默认通信信道为通过默认地址O和端点O而建立的信道。即,所述默认通信信道为所述 USB主机在枚举过程中所使用的信道。所述描述符和所述默认通信信道的细节为本领域技 术人员所知,在此不再重复。
与此相对,在USB设备侧,在步骤S201,所述USB设备经由所述默认通信信道接收 所述USB主机的描述符获取请求。
此后,在步骤S202,所述USB设备响应于所述描述符获取请求,获取与所述特定 USB设备对应的特定描述符。所述特定描述符例如预先存储在所述USB设备中。在此示例 中,所述特定描述符为与USB键盘对应的描述符。也就是说,在本发明实施例的信息传输方 法中,所述USB设备获取的特定描述符与所述USB设备自身的描述符(与USB接口的红外 遥控器对应的描述符)不同。
接下来,在步骤S203,所述USB设备将所述特定描述符经由所述默认通信信道发 送到所述USB主机。
与此相对,在USB主机侧,在步骤S103,所述USB主机经由所述默认通信信道接收 从所述USB设备传输的特定描述符。
在接收到从所述USB设备传输的特定描述符之后,所述USB主机基于所述特定描 述符,认为所述USB设备为所述特定USB设备。因此,在步骤S104,所述USB主机响应于所 述特定描述符,对所述USB设备分配USB地址和通信信道标识。
更具体地,所述USB主机基于图2所示的表格,通过下述过程为所述USB设备分配 USB地址和通信信道标识
首先,USB主机从其可支持的地址范围(例如,I到128)中选择一个可用的地址 号(相应地,通信信道标识),通过SET_ADDRESS命令发送到所述USB设备上。接下来,所 述USB设备接收到这个地址号(相应地,通信信道标识)后,将其记录保存,并作为后续通 信的地址。相应地,USB主机将该已被分配的地址号(相应地,通信信道标识)记录为已使用。
需要指出的是,所述USB主机可根据现有技术中的各种处理为所述USB设备分配 USB地址和通信信道标识,在此不再详述。
然后,在步骤S105,所述USB主机将所分配的USB地址和通信信道标识经由所述默认通信信道发送到所述USB设备。
在USB设备侧,在步骤S204,所述USB设备接收所述USB主机响应于所述特定描述符而分配的USB地址和通信信道标识。
此后,在步骤S205 (步骤S106),所述USB设备和所述USB主机基于所述USB地址和所述通信信道标识,按照所述USB设备中预先设置的与所述特定USB设备一致的通信格式,相互进行通信。
具体地,所述USB主机为所述USB设备加载所述特定USB设备的驱动。在此示例中,所述USB主机加载所述USB键盘的驱动,并且按照虚拟HID键盘USB协议,与所述USB 接口的红外遥控器通信。更具体地,所述信息传输方法可利用所述特定USB设备的通信协议中的某些预留字段来进行通信。
例如,虚拟HID键盘USB协议的传输格式如图3所示,其中的bRequest字段的定义如图4所示。从图4可见,在目前的协议中,关于bRequest,只定义了从0x01至OxOB这 i^一个值,而保留了 OxOC至OxFF的值未定义。因此,在此实施例中,可利用OxOC至OxFF 中的一个或多个来进行通信。例如,可使用OxFl作为红外数据的发送命令,0xF2作为红外数据的学习命令等。
在具体实现上,以Android系统为例,应用内部的JAVA层可通过JNI层直接调用读文件(readfile)和写文件(writefile),以对所述特定USB设备(在此示例中,虚拟的 USB HID键盘)发送控制命令,以实现红外遥控。
需要指出的是,上面所述的通信方式仅为示例。本发明对所述USB主机和所述USB 设备之间的具体通信方式不做限定。
通过上面参考图1所述的过程,所述USB设备使得所述USB主机认为其是所述USB 主机能够支持的特 定USB设备,从而,所述USB主机和所述USB设备可通过对特定USB设备的读写方式来进行通信。
在本发明的一具体应用场景中,作为所述USB主机的智能手机与作为所述USB设备的红外发送装置连接,通过在所述智能手机中预先置入与所述红外发送装置所控制的装置(如电视、音响等)相对应的控制应用,能够形成了对于所控制的装置的红外遥控器。
此外,本领域技术人员能够理解,所述USB设备的红外发送装置还可外扩USB接口,以连接其他USB设备和/或进行充电。
上面,参照图1至图4描述了根据本发明实施例的信息传输方法。下面,将参照图 5描述根据本发明实施例的USB设备和USB主机。
所述USB设备通过USB接口与USB主机连接,所述USB主机仅支持与所述USB设备不同的特定USB设备。如图5所示,本发明实施例的USB设备500包括请求接收单元 501、获取单元502、描述符发送单元503、分配信息接收单元504和第一通信单元505。本发明实施例的USB主机600包括检测单元601、请求发送单元602、描述符接收单元603、分配单元604、分配信息发送单元605和第二通信单元606。
具体地,请求接收单元501经由默认通信信道接收所述USB主机的描述符获取请求。
获取单元502响应于所述描述符获取请求,获取与所述特定USB设备对应的特定描述符,其中,所述特定描述符与所述USB设备自身的描述符不同。
描述符发送单元503将所述特定描述符经由所述默认通信信道发送到所述USB主 机。
分配信息接收单元504接收所述USB主机响应于所述特定描述符而分配的USB地 址和通信信道标识。
第一通信单元505基于所述USB地址和所述通信信道标识,按照所述USB设备中 预先设置的与所述特定USB设备一致的通信格式,与所述USB主机通信。
另一方面,检测单元601检测是否有USB设备通过USB接口连接到所述USB主机;
请求发送单元602响应于检测到所述USB设备,将描述符获取请求经由默认通信 信道发送到所述USB设备,其中,所述USB主机仅支持与所述USB设备不同的特定USB设备。
描述符接收单元603经由所述默认通信信道接收从所述USB设备传输的特定描述 符,所述特定描述符与所述特定USB设备相对应,并且所述特定描述符与所述USB设备自身 的描述符不同。
分配单元604响应于所述特定描述符,对所述USB设备分配USB地址和通信信道 标识。
分配信息发送单元605将所分配的USB地址和通信信道标识经由所述默认通信信 道发送到所述USB设备。
第二通信单元606基于所述USB地址和所述通信信道标识,按照所述USB设备中 预先设置的与所述特定USB设备一致的通信格式,与所述USB设备通信。
所述第二通信单元606还可包括加载单元,为所述USB设备加载所述特定USB设 备的驱动。
以上,参照图1到图5描述了根据本发明实施例的通用串行总线主机、设备及信息 传输方法。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵 盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列 执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解, 本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例 或者实施例的某些部分所述的方法。
在本发明实施例中,单元/模块可以用软件实现,以便由各种类型的处理器执行。 举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑 块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需 物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成单元/模块并且实现该单元/模块的规定目的。
在单元/模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软 件实现的单元/模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电 路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以 及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程 硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方 式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对 于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变 之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种应用于通用串行总线USB设备的信息传输方法,所述USB设备通过USB接口与USB主机连接,所述USB主机仅支持与所述USB设备不同的特定USB设备,所述信息传输方法包括 经由默认通信信道接收所述USB主机的描述符获取请求; 响应于所述描述符获取请求,获取与所述特定USB设备对应的特定描述符,其中,所述特定描述符与所述USB设备自身的描述符不同; 将所述特定描述符经由所述默认通信信道发送到所述USB主机; 接收所述USB主机响应于所述特定描述符而分配的USB地址和通信信道标识;以及基于所述USB地址和所述通信信道标识,按照所述USB设备中预先设置的与所述特定USB设备一致的通信格式,与所述USB主机通信。
2.如权利要求1所述的信息传输方法,其中, 所述特定描述符包括设备描述符和接口描述符。
3.一种应用于通用串行总线USB主机的信息传输方法,包括 检测是否有USB设备通过USB接口连接到所述USB主机; 响应于检测到所述USB设备,将描述符获取请求经由默认通信信道发送到所述USB设备,其中,所述USB主机仅支持与所述USB设备不同的特定USB设备; 经由所述默认通信信道接收从所述USB设备传输的特定描述符,所述特定描述符与所述特定USB设备相对应,并且所述特定描述符与所述USB设备自身的描述符不同; 响应于所述特定描述符,对所述USB设备分配USB地址和通信信道标识; 将所分配的USB地址和通信信道标识经由所述默认通信信道发送到所述USB设备;以及 基于所述USB地址和所述通信信道标识,按照所述USB设备中预先设置的与所述特定USB设备一致的通信格式,与所述USB设备通信。
4.如权利要求3所述的信息传输方法,其中,与所述USB设备通信包括 为所述USB设备加载所述特定USB设备的驱动。
5.一种应用于通用串行总线USB设备,所述USB设备通过USB接口与USB主机连接,所述USB主机仅支持与所述USB设备不同的特定USB设备,所述USB设备包括 请求接收单元,经由默认通信信道接收所述USB主机的描述符获取请求; 获取单元,响应于所述描述符获取请求,获取与所述特定USB设备对应的特定描述符,其中,所述特定描述符与所述USB设备自身的描述符不同; 描述符发送单元,将所述特定描述符经由所述默认通信信道发送到所述USB主机;分配信息接收单元,接收所述USB主机响应于所述特定描述符而分配的USB地址和通信信道标识;以及 第一通信单元,基于所述USB地址和所述通信信道标识,按照所述USB设备中预先设置的与所述特定USB设备一致的通信格式,与所述USB主机通信。
6.一种通用串行总线USB主机,包括 检测单元,检测是否有USB设备通过USB接口连接到所述USB主机; 请求发送单元,响应于检测到所述USB设备,将描述符获取请求经由默认通信信道发送到所述USB设备,其中,所述USB主机仅支持与所述USB设备不同的特定USB设备;描述符接收单元,经由所述默认通信信道接收从所述USB设备传输的特定描述符,所述特定描述符与所述特定USB设备相对应,并且所述特定描述符与所述USB设备自身的描述符不同; 分配单元,响应于所述特定描述符,对所述USB设备分配USB地址和通信信道标识;分配信息发送单元,将所分配的USB地址和通信信道标识经由所述默认通信信道发送到所述USB设备;以及 第二通信单元,基于所述USB地址和所述通信信道标识,按照所述USB设备中预先设置的与所述特定USB设备一致的通信格式,与所述USB设备通信。
7.如权利要求6所述的USB主机,其中,所述第二通信单元包括 加载单元,为所述USB设备加载所述特定USB设备的驱动。
全文摘要
本发明提供了一种通用串行总线主机、设备及信息传输方法,通用串行总线设备通过接口与通用串行总线主机连接,通用串行总线主机仅支持与通用串行总线设备不同的特定通用串行总线设备,所述信息传输方法包括经由默认通信信道接收通用串行总线主机的描述符获取请求;响应于描述符获取请求,获取与特定通用串行总线设备对应的、与通用串行总线设备自身的描述符不同的特定描述符;将特定描述符经由默认通信信道发送到通用串行总线主机;接收通用串行总线主机分配的通用串行总线地址和通信信道标识;以及基于通用串行总线地址和通信信道标识,按照通用串行总线设备中预先设置的与特定通用串行总线设备一致的通信格式,与通用串行总线主机通信。
文档编号G06F13/38GK103019979SQ201110295599
公开日2013年4月3日 申请日期2011年9月27日 优先权日2011年9月27日
发明者章丹峰, 靳玉茹, 柯海滨, 李众庆 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1