[FAQ07665][Camera Drv]摄像头工厂模式(factory Mode)测试失败或者预览画面不吐出动态图像

[DESCRIPTION]
1,进入factory mode之后,自动测试结果camera 部分fail;
2,进入factory mode之后,进入单项测试,预览画面图像固定,抓main log,发现CRC校验fail;
3,进入factory mode之后,进入单项测试,动态预览画面,抓main log,发现CRC校验fail;
以上三种情况都属于不正确的部分,正常的应该是进入自动测试不会failed,进入单项测试,画面为固定的图像(test pattern),1~2s之后退出,抓main log,CRC校验pass
[SOLUTION]
进入工厂模式测试camera,发现出现的是彩色条纹,纯色图片或者其他的test pattern,然后退出preview这个是正常的,进入工厂模式后,driver会向sensor下输出test pattern的命令,然后下capture命令调用capture setting,抓拍一张图后退出camera。我们会将抓到的图片(test pattern是固定输出)做校验,来判断硬件是否是ok
流程如下:
如果sensor吐出来的不是固定图像或者校验失败,需要做如下几个部分的check:
1,在camera 驱动中增加feature controlSENSOR_FEATURE_SET_TEST_PATTERN:代码如下:
 
2,的在camera驱动中增加feature control SENSOR_FEATURE_TEST_PATTERN_ CHECKSUM_VALUE,代码如下:
 
注意:
1,获取CHECKSUM_VALUE这个值的时候,最好在工模下多试几次,因为有些sensor吐出来的固定图像的数据实际上是变化的,这个时候,每次输出的CRC_Accum值就会不一样,此时要找FAE确认。
2,如果之前已经确认是ok的,但是又修改了驱动中的HV Mirror或者GrabWindow,Startx,starty等参数,会导致CheckSum这个值又和之前的不一致,请注意重新按照上面的方法k这个参数
3,有时候出现每次checksum值都不一致,是因为掉线引起的,这个时候需要修改驱动那边的驱动能力,PCLK的相位等来解决掉线问题之后再来测试
   PS:掉线是指当我们去抓data的时候,假设是在PCLK的上升沿去抓取data,这个时候由于PCLk的驱动能力不足或者太大,导致去抓data的时候,数据还没有稳定或者已经在变化了,此时抓到的data就不正确,通常表现为抓到的都是0,呈现出来的是绿条纹,也有可能是PCLK和data之间的相位没有匹配,导致波形是ok的,可是抓取data的时机也不对,导致的掉线问题。解决方法一般有:改善MCLK的驱动能力,改善PCLK的驱动能力,调整PCLk的相位,降低PCLK的帧率等~
4,如果发现不同的模组出的CRC_Accum的值不一样,还需要check sensor driver的otp_en的寄存器位,并将其关掉。 
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值