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 上限。

传感器输出格式与 i.MX 处理路径选择 Camera Sensor MIPI CSI-2 TX D-PHY 1/2/4 lane I2C 控制接口 RAW / Bayer 路径 CSI 接收 → ISP RAW 处理 黑电平 / 去马赛克 / AWB 色彩矩阵 / Gamma / 降噪 画质调优空间大 YUV / YCbCr 路径 传感器内置 ISP 输出 CSI 直接搬运至内存 YUYV / UYVY 422 系统简单,调优受限 输出到应用层 V4L2 /dev/videoX DMA 写入 DDR 供显示 / 编码 / 算法 选型约束 lane 数 / 数据速率 Bayer 排列一致性 I2C 地址与电压域

二、分辨率与帧率:带宽是第一约束

分辨率与帧率共同决定 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 平台上,AE 算法通常运行在用户态(如 ISP 中间件或自研 3A 库),通过 V4L2 的 subdev 接口访问传感器的曝光/增益控制。调试时可先用 v4l2-ctl 手动设置曝光和增益,观察图像亮度变化,确认寄存器映射正确后再接入自动算法。

四、选型检查清单与示例参数

下面给出一份可直接用于选型评审的检查表,字段围绕 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 出图与手动曝光增益调节,再进入正式设计。