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 基准到传感器采样 GPS 接收机 UTC 时间报文 1PPS 秒脉冲 时钟驯服模块 OCXO / TCXO + 数字锁相环 输出:系统主时钟 系统主时钟 PTP Grandmaster IRIG-B 编码输出 1PPS 驯服后时基 时间分发层:PTP 交换机 / IRIG-B 分配器 / 硬触发扇出 透明时钟修正驻留时间 · 缓冲器增强扇出 · 隔离保护 工业相机 硬触发曝光 PTP 时间戳 激光雷达 PPS 对齐扫描 IRIG-B 解码 IMU 硬触发锁存 内部采样计数 毫米波雷达 PTP 从时钟 帧起始对齐 精度递进:硬触发(μs 级同时性)→ IRIG-B(μs 级绝对时间)→ PTP(亚 μs 级)→ 驯服时钟(ns 级稳定度)

方法选择与组合原则

这几类方法不是互斥的,而是处在同步链的不同位置。GPS 1PPS 和驯服时钟解决“绝对时间基准从哪来”;PTP 和 IRIG-B 解决“基准怎么分发到各节点”;硬触发解决“采样动作怎么严格对齐”。工程上常见的组合是:GPS 驯服本地 OCXO 作为主时钟,主时钟通过 PTP 同步各计算节点,同时用硬触发线把相机和 IMU 的采样沿对齐,激光雷达则用 PPS 对齐扫描起始。

选择时重点看三个指标:同步精度(需要多小的对齐误差)、覆盖范围(设备分布多远、是否跨机箱)、失锁保持(GPS 不可用时能撑多久)。如果只是几台设备在同一机箱内,硬触发加 PPS 就足够;如果传感器分布在整车或整机上,PTP 加透明时钟更合适;如果已有 IRIG-B 基础设施,直接复用可降低改造成本。

调试建议:先用示波器同时观察 GPS 1PPS 和本地驯服后的秒脉冲,确认两者长期无漂移;再用 PTP 管理报文查看各从时钟的 offset 是否收敛到亚微秒;最后用硬触发同时点亮 LED 或输出测试脉冲,验证多路触发的偏斜是否在允许范围内。
注意:PTP 的精度高度依赖网络设备是否支持硬件时间戳和透明时钟。若经过普通交换机,排队抖动可能使精度退化到几十微秒,此时应改用边界时钟或直接点对点连接。