设备描述符&配置描述符¶
一、设备描述符&配置描述符¶
1.1、设备描述符(18字节)¶
设备描述符是USB设备的第一个描述符,每个USB设备都得具有设备描述符,且只能拥有一个。
字段 |
长度(位) |
偏 移量(位) |
十六进制值 |
说明 |
---|---|---|---|---|
bLength |
8 |
0 |
0x12 |
描述符大 小为18字节 |
bDescr iptorType |
8 |
8 |
0x01 |
设备 描述符类型 |
bcdUSB |
16 |
16 |
0x0200 |
USB规 范版本2.00 |
bDe viceClass |
8 |
32 |
0x00 |
驱动类型 |
bDevic eSubClass |
8 |
40 |
0x00 |
驱动子类 |
bDevic eProtocol |
8 |
48 |
0x00 |
无协 议设备基础 |
bMaxPa cketSize0 |
8 |
56 |
0x40 |
端点 0的最大数据 包大小为64 |
idVendor* |
16 |
64 |
0x1782 |
供应商ID为 6018:展讯香 港有限公司 |
** idProduct** |
16 |
80 |
0x4E00 |
产 品ID为19968 |
** bcdDevice** |
16 |
96 |
0x0000 |
设备版 本号为0.00 |
iMan ufacturer |
8 |
112 |
0x01 |
制造 商字符串描 述符索引为1 |
iProduct* |
8 |
120 |
0x02 |
产 品字符串描 述符索引为2 |
iSer ialNumber |
8 |
128 |
0x00 |
设 备没有描述 序列号的字 符串描述符 |
bNumConfi gurations |
8 |
136 |
0x01 |
设备有1种 可能的配置 |
1.2、配置描述符(9字节)¶
配置描述符定义了设备的配置信息,一个设备可以有多个配置描述符。 大部分的USB设备只有一个配置描这符,设备存在多个配置描述符时,系统会自动弹出对话框让用户选择。
配置描述符在USB设备的枚举过程中,需要获取两次: 第一次只获取配置描这符的基本长度9字节,获取后从wTotalLength字节中解析出配置描述符的总长度,然后再次获取全部的描述符。
配置描述数据中不仅包括配置描述符本身,也包括其下的接口描述符和端点描述符。
字段 |
长 度 ( 位 ) |
偏移 量( 位) |
十 六 进 制 值 |
说明 |
---|---|---|---|---|
bLength |
8 |
0 |
0 x09 |
描述符大小为9字节 |
bDescr iptorType |
8 |
8 |
0 x02 |
配置描述符类型 |
wTo talLength |
16 |
16 |
0x0 090 |
此配置的数据总长度为144。 这包括返回的所有描述符的组合长度警 告:wTotalLength的值不等于实际长度 |
bNumI nterfaces |
8 |
32 |
0 x05 |
此配置支持5个接口 |
bConfigura tionValue* |
8 |
40 |
0 x01 |
值1应用于选择此配置 |
iConf iguration |
8 |
48 |
0 x00 |
设备没有描述此配置的字符串描述符 |
bmA ttributes |
8 |
56 |
0 xE0 |
配置特征:位7:保留(设置 为一个)1位6:自供电1位5:远程唤醒1 |
** bMaxPower** |
8 |
64 |
0 xC8 |
此配置中设备的最大功耗为400 mA |