3. Camera传感器基础与选型
在 i.MX 平台上做 Camera 系统,传感器选型不是“挑一个能出图的模组”这么简单。传感器输出的数据格式、时序能力、控制接口,会直接决定 CSI 接收通道的配置方式、ISP 的处理路径,以及后续 3A(AE/AWB/AF)算法能否正常工作。本节从工程视角梳理选型时必须确认的四类参数:接口与数据格式、分辨率与帧率、曝光与增益控制方式,以及它们之间的相互约束。
一、接口与数据格式:RAW / Bayer / YUV 的本质区别
MIPI CSI-2 是 i.MX6/8/9 系列最常用的传感器接口,物理层为 D-PHY(部分新平台支持 C-PHY),逻辑上分为虚拟通道和数据类型(Data Type)。选型时首先要确认传感器输出的是哪一类数据:
- RAW / Bayer:传感器只做模拟增益和模数转换,输出未去马赛克的原始像素,每个像素只有 R、G、B 中的一个分量。常见排列为 RGGB、BGGR、GRBG、GBRG。这类传感器必须经过 ISP 的 RAW 处理链路(黑电平校正、去马赛克、白平衡、色彩矩阵、Gamma)才能得到可显示图像。i.MX 的 ISP 或外部 ISP 正是为此设计。
- YUV / YCbCr:传感器内部已集成 ISP,直接输出 YUV422(如 YUYV、UYVY)或压缩格式。此时 i.MX 的 CSI 只做搬运,不需要 RAW 处理,但画质调优空间被传感器固化,且无法使用平台 ISP 的高级算法。
- RGB / JPEG:较少用于主摄,多见于低端或特定场景。
关键判断:如果项目需要夜景降噪、宽动态、精细色彩调优,应优先选 RAW 传感器并走 ISP 链路;如果只是视频会议、扫码等对画质要求不高的场景,YUV 传感器可以降低系统复杂度。此外要确认 MIPI 通道数(1/2/4 lane)与 i.MX CSI 控制器支持的 lane 数匹配,以及数据速率是否超过 D-PHY 上限。
二、分辨率与帧率:带宽是第一约束
分辨率与帧率共同决定 CSI 链路的像素吞吐量。以 1920×1080@30fps、RAW10 为例,每像素 10 bit,总数据率约为 1920×1080×30×10 ≈ 622 Mbps,加上消隐区开销通常按 1.2 倍余量估算,单 lane 难以承载,一般需要 2 或 4 lane。选型时要核对三个数字:
- 传感器最大输出分辨率与帧率:注意“最大分辨率”和“最大帧率”往往不能同时达到,需查数据手册的 mode 表。
- i.MX CSI 控制器上限:不同型号的 CSI 支持的最高像素时钟和 lane 速率不同,例如 i.MX8M Plus 的 ISI/CSI 与 i.MX6 的 IPU CSI 能力差异明显。
- ISP 处理能力:RAW 路径下 ISP 的吞吐量可能成为瓶颈,高分辨率高帧率时需确认 ISP 是否支持该组合。
实际选型中常见的做法是列出候选 mode 表,逐项核对“分辨率—帧率—lane 数—数据格式”四元组是否同时满足传感器、CSI、ISP 三方约束。若某一项超限,通常优先降帧率或减少 lane 数,而不是牺牲分辨率。
三、曝光与增益控制:I2C 寄存器与 3A 闭环
曝光和增益是自动曝光(AE)算法的两个执行器。传感器通常通过 I2C 暴露以下寄存器:
- 曝光时间寄存器:以行数为单位,实际曝光时间 = 行数 × 行周期。行周期由帧长和帧率决定。
- 模拟增益寄存器:以 dB 或倍数编码,影响传感器内部 PGA,噪声较低。
- 数字增益寄存器:在 ISP 或传感器内部对数字码值放大,会同时放大噪声,通常作为模拟增益的补充。
AE 闭环的基本逻辑是:ISP 统计当前帧亮度 → 与目标亮度比较 → 计算需要的曝光/增益调整量 → 通过 I2C 写寄存器 → 下一帧生效。这里有两个工程要点:一是曝光与增益的分配策略,通常优先增加曝光时间以降低噪声,但曝光时间受帧率限制(不能超过帧周期减去消隐),超出后再加增益;二是寄存器写入的时序,多数传感器要求在一帧的垂直消隐区写入,否则可能引起画面撕裂或寄存器不生效。
四、选型检查清单与示例参数
下面给出一份可直接用于选型评审的检查表,字段围绕 i.MX Camera 系统实际需要确认的信息组织。示例参数为合理假设,仅用于说明填写方式。
| 检查项 | 示例值 | 确认要点 |
|---|---|---|
| 接口类型 | MIPI CSI-2, 4 lane | 与 i.MX CSI lane 数匹配,D-PHY 速率不超限 |
| 输出格式 | RAW10, Bayer RGGB | Bayer 排列与 ISP 配置一致 |
| 最大分辨率 | 3840×2160 | 确认该分辨率下的最大帧率 |
| 帧率 | 4K@30fps / 1080p@60fps | 核对 mode 表,确认 lane 速率余量 |
| 曝光控制 | I2C 寄存器,行数单位 | 确认行周期计算方式与最大曝光行数 |
| 增益控制 | 模拟 0–30dB,数字 0–12dB | 确认寄存器步进与写入时序 |
| I2C 地址 | 0x36 (7-bit) | 避免与板上其他器件冲突 |
| 供电与时钟 | 1.8V / 2.8V, 24MHz XCLK | 确认 i.MX 可提供对应电压域和时钟 |
选型的最终判断标准不是参数表上的最大值,而是“在目标工作模式下,传感器、CSI、ISP 三方能否同时满足,且 3A 控制链路可闭环”。建议在硬件打样前,先用传感器厂商的评估板在目标 i.MX 平台上跑通 RAW 出图与手动曝光增益调节,再进入正式设计。