UVC 视频控制接口VC

UVC学习笔记是以最新的UVC1.5为基础,带你学习和了解最新的UVC规范和协议。

视频控制接口包含于接口关联描述符IAD中,在USB设备枚举过程中,随配置描述符一起返回给主机。

通过控制各UVC拓扑单元和终端,可以控制视频功能。

视频控制接口包括以下:

  • 控制端点,是必须存在的,默认使用端点0.
  • 中断断点,一个可选(某些条件是必须的)的,用于状态返回。

视频控制接口是访问视频功能内部的单个入口点,所有与视频功能各拓扑单元或终端都必须通过视频控制接口来实现。所以视频函数内部相关的所有描述符都是特定于类的视频控制接口描述符的一部分。

控制端点

通过默认的端点0使用特定类请求( class-specific requests)来直接控制视频的各个单元或终端。

windows通过 URB_FUNCTION_CLASS_INTERFACE (Urb->UrbHeader.Function)来控制,所以应直接创建对应的URB并发送即可。

这些特定类请求主要包括以下几种:

名称 值  说明
RC_UNDEFINED 0x00 未定义
SET_CUR 0x01 设置属性
GET_CUR 0x81 获取当前属性
GET_MIN 0x82 获取最小设置属性
GET_MAX 0x83 获取最大设置属性
GET_RES 0x84 获取分辨率属性
GET_LEN 0x85 获取数据长度属性
GET_INF 0x86 获取设备支持的特定类请求属性
GET_DEF 0x87 获取默认属性

中断状态返回端点

USB设备通过一个可选的中断点向主机报告其可寻址的端点、单元、接口的状态。其实这些信息都是设备向主机上报相关的信息然后由主机响应实现功能调度。

在下面的三种情况下,中断端点必须支持:

  • 通过硬件触发抓取静态图片。
  • 自动更新的控制(由设备启动更改实现)。
  • 异步控制。

任何控制接口VC中的实体,端点、接口都是可以上报中断信息,并且因这些上报者的不同上报的数据也不一样。

公共数据包头

中断状态返回的数据结构是一个变长的数据结构,由其返回端的返回的状态确定。
对于视频控制接口VC和视频流接口VS,中断返回状态具有共同的数据头。

  • bStatusType:使用D3:D0表示中断的返回端的类型。
  • bOriginator:表示中端返回端的ID.
数据偏移 数据标识 长度 数据类型 描述
0 bStatusType 1 位图/数字 D7:4保留
D3:0 数据组织类型
  0:保留
  1:视频控制接口
  2:视频流接口
1 bOriginator 1 数字 中断报告ID

视频控制接口数据包

数据偏移 数据标识 长度 数据类型 描述
2 bEvent 1 数字 0x00: 控制改变
0x01-0xFF: 保留
3 bSelector 1 数字 控制改变时报告发生中断的选择器
4 bAttribute 1 指定数字 控制事件类型
0x00: 控制值的改变
0x01:控制信息的改变
0x02: 控制改变失败
0x03: 控制最小改变
0x04: 控制最大改变
0x05 - 0xFF: 保留
5 bValuenSee n(不定长) 控制请求描述述,详见下表

控制请求描述符

bAttribute Description
0x00 相当于 GET_CUR 请求结果
0x01 相当于 GET INFO 请求结果
0x02 相当于 GET CUR request on VC REQUEST ERROR CODE_CONTROL 结果
0x03 相当于 GET_MIN 请求结果
0x04 相当于 GETMAX 请求结果

视频流接口数据包

数据偏移 数据标识 长度 数据类型 描述
2 bEvent 1 数字 0x00: 按钮按下
0x01-0xFF: 保留
3 bValue n 数字 00:按钮释放
01:按钮按下
作者使用windows开发UVC摄像头驱动,欢迎加入字节流官方QQ群:952873936或联系站长进行技术交流。
字节流是站长多年来的工作经验和技术总结,和站长一起学习,每天都有进步。
  • USB基础
  • USB摄像头UVC
  • USB人机交互HID
  • USB音频UAC
  • Windows基础
  • 磁盘与文件系统
  • Windows编程
  • Windows驱动
  • 开发模块
  • Windows运维
  • Linux相关
  • C语言学习
  • 高级语言
  • 前端开发
  • 服务器开发
  • 数据库
  • 字节流笔记
  • 字节流
  • 微信公众号
    字节流公众号  字节流QQ群:952873936
    取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    Powered by bytekits.com,汇天下文字,成非凡梦想!!!