一、DVP摄像头无应答排查(MCLK)
1、首先检查当前MCLK 时钟是否存在,MCLK可以理解为摄像头的心跳(没有主时钟就是主控或者晶振没有工作,应该检测主控驱动/检查晶振电源不起震问题)。目前提供MCLK存在两种方式,一种由主控芯片提供的,另外一种由外接一个24MHZ晶振提供(当前24MHZ是当前普遍摄像头的主时钟,实际要查看sensor对应电气手册或者寄存器手册,一般在电气手册前几页有描述),这里描述的就是存在最大时钟24MHZ可以吐出30帧,同时还可以设置更加低的时钟,还有20M 、16M时钟等等。
②、用示波器检测捕抓MCLK的波形,查看是否正常,部分主控出来的时钟存在振铃现象,当出现振铃现象就要考虑主时钟信号是否能被sensor采用,存在当前情况sensor有几率能正常通信,但是很难出现完整图案,在DVP方案中应对PCLK , 数据线,都应该考虑处理。
解决方法:在当前时钟电路中串一个阻尼电阻大概10R左右,还存在比较大振铃电压,继续加大阻尼电阻阻值。
二、DVP摄像头硬件排查(电源)
①、按照数据手册排查几路电源,AVDD , IOVDD ,DVDD ,有些镜头存在两路电源也是能正常工作的,目前主要排查就是当前当前几路电源是否正常。这里也要说明一下,同款sensor都好根据不同镜头封装厂的引脚封装,会存在有些用3路电源,有些用2路电源(模组内部做好了分一路过去了)。
存在两路电源的设计手册要求
这个是需要存在三路电源要求的sensor
三、DVP摄像头信号无应答排查(I2C)
1、<排查I2C 首先第一步就是器件地址是否正常>
通过逻辑分析仪抓到当前器件地址发送过去是否有ACK返回来,没有就需要考虑当前的器 件地址是否存在问题,下面是寄存器手册里面有关器件地址的描述,读和写的器件地址,目前还存在一种情况就是部分主控会主动将器件地址往左移动一位然后在最后的读写位置改变,这里按照不同主控进行讨论,可用逻辑分析仪抓包查看。
2、<排查I2C硬件端>
需要从硬件端排查时候,首先检测当前I2C_SCL 和 I2C_SDA的上拉是否正常,上拉电阻是否按照手册配置。在I2C无工作状态,I2C两根线电压都应该是2.8-3.3V之间,当前讨论针对正常见sensor,具体需要可以查看对应的sensor电气手册。
3、如果是使用GPIO模拟I2C,主控的GPIO设置为开漏输出模式。
4、如果使用I2C外设形式,需要链接逻辑分析仪,查看主控是否真是发送I2C数据出来,以便排查是主控I2C驱动问题还是sensor外设问题。并且检查发送器件地址过去是否有ACK应该回来。
4、<I2C是否写成功问题>
应该找一个sensor只读寄存器,将里面的值读取出来进行对比当前寄存器手册里面的数值是否一致。如下图这款镜头的0xfb寄存器里面保存sensor的设备ID ,
根据读回来的数据比较可以用作判断。
5、<I2C时钟信号质量>
I2C作为大多数情况下都是发送配置信息的低速信号,时钟比较低常见如下几个(100K-400KHZ),很少出现信号质量差问题,但是板子上面的信号线路密集就需要考虑一下,使用示波器捕抓一下当前的I2C两根线质量如何。同时可以检测在拉起其他应该的过程中是否有影响到当前信号的质量。
目前我遇到一个案例就是,SD_FT卡电源和I2C的上拉电源连接一起,当SD_FT注册挂载时候,上拉电源总是会被拉低一点,由于SD卡是热插拔,所以有一定几率会影响到I2C配置寄存器配置不进去的现象,这个需要硬件最好就是做分开的电源。
四、DVP摄像头无应答(使能引脚)
1、在排查sensor无应答和反应时候,还要考虑到这两个引脚( PWDN 和 RESET )是否使能开启,按照配置应该要配置使能PWDN 和 禁能RESET 引脚,如果这两个引脚没有正确处理 sensor也是没有办法正常工作。
五、图像出现横纹、异常线条纹路、图像错位
1、排查电源是否正常,部分镜头电源不稳定和不到位会导致出现以上情况。
2、排查硬件的数据线是否做了等长线处理。
3、排查数据线附近是否存在高频,磁极,电源变压电路存在影响。
4、同时将主控的或者晶振时钟降低(24M->20M->16M),需要明确主控是否能完全接收到
PCLK时钟,不同的主控对PCLK时钟最大采集不同,超出主控采集范围导致PCLK采集出
现问题,从而影响到图像采集。具体需要对应回使用的主控模块。
< 个人调试日常,仅用作笔记记录 >