3. 摄像头传感器基础

在 Jetson 多摄像头视觉平台中,摄像头并不是一个“插上就能用”的黑盒。它由图像传感器、镜头、接口链路、时钟与同步信号、以及主机侧的接收与驱动共同构成。理解这些环节,才能判断为什么同一颗传感器在不同接口下帧率不同、为什么多路摄像头会出现曝光不一致、为什么某些方案无法做到硬件级同步。本节围绕四类常见接口——MIPI CSI-2、GMSL、USB、IP 摄像头——讲清成像原理、分辨率与帧率的关系、曝光控制方式以及同步机制。

一、成像原理:从光子到像素值

无论哪种接口,图像传感器的工作过程基本一致。以 CMOS 传感器为例,镜头把场景光线聚焦到像素阵列上,每个像素的光电二极管把光子转换为电荷,电荷量正比于曝光时间与入射光强。随后经过相关双采样、增益放大和模数转换,得到数字像素值。彩色传感器通常在像素上覆盖 Bayer 滤色阵列,每个像素只感应红、绿、蓝中的一种颜色,因此输出的是 Bayer 原始数据(RAW),需要经过去马赛克、白平衡、伽马校正等 ISP 处理,才得到常见的 RGB 或 YUV 图像。

这里有两个关键量:曝光时间决定光子收集时长,增益决定电荷到数字值的放大倍数。曝光时间越长、增益越高,图像越亮,但运动模糊和噪声也随之增加。Jetson 平台上,RAW 数据通常由传感器通过 CSI-2 或 GMSL 送入,再由 Jetson 的 ISP 或 GPU 处理;而 USB 和 IP 摄像头往往在摄像头内部完成 ISP,主机拿到的是已经压缩或已处理的图像。

二、四类接口的链路与特点

MIPI CSI-2 是移动与嵌入式领域最主流的传感器接口。它使用差分对传输数据,通常包含 1 对时钟 lane 和 1~4 对数据 lane,配合 I²C 进行寄存器配置。CSI-2 直接输出 RAW 或 YUV 数据,延迟低、带宽高,适合与 Jetson 的 CSI 接口直连。其局限是线缆长度短,一般不超过几十厘米,且每路摄像头通常需要独立的 CSI 端口或通过聚合芯片扩展。

GMSL(Gigabit Multimedia Serial Link)是 Maxim 推出的车规级串行链路,常用 GMSL1/GMSL2。它通过同轴电缆或屏蔽双绞线传输,单根线缆可同时供电、传数据和控制信号,传输距离可达 10 米以上,抗干扰能力强。GMSL 通常需要串行器(Serializer)在摄像头端、解串器(Deserializer)在主机端,解串器再输出 CSI-2 给 Jetson。它非常适合车载多摄像头和远距离部署。

USB 摄像头遵循 UVC 协议,主机通过 USB 总线枚举设备并获取视频流。它即插即用、成本低,但带宽受 USB 版本限制,多路同时工作时容易争抢带宽,且延迟和同步精度通常不如 CSI-2 与 GMSL。USB 摄像头内部一般已完成 ISP 和压缩,主机拿到的是 MJPEG 或 YUY2 数据。

IP 摄像头通过以太网传输,内部完成编码(如 H.264/H.265),主机通过 RTSP 等协议拉流。它天然支持远距离和网络化部署,但编码引入额外延迟,且多路同步依赖网络时间协议(如 PTP)或摄像头自身的时间戳,硬件同步能力较弱。

四类摄像头接口链路与同步能力对比 MIPI CSI-2 图像传感器 RAW / YUV 输出 CSI-2 差分对 Jetson CSI 接口 ISP / GPU 处理 低延迟 · 高带宽 线缆短(<30cm) 同步方式 外部触发 / 共享时钟 可硬件级同步 典型参数 分辨率:1080p~4K 帧率:30~60fps 曝光:寄存器控制 多路:需多 CSI 口 GMSL 传感器 + 串行器 Serializer 同轴电缆 / 双绞线 解串器 Deserializer 输出 CSI-2 远距离 · 抗干扰 线缆可达 10m+ 同步方式 解串器统一触发 支持多路硬件同步 典型参数 分辨率:1080p~8MP 帧率:30~60fps 曝光:串行器透传 多路:聚合后入 CSI USB 摄像头 传感器 + 内置 ISP MJPEG / YUY2 USB 总线 Jetson USB 控制器 UVC 驱动 即插即用 · 成本低 带宽共享 同步方式 软件时间戳 同步精度较低 典型参数 分辨率:720p~1080p 帧率:30fps(多路降) 曝光:自动/手动 多路:受带宽限制 IP 摄像头 传感器 + 编码器 H.264 / H.265 以太网 Jetson 网口 RTSP 拉流 网络化 · 远距离 编码延迟 同步方式 PTP / NTP 时间戳 硬件同步弱 典型参数 分辨率:1080p~4K 帧率:15~30fps 曝光:摄像头内部 多路:网络带宽约束

三、分辨率、帧率与带宽的定量关系

分辨率与帧率不是独立参数,它们共同决定数据带宽。以 RAW10 格式为例,每个像素占 10 bit,若分辨率为 1920×1080、帧率 30 fps,则单路数据率约为 1920×1080×10×30 ≈ 622 Mbps。若使用 4 条 CSI-2 数据 lane,每条 lane 有效速率约 1 Gbps 以上,单路 1080p30 绰绰有余;但若换成 4K(3840×2160)30 fps,数据率升至约 2.49 Gbps,就需要更高 lane 速率或更多 lane。多路摄像头时,必须把所有路的数据率相加,再与接口总带宽比较。

USB 摄像头同样受带宽约束。USB 2.0 理论带宽 480 Mbps,实际可用约 300 Mbps,一路未压缩 1080p30 YUY2 就需要约 1.5 Gbps,因此必须使用 MJPEG 压缩;USB 3.0 带宽约 5 Gbps,可支持多路未压缩或轻压缩视频。IP 摄像头则受网络带宽和编码码率影响,例如 H.265 编码 1080p30 码率约 2~4 Mbps,千兆网可轻松承载多路,但解码会占用 Jetson 的 CPU/GPU 资源。

四、曝光控制与同步方式

曝光控制分为自动曝光(AE)和手动曝光。自动曝光由摄像头内部或主机 ISP 根据图像亮度动态调整曝光时间和增益;手动曝光则通过寄存器或驱动接口直接设定。在多摄像头场景中,如果每路独立自动曝光,画面亮度会各自漂移,导致拼接或立体匹配时出现亮度不一致。因此,多路系统通常采用手动曝光或统一 AE 策略。

同步方式分为三类:自由运行,每路摄像头按自身时钟独立输出,帧起始时刻随机,无法保证对齐;软件同步,主机通过时间戳对齐各帧,精度受限于传输抖动和驱动延迟,通常为毫秒级;硬件同步,由外部触发信号或共享时钟同时启动所有传感器的曝光,精度可达微秒级。MIPI CSI-2 和 GMSL 都支持外部触发引脚,GMSL 还可通过解串器统一分发触发信号,是实现多路硬件同步的首选。USB 和 IP 摄像头通常不具备硬件触发接口,只能依赖软件时间戳,同步精度较低。

在实际选型时,若应用需要多路严格对齐(如立体视觉、环视拼接),应优先选择支持外部触发的 MIPI CSI-2 或 GMSL 摄像头,并在驱动层配置触发模式;若只是普通监控或单路分析,USB 或 IP 摄像头即可满足,且部署更简单。

五、选型与配置的实践要点

在 Jetson 平台上接入摄像头时,首先要确认接口类型与可用端口数量。例如 Jetson Orin Nano 通常提供 2 路 CSI-2 接口,若需 4 路以上,可通过 GMSL 解串器聚合后接入,或使用 USB 扩展。其次要核对传感器输出格式与 ISP 路径:RAW 传感器需要 Jetson ISP 支持,而 YUV 传感器可直接送入编码器。第三要计算带宽余量,建议实际使用不超过接口理论带宽的 70%。第四要明确同步需求,若需要硬件同步,需确认摄像头是否引出触发引脚、驱动是否支持外部触发模式。

以下是一个多路 GMSL 摄像头接入 Jetson 的配置检查表示例,用于在部署前逐项确认关键参数:

检查项 示例值 判断依据
摄像头型号 AR0233 + MAX9295 传感器与串行器匹配
解串器型号 MAX9296 支持 4 路聚合输出 CSI-2
分辨率 / 帧率 1920×1080 @ 30fps 满足应用需求
输出格式 RAW12 Jetson ISP 支持
单路数据率 约 746 Mbps 4 路合计约 2.98 Gbps
CSI-2 lane 配置 4 lane × 1.5 Gbps 总带宽 6 Gbps,余量充足
同步方式 外部触发,共用 30Hz 信号 解串器统一分发
曝光模式 手动曝光,固定 5ms 避免各路亮度漂移
线缆长度 同轴 5m 在 GMSL 支持范围内
供电 同轴供电 12V 串行器与传感器功耗匹配

通过以上检查,可以在硬件连接前发现带宽不足、同步缺失或格式不匹配等问题。实际部署时,还应使用 v4l2-ctl --list-devices 确认设备节点,用 v4l2-ctl --get-fmt-video 查看当前格式,并通过抓取单帧验证曝光与同步效果。只有把接口特性、带宽计算、曝光策略和同步机制统一考虑,才能构建稳定可靠的多摄像头视觉平台。