4. 多摄像头同步触发机制

在多摄像头感知系统中,“同步”并不是一个单点功能,而是一条从外部时基到传感器曝光、再到CSI-2数据回传的完整链路。只要链路中任一环节存在固定或随机偏差,融合算法就会看到“同一时刻”的不同世界。本节围绕四个关键对象展开:外部触发信号(FSYNC/TRIG)、帧同步信号(Frame Sync)、MIPI CSI-2虚拟通道(Virtual Channel, VC),以及多路摄像头的曝光与读出控制。

一、外部触发信号:把“时间”变成可分配的物理量

外部触发信号通常由SoC的PWM/定时器模块、专用同步发生器或外部时钟源产生,常见形式是周期性脉冲。以30fps为例,帧周期为33.333ms;若采用全局曝光,触发脉冲的上升沿对应曝光起点。工程上需要明确三个参数:触发频率、脉冲宽度和极性。例如某项目配置为:频率30Hz、脉宽100μs、上升沿有效,则每33.333ms所有摄像头同时开始曝光。

触发信号分“硬触发”和“软触发”。硬触发通过物理引脚直接驱动传感器的FSYNC/TRIG引脚,抖动通常在纳秒到微秒级;软触发通过I2C写寄存器,受总线调度影响,抖动可达毫秒级,不适合高精度同步。因此,多摄像头同步优先采用硬触发,软触发仅用于模式切换或单帧调试。

二、帧同步信号:从“同时开始”到“同时有效”

帧同步信号是触发信号在传感器内部的映射。传感器收到FSYNC后,并非立即曝光,而是等待内部行计数器归零,再进入曝光。不同传感器的“触发到曝光”延迟不同,例如某型号为2行时间,另一型号为5行时间。若不做补偿,即使同一触发沿到达,实际曝光起点仍会错开。

解决方法是利用传感器的同步模式寄存器:将各路摄像头设为“从模式”,由同一FSYNC驱动;同时读取各传感器的曝光延迟参数,在SoC侧对触发输出做逐路微调。例如摄像头A延迟2行、摄像头B延迟5行,行时间均为14.8μs,则B需提前约44.4μs触发。这个补偿量必须在系统标定阶段写入配置。

多摄像头同步触发与读出链路 同步发生器 30Hz / 100μs 触发分配/延时补偿 逐路微调 摄像头 A 延迟 2 行 摄像头 B 延迟 5 行 摄像头 C 延迟 3 行 曝光窗口 A t_exp = 8ms 曝光窗口 B t_exp = 8ms 曝光窗口 C t_exp = 8ms MIPI CSI-2 虚拟通道映射 VC0 → 摄像头A VC1 → 摄像头B VC2 → 摄像头C 同一物理链路,不同VC标签区分数据流 同步帧输出:三路图像时间戳对齐,误差 < 1 行时间 时间轴 T0 T1 T2 33.333ms

三、MIPI CSI-2虚拟通道:一条链路承载多路数据

当多颗摄像头共享同一CSI-2物理链路时,虚拟通道是区分数据流的关键。CSI-2协议在数据包头中携带VC标识(0~3),接收端根据VC将数据分发到不同缓冲区。配置时需注意:每颗摄像头的VC必须唯一,且与SoC端CSI接收器的VC映射表一致。

以NVIDIA DRIVE平台为例,典型配置为:摄像头A→VC0、摄像头B→VC1、摄像头C→VC2。若VC冲突,会出现图像错位或丢帧。调试时可通过读取CSI-2错误计数器(如ECC、CRC错误)判断VC映射是否正确。此外,虚拟通道不改变物理带宽,多路复用后总带宽仍需满足:分辨率×位深×帧率×路数 ≤ 链路总带宽。

四、多路同时曝光与读出控制

“同时曝光”要求所有摄像头的曝光窗口在时间上重叠。对于卷帘快门传感器,严格同时曝光难以实现,通常采用“同步触发+相同曝光行数”来近似。对于全局快门传感器,可直接由同一FSYNC驱动,曝光起点一致。

读出控制则关注曝光结束后的数据回传。多路摄像头同时读出会争抢CSI-2带宽,因此需要错开读出起始时间。例如三路摄像头均为200万像素、RAW10、30fps,单路数据率约600Mbps,三路合计1.8Gbps。若CSI-2链路为4 lane、每lane 1.5Gbps,总带宽6Gbps,余量充足;但若链路为2 lane,则需降低帧率或分辨率。

实际配置中,可在传感器寄存器中设置“读出延迟”,使各路数据在时间上错开,避免瞬时拥塞。例如A在曝光结束后立即读出,B延迟1ms,C延迟2ms,只要不影响下一帧触发即可。

调试要点:用示波器同时抓取FSYNC和MIPI时钟,观察触发沿与数据包起始的间隔;若间隔抖动超过1行时间,需检查触发走线是否等长、电源是否干净。

五、同步质量判断与常见问题

判断同步是否达标,可看三个指标:曝光起点偏差、帧时间戳偏差、丢帧率。曝光起点偏差应小于1行时间;帧时间戳偏差应小于半个帧周期;丢帧率应为0。若出现周期性错位,优先检查触发频率与传感器帧率是否匹配;若出现随机错位,检查触发信号完整性。

现象 可能原因 排查方向
图像左右错位 VC映射冲突 检查CSI-2 VC配置表
曝光亮度不一致 触发延迟未补偿 读取传感器延迟参数并微调
随机丢帧 CSI-2带宽不足 计算总带宽,降低帧率或位深
帧时间戳跳动 软触发抖动 改用硬触发,检查PWM源

综上,多摄像头同步的核心是:用外部触发统一时基,用帧同步补偿传感器延迟,用虚拟通道区分数据流,用读出控制避免带宽拥塞。四者协同,才能让多路摄像头在时间和数据两个维度上真正对齐。