4. 硬件时间同步方法
在多传感器系统中,软件打时间戳的抖动通常在毫秒到几十毫秒量级,而惯性/视觉/激光雷达融合往往要求微秒级甚至亚微秒级的时间一致性。硬件时间同步的核心思路是:把“什么时候采样”这件事从操作系统手里拿走,交给专门的硬件信号、专用总线或高精度时钟协议来完成。本节按精度从低到高、从简单到复杂,梳理硬触发、同步总线、IRIG-B、PTP、GPS秒脉冲与时钟驯服这几类方法,并说明它们各自适合放在同步链的哪一环。
硬触发:最直接的“同时开始”
硬触发(Hardware Trigger)是用一根物理信号线,把某个主控或传感器的输出脉冲同时送到多个设备的触发输入端。相机收到上升沿立即曝光,IMU 收到上升沿立即锁存当前采样,激光雷达收到脉冲立即启动一次扫描。它不经过操作系统调度,因此触发沿到采样动作之间的延迟主要由器件本身的电气特性决定,典型值在几十纳秒到几微秒。
硬触发的关键参数是触发极性、电平标准和脉宽。例如相机常用 3.3 V LVCMOS 上升沿触发,要求脉宽不小于 1 μs;工业相机可能使用光耦隔离输入,需要 5~24 V 电平。多路触发时要注意扇出能力:一个 GPIO 直接驱动 5 台设备可能因负载过重导致边沿变缓,此时应加缓冲器或触发器分配芯片。硬触发的局限是只能保证“同时开始”,不能给每个采样点标注绝对时间,因此它通常与 GPS 秒脉冲或 PTP 配合,用绝对时间基准去校准触发时刻。
同步总线:把时间码铺到每个节点
同步总线是在设备之间共享一条专用的时间/触发总线,典型代表是 IRIG-B、PPS 分发总线以及部分航空总线中的同步通道。它解决的是“一台主时钟如何同时通知多个从设备”的问题。以 IRIG-B 为例,它把“年积日、时、分、秒”编码成每秒一帧的脉宽调制信号,通过同轴电缆或双绞线广播。接收端解码后不仅能得到绝对时间,还能从帧起始沿获得秒同步脉冲。
IRIG-B 的常见形式有 BCD 码(B 码)和曼彻斯特编码。B 码每秒 100 个码元,用高电平持续时间区分 0、1 和位置标识:2 ms 表示 0,5 ms 表示 1,8 ms 表示帧参考位。接收端在帧参考位处对齐秒沿,因此 IRIG-B 同时提供“时间数值”和“秒脉冲”两种信息。它的优点是抗干扰较好、传输距离可达数百米,适合机载、车载等分布式平台;缺点是码率低,同步精度通常在微秒级,且需要专门的编解码芯片或 FPGA IP 核。
PTP:网络化高精度同步
PTP(IEEE 1588,精确时间协议)把同步做到以太网链路层。它通过主从节点交换 Sync、Follow_Up、Delay_Req、Delay_Resp 四类报文,测量路径延迟并修正本地时钟。普通软件时间戳的 PTP 精度在几十微秒;若在网卡或交换芯片中实现硬件时间戳,精度可进入亚微秒甚至百纳秒级。
PTP 的关键机制是“偏移测量 + 延迟测量”。主时钟在 t1 发出 Sync,从时钟在 t2 收到;若为两步模式,主时钟再发 Follow_Up 告知 t1。从时钟随后在 t3 发 Delay_Req,主时钟在 t4 收到并回 Delay_Resp。从时钟由此计算:
偏移 offset = ((t2 - t1) - (t4 - t3)) / 2
路径延迟 delay = ((t2 - t1) + (t4 - t3)) / 2
本地时钟修正量 = offset
实际部署中要启用透明时钟或边界时钟,让交换机修正驻留时间,否则排队抖动会直接吃掉精度。PTP 适合传感器通过以太网接入、且需要统一绝对时间的场景,例如车载域控制器与激光雷达、毫米波雷达之间的同步。
GPS 秒脉冲与时钟驯服
GPS 接收机除了输出位置和 UTC 时间,还会输出 1PPS(每秒一个脉冲)。这个脉冲的上升沿与 UTC 秒边界对齐,长期稳定度极高,但存在秒内抖动和偶发失锁。因此工程上不直接用 1PPS 去触发传感器,而是用它去“驯服”本地高稳晶振或原子钟,形成既稳定又准确的本地时间基准。
时钟驯服的基本过程是:本地计数器以高稳晶振为时基连续计数,GPS 1PPS 到达时记录计数器值,与理想每秒计数值比较,得到频率偏差;通过 DAC 调整晶振的压控端,或通过数字锁相环微调分频比,使本地秒长逐步逼近 GPS 秒长。驯服后的本地时钟在 GPS 短暂失锁时仍能靠晶振保持,典型保持能力为:恒温晶振(OCXO)约 1 μs/小时,温补晶振(TCXO)约 10 μs/小时。
下图给出一个典型的硬件同步链:GPS 提供绝对时间基准,驯服后的本地时钟作为系统主时钟,再通过 PTP、IRIG-B 或硬触发把时间分发到各传感器。
方法选择与组合原则
这几类方法不是互斥的,而是处在同步链的不同位置。GPS 1PPS 和驯服时钟解决“绝对时间基准从哪来”;PTP 和 IRIG-B 解决“基准怎么分发到各节点”;硬触发解决“采样动作怎么严格对齐”。工程上常见的组合是:GPS 驯服本地 OCXO 作为主时钟,主时钟通过 PTP 同步各计算节点,同时用硬触发线把相机和 IMU 的采样沿对齐,激光雷达则用 PPS 对齐扫描起始。
选择时重点看三个指标:同步精度(需要多小的对齐误差)、覆盖范围(设备分布多远、是否跨机箱)、失锁保持(GPS 不可用时能撑多久)。如果只是几台设备在同一机箱内,硬触发加 PPS 就足够;如果传感器分布在整车或整机上,PTP 加透明时钟更合适;如果已有 IRIG-B 基础设施,直接复用可降低改造成本。