[發明專利]基于HID協議的通訊方法、裝置及系統有效
| 申請號: | 201010507144.8 | 申請日: | 2010-10-14 |
| 公開(公告)號: | CN102012886A | 公開(公告)日: | 2011-04-13 |
| 發明(設計)人: | 陳柳章 | 申請(專利權)人: | 深圳市文鼎創數據科技有限公司 |
| 主分類號: | G06F13/38 | 分類號: | G06F13/38;G06F13/42 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所 44287 | 代理人: | 胡海國 |
| 地址: | 518057 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 hid 協議 通訊 方法 裝置 系統 | ||
技術領域
本發明涉及通訊領域,尤其涉及一種基于HID協議的通訊方法、裝置及系統。
背景技術
現有技術中,在使用HID協議進行通訊時,比如主機與USB設備之間通過HID協議進行通訊時,需要預先向系統報告其所支持的Report?ID的個數,即Report?ID值的集合,主機與USB設備通訊命令數據中需要附帶該命令所攜帶的數據包的Report?ID值,一個ReprotID所對應的數據包的長度是固定的,因此ReportID個數的多少可以決定主機與USB設備之間交互命令的數據長度。
而現有技術中主機與USB設備之間交互命令的數據長度基本上都固定為64字節,即當主機向USB設備所發送的命令的實際長度少于64字節時,也會將命令補足到64字節后發送,當發送命令的長度大于64字節時,需要將一條命令切分為多個64字節命令發送。
因此,現有技術在使用HID協議進行通訊時,發送的命令長度固定,使得命令發送不夠靈活,極大的浪費了系統資源。
發明內容
本發明的主要目的在于提供一種基于HID協議的通訊方法、裝置及系統,旨在提高主機發送命令的靈活性,以節約系統資源。
本發明提出一種基于HID協議的通訊方法,包括以下步驟:
當HID設備與主機連接時,接收HID設備預先報告的Report?ID的集合;
當主機向HID設備發送命令時,根據所述命令攜帶的數據包的長度H以及預制的公式計算該數據包對應的Report?ID的值X,并按照約定的協議格式組織所述命令的數據包;
當所述X屬于所述Report?ID的集合時,將所述命令以SetReport請求發送至所述HID設備;
當HID設備接收到主機發送的GetReport請求時,根據HID設備響應數據包的長度以及預制的公式計算響應數據包對應的ReprotID值,并按照約定的協議格式將響應數據包發送至主機。
優選地,所述根據命令攜帶的數據包的長度H以及預制的公式計算該數據包對應的Report?ID的值X的步驟包括:
若1≤H≤272,則X=H/8;
若273≤H≤528,則X=[(H-272)/64]+34;
若529≤H≤1040,則X=[(H-528)/128]+38;
若H≥1041,則X=[(H-1040)/256]+42。
優選地,所述命令的發送格式為Report?ID?PaddingNum?OpCode?OpData?Padding,其中,Report?ID為報告描述符的ID號,PaddingNum為補足長度,OpCode為操作碼,OpData為操作數據,Padding為補足數據。
優選地,所述操作碼包括:08h、04h、20h以及24h,其中,08h表示設備復位,04h表示明文發送命令,20h表示密鑰協商,24h表示密文發送命令。
本發明還提出一種基于HID協議的通訊裝置,包括:
接收模塊,用于當HID設備與主機連接時,接收HID設備預先報告的Report?ID的集合;
計算模塊,用于當主機向HID設備發送命令時,根據所述命令攜帶的數據包的長度H以及預制的公式計算該數據包對應的Report?ID的值X,并按照約定的協議格式組織所述命令的數據包;
發送模塊,用于當所述X屬于所述Report?ID的集合時,將所述命令以SetReport請求發送至所述HID設備;
響應數據處理模塊,當HID設備接收到主機發送的GetReport請求時,根據HID設備響應數據包的長度以及預制的公式計算響應數據包對應的ReprotID值,并按照約定的協議格式將響應數據包發送至主機。
優選地,所述計算模塊還用于,
當1≤H≤272時,X=H/8;
當273≤H≤528時,X=[(H-272)/64]+34;
當529≤H≤1040時,X=[(H-528)/128]+38;
當H≥1041時,X=[(H-1040)/256]+42。
優選地,所述命令的發送格式為Report?ID?PaddingNum?OpCode?OpData?Padding,其中,Report?ID為報告描述符的ID號,PaddingNum為補足長度,OpCode為操作碼,OpData為操作數據,Padding為補足數據。
本發明還提出一種基于HID協議的通訊系統,包括:主機、與所述主機通過HID協議通訊的HID設備;其中:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市文鼎創數據科技有限公司,未經深圳市文鼎創數據科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010507144.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種網頁瀏覽方法
- 下一篇:基于PI實時數據庫的溫度臺帳控制方法





