UVC 设备功能特性
2020-09-28
5202
6
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
- USB_VC_HEADER(UVC控制接口头描述符)
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936