MT9M001的调试理解

最近调试MT9M001的CMOS,文档有些不是很清楚,将调试过程中对这款CMOS的理解归纳如下:

1、非针对此款CMOS,一般的需要和CPU同步的外围模块都需要注意以下几点:需要同步信号的极性(如MT9M001的行同步,场同步,像素极性等)是否和CPU一致,若不一致或不能确定,最好借助其他方法确定或者验证;

2、MT9M001的理解:手册资料见:MT9M001官方资料

a\使用的是黑白单色的CMOS;

b\所有寄存器为16bit,读写等见具体寄存器说明;

c\0x00寄存器,为只读寄存器,可以用来验证I2C通道是否正常;

d\0x01,0x02寄存器是行起始和列起始;也就是整个CMOS,从第几行(列)开始才是有效数据;验证试验:将0x01设置较大值,采集出来的图像,最下面是黑色的空白的,也就是没有图像,最上面是缺失的,其实就是图像整体上移了[0x01]行;

e\0x03,0x04寄存器应该是主要用于缩放,扩放等功能(个人理解);验证试验:设置0x03,0x04寄存器分别为480,640时,采集到的图像是变为了640X480的大小了没错,但是实际上图像只是整体图像的一部分而已,部分感光区没有作用;(分别设置输出图像大小为1280X1024采集图像1,设置输出图像大小为640X480采集图像2,图象2和图象1部分是完全重叠的),切记此点,不要作为采集小于默认图像(1280X1024)时设置的图像大小(如果不想只使用部分感光区的话)

f\0x05,0x06寄存器时消隐行(列)的大小;也就是无效行(列)宽的大小,消隐区域作用主要是间隔有效区域,同步,更加详细了解自己查资料;

g\0x07寄存器最主要的作用是bit6的测试模式,注意测试模式时,实际输出的数据(0x32寄存器设置)不是每个像素都相同的,而是奇数列和偶数列的数据时反向的(是将0反向1这样,还是高低位反向的忘记了,具体可以自己做实验,我确定后再修改此处);

h\0x09,0x0c寄存器是用于集成行(列)的延时,大致是这样的:当0x09寄存器值大于有效行与消隐行之和时,实际输出时,会自动增加消隐行到  0x09寄存器 - 有效行,否则按照实际有效行和设置的消隐行输出;一句话:R09与总行数(有效与消隐之和)作比较,谁大听谁的;

i\0x1E,0x20等寄存器主要用于设置要求输出图像大小不是默认的1280X1024时的设置,设置0x20寄存器的bit3、4,可以得到最终输出图像变为640X512(可以理解为640X480的大小),此时输出的数据就是这么多,感光区的有效区域仍然是全部的,此处和e点的0x03\4寄存器对应上了(怎么设置其他标准的窗口图像输出);

j\0x2B,0x2C,0x2D,0x2E,  0x35寄存器主要用于调整CMOS的增益(gain);值与增益倍数非线性的,详见手册说明;


注意:当设置0x20调试输出图像格式后,想通过降低消隐区域来提高帧速率时(设置R09寄存器为较小的适当值),生成的图像会随着R09寄存器值的变小而显得愈加黑暗,不知道什么原因,不过我们使用的640X480的图像,R09寄存器设置为512左右,图像稍暗,通过增大增益,显示完全可以使用;最终采集到的图像是640X480,帧速率为50FPS;

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值