芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM

从本篇文章开始,将逐一介绍湖南华芯通的芯准AS6802时间同步开源原型系统的7个验证案例。

首先介绍无故障冷启动同步场景的第一个案例-先启动CM后启动SM,验证此场景下所有节点从冷启动开始,最终达到同步的过程。

无故障同步场景

一、验证环境

验证环境的网络拓扑结构如图1,实景如图2所示,由4台AS6802同步节点、1台交换机、1台4通道示波器以及控制终端PC组成。

4台AS6802时间同步节点组成一个同步域,包含1个压缩主(CM)和3个同步主(SM1~SM3)。示波器的四个通道分别连接到同步节点板卡上的测试点,探测个节点的同步脉冲信号,并实时计算同步脉冲信号间的误差。所有同步节点与控制终端PC通过一个普通交换机组成带外配置管理网络,实现控制终端PC对同步节点的配置和状态监控。所有同步节点在运行过程中采集状态信息,并实时发送给控制终端,控制终端可通过回溯这些状态报文来监控分析节点的状态变化,辅助调试与测试。

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 1   验证环境网络拓扑图

 

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 2  验证环境实景

 

二、案例说明

本案例测试在无故障情况下,先启动压缩主CM,再分别启动三个同步主SM1~SM3,验证所有节点是否能正常从冷启动开始完成同步,同步过程是否符合AS6802标准中的冷启动流程。

本案例使用的关键参数配置如表1所示:

表 1 关键参数配置

参数名称

参数值

同步精度

100ns

最大传输延迟

100us

容错故障节点数

1个

最大集成周期

63个

接受窗口大小

200ns

观察窗口大小

100ns

时钟周期

8ns

三、预期结果

CM先启动后,由于此时系统尚未同步,会从CM_INTEGRATE跳转到CM_UNSYNC状态,等待接收并广播系统中SM发送的CS帧,以开启冷启动流程;

SM1启动后,由于同步节点数量尚未达到关键参数的设定阈值,CM和SM1仍无法同步,会在冷启动相关的状态循环跳转,如图3所示:

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 3  启动CM和SM1后预期结果

SM2启动后,经过冷启动的容错握手机制,CM、SM1和SM2达成同步条件,三个节点完成同步,预期结果如图4所示:

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 4  启动SM2后预期结果

 最后,启动SM3节点,由于存在已同步网络,SM3接收到广播的IN帧后,会跳过冷启动流程,直接根据IN帧与其他节点同步,并最终稳定在SM_STABLE状态。

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 5  启动SM3后预期结果

 

四、测试结果

下面介绍实际测试过程。为了便于查看结果,我们将示波器远程界面输出到控制终端PC的显示器中,与控制端界面并行显示。同时,控制终端PC存储了整个验证过程中所有节点设备发送的状态报文,基于这些状态报文,我们可以回溯各阶段中节点的状态跳转情况。

首先,通过控制终端PC启动CM,可以看到示波器出现CM的同步时钟波形如图6所示:

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 6  启动CM后示波器波形

 然后启动SM1,示波器中出现了SM1的波形,但是CM和SM1的波形并没有同步,从示波器的测量结果来看(图7),二者的延时误差明显超过了设定的100ns。

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 7  启动SM1后示波器波形

 通过在控制终端存储的状态报文回溯节点状态,由于只启动了一个SM,sync_membership变量值仅为1,不满足核心参数中设定的阈值,因此CM和SM1一直在冷启动相关的状态中循环,无法达成同步(图8)。

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 8 启动SM1后节点状态变化回溯GIF动态图

 其次,启动SM2,如图9所示,示波器中3个设备的波形同步,并且动态测量功能显示误差远小于设定的100ns精度范围。

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 9 启动SM2后示波器波形

 通过控制端存储的状态报文回溯启动SM2后的节点状态变化,如图10所示。可以看到,在SM2启动前,由于IN帧的 membership不满足核心参数,CM和SM1依旧在冷启动相关状态循环;当SM2启动后,sync_membership达到核心参数设定阈值(2),满足跳转到同步状态的条件,三台设备最终完成同步。

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 10  启动SM2后节点状态变化回溯(GIF动态图)

 最后,启动SM3,如图11所示,4台设备波形实现同步,且示波器中动态测量功能显示误差满足精度范围。

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 11  启动SM3后示波器波形

 

回溯节点状态,如图12所示。SM3启动前,CM/SM1/SM2已经在多次同步下达成STABLE状态,并且IN帧的membership是2;在SM3启动后,在INTEGRATE状态收到了系统中广播的IN帧,直接跳过了冷启动流程跳转到SYNC状态,完成与其他节点同步。并且,在SM3同步后,再次收到的IN帧的同步membership从2变成了3,即代表系统中所有节点完成了同步。最终,SM3在经历多个同步的集成周期后,跳转到STABLE状态,此时,所有节点达成稳定同步。

芯准AS6802开源原型系统(3):无故障冷启动同步之一 — 先启动CM后启动SM
图 12  启动SM3后节点状态变化回溯GIF动态图

从上述回溯过程可以看出,在CM先启动的情况下,当启动的SM节点数量满足设定参数时,整个系统可以通过冷启动流程达成同步。而后加入的SM则会通过接收CM压缩广播后的IN帧快速同步到网络中。

本文关于无故障同步场景的第一个案例介绍完毕,最终测试结果与预期结果一致。

下一篇文章中,我们将继续介绍无故障冷启动场景的第二个案例——先启动SM后启动CM。