基于OHCI的USB主机 —— 描述符说明

简介:
设备描述符:
偏移值
字段名称
字段大小
说明
0
blength
1
描述符长度  = 12H
1
bDescriptorType
1
设备描述符类型  = 01H
2
bcdUSB
2
USB 规划发布号
4
bDeviceClass
1
类型代码(由 USB 指定)
5
bDeviceSubClass
1
子类型代码(由 USB 分配)
6
bDeviceProtocol
1
协议代码(由 USB 分配)
7
bMaxPackedSize0
1
端点 0 最大分组大小(只有 8 16 32 64 有效)
8
idVendor
2
供应商 ID (由 USB 分配)
10
idProduct
2
产品 ID (由厂商分配)
12
bcdDevice
2
设备出厂编码
14
iManufacturer
1
厂商描述符字符串索引
15
iProduct
1
产品描述符字符串索引
16
iSerialNumber
1
设备序列号字符串索引
17
bNumConfigurations
1
可能的配置数
 
配置描述符:
偏移值
字段名称
字段大小
说明
0
bLength
1
描述符的长度  = 09H
1
bDescriptorType
1
配置描述符的类型  = 02H
2
wTotalLength
2
返回整个数据的长度,包括该配置所返回的所有描述符(配置、接口、端点以及类型或供应商)的联合长度
4
bNumberInterfaces
1
配置所支持的接口数
5
bConfigurationValue
1
作为 Set Configuration 的一个参数选择配置值
6
iConfiguration
1
用于描述该配置字符串描述符的索引
7
bmAttributes
1
配置特性:
D7           总线供电
D6           自供电
D5           远程唤醒
D4~0      保留(复位为 0
8
MaxPower
1
当设备完全可操作时,在这种特定配置下,总线供电的 USB 设备的最大消耗电流(以 2mA 为单位,即 2mA x 50 = 100mA
 
接口描述符:
偏移值
字段名称
字段大小
说明
0
bLength
1
描述符长度  = 09H
1
bDescriptorType
1
接口描述符类型  = 04H
2
bIngerfaceNumber
1
接口的编号
3
bAlternateSetting
1
用于为上一个字段选择可供替换的设置
4
bNumEndpoint
1
使用的端点数目(端点 0 除外)
5
bInterfaceClass
1
类型代码(由 USB 指定)
6
bInterfaceSubClass
1
子类型代码(由 USB 分配)
7
bInterfaceProtocol
1
协议代码(由 USB 分配)
8
iInterface
1
字符串描述符的索引
 
端点描述符:
偏移值
字段名称
字段大小
说明
0
bLength
1
描述符长度  = 07H
1
bDescriptorType
1
接口描述符类型  = 05H
2
bEndpointAddress
1
USB 设备的端点地址
D7           方向,对于控制端点可忽略
0            OUT 端点
1     IN 端点
D6~4       保留,复位为 0
D3~0       端点号
3
bmAttributes
1
端点属性,当进行配置是采用以下的配置值
D7~2       保留
D1~0       传输类型
00        控制
01        同步
02        批量
03        中断
4
wMaxPackedSize
2
本端点接受或发送最大信息包的大小。
对于同步传送,此值用于为每帧的数据净负荷预留时间。通道可能在实际运行时不需要预留带宽。实际带宽可由设备通过一种非 USB 定义的机制汇报给主机。
对于中断传送、批量传送和控制传送,端点可能发送较小的数据包。在结束传送后,既可能用间隙时间来重启,也有可能不需要这段时间。
6
bInterval
1
轮询数据传送端点的时间间隔。
此域值对于批量传送的端点及控制传送的端点忽略。对于同步传送的端点,此域值必须为 1 。对于中断传送的端点,此域值得范围为 1~255






本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/269443,如需转载请自行联系原作者
目录
相关文章