UVC协议学习2--UVC请求格式分析

前言
    大致了解一下UVC请求格式,贴出来已做备忘。

一、UVC请求格式

1、设置请求格式

UVC协议学习2--UVC请求格式分析_第1张图片

2、获取请求格式

UVC协议学习2--UVC请求格式分析_第2张图片

二、字段释义
1、bmRequestType字段(1字节)
1)D7,下一步数据的出传输方向
0 = 主机到设备(SET请求)
1 = 设备到主机( GET请求

2)D6-D5,命令的类型
00 = 标准请求命令
01 = 类请求命令(UVC规范中的请求属于类请求命令)
10 = 用户定义的请求命令
11 = 保留

3)D4-D0,命令接受者的类型
00000 = 接受者为设备(UVC无此值)
00001 = 接收者为接口( UVC规范中可以理解为VS接口
00010 = 接受者为端点(UVC规范中可以理解为VS接口的视频数据端点)
00011 = 其他接受者
其他值保留。

2、bRequest字段(1字节)
(本部分仅列出UVC类请求命令)
UVC协议学习2--UVC请求格式分析_第3张图片

3、wValue字段(2字节)
    UVC中大多数情况下wValue的取值都为控制选择器 CS(高字节),低字节为零。CS的取值受限于wIndex字段中的Entity ID。当Entity ID取不同值时则wValue字段取值也会有所不同。wValue主要取值如下:

1)、当Entity ID值为VC Interface时:
UVC协议学习2--UVC请求格式分析_第4张图片
2)当Entity ID值为Teminal时:

3)当Entity ID值为Selector Unit时:

4)当Entity ID值为Processing Unit时:
UVC协议学习2--UVC请求格式分析_第5张图片 UVC协议学习2--UVC请求格式分析_第6张图片
5)当Entity ID值为Camera Terminal时:
UVC协议学习2--UVC请求格式分析_第7张图片
6)当 Entity ID值为Extension Unit 时:

7)当 Entity ID值为 VS Interface 时:
UVC协议学习2--UVC请求格式分析_第8张图片

4、wIndex字段(2字节)
    Etity ID(高字节),接口或端点(低字节)。Etity ID是由UVC设备开发者指定的,该ID号能标识具体唯一的特定的功能单元,便于Host端的驱动能依次对设备内的不同功能单元进行配置与操作。

5、wLenth字段(2字节)
     传输的数据大小。该字段表示在控制传输中传输数据的大小。主机—>设备时,该字段的值是实际的数据大小,设备—>主机时,wLenth为设备能够发送的最大数据包大小。

你可能感兴趣的:(UVC协议)