4. IEEE 802.1AS协议机制
IEEE 802.1AS 是 TSN 时间同步的基础标准,它定义了一套基于 IEEE 1588 精简剖面的通用精确时间协议(gPTP)。与通用 PTP 相比,802.1AS 针对车载、工业等确定性网络场景做了大量裁剪与约束:只保留端到端透明时钟与点对点透明时钟模型,强制使用硬件时间戳,简化了报文类型,并规定了严格的默认参数。理解 802.1AS 的关键,在于把握四个相互关联的机制:gPTP 域如何划分同步范围、主时钟如何被选出、BMCA 如何决策、以及同步报文如何交互并逐跳累积时间。
一、gPTP 域:同步的逻辑边界
gPTP 域(gPTP Domain)是一组共享同一时间基准的 gPTP 实例集合。每个域由 domainNumber 标识,默认值为 0。同一物理网络中可存在多个域,各域独立运行 BMCA、独立选举主时钟、独立维护时间,互不干扰。在机载网络中,通常按功能分区划分域,例如航电核心处理域、座舱显示域、传感器采集域各用一个域号,避免不同安全等级或不同管理主体的设备被错误地纳入同一时间体系。
域内每个参与同步的端口都要维护自己的端口状态,并周期性地发送或转发 gPTP 报文。域边界由不支持该域的桥接设备或未使能 gPTP 的端口自然形成。需要强调的是,域号只解决“逻辑归属”,不解决“物理连通”;跨域设备若同时参与多个域,必须为每个域维护独立的状态机与时钟数据集。
二、主时钟选择与 BMCA
802.1AS 使用最佳主时钟算法(BMCA)在域内动态选举出一棵以 Grandmaster(GM)为根的同步生成树。BMCA 不是简单地比较“谁的时钟更准”,而是比较一组优先级向量。每个端口对外通告的数据集包含:priority1、clockClass、clockAccuracy、offsetScaledLogVariance、priority2、clockIdentity。比较时按上述顺序逐项进行,数值小者优先;若全部相同,则 clockIdentity 较小者胜出。
在机载场景中,priority1 常被用来人为指定首选主时钟,例如将高精度原子钟或 GPS 驯服时钟所在设备设为 priority1=10,其余备份设备设为 100 以上。clockClass 则反映时钟的可追溯等级,如 6 表示主参考、7 表示保持over持有、248 表示默认。BMCA 的决策结果不是一次性配置,而是随 Announce 报文持续更新:当更优的 Announce 到达时,端口状态会从 MASTER 切换为 SLAVE,或从 SLAVE 切换为 PASSIVE,从而完成主时钟的平滑接管。
三、同步报文交互流程
802.1AS 的同步过程由三类交互组成:Announce 交互用于 BMCA 选举与状态维护;Sync/Follow_Up 交互用于传递主时钟时间;Pdelay_Req/Pdelay_Resp/Pdelay_Resp_Follow_Up 交互用于测量相邻节点间的链路延迟。
以一次典型同步为例:GM 在 t1 时刻发出 Sync 报文,硬件记录 t1;若支持单步模式,t1 直接写入 Sync 的 originTimestamp 字段;若为双步模式,则随后发出 Follow_Up,携带 preciseOriginTimestamp=t1。从时钟在 t2 时刻收到 Sync 并记录本地时间。随后从时钟发起 Pdelay 测量,得到与上游端口之间的平均链路延迟 d。最终从时钟计算偏移:offset = t2 − t1 − d − correctionField,其中 correctionField 是透明时钟在转发过程中累加的驻留时间与链路延迟修正量。从时钟据此调整本地时钟频率与相位,使 t2 逼近 t1 + d。
在机载多跳网络中,每一级交换机作为透明时钟,会在 Sync 报文的 correctionField 中累加本跳的驻留时间(residence time)和上游链路延迟。这样从时钟无需知道拓扑细节,只需用最终修正域即可还原出主时钟时间。这也是 802.1AS 能在大规模交换网络中保持亚微秒级精度的关键。
四、机载场景下的参数示例
假设某机载核心域包含一台 GM、一台 TSN 交换机和三台端系统。GM 的 priority1=10,clockClass=6;从时钟 A、B、C 的 priority1 分别为 100、120、200。BMCA 运行后,A 和 B 进入 SLAVE 状态,C 因优先级最低且其端口收到更优 Announce,进入 PASSIVE 状态,只监听不转发同步流。同步周期设为 125 ms(syncInterval=0,即 2^0 × 125 ms),Announce 周期设为 1 s。Pdelay 周期设为 1 s。若从时钟测得 offset 持续大于 500 ns,则触发时钟调整;若连续 3 个 Announce 超时未收到,则判定主时钟失效,重新触发 BMCA。
综上,802.1AS 通过域划分限定同步范围,通过 BMCA 自动选举主时钟,通过 Sync/Follow_Up 与 Pdelay 交互完成时间传递与链路延迟补偿。理解这四者的配合关系,是后续学习时间感知调度与门控列表配置的前提。