UVC 视频控制接口中断端点描述符
2020-09-30
1850
5
通过视频控制接口包括
- 用于实现特定类请求的控制端点(默认端点0)
- 用于返回中断状态信息的可选中断状态返回端点。
视频控制端点描述符
标准的视频控制端点描述符
使用端点0来实现标准的中断控制,故无须额外的标准视频控制端点描述符。
特定类的视频控制端点描述符
使用端点0来实现特定类视频控制,故无须特定类的视频控制端点描述符。
视频控制中断端点描述符
使用中断端点返回中断状态信息。
标准视频控制中断端点描述符
中断端点描述符与定义的标准端点描述符相同。
Offset | Field | Size | Value | Description |
---|---|---|---|---|
0 | bLength | 1 | 0x07 | 此描述符的大小,以字节为单位。 |
1 | bDescriptorType | 1 | 0x05 | ENDPOINT描述符 |
2 | bEndpointAddress | 1 | 0x81 | IN端点1 |
3 | bmAttributes | 1 | 0x03 | 中断传输类型 |
4 | wMaxPacketSize | 2 | 0x40 | 64字节状态包 |
6 | bInterval | 1 | 0x20 | 至少每32毫秒轮询一次。 |
struct _ENDPOIN_DESCRIPTOR_STRUCT
{
BYTE bLength; //设备描述符的字节数大小,为0x12
BYTE bDescriptorType; //描述符类型编号,为0x01
BYTE bEndpointAddress; //端点地址及输入输出属性
BYTE bmAttribute; //端点的传输类型属性
WORD wMaxPacketSize; //端点收、发的最大包的大小
BYTE bInterval; //主机查询端点的时间间隔
} ENDPOIN_DESCRIPTOR_STRUCT ;
- bLength : 描述符大小.固定为0x07.
- bDescriptorType : 接口描述符类型.固定为0x05.
- bEndpointType : USB设备的端点地址.Bit7,方向,对于控制端点可以忽略,1/0:IN/OUT.Bit6-4,保留.BIt3-0:端点号.这里必须为输入IN.
- bmAttributes : 端点属性.Bit7-2,保留.BIt1-0:00控制,01同步,02批量,03中断.这里必须为03中断。
- wMaxPacketSize : 本端点接收或发送的最大信息包大小.
- bInterval : 轮训数据传送端点的时间间隔.对于批量传送和控制传送的端点忽略.对于同步传送的端点,必须为1,对于中断传送的端点,范围为1-255.
特定类视频控制中断端点描述符
类特定的中断端点描述符提供有关设备能够发送最大的中断信息结构大小。主机驱动程序将使用此值来
分配一个足够大的缓冲区来接收最大的中断结构大小。如果定义了标准视频控制中断端点描述符即标准中断端点描述符,则描述符是必需的。
UINT8 bLength;
UINT8 bDescriptorType;
UINT8 bDescriptorSubType;
UINT16 wMaxTransferSize;
- bLength:该描述符的大小,固定为5.
- bDescriptorType:描述符类型。CS_ENDPOINT ,值为
- bDescriptorSubType:描述符子类型,EP_INTERRUPT,值为0x03。
- wMaxTransferSize:最大传输中断信息大小。
视频控制端点描述符示例
----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x82 (Direction=IN EndpointID=2)
bmAttributes : 0x03 (TransferType=Interrupt)
wMaxPacketSize : 0x0010
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet)
Bits 10..0 : 0x10 (16 bytes per packet)
bInterval : 0x01 (1 ms)
Data (HexDump) : 07 05 82 03 10 00 01 .......
--- Class-specific VC Interrupt Endpoint Descriptor ---
bLength : 0x05 (5 bytes)
bDescriptorType : 0x25 (Video Control Endpoint)
bDescriptorSubtype : 0x03 (Interrupt)
wMaxTransferSize : 0x0010 (16 bytes)
Data (HexDump) : 05 25 03 10 00
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936