ITS test_3a_consistency 测试fail:报assert np.isclose(np.amax(fds), np.amin(fds), FD_TOL)分析方法

问题描述

 ITS test_3a_consistency 测项目的:会让AE,AWB,AF auto收敛3次,然后分别查看AE,AWB,AF三次收敛结果最大差异值是否小于最大值的10%,如果小于最大值的10%认为pass,否则fail。
如果是AF 不满足要求,会报assert np.isclose(np.amax(fds), np.amin(fds), FD_TOL)
原因可能有以下几个:

1、af mgr 中,getFocusDistance 和setFocusDistance 误差很大,导致根据dac值换算出来的distance不准
2、此测项设TG 的full size下来,框很大,AF algo这边做damping补偿对时序的要求很高,受系统loading或者driver IC 稳定性的影响较大,容易出现三次对焦不稳定,dac差异大
3、模组发热,导致lens 焦点有温漂效应,三次对焦位置不一致
4、dac range过小,导致很小的dac值差异,引起大的distance差异。对对焦准确性要求更高

解决方案

  对于以上四个原因solution分别如下:
1、打更正getFocusDistance 和setFocusdistnce的patch,让dac和distance的换算更准确(但准确性还是依赖于OTP的准确性)
  P0.MP1    ALPS04296129   mt6771,mt6765,mt6763,mt6739,mt6762,mt6761,mt6757p,mt6758
  P0.MP3    ALPS04290129   mt6771,mt6765
2、打algo的优化patch及af mgr对应的大框2帧一次的patch
  P0.MP1    ALPS04382007 ALPS04354501    mt6761,mt6765,mt6739
  P0.MP3   持续完善中,有更新再update
3、对于因为模组发热导致fail问题,建议测试前先进camera 预热10分钟再测试
4、对于dac range小的模组,由于在macro端distance 算出来会更大,允许的误差也更大,建议尽量靠近图纸做测试。但是不能超出google的要求。
5、如果确认以上patch或者都确认有打上或者确认没有问题,就要查看af的参数是否合理,是否能调得更准一点
[额外的知识]
1、如何确认是模组发热导致有问题
1)开以下adb 命令,抓取log
   adb shell setprop vendor.debug.af_mgr.enable 1
adb shell setprop vendor.debug.af.enable 1
adb shell setprop vendor.debug.af.log.enable 1
2)修改test_3a_consistency.py脚本,把NUM_TEST_ITERATIONS = 3改成NUM_TEST_ITERATIONS = 10或者更大测试。
3)然后在main log中搜关键字:
AfAlgoC : [Speed] AFing0 move to
movelensto
Start processing commanddo3A
Finish processing commanddo3A
夹在Start processing commanddo3A和Finish processing commanddo3A之间的 [Speed] AFing0 move to里的数字就是最终的对焦位置
如果没有AfAlgoC : [Speed] AFing0 move to    log,可能是有掉log,可以看Finish processing commanddo3A 之前的movelensto的值
如下log。
4)看其几次对焦结果跟后面几次的趋势,如果前面变化大,且朝着一个方向变化,到后面趋于稳定,表示有受温漂影响
2、如何知道当前模组的OTP是多少
搜log关键字readotp,如下log,inf表示远焦的dac,macro 表示近焦的OTP。一般AF 的dac range在400个dac左右,越大,精度越高。
如果dac range 只有100多,算是比较少的
3、对于solution 1中的patch打上以后,在af_mgr.cpp文件中有以下code,如果模组没有烧录infinity 和macro的focus distance,要把fDistance_Inf 和fDistance_Macro 改成当时烧录dac值对应的位置

 

作者: RESSRC

个人资源站

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据