核心硬件解析:对焦精度的物理基础
各位工程师,欢迎来到第二章。上一章我们聊了对焦精度的整体框架,这一章咱们要扎进硬件里,看看那些决定成败的物理器件。
说白了,相机对焦就是个「电机+透镜+传感器」的闭环游戏。任何一个环节掉链子,算法写得再漂亮也白搭。我这些年调过的模组,十有八九的问题都出在对这几个硬件的理解不够深。
2.1 VCM(音圈马达)工作原理与关键参数
VCM 是什么?你可以把它想象成一个「电磁弹簧」。线圈通电后在磁场里受力,推动镜头上下移动。电流越大,推力越大,镜头跑得越远。
嗯,这里要注意:VCM 不是数字器件,它是模拟的。你给 100mA 它走 100μm,给 200mA 它不一定走 200μm。为什么?因为有弹簧回弹、有摩擦、有磁滞。
| 参数 | 定义 | 对精度的影响 |
|---|---|---|
| 行程(Stroke) | 镜头从最近到最远能移动的总距离 | 行程越大,支持的对焦范围越广,但线性区占比可能下降 |
| 灵敏度(Sensitivity) | 单位电流对应的位移量,单位 μm/mA | 灵敏度越高,相同电流变化下位移越大,但分辨率可能变差 |
| 谐振频率 | VCM 系统的固有机械共振频率 | 驱动频率接近谐振点时,镜头会抖动,对焦不稳定 |
| 磁滞(Hysteresis) | 正向和反向运动到同一位置时的位移差 | 磁滞大,来回对焦位置不一致,精度直接崩 |
VCM 还有一个关键特性叫「线性区」。你想想看,VCM 的位移-电流曲线不是一条完美的直线。中间段比较直,两头会弯曲。我个人习惯把驱动范围限制在线性区中间 70% 的区间,两头各留 15% 做缓冲。这样虽然牺牲了一点行程,但换来了可预测的位移。
2.2 镜头模组的 MTF 与分辨率
镜头是光学的灵魂。MTF(调制传递函数)是衡量镜头还原细节能力的核心指标。简单说,MTF 越高,镜头越「锐」。
MTF 曲线怎么看?横轴是空间频率(单位 lp/mm,线对每毫米),纵轴是对比度传递比例。比如 MTF50 表示在 50 lp/mm 时,镜头还能保留 50% 的原始对比度。
分辨率呢?它和 MTF 是两回事。分辨率是镜头能分辨的最小细节,单位是线对/毫米。但分辨率高不代表 MTF 好——有些镜头能看清细线,但对比度很低,照片看起来灰蒙蒙的。
我建议你关注三个指标:
- MTF50: 50% 对比度时的空间频率,代表「人眼觉得清晰」的极限
- MTF30: 30% 对比度时的空间频率,代表「算法还能分辨」的极限
- MTF 截止频率: MTF 降到 0 时的频率,超过这个值镜头什么都传不过去
对焦精度和 MTF 的关系很直接:如果镜头 MTF 在 100 lp/mm 时已经掉到 20%,那你把对焦调到 1μm 精度也没用——镜头本身已经糊了。所以调对焦前,先确认镜头 MTF 是否达标。
2.3 图像传感器的像素结构与感光能力
传感器是光转电的终点。对焦精度最终要落到传感器上,因为「是否合焦」是由传感器上的像素来判断的。
现代传感器主要分两种像素结构:
- 拜耳阵列(Bayer): 传统 RGGB 排列,每个像素只感一种颜色,需要去马赛克算法恢复全彩
- Quad Bayer / 四合一: 四个同色像素一组,可以合并成大像素提升感光,也可以单独输出高分辨率
感光能力用「量子效率(QE)」和「满阱容量(FWC)」来衡量。QE 越高,相同光照下产生的电子越多;FWC 越大,能容纳的电子越多,动态范围越宽。
| 参数 | 典型值 | 对焦影响 |
|---|---|---|
| 像素尺寸 | 0.8μm - 2.0μm | 像素越小,相位检测精度理论上越高,但信噪比下降 |
| 量子效率 | 60% - 90% | QE 低,暗光下对焦信号弱,容易失焦 |
| 满阱容量 | 3000e⁻ - 10000e⁻ | FWC 小,高光场景容易饱和,对焦信号被截断 |
| 读出噪声 | 1e⁻ - 5e⁻ | 噪声大,对焦置信度下降,算法容易误判 |
2.4 驱动 IC 与 I²C/SPI 通信协议
驱动 IC 是大脑和肌肉之间的「神经」。它接收主控发来的指令,转换成 VCM 需要的电流。
通信协议主流有两种:
- I²C: 两线制(SCL + SDA),速度通常 400kHz 或 1MHz,适合短距离、多设备场景
- SPI: 四线制(SCLK + MOSI + MISO + CS),速度可达 10MHz+,适合需要快速写入大量数据的场景
我个人的建议是:对焦控制用 I²C 就够了。为什么?因为对焦指令通常只有 2-4 个字节(地址 + 数据),I²C 的 400kHz 完全够用。SPI 虽然快,但多一根线,对 FPC 布线要求更高,容易引入干扰。
驱动 IC 还有一个关键参数:DAC 分辨率。它决定了你能给 VCM 多精细的电流控制。常见的驱动 IC 有 8 位、10 位、12 位 DAC。
- 8 位:256 级,适合低端模组,步进约 0.4% 满量程
- 10 位:1024 级,中端主流,步进约 0.1%
- 12 位:4096 级,高端模组,步进约 0.024%
举个例子:如果 VCM 满行程 300μm,用 8 位 DAC 控制,每步约 1.17μm。用 12 位 DAC,每步约 0.073μm。你想想看,对焦精度要求 0.5μm 时,8 位 DAC 根本不够用。
// I²C 写入驱动 IC 的示例代码(伪代码)
// 假设驱动 IC 地址 0x18,数据寄存器 0x03
uint16_t target_position = 512; // 10 位 DAC 的中间位置
uint8_t data[2] = {0x03, (uint8_t)(target_position & 0xFF)};
I2C_Write(0x18, data, 2);
知识结构总览
下面这张图把本章四个核心硬件的关系画清楚了。你可以看到,从主控到最终成像,信号流和数据流是怎么走的。