2. 摄像头硬件基础

做多摄像头系统,第一关就是选硬件。传感器、镜头、接口,这三样东西决定了你后面所有算法能跑多好。我见过不少项目,算法调得漂漂亮亮,结果一上硬件就崩——说白了,就是硬件基础没打牢。

今天咱们就把这三块掰开揉碎讲清楚。你想想看,一个摄像头模组,光进来,经过镜头,打到传感器上,再通过接口把数据传出去。每一步都有坑,每一步都影响最终效果。

核心观点: 传感器决定图像质量的下限,镜头决定光学系统的上限,接口决定数据传输的瓶颈。三者必须匹配,缺一不可。

2.1 传感器类型:CCD 与 CMOS 的抉择

传感器是摄像头的「视网膜」。目前主流就两种:CCD 和 CMOS。很多人觉得 CMOS 是后来者,肯定比 CCD 好——其实不是这么回事。

对比项 CCD CMOS
读出方式 逐行转移,统一输出 每个像素独立读出
噪声水平 低(全局快门优势) 较高(卷帘快门易有果冻效应)
功耗 高(需要多路电压) 低(单电压供电)
帧率 受限于读出速度,一般较低 可做到很高(>100fps 常见)
成本 高,工艺复杂 低,适合大规模量产
多摄像头适用性 差,同步困难 好,支持多路独立触发

我个人习惯,做多摄像头系统时首选 CMOS。为什么?因为多路同步需要每个传感器都能独立触发、独立曝光。CCD 的读出架构决定了它很难做到多路精确同步。我记得有个项目,客户非要上 CCD,说画质好。结果六路摄像头同步死活调不好,最后全换成 CMOS,一周搞定。

实战建议: 如果你的场景需要全局曝光(比如拍高速运动物体),选支持全局快门的 CMOS 传感器,比如 Sony IMX 系列。别死磕 CCD,性价比太低。

2.2 镜头参数:不只是焦距和光圈

镜头这东西,看着简单,其实门道很深。很多工程师只关心焦距和光圈,忽略了像面尺寸、畸变、景深这些参数。嗯,这里要注意——镜头选不好,传感器再好也白搭。

2.2.1 关键参数一览

  • 焦距(f): 决定视场角。短焦(< 6mm)视野大,畸变也大;长焦(> 12mm)视野窄,畸变小。多摄像头系统里,我一般用 6mm 和 12mm 搭配,一个看全局,一个看细节。
  • 光圈(F): 影响进光量和景深。F 值越小,进光越多,但景深也越浅。做多摄像头时,所有镜头的光圈最好统一,不然图像亮度不一致,后期融合很麻烦。
  • 像面尺寸: 必须和传感器靶面匹配。1/2.3" 的镜头配 1/3" 的传感器,边缘会暗角;反过来,1/3" 的镜头配 1/2.3" 的传感器,会损失视场角。
  • 畸变: 广角镜头常见桶形畸变。多摄像头拼接时,畸变校正是个大活。我建议选畸变 < 1% 的镜头,能省很多算法功夫。
  • 后焦距(Flange Back): 镜头安装面到传感器的距离。这个参数在换镜头时特别容易踩坑——我曾经因为后焦距差了 0.5mm,整批模组对焦不准,返工了两周。
避坑指南: 我曾经在选镜头时只看焦距和光圈,忽略了红外截止滤光片(IR-Cut)。结果白天图像正常,晚上补光后图像偏色严重。后来才知道,不同镜头对近红外波段的透过率差异很大。如果你要做日夜两用,务必确认镜头是否带 IR-Cut 或支持双滤光片切换。

2.2.2 镜头与传感器的匹配原则

说白了,就是三个匹配:

  1. 光学格式匹配: 镜头像面 ≥ 传感器靶面。比如 1/2" 的镜头可以配 1/3" 的传感器,但反过来不行。
  2. 分辨率匹配: 镜头的 MTF(调制传递函数)要在传感器奈奎斯特频率处仍有 30% 以上。不然你买再高像素的传感器,拍出来也是糊的。
  3. 光谱匹配: 镜头的镀膜波段要覆盖传感器感光波段。比如近红外增强传感器,就得配近红外增透镜头。

2.3 接口协议:MIPI、USB、GMSL 怎么选?

接口是摄像头和处理器之间的「高速公路」。选错了,带宽不够、延迟太高、距离太短,系统直接废掉。我按使用场景排个序:

接口 带宽 传输距离 延迟 典型场景
MIPI CSI-2 ~4 Gbps(4 lane) < 30 cm(板内) 微秒级 手机、嵌入式板载摄像头
USB 3.0 ~5 Gbps < 5 m(有源线可延长) 毫秒级 PC 外接、工业相机
GMSL(千兆多媒体串行链路) ~6 Gbps(GMSL2) 15-20 m(同轴电缆) 微秒级 车载、机器人、远距离多摄像头

2.3.1 MIPI CSI-2:板内首选

MIPI 是嵌入式系统里最常见的摄像头接口。差分信号,抗干扰好,功耗低。但有个硬伤——传输距离太短,超过 30cm 信号就衰减得厉害。所以它只适合做板内或短距离连接。

多摄像头用 MIPI 时,要注意 SoC 的 CSI 口数量。比如 RK3588 有 4 个 CSI 口,但每个口只能接 1 路摄像头。如果你想接 8 路,就得用 CSI 交换芯片或者走虚拟通道(VC)。

小技巧: MIPI 的时钟和数据线要等长布线,误差控制在 ±5mil 以内。我见过一个项目,就因为线长差了 10mil,图像一直有雪花点,查了三天才找到原因。

2.3.2 USB:灵活但延迟高

USB 摄像头最大的优势是即插即用,开发快。但它的延迟是个大问题——USB 协议本身有帧周期(1ms/帧),再加上驱动缓冲,端到端延迟轻松到 10ms 以上。多摄像头同步?USB 基本做不到亚帧级同步。

我个人的建议是:原型验证可以用 USB,量产产品尽量别用。除非你的应用对同步要求不高,比如安防监控那种 30fps 就够的场景。

2.3.3 GMSL:远距离多摄像头的王者

GMSL 是 Maxim(现 ADI)推出的串行器-解串器方案。它能把 MIPI 信号转成同轴电缆传输,距离做到 15-20 米。而且它支持双向通信——视频数据下行,控制指令上行,一根线搞定。

多摄像头系统里,GMSL 最大的优势是同步。它内置了帧同步机制,所有摄像头可以共享同一个触发信号,同步精度做到微秒级。我做过一个 8 路环视项目,用的就是 GMSL,同步效果非常稳。

注意: GMSL 的串行器和解串器需要配对使用。选型时要注意芯片组的兼容性,比如 MAX96705 配 MAX96706。另外,同轴电缆的阻抗要匹配 75Ω,不然信号反射会导致图像花屏。

2.4 知识体系总览

下面这张图把本章的核心内容串起来了。你对照着看,心里就有谱了。

摄像头硬件基础知识体系 摄像头硬件基础:三大核心模块 传感器类型 CCD(低噪/高功耗) CMOS(灵活/低功耗) 镜头参数 焦距 / 光圈 像面尺寸 / 畸变 后焦距 / 光谱匹配 接口协议 MIPI CSI-2(板内) USB(灵活/高延迟) GMSL(远距/低延迟) 选型核心原则 1. 传感器决定图像质量下限,CMOS 是多摄像头系统首选 2. 镜头必须与传感器在光学格式、分辨率、光谱上匹配 3. 接口选择看距离和同步需求:板内用 MIPI,远距用 GMSL 4. 三者必须统一设计,不能各自为政

2.5 选型实战清单

最后,我把自己做多摄像头系统时的选型清单列出来。你照着这个顺序走,基本不会出大问题。

  1. 确定应用场景: 室内/室外?白天/夜晚?固定/移动?距离多远?
  2. 选传感器: 根据帧率、分辨率、光照条件选 CMOS 型号。多路同步优先选支持全局快门和外部触发的。
  3. 配镜头: 根据传感器靶面选像面尺寸,根据视场角选焦距,根据光照选光圈。别忘了检查畸变和 IR-Cut。
  4. 定接口: 板内用 MIPI,远距用 GMSL,原型验证用 USB。注意 SoC 的接口数量和带宽上限。
  5. 做兼容性测试: 打样后先测单路,再测多路同步。重点关注图像质量、延迟、同步精度。
一句话总结: 传感器选 CMOS,镜头看匹配,接口按距离。这三样搞定了,多摄像头系统就成功了一半。