IEEE 1588 时间同步误差的研究

2012-07-03 08:26周国平
山西电子技术 2012年2期
关键词:主从变化率交换机

周国平,邹 磊

(南京林业大学 信息学院,江苏 南京 210037)

当前国内变电站的时间同步主要以GPS 时间信号作为标准时间源,其对时方式共四种:脉冲方式同步、编码方式同步、串口方式同步以及网络方式同步。

以上4 种方式都有不足之处。第1 种虽然精度很高,但没有具体的时间信息且精度受传输距离的影响,每米的传输延迟时间在3.33 纳秒左右。第2 种虽然与第一种方式一样精度很高,但所含时间信息较少,传输距离也有限,传输距离越长则精度越差。第3 种其精度受传输波特率的影响,且传输距离也有限。第4 种网络时间报文同步方式是目前时间同步方式的发展趋势,不存在前3 种方式的局限,但是由于以太网传输过程中存在延时的不确定性(例如交换机交换延时、设备响应时间同步报文延时等),导致同步精度低。据调研,目前的NTP和SNTP 在局域网中可以达到1 ms的精度,在广域网中只能达到几十毫秒的精度。本文介绍的IEEE 1588 精确时间同步协议能够达到次微秒级的精度,能够满足当前数字化变电站对时间同步精度的要求[3]。

1 IEEE 1588 同步原理

IEEE 1588(Precision Time Protocol 即PTP)是网络报文时间同步方式的一种。其主从时间同步过程可分为两个阶段[1][4]。如图1所示,第一个阶段是偏差测量阶段。主时钟周期性的发出同步报文(Sync 报文),间隔时间一般为2 s。从时钟接受同步报文并记下接收到同步报文的时间值T2,主时钟紧接着发送跟随报文(Follow-Up 报文),它将同步报文发出时的准确时间T1传送给从时钟。

第二阶段是传输延迟测量阶段,在第二阶段中,为了防止报文发送时产生碰撞,在从时钟接收到跟随报文后并不是立即发送延迟请求报文(Delay-Req 报文),而是随机的等待一段时间(默认值为4 到60 秒之间)即图中的ts,与ts对应的主时钟的时间为tm。从时钟记录下发出延迟请求报文的时间值T3,主时钟接收到延迟请求报文后记录下时间值T4并通过延迟请求响应报文(Delay- Resp 报文)将T4值传送回给从时钟。这样从时钟就拥有了4个时间值:T1、T2、T3、T4。

设从时钟与主时钟之间的时间偏差为Toffset,报文传输延迟时间为Tdelay,从而根据上述同步过程列出下面的方程组:

解得方程组如下:

从而可以根据上式算出时间偏差值来,从时钟再根据此偏差值调整自己的本地时钟以实现与主时钟的同步。

图1 主从时钟之间的同步过程

2 IEEE 1588 时钟同步精度的影响因素及改进方法

2.1 主从时钟时间变化率的一致性[5]

在上述的同步原理中,是在主从时钟之间的时间变化率相同的情况才成立的。但在实际情况下,由于主从时钟的晶振和定时器分频偏差等原因的影响而导致时间变化率并不相等,即导致图1 中ts≠tm那么从而可以得到下面的方程组:

解得方程组如下:

由上述公式可知,主从时钟的时间变化率不同而产生的Δt 势必会影响时间偏差值的计算进而影响到时间同步精度。因此,从时钟在与主时钟进行时间同步校正时应先检测自身的时间变化率与主时钟的时间变化率是否相等。

从时钟的检测原理如下:在同步过程的第一阶段偏差测量阶段。主时钟以固定时间间隔给从时钟发送Sync 报文,假设以发送某一帧的Sync 报文为起点(主时钟发出报文时的时间为M0,从时钟接收到报文时的时间为S0)经过1个时间间隔后主时钟发送Sync 报文的时间值为M1,从时钟接收Sync 报文的时间值为S1。从而可以得到主从时钟之间的时间变化的差值为Q。

若Q=0,则从时钟与主时钟进行时间同步校正。若Q≠0,则从时钟应先通过相应的补偿算法使自身的时间变化率与之相等后再进行同步。

由于从时钟是通过自身的硬件时钟来记录时间的,因此调整自身的时间变化率主要是通过改变自身定时器的计数值来实现。若Q >0,则说明从时钟的时间变化率比主时钟的时间变化率快。假设以Q=100000 ns为例,表明从时钟在2 s的时间间隔内比主时钟快100 μs。那么20 ms 则从时钟比主时钟快1 μs。假设从时钟采用的是50 MHz、32 分频的计数频率,则计一个数的时间为640 ns,硬件时钟每20 ms中断一次,并在中断处理中更新本地的时间信息。20 ms 需要计31250个数。现在由于从时钟在20 ms 内比主时钟快1 μs,则从时钟可以通过改变计数值将31250 改为31252从而实现从时钟的时间变化率与主时钟的相等。若Q <0,则说明从时钟的时间变化率比主时钟的时间变化率慢,则应该减少从时钟定时器的计数值,以实现主从时钟之间时间变化率的相等。

由此可以得到从时钟定时器的计数值N的公式为:

其中,Q为在固定时间间隔2 s 内从时钟与主时钟时间变化的差值。Tinterrupt为从时钟定时中断一次的时间,Tinterval为时间同步间隔时间。f 从时钟晶振的频率,m 分频值。

当然由于从时钟是通过中断来更新本地时间的,因此定时器中断处理的时间也要考虑进去,对于51 单片机的中断处理时间一般为3个机器周期。从时钟在每一次中断后更新本地时间时要把这个时间补偿进去。

2.2 时间戳的生成方式

NTP和PTP的相同点都是通过迭代消除往返路径延迟的方法以实现时间同步的,但是之所以PTP 较之NTP 有更高的时间同步精度关键在于时间戳的生成位置不同。

图2 协议栈的时间戳生成位置

如图2所示,NTP 报文方式的时间记录点在协议栈的应用层,属于软件记录时间点。而PTP 建议的是利用硬件来记录报文离开和进入的时间点,即在最靠近网口的物理层来记录时间点,这样就大大地减少了网络协议栈的延迟与抖动给时间同步精度造成的影响。

2.3 通信路径的对称性

通信路径对称是指主时钟到从时钟的传输延迟和从时钟到主时钟的传输延迟是相等的,上述的同步原理都是基于这个前提下才成立的。但实际上主从时钟之间的通信路径往往是不对称的。这样就会在链路延迟补偿时产生误差。

由于在通信路径不变的情况下,通信路径不对称性相对固定,工业上的分布式系统多为相对本地化、局域网的系统,子网或内部组件相对稳定,因此可忽略链路延迟在传输方向上的差异。

2.4 网络拓扑结构

在进行时钟同步的过程当中,点对点的连接可以提供主时钟和从时钟之间最佳的同步精度。然而,根据实际PTP系统的组网情况,存在一个主时钟对多个从时钟进行同步的系统,这样就必须在同步网络中会引入具有存储、转发功能的中间设备。比如交换机。

由于交换机带来的网络抖动延迟势必会影响时间同步精度,因此IEEE 1588 协议在交换机中引入了边界时钟的概念。边界时钟含有多个PTP 时钟端口,先让主时钟与交换机中的PTP 时钟进行同步,此时交换机扮演的是从时钟的角色。等交换机与主时钟时间同步完成之后,交换机再作为主时钟与连接到其上面的各个从时钟进行时间同步。边界时钟的引入改善了网络的拓扑结构,使时钟同步之间都保证的是点对点的时间同步结构,从而极大地提高了时间同步的精度。

2008 年提出的IEEE 1588 V2 版本[2],增加了透明时钟的概念。透明时钟的引入也是为了改善网络拓扑结构,减少网络抖动的影响以及大型拓扑结构中的积聚误差,排除交换网造成的非对称延迟,其主要用于距离较长的主从时钟之间。透明时钟与边界时钟不同的是,透明时钟没有主从状态,也不需要做逐级同步。

3 结束语

高精度的时间同步系统是现今数字化变电站建设的需要。IEEE 1588 高精度时间。同步协议是网络时间同步方式中最具优势的时间同步方案,其可以同时提供时间同步和频率同步,且同步精度达到次微秒级,但通过上述分析,在整个IEEE 1588 同步系统当中,无论哪个环节出现误差都将影响到整个系统的同步精度和稳定性,因此,必须对影响其同步精度的因素进行改进,才能够很好地将IEEE 1588 协议应用于未来数字化变电站的通信体系当中。

[1]邱分,陈孝良,马龙华,等.PTP 精密时钟同步原理分析[J].微计算机应用,2009,30(10):18-22.

[2]叶卫东,张润东.IEEE 1588 精密时钟同步协议2.0 版本解析[J].测控技术,2010,29(2):1-4.

[3]赵上林,胡敏强,窦晓波,等.基于IEEE 1588的数字化变电站时钟同步技术研究[J].电网技术,2008,32(21):97-102.

[4]黄运水,冯玉光.IEEE 1588 精密时钟同步分析[J].国外电子测量技术,2005,24(9):9-12.

[5]桂本烜,刘锦华.IEEE 1588 高精度同步算法的研究与实现[J].电光与控制,2006,13(5):90-91.

猜你喜欢
主从变化率交换机
基于电流变化率的交流滤波器失谐元件在线辨识方法
例谈中考题中的变化率问题
修复损坏的交换机NOS
FANUC系统PROFIBUS主从功能应用
使用链路聚合进行交换机互联
基于主从控制的微电网平滑切换控制策略研究
利用基波相量变化率的快速选相方法
川滇地区地壳应变能密度变化率与强震复发间隔的数值模拟
基于飞行试验数据的仿真模型主从一体化检验
PoE交换机雷击浪涌防护设计