一种主从结构多节点网络的时间同步方法
【技术领域】
[0001]本发明属于集中式或分布式系统网络时间同步技术领域,具体涉及一种主从结构多节点网络的时间同步方法。
【背景技术】
[0002]随着网络系统的广泛应用,多节点之间往往要求协作工作,对系统时间/时钟同步的精度要求越来越高。基于网络化的系统是一项十分复杂、困难的任务,各节点完成任务相互协作完成,多数依赖于时间来进行协同工作。因此,网络中各节点的时间/时钟同步是基于网络的实时控制系统数据调度和任务的核心技术之一,它提供一种确定事件发生时间的先后顺序的机制,以保证节点发送和接收消息、控制、事故记录等在时间逻辑上最大保证一致性,网络中的所有节点需要一个统一的时间进行调度,需要对各节点进行时间/时钟同步。节点间的时间/时钟同步精度可以通过两种途径进行提高:一是通过硬件辅助方法,该方法能够显著提高时钟同步精度,但需要增加硬件成本与系统功耗;二是通过软件算法来提高时钟同步精度。
[0003]在时钟主从结构网络系统中,各个远端从时钟节点(从节点)通过有线或无线的方式与中央主时钟节点(主节点)进行通信,实现时间统一的控制与数据的处理。为了保证主从节点交互信息确切的时间逻辑关系,网络中所有从节点的时间需要与主节点的时间保持同步。网络系统中的各个节点区域分散,同时每个节点具有独立的时钟,由于受到时钟特性与工作环境的影响,各节点时钟还存在一定偏差、抖动和漂移。特别是采用低成本时钟的节点系统,节点时钟精度与稳定度低,各节点的时钟之间存在较大的时钟偏差。因此,网络系统的时钟网络可进行时钟同步,从而保证各个设备节点工作的时间同步性。
[0004]目前应用于网络时钟同步的协议主要有:(I)基于GPS的时钟同步,GPS时钟同步设备主要通过高精度的GPS定位授时模块而开发的产品,它具有精度高的优点,但应用成本高,且设备需要工作于能接收GPS卫星信号的区域。(2)基于NTP(Network Time Protocol)协议的时钟同步,它是基于客户端/服务器模式的时钟同步,主要是用来使计算机对其服务器或时钟源(如原子钟、GPS卫星等国际标准时间)做同步化,但是其时钟同步精度在LAN(Local Area Network)上只能达到毫秒级,在WLAN(Wireless LocalAreaNetwork)上甚至要达到及时毫秒,且NTP不适合用在分布式测控领域。(3)基于PTP(Precis1n TimeProtocol)协议的时钟同步,该协议是基于主节点/从节点模式的时钟同步协议。PTP时钟同步协议用于网络中从节点时钟对主节点时钟之间的同步,它适用于一个或多个从节点的时钟同步,由于PTP时钟同步协议可以采用硬件的方式对消息包进行解析,以及采用二次同步消息包的机制,所以,与NTP协议相比,PTP协议的时钟同步精度更高,但是PTP属于上层协议机制,并不涉及底层时间戳的提取机制和节点间的传输方式。
【发明内容】
[0005]针对网络的各个节点物理上采用有线进行连接,节点间的采用RS485、RS422、RS232、CAN总线等组网通讯方式的场景,本发明提供了一种主从结构多节点网络的时间同步方法,即在节点收发业务包过程中进行时间戳的提取以及时间戳信息的传递过程的方法,兼容现有通讯架构,实现低成本、高精度的网络时间同步。
[0006]—种主从结构多节点网络的时间同步方法,包括:
[0007]在考虑传输时延的情况下,通过应答式同步机制采样获取主从节点在各自时钟下关于同步报文的发送时刻和接收时刻以及关于传输时延测量请求报文的发送时刻和接收时刻,并对这些时刻标记上不同的时间戳以解算出主从节点之间的同步时延;根据所述的同步时延对主从节点各自时钟的时刻、频率以及相位进行调控,以实现网络中所有节点高精度的时间同步;
[0008]在不考虑传输时延的情况下即传输时延相比时钟精度要求可以忽略时,通过广播式同步机制采样获取主节点在本地时钟下关于同步报文的发送时刻以及从节点在本地时钟下关于同步报文的接收时刻,并对这些时刻标记上不同的时间戳以解算出主从节点之间的同步时延;根据所述的同步时延对主从节点各自时钟的时刻、频率以及相位进行调控,以实现网络中所有节点高精度的时间同步;或者通过周期性广播同步脉冲来实现,即主从节点约定好同步脉冲的发送间隔,从节点每次收到主节点发送的同步脉冲后将本地时钟与主节点时钟对齐,周期性地执行此过程以实现网络中所有节点高精度的时间同步。
[0009]在考虑传输时延的情况下,主从节点之间的同步时延包括传输时延、发送响应时延、接收响应时延以及主从节点之间的时钟偏差;在不考虑传输时延的情况下,主从节点之间的同步时延即为主从节点之间的时钟偏差。
[0010]所述同步脉冲的发送间隔为整秒、整分、整时或其他约定间隔。
[0011]本发明方法采用FPGA来实现对主从节点关于同步报文发送时刻和接收时刻的采样工作、关于传输时延测量请求报文发送时刻和接收时刻的采样工作以及不同时间戳的标记工作;采用FPGA或MCU来实现同步时延的解算工作以及对主从节点各自时钟的时刻、频率以及相位的调控工作。
[0012]在考虑传输时延的情况下,通过以下算式解算主从节点之间的同步时延:
[0013]Tm2s = De lay+Off set
[0014]Delay = 0.5(TS1-TM1+TM2-TS2)
[0015]Offset = 0.5(TS1-TM1-TM2+TS2)
[0016]其中:Tm2s为主从节点之间的同步时延,Off set为从节点时钟相对于主节点时钟的偏移量,Delay为主从节点之间上下行的链路平均时延,TMl为主节点时钟下同步报文发送时刻对应的时间戳,TSl为从节点时钟下同步报文接收时刻对应的时间戳,TS2为从节点时钟下传输时延测量请求报文发送时刻对应的时间戳,TM2为主节点时钟下传输时延测量请求报文接收时刻对应的时间戳。
[0017]在不考虑传输时延的情况下,通过以下算式解算主从节点之间的同步时延:
[0018]Tm2s = Offset = TSl-TMl
[00?9 ]其中:Tm2s为主从节点之间的同步时延,Of f set为从节点时钟相对于主节点时钟的偏移量,TMl为主节点时钟下同步报文发送时刻对应的时间戳,TSl为从节点时钟下同步报文接收时刻对应的时间戳。
[0020]本发明针对的主从结构是从时钟角度上来讲的,与网络通信上的主从不一样。也就是整个网络或局部网络中的时钟向主节点进行同步,或者一级一级向更高级别主时钟进行同步。主节点并不是固定的某一个节点,可以根据不同时间、阶段或场景的需要而改变。[0021 ]本发明的有益技术效果如下:
[0022](I)本发明通过FPGA时钟采样可以得到各个报文发送和接收的准确时刻。
[0023](2)本发明通过应答式同步方式计算传输平均时延和主从时钟偏移,之后加以补偿时间精度可以达到纳秒级的高精度时间同步。
[0024](3)本发明通过广播式同步方式,在忽略通道传输时延的条件下可以达到较高精度的时间同步。
【附图说明】
[0025]图1(a)为一个主时钟节点带多个从时钟节点的组网结构示意图。
[0026]图1(b)为一个主节点与一个从节点的组网结构示意图。
[0027]图2(a)为Sync报文的帧格式示意图