CX3开发板枚举过程分析1

一、以下分析的结果均是参考15年底开发的CX3开发板,图片如下:

二、UVC协议抓包工具使用的是BUS HOUND6.0,枚举过程的数据如下:

三、分析上图中的第一条指令GET_CUR,控制传输方式,指令序列为:a1 81 00 01  01 00 22 00  。对照UVC协议如下 :

第1个字节0xa1:指定返回的数据方向为开发板到电脑;

第2个字节0x81:bRequest=GET_CUR;

第3、4个字节wValue=0x0100,高字节01,代表CS号码;

第5、6个字节wIndex=0x0001,低字节01,代表VS号码;

第7、8个字节wLength=0x0022,数据长度为34个字节,UVC1.1规范定义的,

 四、分析图二中的红框内的34字节返回数据如下:

00 00 01 01   15 16 05 00  00 00 00 00    00 00 00 00

00 00 00 48   3f  00 00 90  00 00 00 60    e3 16 00 00

00 00

对照开发板的程序,解释如下:

/* UVC Probe Control Setting - 1080p@30FPS */
uint8_t const gl1080pProbeCtrl[CX3_UVC_MAX_PROBE_SETTING] = {
0x00, 0x00,          /* bmHint : No fixed parameters */
0x01,            /* Use 1st Video format index */
0x01,           /* Use 1st Video frame index */
0x15, 0x16, 0x05, 0x00,    /* Desired frame interval in 100ns = (1/30)x10^7 */
0x00, 0x00,        /* Key frame rate in key frame/video frame units */
0x00, 0x00,       /* PFrame rate in PFrame / key frame units */
0x00, 0x00,       /* Compression quality control */
0x00, 0x00,        /* Window size for average bit rate */
0x00, 0x00,        /* Internal video streaming i/f latency in ms */
0x00, 0x48, 0x3F, 0x00,   /* Max video frame size in bytes = 1920 x 1080 x 2 */
0x00, 0x90, 0x00, 0x00,  /* No. of bytes device can rx in single payload: 36KB */
0x00, 0x60, 0xE3, 0x16,  /* Device Clock */
0x00,          /* Framing Information - Ignored for uncompressed format*/
0x00,         /* Preferred payload format version */
0x00,          /* Minimum payload format version */
0x00           /* Maximum payload format version */
};

猜你喜欢

转载自www.cnblogs.com/liangziusb/p/9749461.html
今日推荐