2. 时间同步基础概念
在机载总线时间同步中,所有讨论最终都落到一个核心问题上:网络中不同节点对“现在几点”是否有一致认识。要回答这个问题,必须先建立一组精确的术语。它们不是抽象名词,而是描述时钟行为、误差来源和同步效果的量。理解这些量之间的关系,才能读懂 TTEthernet、AFDX、ARINC 659 等总线协议中的同步机制,也才能在实际系统中判断同步是否达标。
时钟:从物理振荡到时间计数
节点中的时钟通常由晶振或压控振荡器驱动,经分频或倍频后产生固定频率的计数脉冲。每来一个脉冲,计数器加一,计数值乘以标称周期就得到本地时间。例如某节点晶振标称 100 MHz,计数器每 10 ns 加一,计满 1 秒对应 108 个计数。这个由本地硬件产生的时间就是本地时间(Local Time),它只保证在本节点内部单调递增,不保证与其他节点一致。
与之相对,全局时间(Global Time)是网络中约定的统一时间基准,通常由主时钟或分布式共识算法产生。全局时间不是某个物理时钟的真实输出,而是一个逻辑参考:所有节点通过同步报文交换,把自己的本地时间调整到与全局时间对齐。机载系统中,全局时间常被用作任务调度、数据采样、事件打标的公共坐标。
偏移、漂移与漂移率
两个时钟在同一物理时刻的读数之差称为偏移(Offset)。若节点 A 的本地时间为 tA,全局时间为 tG,则偏移 θ = tA − tG。偏移可正可负,正表示本地时间超前,负表示滞后。偏移是同步算法直接要消除的量。
但时钟不会静止。由于晶振频率存在制造公差、温度变化和老化,本地时间的推进速率与全局时间并不完全相同,这种速率差异导致偏移随时间累积,称为时钟漂移(Clock Drift)。漂移的量化指标是漂移率(Drift Rate),定义为本地时钟频率相对标称频率的偏差,常用 ppm(百万分之一)表示。例如漂移率 +50 ppm 表示本地时钟每秒比标称快 50 μs,即每 20 秒累积 1 ms 偏移。
漂移率不是常数。温度每变化 1 ℃,普通晶振频率可能变化 0.1~1 ppm;老化则使频率在数月尺度上缓慢单向偏移。因此同步算法必须周期性运行,持续修正偏移,而不是一次校准后永久有效。
抖动:短时间尺度上的不确定性
抖动(Jitter)描述时间事件相对于理想周期的短期波动。它与漂移的区别在时间尺度:漂移是低频、累积性的趋势偏差,抖动是高频、零均值附近的随机或周期性波动。抖动来源包括振荡器相位噪声、总线仲裁延迟、中断响应延迟和软件调度抖动。在机载总线中,抖动直接影响同步报文的到达时间测量,进而影响偏移估计的精度。通常用峰峰值抖动或均方根抖动来度量。
同步精度与时间粒度
同步精度(Synchronization Accuracy)指网络中任意节点本地时间与全局时间之间允许的最大偏差,是系统设计指标。例如要求同步精度优于 ±1 μs,意味着所有节点的本地时间必须落在全局时间 ±1 μs 的窗口内。精度指标决定了同步周期、报文时间戳分辨率和滤波算法的选择。
时间粒度(Time Granularity)是时间表示和操作的最小单位,由计数器位宽和时钟频率决定。100 MHz 计数对应 10 ns 粒度;若同步精度要求 1 μs,则 10 ns 粒度足够;若要求 100 ns,则需更高频率或更精细的时间戳机制。粒度是精度的下限:粒度粗于精度要求时,无论算法多好都无法达标。
各量之间的关系
这些概念并非孤立。漂移率决定偏移增长的速度,抖动决定单次偏移测量的不确定度,同步周期必须在漂移累积超过精度预算之前完成修正,而时间粒度则限制修正能达到的最小步长。下图给出它们在同一时间轴上的关系:本地时间与全局时间的偏差由初始偏移、漂移趋势和抖动叠加而成,同步操作周期性把偏移拉回零附近。
全局时间与本地时间的工程含义
在机载总线中,全局时间通常由主节点或分布式算法维护,并通过同步报文分发。每个节点保留一个本地时钟用于计数,同时维护一个“全局时间估计值”。同步过程就是不断测量本地时间与全局时间的偏移,估计漂移率,然后调整本地时间的推进速率或直接补偿偏移。
需要特别注意的是,调整本地时间有两种方式:阶跃调整直接改变时间值,会造成时间不连续,可能影响依赖单调时间的任务;速率调整通过微调本地时钟频率逐步消除偏移,保持时间连续但收敛较慢。机载系统中,任务调度和事件打标通常要求时间单调,因此多采用速率调整或平滑补偿。
以一个教学示例说明:设节点晶振标称 100 MHz,漂移率 +40 ppm,同步周期 1 s,要求同步精度 ±100 μs。每周期漂移累积为 40 μs,小于 100 μs 预算,因此 1 s 周期可行。若漂移率恶化到 +150 ppm,每周期累积 150 μs,超过预算,必须缩短同步周期到 0.5 s 以内,或提高时钟质量。这个简单计算说明:同步周期、漂移率和精度指标三者必须联合设计。
掌握这些概念后,后续讨论同步协议、时间戳机制和时序分析时,就能准确判断误差来源:是初始偏移未收敛,是漂移率估计不准,是抖动导致测量噪声,还是时间粒度限制了修正精度。每一种原因对应不同的解决手段,这也是机载时间同步工程实践的基本功。