专利名称:一种usb设备通信传输方法、设备及系统的制作方法
技术领域:
本发明涉及通讯领域,尤其涉及一种USB设备通信传输方法、设备及系统。
背景技术:
目前,许多数据传输设备都支持USB (Universal Serial BUS,通用串行总线)传输功能,USB设备与其他设备进行数据传输,则要求对端设备有USB驱动,例如,支持USB传输 功能的手机,可以通过USB传输功能与PC(Personal Computer,个人计算机)之间进行数据传输,其中,PC为主设备,手机为从设备,由于PC上能够针对具体USB端口类型,安装USB驱动,所以他们之间可以正常数据传输。HID (Human Interface Device,人体学输入设备)设备是一种不需要对端设备提供任何驱动,就能与对端设备进行数据传输的设备,所有的HID设备都是通过自带的HID设备驱动与对端设备应用建立联系,对端设备可以通过调用应用层接口访问HID设备。例如,PC使用键盘、鼠标和游戏杆等。但是随着传输设备的发展,开始有支持OTG(On-The-Go)功能的设备出现,OTG主要应用于各种不同的设备或移动设备间的联接,进行数据传输。其中,大多数OTG设备都能够作为主设备支持与HID类型的从设备进行数据传输,但是,现有技术中,大多USB设备都是非HID类型的USB从设备,因此,无法与OTG设备直接进行通信。
发明内容
本发明的实施例提供USB设备的通信方法、装置及系统,为了实现非HID类型的USB设备与OTG设备之间通信。为达到上述目的,本发明的实施例采用如下技术方案一种USB设备的通信方法,包括USB设备接收对端设备发送的设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符;USB设备根据所述HID描述符和HID报告描述符发送携带有HID标识的查询响应消息至对端设备,所述HID标识用于使所述对端设备识别所述USB设备为HID设备;USB设备对待发送数据进行编码和封装后,生成HID数据包,并将所述HID数据包发送到所述对端设备,或者接收来自所述对端设备的所述HID数据包,并对接收到的所述HID数据包进行解封装和解码,所述HID数据包携带有数据类型和数据使用方式信息。—种USB设备的通信方法,包括向USB设备发送设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符;接收USB设备发送的携带有HID标识的查询响应消息,并根据所述HID标识识别所述USB设备为HID设备;接收来自所述USB设备的所述HID数据包,并对接收到的所述HID数据包进行解封装和解码,或者对待发送数据进行编码和封装后,生成HID数据包,并将所述HID数据包发送到所述USB设备,所述HID数据包携带有数据类型和数据使用方式信息。—种USB设备,至少包括第一射频模块,第一处理器模块,所述第一射频模块与所述第一处理器模块相连,所述第一射频模块,用于接收对端设备发送的设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符,以及用于将HID数据包发送到所述对端设备,或接收来自所述对端设备的HID数据包,所述HID数据包携带有数据类型和数据使用方式信息;所述第一处理器模块,用于根据所述HID描述符和HID报告描述符生成携带有HID 标识的查询响应消息后发送给所述第一射频模块,所述HID标识用于使所述对端设备识别所述USB设备为HID设备;所述第一处理器模块,用于对待发送数据进行编码和封装,并生成HID数据包后 发送给第一射频模块,或者对所述第一射频模块接收到的HID数据包进行解封装和解码。一种OTG设备,至少包括第二射频模块,第二处理器模块,所述第二射频模块与所述第二处理器模块相连,所述第二射频模块,用于向USB设备发送的设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符,以及用于接收来自所述USB设备的HID数据包,或将所述HID数据包发送到所述USB设备,所述HID数据包携带有数据类型和数据使用方式信息;所述第二处理器模块,用于接收USB设备发送的携带有HID标识的查询响应消息,并根据所述HID标识识别所述USB设备为HID设备;所述第二处理器模块,用于对所述第二射频模块接收到的HID数据包进行解封装和解码,或者对待发送数据进行编码和封装,并生成HID数据包后发送给第二射频模块。一种USB设备通信系统,包括上述的USB设备和OTG设备。本发明实施例提供的一种USB设备通信传输方法、设备及系统,通过对USB设备驱动程序进行修改,使USB设备虚拟为HID设备,并分别在USB设备与OTG设备中设置数据处理程序,实现了 OTG设备作为主设备与USB设备与之间进行通信,增大了 USB设备的使用范围。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例的一种方法流程图;图2为本发明实施例的另一种方法流程图;图3为本发明实施例的一种USB设备结构示意图;图4为本发明实施例的一种OTG设备结构示意图;图5为本发明实施例的系统结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了一种USB设备的通信方法,如图I所示,该方法包括以下步骤S10UUSB设备接收对端设备发送的设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符。 本实施例的方法主要应用于USB设备的通信方法,USB设备在与其他设备进行数据传输时,要求对端设备有USB驱动,否则无法进行连接,在随着传输设备的发展,开始有支持OTG(On-The-Go)功能的设备出现,OTG主要应用于各种不同的设备或移动设备间的联接,进行数据传输,OTG设备能够作为主设备支持与HID类型的从设备进行数据传输,HID设备是一种不需要对端设备提供任何驱动,就能与对端设备进行数据传输的设备,所有HID设备都是通过自带的HID设备驱动与对端设备应用建立联系,对端设备可以通过调用应用层接口访问HID设备,因此,在本发明实施例中,将USB设备修改为HID设备,实现与OTG设备之间进行通信。需要说明的是USB设备被修改为HID设备后,与对端设备进行通信时,对端设备可以是PC机,也可以是OTG设备,USB设备主要指符合USB协议传输的设备,例如USB接口的手机,MP4等设备。在本发明实施例中,以OTG设备与USB设备进行通信为例,进行具体说明。当USB设备与OTG设备通过数据线进行连接时,OTG设备进行设备类型的查询,查询所连接的对端设备的类型是否为能够进行通信的设备类型,所以,OTG设备先向对端设备发送设备类型查询消息,在USB设备接收到OTG设备发生的设备类型查询消息后,进行响应。在本发明实施例中,USB设备与其他设备进行通信时,是按照USB协议进行的,USB协议为USB设备定义的一套描述设备功能和属性的有固定结构的描述符,包括标准的描述符(即设备描述符)、配置描述符、接口描述符、端点描述符和字符串描述符等。USB设备通过这些描述符向USB主机汇报设备的各种各样属性,主机通过对这些描述符的访问对设备进行类型识别、配置并为其提供相应的客户端驱动程序。由于HID设备支持USB设备的描述符,为了使得USB设备能够与非HID类型的设备进行通信,在所述USB设备的驱动程序中增设HID描述符和HID报告描述符,使得USB设备协议修改为HID设备协议,其中,HID描述符包含HID的版本号信息、国家代码、报告描述符或物理描述符的信息,包括9个基本字段,具体结构如表I所示
权利要求
1.一种USB设备的通信方法,其特征在于,包括 USB设备接收对端设备发送的设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符; USB设备根据所述HID描述符和HID报告描述符发送携带有HID标识的查询响应消息至对端设备,所述HID标识用于使所述对端设备识别所述USB设备为HID设备; USB设备对待发送数据进行编码和封装后,生成HID数据包,并将所述HID数据包发送到所述对端设备,或者接收来自所述对端设备的所述HID数据包,并对接收到的所述HID数据包进行解封装和解码,所述HID数据包携带有数据类型和数据使用方式信息。
2.根据权利要求I所述的方法,其特征在于,所述对待发送数据进行编码和封装,生成HID数据包包括 对待发送数据进行编码,生成携带有数据类型和数据使用方式信息的第一数据包; 根据所述USB设备的驱动程序中增设的HID报告描述符对所述第一数据包进行封装,生成携带有数据类型和数据使用方式信息的HID数据包。
3.根据权利要求I所述的方法,其特征在于,所述对接收到的所述HID数据包进行解封装和解码包括 根据所述USB设备的驱动程序中增设的HID报告描述符,对接收到的所述HID数据包进行解封装,获得携带有数据类型和数据使用方式信息的第二数据包; 对所述携带有数据类型和数据使用方式信息的第二数据包进行解码,获得所述第二数据包的数据类型和数据使用方式信息。
4.根据权利要求3所述的方法,其特征在于,所述获得所述第二数据包的数据类型和数据使用方式信息后,还包括 根据所述数据类型和数据使用方式信息,对所述第二数据包进行存储或应用。
5.根据权利要求I所述的方法,其特征在于,所述USB设备对待发送数据进行编码和封装后,生成HID数据包,并将所述HID数据包发送到所述对端设备前,还包括 向所述对端设备发送数据传输请求消息,并启动所述待发送数据的编码和封装的进程。
6.根据权利要求I所述的方法,其特征在于,所述接收来自所述对端设备的HID数据包,并对接收到的所述HID数据包进行解封装和解码前,还包括 检测到所述对端设备发送的所述数据传输请求消息后,启动所述HID数据包的解封装和解码的进程。
7.—种USB设备的通信方法,其特征在于,包括 向USB设备发送设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符; 接收USB设备发送的携带有HID标识的查询响应消息,并根据所述HID标识识别所述USB设备为HID设备; 接收来自所述USB设备的HID数据包,并对接收到的所述HID数据包进行解封装和解码,或者对待发送数据进行编码和封装后,生成HID数据包,并将所述HID数据包发送到所述USB设备,所述HID数据包携带有数据类型和数据使用方式信息。
8.根据权利要求7所述的方法,其特征在于,所述对接收到的所述HID数据包进行解封装和解码包括 对所述HID数据包进行解封装,获得携带有数据类型和数据使用方式信息的第三数据包; 对所述携带有数据类型和数据使用方式信息的第三数据包进行解码,获得所述第三数据包的数据类型和数据使用方式信息。
9.根据权利要求7所述的方法,其特征在于,所述对待发送数据进行编码和封装包括 对待发送数据包进行编码,生成携带有数据类型和数据使用方式信息的第四数据包; 对所述第四数据包进行封装,生成携带有数据类型和数据使用方式信息的HID数据包。
10.根据权利要求8所述的方法,其特征在于,所述获得所述第三数据包的数据类型和 数据使用方式信息后,还包括 根据所述数据类型和数据使用方式信息,对接收到的所述HID数据包进行存储或应用。
11.根据权利要求7所述的方法,其特征在于,所述接收来自所述USB设备的所述HID数据包,并对接收到的所述HID数据包进行解封装和解码前,还包括 检测到所述USB设备发送的数据传输请求消息后,启动所述HID数据包的解封装和解码的进程。
12.根据权利要求7所述的方法,其特征在于,对待发送数据进行编码和封装后,生成HID数据包,并将所述HID数据包发送到所述USB设备前,还包括 向所述USB设备发送所述数据传输请求消息,并启动所述待发送数据包的编码和封装的进程。
13.—种USB设备,其特征在于,至少包括第一射频模块,第一处理器模块,所述第一射频模块与所述第一处理器模块相连, 所述第一射频模块,用于接收对端设备发送的设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符; 以及用于将HID数据包发送到所述对端设备,或接收来自所述对端设备的HID数据包,所述HID数据包携带有数据类型和数据使用方式信息; 所述第一处理器模块,用于根据所述HID描述符和HID报告描述符生成携带有HID标识的查询响应消息后发送给所述第一射频模块,所述HID标识用于使所述对端设备识别所述USB设备为HID设备; 所述第一处理器模块,用于对待发送数据进行编码和封装,并生成HID数据包后发送给第一射频模块,或者对所述第一射频模块接收到的HID数据包进行解封装和解码。
14.根据权利要求13所述的USB设备,其特征在于,当对待发送数据进行编码和封装,生成HID数据包时,所述第一处理器模块具体用于对待发送数据进行编码,生成携带有数据类型和数据使用方式信息的第一数据包; 以及用于根据所述USB设备的驱动程序中增设的HID报告描述符对所述第一数据包进行封装,生成携带有数据类型和数据使用方式信息的HID数据包。
15.根据权利要求13所述的USB设备,其特征在于,当对接收到的所述HID数据包进行解封装和解码时,所述第一处理器模块具体用于根据所述USB设备的驱动程序中增设的HID报告描述符,对接收到的所述HID数据包进行解封装,获得携带有数据类型和数据使用方式信息的第二数据包; 以及用于对所述携带有数据类型和数据使用方式信息的第二数据包进行解码,获得所述第二数据包的数据类型和数据使用方式信息。
16.根据权利要求15所述的USB设备,其特征在于,所述第一处理器模块还用于根据所述数据类型和数据使用方式信息,对所述第二数据包进行存储或应用。
17.根据权利要求13所述的USB设备,其特征在于,所述第一处理器模块还用于向所述对端设备发送数据传输请求消息,启动所述待发送数据的编码和封装的进程; 以及用于检测到所述对端设备发送的所述数据传输请求消息后,启动所述HID数据包的解封装和解码的进程。
18.—种OTG设备,其特征在于,至少包括第二射频模块,第二处理器模块,所述第二射频模块与所述第二处理器模块相连, 所述第二射频模块,用于向USB设备发送的设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符; 以及用于接收来自所述USB设备的HID数据包,或将所述HID数据包发送到所述USB设备,所述HID数据包携带有数据类型和数据使用方式信息; 所述第二处理器模块,用于接收USB设备发送的携带有HID标识的查询响应消息,并根据所述HID标识识别所述USB设备为HID设备; 所述第二处理器模块,用于对所述第二射频模块接收到的HID数据包进行解封装和解码,或者对待发送数据进行编码和封装,并生成HID数据包后发送给第二射频模块。
19.根据权利要求18所述的OTG设备,其特征在于,当对接收到的所述HID数据包进行解封装和解码时,所述第二处理器模块具体用于对所述HID数据包进行解封装,获得携带有数据类型和数据使用方式信息的第三数据包; 以及用于对所述携带有数据类型和数据使用方式信息的第三数据包进行解码,获得所述第三数据包的数据类型和数据使用方式信息。
20.根据权利要求18所述的OTG设备,其特征在于当对待发送数据进行编码和封装,生成HID数据包时,所述第二处理器模块具体用于对待发送数据进行编码,生成携带有数据类型和数据使用方式信息的第四数据包; 以及用于对所述第四数据包进行封装,生成携带有数据类型和数据使用方式信息的HID数据包。
21.根据权利要求19所述的OTG设备,其特征在于,所述第二处理器模块还用于根据所述数据类型和数据使用方式信息,对接收到的所述HID数据包进行存储或应用。
22.根据权利要求20所述的OTG设备,其特征在于,所述第二处理器模块还用于检测到所述USB设备发送的数据传输请求消息后,启动所述HID数据包的解封装和解码的进程; 以及用于向所述USB设备发送所述数据传输请求消息,并启动所述待发送数据包的编码和封装的进程。
23.—种USB设备通信系统,其特征在于,包括如权利要求13-17任一项所述的USB设备和如权利要求18-22任一项所述的OTG设备。
全文摘要
本发明公开了一种USB设备通信传输方法、设备及系统,涉及通讯领域,用于实现USB设备与OTG设备之间通信。其中,一种USB设备的通信方法,包括USB设备接收对端设备发送的设备类型查询消息,所述USB设备的驱动程序中增设有HID描述符和HID报告描述符;USB设备根据所述HID描述符和HID报告描述符发送携带有HID标识的查询响应消息至对端设备,所述HID标识用于使所述对端设备识别所述USB设备为HID设备;USB设备对待发送数据进行编码和封装后,生成HID数据包,并将所述HID数据包发送到所述对端设备,或者接收来自所述对端设备的所述HID数据包,并对接收到的所述HID数据包进行解封装和解码,所述HID数据包携带有数据类型和数据使用方式信息。
文档编号H04L1/00GK102638397SQ20121007640
公开日2012年8月15日 申请日期2012年3月21日 优先权日2012年3月21日
发明者韩风 申请人:华为终端有限公司