前言
本节主要描述自动驾驶系统中的整车时间同步(授时)机制与信号流向。
整车时间同步流程
在高度集成的域控架构下,自动驾驶的授时体系整体遵循”从天到地,从主到从“的扁平化层级架构。
1. 绝对时间获取(从天到地)
系统最顶层的绝对时间来自 GNSS/RTK(卫星导航系统)。在当前主流的域控设计中,主从计算节点集成在同一块核心板上,因此主机与从机可以同时通过串口直接接收 GNSS 模块输出的信号,独立完成系统时间的绝对同步:
- PPS(Pulse Per Second,秒脉冲):一根纯硬件信号线,每秒发送一个极其精准的电脉冲。其上升沿严格代表整秒的开始,精度可达纳秒级,用于时间的“精准对齐”。
- NMEA数据:包含当前精确的 UTC 时间戳及定位状态。
2. 传感器端时间同步(从主到从)
域控完成自身的绝对授时后,开始向外围车载传感器统一下发时间基准。不同传感器的硬件特性决定了不同的同步策略:
- LiDAR/Radar/交换机(自带内部时钟):这类传感器或设备拥有独立的内部硬件时钟。它们接入车载网络后,直接通过以太网利用 PTP/gptp(精确时间同步协议)与域控进行对时,完成时间同步。
- GMSL 相机(硬触发机制):GMSL 相机本身没有内部时钟,通常采用硬件触发曝光的方式。由于主从节点在同一块板子上,域控会根据已同步的精准系统时间,生成特定频率(例如 10~30Hz)的硬件脉冲。该脉冲会通过物理线缆直接统筹控制板子上级联的所有相机,确保整车相机的曝光时间在物理层面上实现微秒级的严格对齐。
PTP校时原理
PTP 校时原理(以主机与雷达同步为例):
- 主机 M 发送报文到雷达 L,主机 M 记录发送时间 T1,雷达 L 记录接收时间 T2;
- 主机发送时间 T1 到雷达;
- 雷达 L 发送报文到主机 M,雷达 L 记录发送时间 T3,主机 M 记录接收时间 T4;
- 雷达发送时间 T3 到主机;
时延 delay = (T2 - T1 + T4 - T3)/ 2
时间偏移 offset = T2 - T1 - delay
守时模式
当 GNSS/RTK 进入隧道或者收不到卫星信号时?通过 “守时模式”(Holdover Mode)维持时间稳定。
GNSS 信号设备(通常是组合导航系统 INS,或者域控里的 MCU),内部不仅仅有一个简单的接收天线,更核心的是内置了一个高精度的物理时钟芯片,最常见的是:
- TCXO(温补晶振):温度补偿晶体振荡器,中高端常用。
- OCXO(恒温晶振):把晶振放在一个小恒温箱里,精度极高,顶级方案常用。
将 GNSS 卫星比作“国家标准时间”,本地晶振比作手上戴的“机械表”。
- 在露天环境下(驯服模式 / Disciplined Mode):GNSS 信号非常好。系统会利用卫星传来的绝对时间,不断地去“校准(Tame/Discipline)”本地的晶振。消除晶振自身的物理误差,确保它生成的 PPS(秒脉冲)与真正的 UTC 时间分毫不差。
- 驶入隧道(守时模式 / Holdover Mode):瞬间失去卫星信号,GNSS 接收机无法获取绝对时间。此时,系统会立刻切断对卫星的依赖,完全依靠刚才已经被“驯服”得极其精准的本地晶振(TCXO/OCXO),按照惯性继续自己滴答滴答地走,并继续强行向外输出 1Hz 的 PPS 脉冲和时间报文。
“守时模式”并非永动机。只要是物理晶振,在失去外部基准校准后,随着时间的推移必然会产生累积误差,即时钟漂移(Drift)。
- 普通的 RTC 芯片:一分钟可能就会漂移几毫秒,无法用于自动驾驶。
- 高精度的 TCXO/OCXO:在失去 GNSS 后,通常可以保证在 几分钟到几十分钟内,时间的漂移量不超过 1 毫秒(1000 微秒)。
时间同步频率
车子在行驶过程中,时间同步是高频且不间断持续进行的! 绝对不是开机做一次就结束,也不是隔很长时间才做一次。
无论是算力中枢(如双 Orin 域控),还是边缘传感器(如激光雷达、相机),其底层计时的物理基石都是石英晶体振荡器(晶振)。然而,晶振在复杂的车载环境中极其脆弱:
- 温度漂移(温漂):车子在行驶中,尤其是跑高算力自动驾驶算法(如 YOLOv8 与多模态 3D 融合),Orin 芯片的温度会剧烈变化(可能从 20℃ 飙升到 80℃)。温度一变,晶振的震荡频率就会发生微小的改变。
- 震动与老化:路面颠簸也会影响晶振的物理特性。
如果系统仅依靠开机时的单次授时, 那么仅仅过去几分钟,各个设备的本地时间就会因为各自的温度和物理特性不同,产生几毫秒甚至几十毫秒的相对误差(Drift)。在 120km/h 的车速下,这几十毫秒的误差足以让感知系统把原本在同一位置的汽车,在图像和点云里识别成两个相差一米远的“幽灵目标”。因此,时间同步必须是一个持续对抗物理漂移的动态过程。
在车子启动并正常行驶后,整个系统的时间同步是以极高的频率在后台静默运行的:
顶层基准(1Hz):GNSS -> 域控主时钟。
接收机雷打不动地每秒向域控发送一个极度精准的 PPS 硬件脉冲。域控底层的守时守护进程(如 chrony)会以 1Hz 的频率,利用该脉冲持续微调(Discipline)本地晶振,死死锚定绝对时间基准。
中层网络(8Hz~128Hz):主 Orin -> 交换机、Lidar/Radar。
在车内以太网中,PTP 守护进程(如 ptp4l)正进行着疯狂的交互。主 Orin 通常会以每秒 8 次甚至上百次的超高频率广播 Sync 报文。激光雷达和从机在收到报文后,会每秒数次地计算网络延迟与时间偏移,丝滑地拨动自身的系统时钟,一刻也不敢放松对主时钟的“追踪”。
底层触发(30Hz+):CPLD -> 相机快门。
负责硬触发的芯片一旦启动,便会严格按照设定的帧率(例如 30fps),每秒向所有相机的解串器连续打出 30 个物理方波信号,强迫它们同步曝光。只要车辆不熄火,这道脉冲流就永不停歇。