且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

基于OHCI的USB主机 —— USB标准请求

更新时间:2022-08-17 07:46:57

USB标准设备请求是用来完成USB设备枚举的命令。USB设备必须对标准设备请求做出响应,不管该设备是否已经被分配了一个默认的地址或该设备目前正在配置。所有的标准请求都是使用默认端点(0)来传输的。
 
USB 设备请求格式:
偏移值
字段名
字段长度
字段取值
说明
0
1
位图
请求特性:
D7:数据传输方向
0:主机到设备
1:设备到主机
D6D5:类型
0:标准
1:类型
2:厂商
3:保留
D4D3D2D1D0
0:设备
1:接口
2:端点
3:其它
4…31:保留
1
设备请求
1
数值
USB 设备请求
2
2
根据不同请求,以字节为单位来定义
4
索引
2
字段编号索引
根据不同请求,以字节为单位来定义
6
长度
2
计数
如果传输一组数据,指出要传输数据的字节数
 
USB 标准设备请求:
请求类型
设备请求
(2B)
     (2B)
长度
数据
1000 0000B
1000 0001B
1000 0010B
GetStatus(00H)
0
设备
接口
端点
2
设备、接
口或端点状态
0000 0000B
0000 0001B
0000 0010B
Clear Feature(01H)
特殊选择符
设备
接口
端点
0
1000 0000B
1000 0001B
1000 0010B
Set Featrue(03H)
特殊选择符
设备
接口
端点
0
0000 0000B
Set Address(05H)
设备地址
0
0
1000 0000B
Get Descriptor(06H)
描述符的类
型和索引
0    语言 ID
  符长度
描述符
0000 0000B
Set Descriptor(07H)
描述符的类
型和索引
0    语言 ID
  符长度
描述符
1000 0000B
Get Configuratipon(08H)
0
0
1
配置值
0000 0000B
Set Configuratipon(09H)
配置值
0
0
1000 0000B
Get Interface(0AH)
0
接口
1
可选的接口
0000 0000B
Set Interface(0BH)
可选配置
接口
0
1000 0010B
Synch Frame(0CH)
0
端点
2
帧标号
 
描述符类型
描述符类型
数值
设备
1
配置
2
字符串
3
接口
4
端点
5
 
特殊选择符
特殊选择符名称
接收方
数值
设备远程唤醒
设备
1
禁止端点
端点
0





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