UVC 设备功能特性

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

UVC设备可以支持多种配置,每个配置内可能有多个接口,每个接口可能会被轮流(alternate)设置。并且这些接口可能存在于同一复合设备的不同功能中。
几个独立的视频功能可能存在于同一设备内,属于同一功能的接口被分配到用于描述视频接口集合的接口关联描述符(IAD)中。如果设备包含多个独立的视频功能,那么就可能存在多个视频接口集合,即多个接口关联描述符(IAD)。

UVC设备中,通过接口关联描述符(IAD),实现对UVC设备各标准单元和终端控制的枚举。

在USB规范中,设备的枚举一般是先获取设备描述符,配置描述符(包含接口描述符、端点描述符)和字符串描述述实现对设备的枚举。
在UVC设备中,一个设备必须使用一个IAD(接口关联描述符)去描述一个Video Interface Collection(视频接口集),USB协议中并没有专门向设备获取接口关联描这符IAD的命令,IAD需作为USB配置描述符的一部分发送给主机端。

接口描述符主要包括两大部分:

  • 视频控制接口(Video Control Interface)- VC
  • 视频流接口 (Video Stream Interface) - VS

在该配置描述符的排列顺序中,IAD要放在它所包含的VC,VS描述符之前,且同一个IAD中所有的VC,VS 接的的接口号必须连贯。

接口关联描述符

UVC摄像头的配置描述符内存布局实例

下面引用一段UVC摄像头的配置描述符内存布局,黑色标识的为中断控制端点。

  • USB_CONFIGURATION_DESCRIPTOR(配置描述符)
  • USB_INTERFACE_ASSOCIATION_DESCRIPTOR(接口关联描述符)
    • USB_VC_HEADER(UVC控制接口头描述符)
      • Video Control Input Terminal Descriptor
      • Video Control Processing Unit Descriptor
      • Video Control Extension Unit Descriptor
      • Video Control Output Terminal Descriptor
      • Endpoint Descriptor
    • Class-specific VC Interrupt Endpoint Descriptor
      • VC-Specific VS Video Input Header Descriptor(视频流接口描述符)
      • VS Frame Based Payload Format Type Descriptor
      • VS Frame Based Payload Frame Type Descriptor
      • Endpoint Descriptor
作者使用windows开发UVC摄像头驱动,欢迎加入字节流官方QQ群:952873936或联系站长进行技术交流。
字节流是站长多年来的工作经验和技术总结,和站长一起学习,每天都有进步。
  • USB基础
  • USB摄像头UVC
  • USB人机交互HID
  • USB音频UAC
  • Windows基础
  • 磁盘与文件系统
  • Windows编程
  • Windows驱动
  • 开发模块
  • Windows运维
  • Linux相关
  • C语言学习
  • 高级语言
  • 前端开发
  • 服务器开发
  • 数据库
  • 字节流笔记
  • 字节流
  • 微信公众号
    字节流公众号  字节流QQ群:952873936
    取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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