專利名稱:一種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日
發明者韓風 申請人:華為終端有限公司