CMOS Sensor分享调试经验
CMOS Sensor分享调试经验 我在这里要介绍的是CMOS摄像头的一些调试经验。 首先,认识CMOS相机的结构。我们通常得到集成包装的模块,通常由镜头、传感器和图像信号处理器三部分组成。一般来说,我们只看到外部镜头、接口和包装壳,这通常是固定焦距。有些制造商只提供芯片,需要安装自己的镜头,镜头选择合适大小的镜头,如果没有夜视要求,最好选择红外过滤镜头,因为一般sensor红外光可以感应到。如果不过滤,会影响图像的颜色。另外要注意PCB在设计过程中,镜头的聚焦中心点应设计在sensor感光矩阵中心。除了这点 CMOS Sensor硬件和普通IC几乎,注意不要弄脏或磨碎表面的玻璃。 其次,CMOS模块输出信号可以是模拟信号输出和数字信号输出。模拟信号通常是电视信号输出,PAL和NTSC它们都是直接连接到电视上的;数字输出通常有两种形式:并行和串行。由于图像尺寸不同,需要传输的数据不同,数据频率也不同,但串行接口pixel clock频率高于平行模式(在相同的数据量下不难理解),更高的频率对外围电路也有更高的要求;并行频率会相对较低,但需要更多的引脚连接;所以这应该有自己的好处。(作者测试的系统是8bit此外,输出信号的格式有很多种,视频输出的主要格式有:RGB、YUV、BAYER PATTERN等。(作者测试的系统是8bit此外,输出信号的格式有很多种,视频输出的主要格式有:RGB、YUV、BAYER PATTERN等。一般CMOS Sensor模组会集成ISP在模块内,可以选择其输出格式,以便根据自己使用的芯片接口选择更合适的系统。其中,部分sensor为降低成本或技术问题,sensor部分不带ISP或者功能很简单,输出是BAYER PATTERN,这种格式是sensor原始图像需要后期处理,需要特殊的图像处理器或连接的通用处理器具有较强的操作能力(需要操作图像处理算法)。 不管sensor通常有三个同步信号输出:帧同步/场同步(Frame synchronizing)、行同步(Horizontal synchronizing)和像素时钟(pixel clock)。确保信号的有效状态与其系统一致,如同步上升(下降)沿触发、同步高(低)电平等。 通过以上介绍,我们可以根据自己的系统选择合适的系统sensor模组。要选择接口对应(如果并行接口,sensor模块输出数据bit如果位置超过接受端,则可以通过丢弃低位数据的方式连接据格式可以接受或处理。pixel clock不超过可接受的最高频率(有些是可调的,但帧率会受到影响),场同步和行同步可以调整到一致sensor这样才能保证模块的使用。 要保证这些条件的正确性,首先要确定其电源、时钟、RESET信号是否符合芯片要求,取决于所有引脚是否正确连接,以确保外围电路正确显示图像。不同的厂家生产不同的产品,有些厂家sensor模块可以默认输出图像,而一些制造商sensor在获得图像之前,必须设置一些寄存器。通过检测,区分图像是否可以直接输出sensor 如果有三个同步信号和在线数据,则通常会有默认的图像输出。此外,您还可以联系制造商获取相关信息。如果没有默认输出,则需要设置寄存器,通常通过两行串行(IIC总线使用频率很高)设置寄存器。
总结摄像头问题及解决方案
一、名词解释
白平衡是指传感器在不断变化的光环境中准确再现颜色的能力。大多数摄影系统具有自动白平衡功能,可以在光条件变化下自动改变白平衡值。设计工程师寻找的图像传感器应配备良好的自动白平衡(AWB)控制,从而提供正确的颜色再现。 测量了动态范围 图像传感器在同一张照片中捕捉光和黑暗物体的能力通常被定义为最亮信号与最暗信号(噪声门槛级别)之比的对数,通常是54dB来作为商业 图像传感器的一般指标。动态范围宽 图像传感器可以在光环境中提供更好的性能(例如,使用狭窄的动态范围传感器在光环境中拍摄的照片会清洗或模糊。) Sensor当日光作为光源获取图像数据时,就会产生flicker,其根本原因是照在不同pixel不同产生的上光能,接受的光能 图像亮度的差异。 由于CMOS sensor曝光方式是一行一行,任何一行pixel曝光时间相同,即同一行中的每一行pixel曝光的开始点和曝光时间完全相同,所以同一行的所有点都收到相同的能量,虽然曝光时间相同,但曝光的开始点不同,所以不同行之间所接受到的能量是不一定相同的。 为了使不同行之间接受的能量相同,我们必须找到一个特定的条件,这样即使每行的曝光开始点不同,接受的光能量也是相同的,以避免flicker,曝光时间必须是光能周期的整数倍。 Banding交流电光源由工频干扰引起,光强波动,我国交流电频率为50Hz,光强的波动是100Hz,周期10ms。如果camera曝光时间不是10ms整数倍,那么在不同的感光表面接收到的光能一定是不同的,体现在图像上有明暗条纹。 消除banding你必须想办法让曝光时间是10ms的整数倍!60Hz交流电需要控制曝光时间8.33ms的整数倍。 以50Hz例如,有两种方法可以实现这一点: 1.设置曝光控制,强制为10ms整数倍变化,但这会浪费部分曝光时间,导致曝光不能充分使用,性能自然会在室内丧失。 2.修改真率,使每个真实图像分配时间为10ms整数倍,可使用满每真曝光时间,室内效果更好。可插入修改震率Dummy Line或者Dummy Pixel。这需要一点计算,具体计算需要看sensor输出Timing。 例如,将真率设置为7.14fps,每真曝光时间为140ms。如果是15fps,每真曝光时间为66.66ms,若强制曝光为10ms整数倍,最大即60ms,则有6.66ms不能参与曝光,性能损失。 具体调整真率法和sensor的FAE沟通,每个sensor可能不一样,不能一概而论。调整真率还有一个原则需要注意,预览一般不能低于 10fps,再低也很卡,常用14.3fps和12.5fps;抓拍不得低于5fps,否则,很难用手拍清晰的照片,通常是7.14fps。真率是一种权利 衡折中 选择,曝光时间不够,暗光效果太差,低不能拍照,容易虚拟。 镜头与传感器之间的界面是整个摄影手机系统中最重要的 接口之一。随着镜头长度越来越短,光到达传感器像素位置的角度越来越大。每个像素上都有一个微镜头。微镜头的主要功能就是将来自不同 这个像素聚焦于角度。然而,随着像素位置的角度越来越大,一些光不能集中在像素上,导致光损失和像素响应减少。 从镜头的传感器一侧,聚焦在像素上的光的最大角度被定义为参数,称为主光角(CRA)。主光角的一般定义是,这个角度的像素响应降低到零度角像素响应的80%(此时,这个像素垂直于光)。 光 线进入每个像素的角度取决于像素的位置。镜头轴线附近的光线将以接近零度的角度进入像素。随着与轴线的距离增加,角度也会增加。 CRA传感器中像素的位置与镜头的设计有关。非常紧凑的镜头非常复杂CRA模式。如果镜头的CRA与传感器的微镜头设计 如果不匹配,透过传感器(即阴影)会出现不理想的光强。这种现象可以通过改变微镜头设计,适当处理拍摄的图像来大大降低。 改 变微镜头设计可以大大降低阴影现象。但在改变微镜头设计时,必须与镜头设计师密切配合,为各种镜头找到合适的CRA模式。相机设计工程师应 确保实现这种技术合作,确保传感器和镜头CRA特性可以很好地匹配。美光开发了相关的模拟工具和评价工具,以确保该目标的成功实现。 由于光 线沿着不同的角度进入传感器,所以阴影现象固有于各种镜头设计。“cos4定律”说明,减少的光线与增大角度余弦值的四次方是成比 例关系的。此外,在某些镜头设计中,镜头本身可能会阻挡部分光线(称为晕),这也会导致阴影现象。因此,即使微镜头设计可以最小化短镜头的阴影 这种现象或多或少都会存在。为了为相机设计师提供额外的方法来纠正阴影现象,MT9D嵌入在111中的图像处理器包含阴影校正功能,用于某些 定制特定镜头。 美光为其生产的所有传感器产品提供了各种开发软件,以帮助设计工程师在其产品中集成传感器。通过使用这些软件,相机设置 计划工程师可以简化默认值的修改过程。每个变化的结果都可以显示在一个PC监视器上。该开发系统用于许多相机中使用的新镜头, 可设置校正镜头阴影和空间色彩失真的参数。对设置响应过程进行简单的均匀点亮的白色目标进行简单的测试。软件开发工具可以显示阴影现象的分割 析结果。之后,工程师可以使用区域方法来应用校正值。相机设计将保存在校正过程中的寄存器设置。 Binning将相邻像元中的感应电荷加在一起,以像素模式读取。Binning分为水平方向Binning和垂直方向 Binning,水平方向Binning将相邻行的电荷加在一起读出,垂直方向Binning读取相邻列的电荷,Binning这一 该技术的优点是将几个像素作为一个像素结合起来,提高灵敏度、输出速度和分辨率 同时采用Binning当采摘时,图像的纵横比没有改变 用2:2Binning,图像的分析度将降低75%。手机小屏幕上Preview建议使用这种方法 而不是通过DSP做抽点动作。 sensor不仅对可见光谱感光,还对红外光谱感光. IR就是infrared红外光, 如果没有IR-Cut Filter,图像会明显偏红,不能用软件调整。一般来说,IR-Cut在650 /-10nm,而UV,紫外光的能量很小,通常被忽略. 未加IR cut 可以看出,影响最大的照片是图像的颜色.
二、图像传感器拍摄问题汇总
比如出现横向的紫色或绿色条纹。一般情况下是时序有问题。
实例图如下:
硬件改善了MCLK和PCLK线,现在已经基本没有绿线了.
走线的时候要注意 MCLK、PCLK还有帧同步(vsync)和行同步(hsync),基本上市面上的芯片这些信号都要分开走线,最好加GND shielding.
总结: 现象: 闪横的紫色或绿色干扰线 原因: Hsync和高速线距离太近太长, 产生了耦合(10cm的高速线产生约5pF左右的耦合电容), 导致HSYNC不能迅速拉升至90%的区域,相位不同步,最终数据采集有错位。然后因为YUV算法的作用,引起绿线和紫色的闪线。 解决办法:绝对禁止将HSYNC,PCLK,MCLK这三根线挤在一起走线。
1)HSYNC夹在低速线SDA和SCL之间
2)PCLK和MCLK如果一定要贴着走线,最好拉开一点距离,当中夹一根地线。
一般是数据线存在短路、断路和连错的问题。图像会出现类似于水波纹的等高线或大面积色偏. D信号丢失画面整体也会色偏,比如RGB565,D0~D4均断路图像会因蓝色和绿色信号丢失过多而呈现红色。 1)一根数据线虚焊导致的等高线及颜色失真例子
等高线
正常的图像 2)两根数据线和其他设备复用导致的偏绿问题 8根数据线中有两根被其它设备复用了,所以这两跟线没出数据。
3)数据线接反的情况:
4)数据线错位 例1. 好不容易把OV2640初始化了,但是预览的图像却不对,附件是我capture的一张图(我的一根手指头-_-|||)。 我用Photoshop分析了一下上面的图片,发现只有G通道有信号,RB通道全黑。
我测了一下2640的10根数据线与CSI的16根数据线的连接关系,发现硬件工程师布板时弄错了将sensor的10根数据线D[0]~D[9]连到了CSI的D[4]~D[15],而CSI取得的是D[8]~D[15]的8bit数据,结果造成了数据位的错位与丢失,造成了以上图像的状况。 5) 数据线问题例图汇总 第一张是亮度很低的情况下抓到的原始数据图像
第二张是将光圈调大以后出现的现象
Y和U/V的顺序不对。将摄像头的采样格式由CbYCrY改为YCbYCr后,颜色就对了。 示例图片如下所示:
过一段时间噪点逐渐增多.
开始工作时正常的,,没有色点,工作过一段时间后,模组开始出现色点,而且色点越来越多. 如上图所示. 原因: 工作一段时间sensor温度会提升,温度升高会加剧半导体材料的本征激发。这会导致sensor S/N降低,noise加剧。此状况与sensor材料关系较大,后端或软件处理可以减缓此状况但不能根除。这种叫hot pixel,是芯片过热造成的。 模拟电压过低导致很强的光才能感应图像,并且偏色。 例1如下图所示,只有天花板上的灯管才感应成像,其他部分很模糊。
例2, 模拟电压过低导致竖向条纹。提高AVDD后问题解决。
例3,在调试 OV7725时发现,刚打开摄像头时图像有条纹,开了一段时间后图像就正常了,有没有哪位知道是什么原因;不正常的图像如下。查出问题了,是模拟电压不稳导致的。
补强的表面要用亚光黑油,防止漏光。 例1. OV2715异常图像,感测到了背面电路板的漏光,图像如下:
例2,GC0307 图像异常,如下图。 中间有条线,像分层那样的线,正常情况是没有。格科微的叫我们四周都补胶,就解决啦。
在新版的电路板中,将CMOS移到离主IC较远的地方现象就消失了,之前是放在主IC的背面,猜测是主IC对CMOS造成的影响,比如在模拟电压上引入噪声。
示例1 如下图所示。
示例2: cmos为ov的30w像素,型号为ov7141。使用时出项很明显的水平方向的横波纹。
采用3.3v和2.5v供电,其中VDD_C和VDD_A是由2.5v供电,pcb上直接将他们连在一起接2.5v。直接铺地,没有划分模拟地和数字地。
使用外接电源对AVDD供电,没有出现上述现象。可以确定是由主板的电源噪声引起的
改板后效果还可以,主要改动有: 1) 原来是两层板,现在用的是4层板,有专门的电源层 2) LDO输出改用大容量的钽电容滤波。示波器测量电源纹波 比以前小了。
在室外自然光下如果不会出现,那一定是50/60Hz引起的flicker;
用OV9650摄像头模组拍的图片,像素是800 X 600;中间较亮
从硬件来说,可能是lens set与sensor不匹配,特别是CRA,你得看看datasheet两者是否差距太大。 软件上,可能是lens correction没调好(个人感觉楼主状况属此列),设定好correction区域然后将gain值拉高让中心与周边亮度差异减少,如果此时整个画面过曝,可以将整体gain值再往下调(也可以设定曝光参数来减少画面亮度)。 按以上方法调整OV9650的几个与lens correction有关的寄存器的值,使中心和四周的亮度均匀!
在调试OV7675时,图像有左边是模糊的,右边正常,图片如下:
将 AGC 调小之后不会出现了,但是没之前亮了.效果如下:
OV7670: 在室外光线较亮拍摄时,画面颜色任何时候都正常。 在室内光线较暗拍摄时,刚打开摄像时拍摄的画面偏绿,几秒钟之后就会恢复正常。
属于正常现象。 OV7670 30W 计算AE时间比较长。在计算AE的过程中容易出现偏色现象。 可以丢帧或者延时解决这个问题
因Vsync偏移出现问题的例子如下图所示。
问题解决方法: camera 模组的timing调整不了。修改AP的camera控制,使垂直同步偏移12 rows. 图像输出正确。
这是一颗5M的模组拍摄的图片,天花板的灯在视场外边缘,图中为何出现紫红色的光?是什么原因造成的?
属眩光现象,一般是由于多片lens镜间反射造成。通过改善镀膜制程,增加镜片透射率可以缓解次问题。 另外,这张照片光心偏到左边去了,holder偏移?lens set circle够大啊,这种偏移都能cover掉。 多谢各位关注,问题已经解决,此现象是lens组装到模组上面的机构问题产生。
在调试一款手机摄像头(OV7675)时,发现画面垂直不同步,主要是画面的下半部分跳动很厉害,上半部分是好的. 问题已经找到了,帧同步VSYNC和PCLK布线有干扰
例1,图中有噪点
转换了一下Pclk的极性,这个躁点的问题得到了很好的解决。 例2. ov7675拍出来的照片发绿。可能是PCLK采样边缘不对,可以试试将pclk反向。也可能是数据线缺失问题。
例3, 如下图所示。通过修改pclk的上升沿和下降沿就解决了。
主要有两点: 1.修改PCLK的上升沿的斜率。
2.或者修改I/O的上升沿的斜率。 原因是不同厂家的模组layout的走线的长短,FPC的厚薄,都可能影响到PCLK的获取, FPC的公差过大,或者头板的制作是否有什么问题,都可能引起这个问题。 如果可以通过硬件的方式改变PCLK上升沿的斜率,也可以解决这个问题。 来结案了,通过修改pclk的上升沿和下降沿就解决了
白天或亮一点的地方是没有这个问题,就只有在低照度下使用闪光灯拍照会有这样的情形。
FPN( fixed pattern noise), 无解。
gain过大,把digitalize的量化步距,乘大了,就出现台阶效应。还与内部的量化精度不够,有关系。 另外,若不同的颜色通道的gain不同(白平衡计算出的R/G/B_gain不同),会出现color phase error。 示意图,如下,只画了B、G两个通道,B_gain比G_gain大,会造成灰阶的景物,有的地方B大,有的地方G大,就会出现颜色不断交替。
结合上台阶效应,可能就会表现成的这幅图
现在已经确定是电源的问题了,我在每个电源都并上了一个大电容,条纹消失了。现在我是用CPU的I/O采集的,效果很好。
图中下方居中的地方偏红。ov工程师将LENS CORRECTION调到了极限问题还存在,确认是LENS与SENSOR不匹配造成的,模组厂家更换了镜头后问题基本解决。
我下载了你的图片发现有以下问题: 1.首先你的照片awb就不对,本身这张照片就没有达到白平衡.
2.照片边界锯齿现象很严重. 3. 色偏问题,你首先要了解一下你的sensor的Lenschief ray angle角度是多少,还有lens的CRA是多少.如果lens的CRA小于sensor的.一定会有偏色的现象.要么换lens.如果市场上找不合适 的Lens,就说明sensor 本身品质不是很好. 4.理论上lens shading是解决lens的通透率不一样的问题.但也许各家回加自己的算法,可以一试. 5.如果Lens 和sensor都已经固定,可以人为想一些办法来减少色差.
a.可以将颜色调淡点,这样就不太明显 b.做AWB校正,排除不同sensor对RGB感应的不同,引起AWB曲线走的不准. CRA通俗的讲是lens的主轴光线和对成像有贡献的最大的如射光线的夹角,一般Lens厂商会提供CRA曲线,因为Lens从中心到四周的CRA是不一样的. 偏红除了SHADING外可能还是要调AWB,因为图片的下方其实就是一片白色,sensor在照白色的地方出现了偏红,再试试调整一下AWB,或者在灯箱里看看R,G,B的三条线是否重合! 如果是AWB的问题,那为什么图像还有白色区域呢?AWB是不会调的有的偏色,有的不偏,不知道的就不要乱说。 如果是CRA不比配,那出现的偏色应该是对称的,下面偏紅则上面一定会偏紅。 个人觉得应该是漏光造成的,不是barrel就是通光孔那里引入了杂光。
现象:花屏 原因:2.8V电压因为导线上的电阻吸收了电压,导致驱动能力不够。地线被拉高并产生毛刺现象,影响信号完整性和数据采集。
图中的高光部分是办公室窗户。其它部分全黑,没有任何细节? 是什么原因?AWB?AGC?还是对比度啊?
问题解决了,是DVDD电压不对。 datasheet写的1.8V,问了FAE结果是1.2V。
当对着白色的物体时,刚进入预览时,会出现下图中显示的条纹,当移动手机时,则这种条纹消失,以后也不会出现,只有再次进入预览时可能会出现,请教各位大虾到底是什么原因?
这个问题,现在已经解决了,加大了初始化代码中的增益之后,就可以了。
Sensor为0v9655 在拍sxga 130万图像有时会出现图像错位的问题(如图),vga的则不会出现,帮忙分析。谢谢!
帧率太高了,暴光时间短了.可以调整VBLANK,HBLANK来解决 再降低FPS到5,试试,你的buffer速度呢?? 谢谢大家!在我这里降低帧速率比较有效。
OV9653出现如图所示的横向纹路。 问题已经解决,电源问题,AVDD加钽电容就好了。估计是电源纹波比较严重导致的。