UVC摄像头USB设备描述符实现
2022-03-09
1191
0
设备描述符指明了USB设备最基本的设备信息,固定长度为18字节,需要主机通过USB标准请求 GET_DESCRIPTOR 单独获取。
/* USB Video device product defines */
#define BCD_DEVICE 0x0100
#define VENDOR_ID 0x20B1
#define PRODUCT_ID 0x1DE0
/* USB Device Descriptor */
static unsigned char devDesc[] =
{
0x12, /* 0 bLength */
USB_DESCTYPE_DEVICE, /* 1 bdescriptorType - Device*/
0x00, /* 2 bcdUSB version */
0x02, /* 3 bcdUSB version */
0xEF, /* 4 bDeviceClass - USB Miscellaneous Class */
0x02, /* 5 bDeviceSubClass - Common Class */
0x01, /* 6 bDeviceProtocol - Interface Association Descriptor */
0x40, /* 7 bMaxPacketSize for EP0 - max = 64*/
(VENDOR_ID & 0xFF), /* 8 idVendor */
(VENDOR_ID >> 8), /* 9 idVendor */
(PRODUCT_ID & 0xFF), /* 10 idProduct */
(PRODUCT_ID >> 8), /* 11 idProduct */
(BCD_DEVICE & 0xFF), /* 12 bcdDevice */
(BCD_DEVICE >> 8), /* 13 bcdDevice */
0x01, /* 14 iManufacturer - index of string*/
0x02, /* 15 iProduct - index of string*/
0x00, /* 16 iSerialNumber - index of string*/
0x01 /* 17 bNumConfigurations */
};
从这个USB设备描述符中,可以看到产品、供应商和设备固件版本都信息到这个结构中。这将允许主机在连接到USB总线时识别视频设备。
对于视频类设备,必须将“bDeviceClass”、“bDeviceSubClass”和“bDeviceProtocol”字段分别设置为0xEF、0x02和0x01
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936