IEEE 1588精确时间同步协议和累积频率补偿方法研究

2016-11-23 00:54岳中涛胡立生
化工自动化及仪表 2016年1期
关键词:主从时钟偏差

岳中涛 胡立生

(上海交通大学电子信息与电气工程学院,上海 200240)

IEEE1588精确时间同步协议和累积频率补偿方法研究

岳中涛 胡立生

(上海交通大学电子信息与电气工程学院,上海 200240)

在IEEE 1588时钟同步基本原理的基础上介绍了一种基于累积频率补偿的提高同步精度的方法,使网络中的IEEE 1588下游设备与GrandMaster建立关系,从而提高同步精度。最后使用Simulink仿真工具建模对该方法进行了验证。

IEEE 1588 时间同步 累积频率补偿 建模

随着工业现场控制规模越来越大,自动化程度越来越高,对监视和控制的同步性和实时性提出了越来越高的要求。在IEEE 1588出现之前已经有NTP及SNTP等网络时间同步协议出现,其同步误差在1~100ms之间,而某些应用领域,如输电线路行波测距及同步相量测量装置等对时间同步精度要求误差不大于1μs,在这些场合就需要采用同步精度更高的方法[1]。IEEE 1588采用软硬件相结合的同步方式,其同步精度在亚微秒级,最高可达到纳秒级。

IEEE 1588协议的基本原理是,首先通过最优主时钟算法在IEEE 1588设备间构建主从结构,然后通过相互之间的消息传递,计算主从时钟之间相位和频率的偏移,达到主从频率和相位的同步。时钟的同步包括相位的同步和频率的同步。IEEE 1588协议定义了两种延时测量机制:请求应答(Request-Response)机制与端延时(Peer Delay)机制[2]。其中请求应答机制过程如图1所示。

首先主时钟向从时钟发送Sync消息,IEEE 1588设备采用软硬结合的方式记录时间戳,Sync消息在经过主时钟时,会在最接近MII接口处更新为Sync消息离开主时钟的精确时间t1,Sync消息到达从时钟,从时钟采用硬件中断的方式记录Sync消息到达的精确时间t2,这样从时钟获得Sync消息发送和接收的精确时间t1与t2。假设主从设备时间偏差为Toffset,主从设备之间的网络延时为Tdelay,则:

图1 请求应答测量机制

Toffset+Tdelay=t2-t1

(1)

从时钟在收到Sync消息后,向主时钟发送请求消息Delay_Req,发送精确时间为t3,主时钟收到从时钟发来的Delay_Req消息,记录下Delay_Req消息抵达的精确时间t4,主时钟把t4包含在Delay_Resp中,发给从时钟,从时钟获得t4,即:

Tdelay-Toffset=t4-t3

(2)

由式(1)、(2)可得:

(3)

(4)

得到主从时钟之间的偏差之后调整从时钟的时间值,去除时钟偏差,便实现了从时钟的时间值与主时钟的同步。不过这样主从时钟之间由于存在频率的偏差,同步之后从时钟偏差会随时间逐渐增大,精度受两次同步间隔时间影响较大。更好的方法是频率、相位一起同步,同步原理如图2所示。

图2 时钟频率同步原理

从时钟与主时钟之间频率的偏移可用下面的方法计算[2]。

主时钟每隔一段时间向从时钟发送Sync消息,在主时钟来看第k个Sync消息与第k+1个Sync消息之间的发送间隔为:

Δm=tm(k+1)-tm(k)

(5)

在从时钟来看两个Sync消息之间的间隔为:

Δs=ts(k+1)-ts(k)

(6)

主从时钟计算的Sync消息间隔并不一样,从时钟与主时钟频率的比例关系可利用下式估算:

F=Δm/Δs

(7)

F的计算是在理想情况下得出的结果,在实际情况下还需要考虑链路延时及时钟源等诸多因素。

2 累积频率补偿方法在时钟同步中的应用

典型的IEEE 1588时钟结构如图3所示,IEEE 1588时钟由外部参考时钟(晶振等)驱动,参考时钟信号的频率决定了时间戳模块的精度与r位累加控制器的大小,例如参考时钟信号为125MHz,则时钟分辨率为8ns,r位累加控制器应设置为8ns,表示每个时钟周期q位累加器累加8ns,时间戳模块精度最大为±4ns。实际情况下,参考时钟信号多来自晶振,而晶振频率受温度、压力及老化等因素影响[3],频率相对理想频率有漂移,所以需对r位累加器进行频率补偿以调整单位周期累加值。

图3 IEEE 1588时钟结构

IEEE 1588时钟域内一般包括一个GrandMaster(GM)时钟、若干边界时钟(BoundaryClock)、若干普通时钟(OrdinaryClock)和透明时钟(TransparentClock)。其中GrandMaster时钟决定了时钟域的时间尺度(timescale)和相关属性,GrandMaster在时钟域拥有最高精度,其时钟源一般为原子钟或者GPS。图4是一个简单的IEEE 1588同步网络拓扑结构,实际情况下IEEE 1588终端可能与GrandMaster时钟间隔多个边界时钟、透明时钟或者网络交换设备等。在图4的情况下普通时钟S2通过网络端口与边界时钟Switch2同步,边界时钟Switch2通过端口S与Switch1时钟同步,Switch1通过端口S与GrandMaster时钟同步。边界时钟Switch1为GrandMaster时钟的从时钟,又是Switch2的主时钟。IEEE 1588协议规定,普通时钟S1、S2、S3不能直接与GrandMaster时钟同步。由于IEEE 1588设备间同步存在误差,也就是说普通时钟所同步的主时钟本身就是有误差的,这种误差会随着链路设备的增加而增加,文献[1]做过实际测试,这种误差的积累与所同步设备和GrandMaster之间串联的设备数n成指数关系,主从同步精度在几十纳秒,设备中间串联5个设备,时间同步的精度就降到了微秒级[4]。所以在实际应用中IEEE 1588终端与GrandMaster之间串联的IEEE 1588设备不能过多。

图4 简单的IEEE 1588同步网络拓扑结构

若有一种方法使得IEEE 1588终端时钟频率可以与GrandMaster“共振”,则可以在一定程度上减少IEEE 1588设备时钟同步的误差[5]。在IEEE 1588应用中,已经有用于主从时钟之间的基于频率补偿的方法,与仅仅依靠调整时间值的方法相比,可以同时减少相位和频率的误差。主从时钟频率补偿基本原理如式(7),每个IEEE 1588节点都可以根据Sync消息的发送与接收时间,计算出一个频率比例因子。如果根据节点中一系列频率比例因子建立一个与GrandMaster时钟相关的累积频率因子,可在一定程度上使得IEEE 1588终端与GrandMaster时钟“共振”,减少频率误差引起的累积相位误差。

根据已有主从时钟之间频率同步的基本原理,可以为每个IEEE 1588同步网络节点计算出一个频率比例因子F与频率补偿因子FreqCom。如图5所示,选择链路GM0-BC1-BC2-…-BCk-BC(k+1)-BC(k+2),假设节点k在第m个同步周期与该节点主时钟k-1的频率比例因子为Fk,m,频率补偿值为FreqComk,m。在第零个同步周期内由于从时钟只接收到一个Sync报文,无足够的信息计算频率比例因子,第零个同步周期频率补偿值为1,即时钟累加器按照默认频率周期Td累加,第m个周期时钟累加器按照周期Td·FreqComk,m累加:

FreqComk,0=1

FreqComk,m=Fk,m·FreqComk,m-1

(8)

图5 IEEE 1588同步网络

Fk,m确定了相邻两个设备之间的频率比例关系,根据相邻两节点之间的比例关系可以确定节点k与节点0即GM0的累积比例关系Fck,m:

Fc0,m=1

(9)

定义λk,m为IEEE 1588节点k频率比例因子Fk,m与1的差,即频率偏差系数,λk,m≪1:

λk,m=Fk,m-1

(10)

Fk,m=1+λk,m

(11)

根据式(9),有:

(12)

由于λk,m≪1,因此式(12)可简化为:

(13)

根据式(13),在串联IEEE 1588设备的网络中,只要每个主端口向从端口发送Sync报文时,携带一个包含频率偏差系数λk,m的TLV,就可以使得与GrandMaster非直接相连的节点建立一个与GrandMaster的关系,达到改善累计误差的目的。笔者使用StateFlow建模工具对IEEE 1588协议进行了仿真,限于篇幅不再赘述建模过程。仿真拓扑结构为3台IEEE 1588设备串联,对累积频率补偿方法进行了仿真验证,图6、7分别为使用累积频率补偿方法前后的仿真对比。使用该方法前同步误差在±90ns左右,应用该方法后的主从时钟偏差减少到±20ns左右,由此可见,累积频率补偿方法能有效提高IEEE 1588设备的时间同步精度。

3 结束语

IEEE 1588目前在以太网和网络控制系统的精确时间同步中应用广泛,首先介绍了精确时间同步协议中时间偏差和频率同步的基本原理、计算过程,然后介绍了一种累积频率补偿方法,使网络中IEEE 1588下游设备与GrandMaster建立关系,从而提高同步精度。利用Simulink仿真工具对这种方法进行了验证,结果表明:累积频率补偿方法能有效降低IEEE 1588设备的时间同步误差。

图6 使用累积频率补偿方法前主从时钟偏差

图7 使用累积频率补偿方法后主从时钟偏差

[1] 黄曙.IEEE 1588同步技术在电力系统中的应用(继电保护分册)[M].北京:中国电力出版社,2013.

[2] IEEE Std 1588,Precision Clock Synchronization Protocol for Networked Measurement and Control System[S].New York: Institute of Electrical and Electronic Engineers,2008.

[3] 张力生.振荡器的工作特性(下)[J].无线电工程,1987,(5):33~43.

[4] Balasubramanian S,Harris K R,Moldovansky A.A Frequency Compensated Clock for Precision Synchronization Using IEEE 1588 Protocol and Its Application to Ethernet[C].Workshop on IEEE 1588.Gaithersburg:MD,2003.

[5] Wang S,Cho J,Garner G M.Improvements to Boundary Clock Based Time Synchronization through Cascaded Switches[C].2006 Conference on IEEE 1588. Gaithersburg:MD,2006.

ResearchonIEEE1588PrecisionTimeSynchronizationProtocolandMethodofCumulativeFrequencyCompensation

YUE Zhong-tao, HU Li-sheng

(SchoolofElectronicInformationandElectricalEngineering,ShanghaiJiaotongUniversity,Shanghai200240,China)

Basing on the principle of IEEE 1588 clock synchronization, a cumulative frequency compensation-based method to improve synchronization precision was proposed so as to establish the relations between IEEE 1588 downstream equipment in the network and GrandMaster and to improve the synchronization precision. Simulation with Simulink proves this method.

IEEE 1588, time synchronization, cumulative frequency compensation, modeling

TH861

A

1000-3932(2016)01-0067-04

2015-12-02(修改稿)

猜你喜欢
主从时钟偏差
别样的“时钟”
古代的时钟
如何走出文章立意偏差的误区
两矩形上的全偏差
FANUC系统PROFIBUS主从功能应用
有趣的时钟
时钟会开“花”
关于均数与偏差
基于飞行试验数据的仿真模型主从一体化检验
呼叫中心提示时间与顾客耐心的主从博弈模型