3. 多摄像头系统架构设计

多摄像头系统架构设计不是把几台相机接到 Jetson 上就结束,而是要在“相机数量、分辨率、帧率、触发方式、数据流拓扑、存储与传输预算”之间做一次完整的资源闭合。任何一项超限,都会在采集阶段表现为丢帧、时间戳抖动、内存耗尽或磁盘写满。本节以 Jetson Orin 平台为例,给出可复用的设计方法与示例参数。

一、先确定相机数量与接口拓扑

Jetson 的 CSI 接口数量有限,Orin NX/Nano 通常提供 2 路 MIPI CSI-2 接口,Orin AGX 可提供 16 路虚拟通道。若相机数量超过物理 CSI 接口,需要选择两种拓扑之一:

  • 聚合拓扑:多台相机通过 GMSL2/FPD-Link III 串行器接入同一解串器,再以单路 CSI 输出。优点是节省 CSI 接口,缺点是共享带宽,需确认解串器通道数与聚合帧率。
  • 分布式拓扑:每台相机独立占用一路 CSI 或 USB 3.0 接口。优点是互不干扰,缺点是接口数量受限,且 USB 相机难以做到硬件级同步。

对于需要严格同步的 4 相机系统,推荐使用 GMSL2 聚合方案:4 台相机 → 4 个串行器 → 1 个 4 通道解串器 → 1 路 CSI-2。这样既保证同步,又释放 CSI 接口给其他传感器。

二、分辨率与帧率的带宽预算

带宽预算的核心公式为:

单相机带宽 = 宽 × 高 × 位深 × 帧率 × 冗余系数
总带宽 = 单相机带宽 × 相机数量

以 1920×1080、RAW10、30fps 为例,单相机带宽约为 1920×1080×10×30 ≈ 622 Mbps,冗余系数取 1.2 后约 746 Mbps。4 相机聚合后约 2.98 Gbps,需确认解串器与 CSI-2 通道总带宽是否满足。若使用 RAW12 或 60fps,带宽会翻倍,必须重新核算。

建议在架构设计阶段预留 20%~30% 带宽余量,用于时间戳、元数据和突发帧的传输,避免临界丢帧。

三、触发方式与同步精度

触发方式决定同步精度,常见有三类:

  • 自由运行:各相机独立曝光,同步精度最差,仅适合非同步场景。
  • 软触发:由 Jetson 通过 I2C/GPIO 发送触发信号,精度约毫秒级,受系统调度影响。
  • 硬触发:外部信号发生器或解串器同步信号统一触发,精度可达微秒级,是多相机标定与融合的首选。

在 GMSL2 方案中,解串器通常支持外部触发输入,可将同一触发信号分发到所有串行器,实现 4 相机同时曝光。设计时需确认触发信号的电平标准(通常 3.3V LVCMOS)与相机触发延迟参数。

四、数据流拓扑与存储/传输预算

数据从相机到存储的路径为:相机 → 串行器 → 解串器 → CSI-2 → VI(视频输入)→ 内存 → 编码/处理 → 存储或网络。每一级都有带宽上限,需逐级核算。

存储预算方面,若 4 相机以 1920×1080、RAW10、30fps 连续采集 1 小时,原始数据量约为:

4 × 1920 × 1080 × 10bit × 30fps × 3600s ÷ 8 ≈ 1.12 TB

若采用 H.265 编码,压缩比约 50:1,则约 22 GB。因此,架构设计必须明确:是保存原始数据用于标定,还是保存压缩视频用于回放。前者需要 NVMe SSD 阵列,后者可用单块高速 SSD。

4 相机 GMSL2 同步采集数据流与预算拓扑 相机 1 1920×1080 RAW10 相机 2 1920×1080 RAW10 相机 3 1920×1080 RAW10 相机 4 1920×1080 RAW10 串行器 1 GMSL2 串行器 2 GMSL2 串行器 3 GMSL2 串行器 4 GMSL2 4 通道解串器 聚合输出 1 路 CSI-2 ≈ 2.98 Gbps 外部硬触发 3.3V LVCMOS Jetson Orin VI 视频输入 内存缓冲 ISP / 编码 H.265 压缩 时间戳对齐 PCIe 4.0 NVMe SSD 原始 1.12 TB/h 压缩 22 GB/h 带宽预算: 单相机 ≈ 746 Mbps(含 20% 冗余) 4 相机聚合 ≈ 2.98 Gbps 存储预算: RAW10 原始 ≈ 1.12 TB/h H.265 压缩 ≈ 22 GB/h 同步精度:硬触发微秒级,满足多相机标定与融合需求

五、架构设计检查清单

在完成上述计算后,建议用以下清单逐项确认,避免遗漏:

检查项 示例值 判断依据
相机数量与接口 4 台 GMSL2 解串器通道数 ≥ 4
单相机带宽 746 Mbps ≤ CSI-2 通道带宽
聚合总带宽 2.98 Gbps ≤ 解串器输出上限
触发方式 外部硬触发 同步精度 ≤ 10 μs
存储写入速度 ≥ 350 MB/s 满足 1.12 TB/h 原始写入
内存缓冲 ≥ 2 GB 容纳 4 相机 3 帧缓冲
若总带宽接近上限,优先降低帧率或分辨率,而不是增加冗余系数。冗余系数只用于吸收突发,不能解决持续超限。

架构设计的最终输出应是一份明确的参数表:相机型号、分辨率、帧率、触发源、解串器型号、CSI 通道分配、存储介质与写入速度。只有这些参数全部闭合,后续的同步采集与标定才有稳定的基础。