关于一种基于包交换的有效载荷时间同步方法的设计和实现

描述

0 引言

时间同步技术是航天器在轨运行的重要支撑技术之一,高精度的时间同步对于各个系统的协同运行、任务调度与执行、故障查找和事故分析都有着非常重要的意义。

目前,国内各类航天器上的时间同步主要是通过总线广播时间码的方式,能够实现毫秒级别的时间同步精度。对于精度要求高的载荷,通过连接硬线接入精确时间秒脉冲的方式来获得高精度的时间。

随着航天器的大型化,有效载荷数目和时间精度要求的提升,此类时间同步方案已经不能满足时间精度和系统复杂度的需求。因此,对于大型航天器分系统的时间同步需要进一步设计。针对大型航天器有效载荷网络的时间同步而言,本文提出一种基于包交换的多载荷、高可靠、高精度的时间同步解决方案。

1 多载荷同步模型

1.1 应用场景

航天器上有效载荷网络基于FC-AE-1553总线,网络中的有效载荷节点作为网络终端。每个终端节点都连接到相应的控制节点,如图1所示。

时间同步

网络控制器一般是已进行高精度同步的设备或包含高精度时间的设备。网络控制器为通信的发起者和组织者,可以是主控计算机或者是级联中某一级的网络交换机。

1.2 同步原理

基于包交换的双向时间同步的工作模型多为主从模式,如网络时间同步协议(Network Time Protocol,NTP)[1]和精确时间同步协议(Precision Time Protocol,PTP)[2],包含精确时间的网络节点作为主端(主时钟)向从端(从时钟)发起同步。

如图2,假设从时钟时间慢于主时钟,时间偏差值为。主端周期性发起同步,在T1时刻向从端发送时间报文。该报文从时钟接收到时为T2,在T3时刻从时钟对收到的时间报文进行回复,回复报文被收到时刻为T4。其中T1、T4为主时钟记录的时间,T2、T3为从时钟记录的时间。

时间同步

由主时钟到从时钟的时延为TDL,由从时钟到主时钟的时延为TUL,则有式(1):

时间同步

根据估算的时间偏差,对从时钟的时间进行补偿,从而达到时间同步的目的。

2 方案设计

2.1 对称时延设计

在基于包交换的时间同步机制中,式(2)的成立前提是往返时延对称(TDL=TUL)。当链路时延不对称时,根据式(2)计算得到的时间偏差值并不是真正的从端与主端的时间偏差。

造成链路时延不对称的因素主要有:协议栈解析数据包产生的抖动、网络传播时延不对称和网络排队时延[3]。

为了避免协议栈解析数据包带来的随机时间误差抖动,将时间同步模块放在FC协议中靠近物理层的位置:FC-2层。硬件实现的过程中,时延可控并可通过仿真得到,从而达到时延对称,减小误差的目的。

在单级的主从同步过程中,不涉及网络交换节点导致的排队时延。各类缓存的排队时延通过网络拥塞控制来减小影响;在相邻的网络节点间,使用双绞线或一对等长的光纤来保证网络传播时延的对称。

2.2 可靠的时间偏差补偿方法

在估算出两个网络节点之间的时间偏差之后,从时钟会对本地的时间进行补偿。进行时间纠偏的最直接和快速的方法是直接赋值。这种直接赋值的方法将导致时间的跳变,影响载荷的指令执行、数据记录与存储等诸多方面,同时降低系统可靠性。

为了避免直接调整时间的方法带来时间的瞬时变化,同时保证时间的连续前进性,我们选择更可靠的时间补偿方法。将一定的时间偏差值分到多个晶振周期上进行补偿,如图3。

时间同步

假设在某时刻待同步时钟的时间快于时钟源的时间,时间偏差为offset。主时钟频率为f(Hz),从时钟实际频率为f′(Hz)。在大于offset的时间AdjustTime(s)内完成时间调整(防止出现“时间倒流”和“时间停止”的情况),则每个晶振周期从时钟累加的时间为δ(δ<1/f′),以此来完成时间偏差的补偿。

时间同步

在实际应用中,f′的值的大小并不能确定,因此选择AdjustTime等于同步周期,使用前几个调整周期内的晶振计数值的均值替换式(3)中的AdjustTime×f′的值,用来计算校正后的累加值δ。

在系统初始或重构时,主从时钟的时间偏差值较大,为了保证从时钟的时间误差快速收敛,设置时间偏差的阈值offset0,当实际时间偏差的值大于该值时采用赋值调整,实际的时间偏差小于该值时采用渐进调整的时间补偿方法。该策略可以较好地平衡误差收敛时间和时间的前进连续性。

2.3 频率偏差校正

各网络节点均通过晶振来进行本地计时,根据晶振的频率,每个晶振周期累加对应的时间,从而实现时间的累加。由于所有晶振均存在一定的偏差:标称误差、漂移误差,还需对晶振的偏差进行补偿和校正。

在时间同步原理中,由于主时钟周期性发起时间同步(如图4),忽略路径上的延时和驻留时间的变化,从时钟可依据该同步消息完成对本节点的晶振频偏的测量。在估算出本地的晶振偏移量后,从时钟将对该偏移量进行纠正,使得从时钟的频率与主时钟保持一致。

时间同步

若主时钟与从时钟的频率相同,则ΔT=TCount。实际中,按照f1/f2=TCount/ΔT的比例对从时钟的频率进行校正。

2.4 网络拥塞控制

对于时间同步而言,同步周期越短,得到的同步精度越高,时间同步消耗的网络负载也就越高。网络负载的增加易引起堵塞,进而对时间同步业务产生影响。网络拥塞控制也是时间同步的对称时延设计的一部分。

目标载荷网络为基于FC-AE-1553的命令响应式网络,该网络的所有数据传输均由网络控制器进行调度。为了统筹时间同步业务和其他业务,网络控制器周期性发送数据,在周期内对时间同步帧预留相应的信道空闲时间,以免造成网络拥堵对时间同步的影响,可提高同步精度[4]。

此外,在网络中,将时间同步数据帧的优先级设置为最高级,以此来保证在业务量大、网络繁忙时,时间同步数据帧能够得到优先处理和传输。

3 实验与分析

3.1 实验系统

为了验证文中提出的有效载荷时间同步方法,搭建了包含时钟源、主时钟和从时钟的验证系统,其模型如图5。

时间同步

在验证模型中,两块平台为Xilinx K7系列的FPGA板卡分别逻辑实现主时钟和从时钟及它们相应的时间同步功能,实现的功能模块见表1。由GPS接收机输出时间信息作为主时钟的授时源,并提供精确的秒脉冲信号,主时钟依据此时间信息进行授时。

时间同步

主时钟与从时钟均会按照自己本地的时间,在时间整秒变化时,生产秒脉冲信号。利用示波器以主端生成的秒脉冲信号作为触发,多通道余辉显示两个秒脉冲,比较两者上升沿之间的时间差得到从时钟和主时钟之间时间偏差的范围。

3.2 结果与分析

3.2.1 晶振偏差校正的结果

为了测算对晶振频率偏差校正的效果,进行了对照测试。在1 s同步周期下分别为开启晶振偏差补偿和关闭晶振补偿,其测试结果如图6、图7所示。

时间同步

时间同步

对比测试结果可以看出,在本验证系统中由于晶振漂移引起的每周期时间偏差均值在-800 ns,从时钟的晶振频率低于主时钟的晶振频率,两者之间的频率比为β。

时间同步

对比图6和图7的结果可以发现,通过周期性地时间同步数据包来进行待同步时钟的晶振漂移校正可以获得较好的效果。

3.2.2 同步周期测试结果

为了测试时间同步周期对时间同步精度的影响,选取了从1 ms至1 000 ms中不同的同步周期,进行了时间同步测试,测试的结果如表2所示。

时间同步

从表2的结果可以看出,时间同步的精度随着同步周期的增加而变差。其原因是:由于普通晶振的稳定度有限,完成一次同步之后,同步周期增长导致按照晶振进行时间累加,因此在时间累加增长时会造成新的时间偏差。针对该误差,可结合应用场景所需要的时间精度,对同步周期进行选择。当精度要求更高时,可通过选择稳定度更高的晶振来实现。

3.2.3 背景流量测试结果

在时间同步周期为1 ms时进行了背景流量测试,测试背景流量对时间同步精度的影响。分别在无背景流量、周期性广播16 KB、32 KB和64 KB数据包的情况下进行了时间同步测试。

如图8,在背景流量为64 KB数据包时的时间同步秒脉冲示波器显示。经过测试,在不同背景流量时,时间同步精度的变化可以忽略,因此此处不再展示其他背景流量时的示波器显示结果。

时间同步

根据示波器显示的结果,依据主从端之间的秒脉冲上升沿余辉可以判读出时间同步精度范围在-20~20 ns以内。在有背景流量为周期性广播长度为16 KB、32 KB和64 KB的数据包时,同步精度范围依然保持在-20~20 ns之内。

对比四组测试的结果,可以发现背景流量对时间同步的精度影响甚微。可见为了能够保证时间同步的过程所进行的网络拥塞控制策略保证了在网络繁忙的情况下,高精度的时间同步。

4 结论

对于大型航天器的有效载荷网络,本文利用双向时间同步的方法,并将其与网络协议进行整合,在提供高精度时间的同时,不增加系统的复杂度。并通过步进时间补偿、晶振频率校正、网络拥塞控制的策略,来减小同步周期、晶振偏差和网络拥塞等对时间同步的影响。最后给出的实验测试结果表明,在不同同步周期下、不同背景流量下,该方法都能实现纳秒级的时间同步精度,符合当前各类载荷的精度需求。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分