2. 传感器时间同步基础
在 Bosch ADAS 系统中,摄像头、毫米波雷达、激光雷达各自拥有独立的本地时钟。若不做同步,同一物理事件在三个传感器中会得到三个不同的时间戳,融合算法就无法判断“这是同一时刻的同一目标”。本节从时钟本体出发,逐层建立时间同步的概念链:时钟 → 时间戳 → 触发信号 → PPS → gPTP → 误差度量。
一、时钟与时间戳:同步的起点
每个传感器内部都有一个硬件时钟,通常由晶振驱动计数器产生。晶振存在频率偏差(ppm 级)和温漂,因此两个“标称 1 秒”的时钟实际走时并不相等。时间戳就是“某事件发生时,本地时钟的读数”。它本身不是绝对时间,只有经过同步后,才具备跨传感器可比性。
时间戳分两类:采集时间戳(曝光开始/雷达 chirp 发射的瞬间)和接收时间戳(数据到达 SoC 的瞬间)。ADAS 融合关心的是采集时间戳,因为它对应物理世界的真实时刻。接收时间戳受传输抖动影响,只能作为辅助。
二、触发信号与 PPS:硬件对齐的基准
触发信号(Trigger)是让传感器“同时动作”的硬件脉冲。例如摄像头曝光触发、雷达帧起始触发。若所有传感器由同一触发源驱动,它们的采集时刻在物理上就被对齐了,这是最直接的时间同步手段。
PPS(Pulse Per Second)是每秒一个的秒脉冲,通常来自 GNSS 接收机或高稳时钟。PPS 的上升沿代表“整秒时刻”,精度可达纳秒级。它不携带“现在是几点”,只提供“秒边界”这一物理基准。系统用 PPS 校准本地时钟的秒对齐,再用其他协议传递“秒计数”,二者结合才能得到绝对时间。
三、gPTP:把时间“传”到每个节点
gPTP(IEEE 802.1AS)是车载以太网的时间同步协议。它通过主时钟(Grandmaster)周期性发送 Sync 报文,从时钟记录接收时刻,再通过 Follow_Up 报文获取发送时刻,从而计算链路延迟并修正本地时钟。核心机制是时间戳在 MAC 层打标,避免软件栈抖动。
gPTP 的同步过程可概括为:主时钟发 Sync → 从时钟记录 t2 → 主时钟在 Follow_Up 中给出 t1 → 从时钟发 Pdelay_Req 测链路延迟 → 计算偏移并调整本地时钟。最终所有节点的时间与主时钟对齐,误差通常在亚微秒级。
四、误差来源与度量:同步到底有多准
时间同步误差不是单一来源,而是多环节叠加。常见来源包括:
- 晶振频偏与温漂:普通晶振偏差约 ±20 ppm,即每秒偏差 20 μs,1 秒后两个时钟就可能差 20 μs。
- 触发信号传播延迟:触发线长度、驱动能力、接收阈值都会引入固定延迟和抖动。
- gPTP 链路不对称:上下行延迟不等时,偏移计算会出现系统性误差。
- 时间戳打标位置:MAC 层打标比应用层打标少几十微秒的软件抖动。
- 传感器内部流水线延迟:曝光到数据输出、chirp 到点云生成都有固定延迟,需在标定中补偿。
度量同步质量常用四个指标:同步误差(本地时间与主时钟的偏差)、抖动(误差的波动范围)、时间戳偏差(同一事件在不同传感器中的时间戳差)、对齐残差(融合时插值后的剩余误差)。工程上,摄像头与雷达的采集时间戳偏差通常要求控制在 1 ms 以内,激光雷达与摄像头要求更严,约 100 μs 量级。
五、从同步到可用:一个完整的判断链
实际工程中,判断时间同步是否达标,可按以下顺序检查:先确认 PPS 是否正常锁定(示波器看秒脉冲是否稳定);再确认 gPTP 是否进入 Slave 状态且 offset 在阈值内;然后检查各传感器触发信号是否与 PPS 对齐;最后用同一物理事件比对时间戳偏差。若偏差超限,优先排查触发线延迟和 gPTP 链路不对称,再检查时间戳打标位置。
时间同步的最终目标不是“时钟一样”,而是“融合算法拿到的时间戳能代表同一物理时刻”。理解时钟、时间戳、触发、PPS、gPTP 和误差度量这条链,才能在 ADAS 系统中定位同步问题并给出可验证的修正方案。