4. 产线校准概述:校准目的、校准项分类与工位设计

产线校准是摄像头模组从元器件到整机系统之间最关键的质量控制环节。未经校准的模组存在个体差异:感光芯片暗电流不同、镜头中心偏移、马达行程离散、滤光片透过率波动。校准的目的就是通过测量每个模组的实际响应,将补偿参数写入模组或主板的非易失存储区(OTP / EEPROM / EFUSE),使最终成像在 AWB、AF、AEC 等核心指标上达到一致性规格。

4.1 校准的核心目的

目的维度 具体说明 典型指标
消除个体差异 补偿 sensor 暗电流、镜头透过率、马达机械公差 LSC 校正后亮度均匀性 > 95%
保证色彩一致性 校准 R/G/B 通道增益,使同一批次白平衡偏差 < 1% AWB 色温偏差 < 100K
确保对焦精度 建立马达 DAC 值与实际对焦距离的映射表 AF 精度 < 1 DOF
满足法规与客户规格 通过 OTP 写入 Golden Sample 基准,实现可追溯性 OTP 校验 CRC 通过率 100%
实战经验: 产线校准不是“调优”,而是“补偿”。校准参数只修正模组本身的系统误差,不应对场景做自适应调整。一旦校准参数写入 OTP,后续 ISP 算法应直接读取并使用,不再二次计算。

4.2 校准项分类

根据摄像头成像链路,校准项分为四大类:AWB(自动白平衡)、AF(自动对焦)、AEC(自动曝光控制)、OTP(一次性可编程存储)。下表列出每类的校准内容与典型参数:

分类 校准内容 典型参数 存储位置
AWB R/G/B 通道增益、色温映射、Golden Sample 偏差 R_gain, G_gain, B_gain, CCT_offset OTP / EEPROM
AF 马达行程、无穷远/微距 DAC、温度补偿系数 Infinity_DAC, Macro_DAC, Temp_coeff OTP / EEPROM
AEC 曝光时间线性度、增益步长、帧率锁定 Exp_linearity, Gain_step, FPS_target OTP / EEPROM
OTP 存储介质校验、CRC、模块 ID、生产日期 Module_ID, CRC16, Checksum OTP 专用区域

4.3 校准流程与工位设计

产线校准通常采用流水线工位模式,每个工位完成一项或多项校准任务。标准流程包含以下 6 个工位:

  1. 工位 1:模组上料与 ID 绑定 — 扫描模组二维码,绑定 OTP 存储地址。
  2. 工位 2:暗场校准 — 在完全遮光环境下采集暗电流、坏点、黑电平。
  3. 工位 3:AWB 与 LSC 校准 — 在标准 D65 光源下采集 R/G/B 增益和镜头阴影补偿表。
  4. 工位 4:AF 校准 — 使用 Chart 图或激光测距,建立 DAC 与距离映射。
  5. 工位 5:AEC 与帧率验证 — 在固定照度下验证曝光线性度和帧率稳定性。
  6. 工位 6:OTP 写入与校验 — 将所有参数写入 OTP,回读并校验 CRC。
产线校准工位流程图 产线校准工位流程图 工位1 上料与ID绑定 工位2 暗场校准 工位3 AWB+LSC 工位4 AF校准 工位5 AEC验证 工位6 OTP写入校验 工位设计要点: • 每个工位独立光源与夹具,避免交叉污染 • 工位间通过 MES 系统传递模组 ID 与校准状态 • 工位 6 完成后必须回读 OTP 并校验 CRC,失败则进入返修流程 • 整线节拍通常控制在 8~12 秒/模组,瓶颈工位需配置双工位并行

4.4 工位设计的关键约束

  • 光源一致性: AWB 工位必须使用标准 D65 光源(色温 6500K ± 200K),照度稳定在 1000 lux ± 50 lux,且均匀性 > 90%。
  • 暗室环境: 暗场校准工位环境照度 < 0.1 lux,避免任何杂散光进入 sensor。
  • 机械对位: AF 工位需要高精度 Chart 图或激光测距模块,对位公差 < 0.1 mm。
  • 温度控制: 产线环境温度应稳定在 25°C ± 2°C,否则影响马达行程和 sensor 暗电流。
常见陷阱: 很多产线将 AWB 和 LSC 放在同一个工位,但 LSC 需要多张不同亮度的 Chart 图,而 AWB 只需要一张灰卡。如果光源切换不及时,会导致 LSC 校准数据污染 AWB 增益。建议分两个子步骤执行,先做 AWB 再做 LSC,或使用双光源切换机构。

4.5 校准参数与 OTP 存储结构

所有校准参数最终写入 OTP 区域。典型的 OTP 存储布局如下:

OTP 存储布局(128 Bytes 示例)
偏移地址  内容              大小
0x00      模块 ID           4 Bytes
0x04      CRC16             2 Bytes
0x06      AWB R_gain        2 Bytes
0x08      AWB G_gain        2 Bytes
0x0A      AWB B_gain        2 Bytes
0x0C      LSC 表头          4 Bytes
0x10      LSC 数据表        64 Bytes
0x50      AF Infinity_DAC   2 Bytes
0x52      AF Macro_DAC      2 Bytes
0x54      AF Temp_coeff     2 Bytes
0x56      AEC Exp_linearity  2 Bytes
0x58      AEC Gain_step     2 Bytes
0x5A      保留              22 Bytes
0x70      CRC32             4 Bytes
驱动与 HAL 层对接: 驱动在 probe 阶段通过 I2C/SPI 读取 OTP 数据,校验 CRC 后通过 V4L2 控制节点或自定义 sysfs 节点暴露给 HAL 层。HAL 层在初始化时读取这些参数,注入 ISP 算法模块。如果 CRC 校验失败,HAL 应回退到默认参数并上报错误日志。
校准参数从 OTP 到 ISP 的软件架构图 校准参数从 OTP 到 ISP 的软件架构图 OTP / EEPROM Kernel 驱动 Camera HAL ISP 算法 数据流说明: 1. 驱动通过 I2C/SPI 读取 OTP 原始数据,校验 CRC 后存入内存缓冲区 2. 驱动通过 V4L2 扩展控制或 sysfs 节点将参数暴露给 HAL 层 3. HAL 层在 open() 时读取参数,构造 ISP 初始化结构体 4. ISP 算法直接使用校准参数进行 AWB/AF/AEC 补偿,不再二次计算