2. Camera 系统架构:手机 Camera 硬件组成与数据流
好,我们正式开始第二讲。上一章我们聊了 ISP 在整个成像链路里的位置,这一章咱们把镜头盖拧开,看看手机 Camera 里面到底有哪些硬件,它们之间怎么说话,数据又是怎么一路跑到 AP 那边去的。
说白了,手机 Camera 就是一个微型的光机电一体化系统。我当年刚入行时,以为就是个镜头加个传感器,后来被项目教做人——任何一个器件选型没对齐,整机效果都可能翻车。
2.1 手机 Camera 硬件组成
一个典型的手机后置摄像头模组,拆开来看,主要由下面这几大件构成:
| 组件 | 英文缩写 | 核心作用 | 我踩过的坑 |
|---|---|---|---|
| 镜头 | Lens | 汇聚光线,决定进光量和解析力 | 镜片镀膜划伤,Flare 满天飞 |
| 图像传感器 | Sensor | 光电转换,把光信号变成电信号 | 暗电流不均,画面出现固定噪声 |
| 音圈马达 | VCM | 推动镜头对焦 | 共振频率没避开,录像时画面抖动 |
| 驱动 IC | Driver IC | 控制 VCM 电流,实现精确对焦 | I2C 时序不稳,马达乱跳 |
| 红外滤光片 | IR-Cut | 过滤红外光,防止偏色 | 滤光片偏移,画面边缘发红 |
2.1.1 Lens(镜头)
镜头是相机的眼睛。手机镜头通常是多片塑料或玻璃镜片叠在一起,用来矫正像差。我个人习惯先看两个参数:有效焦距(EFL)和F 数(光圈)。F 数越小,进光量越大,但景深也越浅。
2.1.2 Sensor(图像传感器)
Sensor 是核心中的核心。目前主流是索尼和三星的 CMOS 传感器。你需要关注这几个关键指标:
- 像素尺寸(Pixel Pitch):1.0μm、0.8μm 甚至更小。越小分辨率越高,但信噪比越差。
- 动态范围(DR):决定了能同时看清亮部和暗部的能力。
- 帧率(FPS):30fps 是基础,60fps 是门槛,120fps 以上需要高速接口。
- 读出噪声(Read Noise):直接影响暗光下的画质。
嗯,这里要注意,Sensor 的 HDR 模式 现在越来越重要。我见过不少项目,Sensor 支持多帧 HDR,但 ISP 的 pipeline 没对齐,导致合成时出现鬼影。所以选 Sensor 时,一定要和 ISP 的 HDR 融合算法一起评估。
2.1.3 VCM 与 Driver IC
VCM 本质上是一个微型电磁铁,通过改变电流大小来调整磁场,从而推动镜头上下移动。Driver IC 就是控制这个电流的。
为什么要把它们放在一起讲?因为这两个器件是闭环控制的关系。Driver IC 需要读取 VCM 的位置反馈(通常是霍尔传感器),然后做 PID 调节。你想想看,如果 Driver IC 的 PID 参数没调好,对焦就会来回震荡,也就是我们常说的“呼吸效应”。
2.2 MIPI 接口协议
Sensor 把图像数据传出来,走的是什么路?目前手机 Camera 领域,MIPI(Mobile Industry Processor Interface) 是的主流。它是一套差分信号协议,专门为移动设备设计,功耗低、抗干扰强。
MIPI CSI(Camera Serial Interface) 是 Camera 专用的物理层和协议层。我们通常关注这几个点:
- Lane 数量:1-lane、2-lane、4-lane。数据量越大,需要的 Lane 越多。4K@60fps 通常需要 4-lane。
- 速率:每 Lane 的速率,单位是 Mbps。比如 2.5Gbps/lane。
- DPHY 与 CPHY:DPHY 是经典方案,CPHY 是后来推出的,用三线差分,带宽更高。
我个人的经验是,MIPI 的走线布局是硬件工程师最容易出问题的地方。差分对之间要等长,阻抗要控制,屏蔽要做好。否则,你会在图像上看到一些莫名其妙的条纹或噪点。
2.3 ISP 与 AP 之间的数据流
好,现在 Sensor 的数据通过 MIPI 传出来了,接下来怎么到 ISP,再到 AP(应用处理器)?
这里有两种主流架构:
- 独立 ISP 架构:Sensor -> MIPI -> 独立 ISP 芯片 -> 处理完的 YUV/RAW -> AP。
- 集成 ISP 架构:Sensor -> MIPI -> AP 内部的 ISP 模块 -> 处理完的数据直接给 AP 的显示或编码模块。
现在大多数中高端手机用的是第二种,也就是 ISP 集成在 SoC 里。但不管哪种,数据流的逻辑是一样的:
- RAW 域:Sensor 直接输出的原始数据,包含拜耳阵列信息。ISP 在这里做黑电平校正、去噪、去马赛克等。
- RGB 域:经过去马赛克后,变成 RGB 三通道数据。这里做白平衡、颜色校正。
- YUV 域:最终输出给 AP 或编码器的格式。Y 是亮度,UV 是色度。这里做边缘增强、降噪、色调映射。
你想想看,如果 ISP 和 AP 之间的带宽不够,或者 buffer 管理不当,就会出现预览卡顿或拍照延迟。我遇到过最头疼的一个 case,是 ISP 处理完一帧数据后,AP 的驱动层没有及时释放 buffer,导致整个 pipeline 被堵死,预览帧率直接掉到 15fps。
下面这张图,是我自己总结的 Camera 系统数据流框架,你可以对照着理解:
从这张图你可以看到,整个链路是串行的,任何一个环节的延迟都会影响最终体验。我建议你在做系统设计时,一定要把 端到端延迟 作为关键指标来约束。比如从 Sensor 曝光开始,到 AP 拿到第一帧预览数据,这个时间不能超过 100ms,否则用户就会觉得“相机启动慢”。
好了,这一章的内容就到这里。Camera 硬件组成和 MIPI 接口是基础中的基础,数据流是理解整个系统的骨架。把这些搞清楚了,后面讲 ISP 的各个模块时,你就能知道它们各自在哪个环节发挥作用。