打印

USB摄像头的传感器配置问题,求助

[复制链接]
1480|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinshuang|  楼主 | 2012-12-28 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
cy7c68013a和CMOS传感器开发摄像头。

用I2C进行传感器的寄存器配置,这段代码是放在固件框架的periph.c里吗? 具体是void TD_Init(void)、void TD_Poll(void)、BOOL DR_VendorCmnd(void)三个中哪里,还是另外写个C程序再调用什么的?求具体方法或相似的例程也行。

刚接触这个,一头雾水啊,求助各位!
沙发
小工程师| | 2012-12-31 17:50 | 只看该作者
TD_Init(void)只是配置端点Endpoint和一些寄存器的;
TD_Poll(void)是循环,用来加入你需要执行的一些代码;
DR_VendorCmnd(void)是使用Vendor Command Request才会用到。我猜测你的CMOS传感器可能需要通过I2C进行一些传感器的参数配置;
一般来说,用CMOS传感器摄像头,应该是UVC的标准设备,你需要在描述符中配置您的CMOS传感器摄像头的UVC的描述符,去下载个UVC的规范看看怎么配置描述符。
这个有点麻烦的,不是一两天就完成的!

使用特权

评论回复
板凳
jinshuang|  楼主 | 2013-1-4 16:24 | 只看该作者
小工程师 发表于 2012-12-31 17:50
TD_Init(void)只是配置端点Endpoint和一些寄存器的;
TD_Poll(void)是循环,用来加入你需要执行的一些代码 ...

谢谢,确实需要看UVC的资料。不过我想知道具体的代码放在哪,比如下面这段 MT9D112传感器的配置代码,它是放在periph.c 的那个函数里?

// 复位操作
BYTE xdata rst[4]={0x30,0x1A,0x0A 0xCC};
EZUSB_InitI2C();
EZUSB_WriteI2C(0x3C,0x04,rst );
// 设置为满分辨率
BYTE xdata buffer[4] ;
// 设置输出宽为1600:
buffer[0]  = 0x33;
buffer[1]  = 0x8C;
buffer[2]  = 0xA7;
buffer[3]  = 0x07;
EZUSB_WriteI2C(  0x3C, 0x04, buffer  );
buffer[0]  = 0x33;
buffer[1]  = 0x90;
buffer[2]  = 0x06;
buffer[3]  = 0x40;
EZUSB_WriteI2C(  0x3C, 0x04, buffer  );
// 设置输出高为1200:
buffer[0]  = 0x33;
buffer[1]  = 0x8C;
buffer[2]  = 0xA7;
buffer[3]  = 0x09;
EZUSB_WriteI2C(  0x3C, 0x04, buffer  );
buffer[0]  = 0x33;
buffer[1]  = 0x90;
buffer[2]  = 0x04;
buffer[3]  = 0xB0;
EZUSB_WriteI2C(  0x3C, 0x04, buffer  );
……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

0

帖子

1

粉丝