USB描述符

详细内容在USB2.0规范 9.6章节

描述符类型:

Descriptor TypesValue
Device设备

0x01

Configuration配置

0x02

String字符串0x03
Interface接口0x04
Endpoint端点0x05
Device Qualifier设备修饰符0x06
Other Speed Configuration其他速度配置0x07
Interface Power接口电源0x08
OTGOTG0x09
HIDHID0x21
Report报告0x22
Physical物理0x23
Hub CapabilityHub0x29

Defined Class Codes | USB-IF

1、设备描述符:

Offset

Field

SizeDescription
0bLength1描述符大小
1bDescriptorType1描述符类型
2bcdUSB2usb协议版本
4bDeviceClass1
5bDeviceSubClass1子类
6bDeviceProtocol1协议
7bMaxPacketSize01端点0最大包长度
8idVendor2厂商ID(USB-IF)
10idProduct2产品ID
12bcdDevice2设备版本号
14iManufacturer1厂商字符串索引
15iProduct1

产品字符串索引

16iSerialNumber1产品序列号字符串索引
17bNumConfigurations1配置数

2、设备修饰符:

        

Offset

Field

SizeDescription
0bLength1描述符大小
1bDescriptorType1描述符类型
2bcdUSB2usb协议版本
4bDeviceClass1
5bDeviceSubClass1子类
6bDeviceProtocol1协议
7bMaxPacketSize01端点0最大包长度
8bNumConfigurations1其他速度配置数
9bReserved1保留

3、配置描述符:

Offset

Field

SizeDescription
0bLength1描述符大小
1bDescriptorType1描述符类型
2wTotalLength2

配置描述符集合总长度

(配置、接口、端点、类或特定厂商)

4bNumInterfaces1接口数
5bConfigurationValue1配置的值
6iConfiguration1该配置的字符串的索引
7bmAttributes1

设备属性

D7:Reserved (set to one)

D6:Self-powered

D5:Remote Wakeup

D4-D0:Reserved (reset to zero)

8bMaxPower1设备电流 (单位:2ma)

4、其他速度配置:

Offset

Field

SizeDescription
0bLength1描述符大小
1bDescriptorType1描述符类型
2wTotalLength2配置描述符集合总长度
4bNumInterfaces1该速率配置支持的接口数
5bConfigurationValue1配置的值
6iConfiguration1字符串描述符的索引
7bmAttributes1与配置描述符相同
8bMaxPower1与配置描述符相同

5、接口:

Offset

Field

SizeDescription
0bLength1描述符大小
1bDescriptorType1描述符类型
2bInterfaceNumber1

接口编号

(从0开始)

3bAlternateSetting1接口备用编号
4bNumEndpoints1该接口的端点数
5bInterfaceClass1
6bInterfaceSubClass1子类
7bInterfaceProtocol1协议
8iInterface1接口字符串描述符索引

6、端点:

Offset

Field

SizeDescription
0bLength1描述符大小
1bDescriptorType1描述符类型
2bEndpointAddress1

端点地址

bit3-0: 端点号

bit6-4: 保留

bit7: 方向(控制端点忽略)

        0 = OUT endpoint

        1 = IN endpoint

3bmAttributes1

bConfigurationValue属性

bit1-0: Transfer Type

        00 = Control

        01 = Isochronous

        10 = Bulk

        11 = Interrupt

not isochronous:

bit5-2 = 0

isochronous:

bit3-2: Synchronization Type

        00 = No Synchronization

        01 = Asynchronous

        10 = Adaptive

        11 = Synchronous

bit5-4:Usage Type

        00 = Data endpoint

        01 = Feedback endpoint

        10 = Implicit feedback Data denpoint

        11 = Reserved

       

4wMaxPacketSize2

端点最大包大小

bit10 - 0: 最大包长度

(高速 iso 和 int 端点:)

bit12-11:每个微针的附加传输因素

        00 = None

        01 = 1 additional

        10 = 2 additional

        11 = Reserved

bit15-13:Reserved

6bInterval1

数据传输间隔

isochronous endpoint:

取值范围为 1-16

轮询间隔 = 2的(bInterval-1)次幂

全速 interrupt endpoint:

取值范围 = 1-255

高速 interrupt endpoint:

取值范围 1-16

轮询间隔 = 2的(bInterval-1)次幂

高速bulk/control OUT 端点:

取值0-255

bInterval必须指定端点的最大NAK速率

值为0表示端点从不NAKs

其他值表示每bInterval最多1 NAK的微帧数数。该值必须在0到255之间

7、字符串

Offset

Field

SizeDescription
0bLength1描述符大小
1bDescriptorType1描述符类型
2wLANGID[0]2LANGID code zero
.........

 ...

N

wLANGID[x]

2LANGID code z
Offset

Field

SizeDescription
0bLength1描述符大小
1bDescriptorType1描述符类型
2bString

N

UNICODE encoded string

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值