129、AF标定与DAC映射表生成——从物距到DAC code的标定方法及在安霸/君正平台的验证上个月在调试一款双目行车记录仪,客户反馈说“近处对焦准,远处老是糊”。我拿着样机在办公室对着窗外拍,手动切到无穷远,画面确实肉。查了VCM的行程,发现驱动IC的DAC上限是1023,但我们的AF库把无穷远映射到了950左右——问题就出在这张映射表上。AF标定这事,看着简单,就是把物距和DAC code对应起来,但真做起来,坑比想象的多。今天把从物距到DAC code的标定方法,以及我在安霸CV22和君正T31平台上的验证过程,完整记录下来。先说清楚一个基本概念:AF系统里,我们最终写进寄存器的是DAC code,但算法层拿到的是对焦评价值(比如对比度或相位差)。中间需要一个映射关系,把物理世界的物距(单位米或厘米)转换成VCM的驱动码值。这个映射不是线性的,因为VCM的位移-电流曲线本身有磁滞,镜头模组的机械结构也有公差。所以标定的本质,就是测出一组离散的“物距-最佳DAC”点,然后拟合成一条曲线,存进flash里。标定环境搭建是第一步,也是最容易出幺蛾子的地方。我见过有人用普通办公桌当标定台,结果桌面反光、背景纹理杂乱,AF算法根本找不到峰值。正确做法是:用标准分辨率测试卡(ISO 12233那种),放在暗室或均匀光照环境下,光源色温固定在D65,照度控制在300-500 lux。测试卡到镜头的距离用激光测距仪确认,误差控制在±1mm以内。这里有个细节:测试卡表面要垂直于光轴,稍微歪一点,边缘的MTF就会下降,导致标定出的DAC偏小。标定流程我分成三步走。第一步,粗扫。从VCM的物理行程最远端(通常DAC=0或最小值)开始,以大步长(比