您现在的位置是:主页 > USB2.0规范 >
USB 描述符分类及关系
发布时间:2022-12-18 06:17:41所属栏目:USB2.0规范 已帮助人编辑作者:【USB接口百科】
标准的描述符有5种,USB为这些描述符定义了编号:
1——设备描述符
2——配置描述符
3——字符串描述符
4——接口描述符
5——端点描述符
0x21——HID描述符
0x22——报表描述符/报告描述符
上面的描述符之间有一定的关系,一个设备只有一个设备描述符,而一个设备描述符可以包含多个配置描述符,而一个配置描述符可以包含多个接口描述符,一个接口使用了几个端点,就有几个端点描述符。
还有一些不太常用的描述符:
6——限定描述符 DEVICE_QUALIFIER
7—其它速率配置描述符 OTHER_SPEED_CONFIGURATION
8—接口功率描述符 INTERFACE_POWER
#define USB_DEVICE_DESCRIPTOR_TYPE 0x01
#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02
#define USB_STRING_DESCRIPTOR_TYPE 0x03
#define USB_INTERFACE_DESCRIPTOR_TYPE 0x04
#define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05
//
// USB 2.0: 9.4 Standard Device Requests, Table 9-5. Descriptor Types
//
#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06
#define USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE 0x07
#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE 0x08
//
// USB 3.0: 9.4 Standard Device Requests, Table 9-5. Descriptor Types
//
#define USB_OTG_DESCRIPTOR_TYPE 0x09
#define USB_DEBUG_DESCRIPTOR_TYPE 0x0A
#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 0x0B
#define USB_BOS_DESCRIPTOR_TYPE 0x0F
#define USB_DEVICE_CAPABILITY_DESCRIPTOR_TYPE 0x10
#define USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_TYPE 0x30
//
// USB 3.1: 9.4 Standard Device Requests, Table 9-6. Descriptor Types
//
#define USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR_TYPE 0x31
描述符的获取 接口描述符:只要记录接口编号,接口的端点数,接口所使用的类子类协议。端点描述符:端点号,方向,端点的传输类型,最大包长度,查询时间间隔。字符串描述符:提供一些方便人们查阅的信息不是必须的。 USB设备描述符关系对于一些特殊设备,除过这些标准的设备描述,如HID设备还有报告描述符,符合UVC规范的报像头还有其专用的描述符如关联描述符。
设备描述符、配置描述符和接口描述符都有一些相关的功能描述,这是定义在其对应的字符描述符中。
如在设备描述符中就有以下三个字符串索引值,通过查询其对应的字符串值就可以知道其字符串功能描述。
BYTE iManufacturer; //描述厂商字符串的索引
BYTE iProduct; //描述产品字符串的索引
BYTE iSerialNumber; //描述设备序列号字符串的索引
以上就是USB接口百科为您提供USB 描述符分类及关系的解读,本文章链接: http://www.usb-hub.cn/usb20gf/42296.html 欢迎分享转载,更多婚礼相关资讯请前往USB2.0规范
下一篇:USB 标准请求