您现在的位置是:主页 > HID规范 >

HID报表描述符与设备描述符、配置描述符、字符串描述符的通讯格式对比

发布时间:2022-12-07 22:23:02所属栏目:HID规范 已帮助编辑作者:【USB接口百科】

报表描述符是USB HID规范中一个很重要的概念。USB HID设备报表描述符内容表述了该HID设备的功能及数据传输的格式。
USB HID报表描述符在概念上和设备描述符,配置描述符,接口描述符,端点描述符和其它USB设备描述符类似,但是还是有一些细微的区别。
我里我们做一个简要的区别:

设备描述符、配置描述符、字符串描述符和报表描述符是单独通过GET_DESCRIPTOR命令获取的。端点描述符、接口描述符、接口关联描述符是第二次获取配置描述符时随配置描述符的内容返回,所以此类描述符无单独的GET_DESCRIPTOR命令。设备描述符、配置描述符、字符串描述符的通过GET_DESCRIPTOR获取时,发向的目标是设备,而报表描述符是接口。

在USB规范 USB标准请求一节: http://www.usbzh.com/article/detail-417.html 我们回顾一下bmRequestType字段的在获取描述符时的含义。
D4-D0位表示命令接受者的类型,其中比较常用的是00000表示接受者为设备,00001表示接收者为接口。

这里我们通过BUSHOUD抓包分析本人手中一键盘设备的GET_DESCRIPTOR请求:

获取设备描述符
//设备描述符
CTL    80 06 00 01  00 00 12 00
IN     12 01 10 01  00 00 00 08  2c 1a 24 21  10 01 01 02  00 01
获取配置描述符
//配置描述符
CTL    80 06 00 02  00 00 09 00
IN     09 02 22 00  01 01 00 a0  31
获取字符串描述符
CTL    80 06 02 03  09 04 1a 00 
IN     1a 03 55 00  53 00 42 00  20 00 4b 00  65 00 79 00  62 00 6f 00  61 00 72 00  64 00   ..U.S.B. .K.e.y.b.o.a.r.d.
03代表的是字符串类型02代表字符串索引 获取HID报表描述符
CTL    81 06 00 22  01 00 72 00
IN     05 0c 09 01  a1 01 85 01  19 00 2a 3c  02 15 00 26  3c 02 95 01  75 10 81 00  c0 05 01 09  80 a1 01 85 02 19 81 29  83 25 01 75  01 95 03 81  02 95 05 81  01 c0

注意:这里的bmRequestType字段为0x81,表示发向的是对象是接口,并且接口ID=1,而如设备描述符,配置描棕符和字符串描述符的接收对象是设备

     以上就是USB接口百科为您提供HID报表描述符与设备描述符、配置描述符、字符串描述符的通讯格式对比的解读,本文章链接: http://www.usb-hub.cn/hidgf/42326.html 欢迎分享转载,更多婚礼相关资讯请前往HID规范

上一篇:HID 描述符(通用)

下一篇:HID 类特定请求