马晓军 莫非
摘 要:该文介绍了电力以太网交换机的同步情况和IEEE 1588精密时间协议的特点。在此基础上,阐述了IE1588的基本原理,详细介绍了IEEE1588协议的实现方式,对几种时间同步的方式进行了分析,比较了这几种方式的精度,提出了IEEE1588在电力以太网交换机中的实现方法,并举例说明了实际应用。
关键词:IEEE1588 电力以太网交换机 时间同步
中图分类号:TM76 文献标识码:A 文章编号:1672-3791(2014)10(a)-0084-02
1 电力以太网交换机同步基本概况
电力以太网交换机是面向智能变电站应用而开发的高性能、高可靠和高安全的工业级网络交换设备。它充分考虑了变电站的严酷工作环境和网络通信需求,采用了电信级以太网、硬件时间戳、智能内容识别等先进技术,使得智能变电站通信系统更加可靠。2002年发布的IEEE 1588 定义了一种用于分布式测量和控制系统的精密时间协议(precision timeprotocol,PTP),其网络对时精度可达亚us级,引起了自动化、通信等工业领域研究者的重视。国外一些公司(如Altera、Rockwell 等)相继开始了支持IEEE1588的相关硬件产品开发和IEEE1588具体工业应用的研究,进一步完善的IEEE1588标准第2版已经于2008年发布。鉴于IEEE1588高精度的分布式网络对时特点,我们设计的电力以太网交换机已经实现了IEEE 1588的功能,并且运用到工程实践中。
2 IEEE1588 的介绍和实现
通过网络,将通信网上各种终端设备或计算机设备的时间信息(年月日时分秒)基于UTC(协调世界时)的时间偏差限定在足够小的范围内(如100 ms),这种网络同步过程叫做网络时间同步。IEEE1588的基本功能是使分布式网络内的最精确时钟与其他时钟保持同步,它定义了一种精确时间协议PTP(Precision Time Protocol),用于对标准以太网或其他采用多播技术的分布式总线系统中的传感器、执行器以及其他终端设备中的时钟进行亚微秒级同步。电力以太网交换机对时间同步要求十分严格。
IEEE1588时间同步协议的特点。
在物理层或尽量接近物理层的地方打时间戳,以保证精度;主从设备之间报文的传输延时要对称,否则计算的结果会存在比较大的误差;报文经过普通交换机时有“存储->转发”的过程,因此其传输时延不可测且相差较大,对精度有较大影响,所以推荐使用点对点的传输方式。
3 实现IEEE1588协议的方式
BC模式下交换机内部PTP时钟通过一个端口作为从端口与主设备同步。交换机的其余端口作为主端口,将交换机的PTP时钟传递给终端设备或下一级交换机。
TC模式要求收发链路线路延时大致相等,其与BC不同在于:TC E2E模式下,交换机并不传递时钟。该模式下,交换机分别记录SYNC、Delay_Req报文进出交换机的时间,从而得到其在交换机内驻留时间。同时,在接收到Follow_up、Delay_Resp报文时,将此类报文中的时戳值分别加减上述驻留时间,再转发到相应端口。终端设备根据修正后的时戳值,可以准确的计算出Delay和Offset。
ΔS是SYNC报文在交换机中的驻留时间;ΔR是Delay_Req报文在交换机中的驻留时间;E2E交换机将跟随报文和响应报文中的时间值分别加上ΔS或减去ΔR后发给从设备。
TC E2E 线路延时和时间差计算:
對终端设备而言,TC E2E模式线路延时和时差计算方法与BC模式相同。计算公式如下:
T2-(T1+ΔS )=Delay+Offset
(T4-ΔR)-T3=Delay-Offset
两式相减可求出Offset:
Offset=((T2-T1)-(T4-T3)-(ΔS-ΔR))/2
Delay=((T2-T1)+(T4-T3)-(ΔS+ΔR))/2
TC Peer to Peer:
P2P模式对同步报文和跟随报文的处理方式与E2E模式大致相同,区别在于P2P交换机还需要事先测出主设备到交换机的线路时延,并将它加到Follow_up包的时间中。P2P交换机将延时请求和响应报文当作普通报文处理。从设备向交换机发PDelay_Req包,交换机记录下收到该包的准确时间TS1,并向从设备发出响应报文PDelay_Resp,该报文带有时间戳TS1;同时记录延时响应报文的实际发出时间TS2,随后交换机再向从设备发出带有时间戳TS2的PDelay_Follow_up报文。从设备需记录PDelay_Req的准确发出时间T3和PDelay_Resp报文的准确到达时间T4。
主设备到交换机之间的线路延时定义为Delay_1;
交换机到从设备之间的线路延时定义为Delay_2;
从设备和交换机的时间差定义为Offset_2
ΔS为SYNC报文在交换机内的驻留时间
TS1、TS2分别是延时请求报文的时间接收时间和延时响应报文的实际发送时间
TC P2P 线路延时和时间差计算:
同步报文的处理与E2E模式相同,可得:
T2-(T1+ΔS+Delay_1)=Delay_2+ Offset
由PDelay_Req、PDelay_Resp、PDelay_Follow_up报文可得出下述公式:
TS1-T3=Delay_2-Offset_2
T4-TS2=Delay_2+Offset_2
可算出从设备的时差:
Delay_2=(T4-T3)-(TS2-TS1)
Offset=(T2-T1)-ΔS-Delay_1-(( T4-T3)-(TS2-TS1))/2
4 时间同步精度分析
BC时间同步精度分析,为保证精度,需严格按IEEE1588协议规定的时戳采样点取时间;交换机内必须有一个高精度可调的时钟源,用于将本地时钟与上级时钟同步;BC模式时钟逐级传递,因此交换机级联之后,时间误差会发生积累。导致最后终端设备与主设备时间误差较大。
TC E2E 时间同步精度分析,由于报文在交换机内驻留时间较短(一般为几十微秒),正常情况下两报文驻留时间差值一般是微秒级。一个稳定度50 ppm的晶振,每秒钟最大可能跑偏50 μs,每微秒跑偏50ps,对最后精度影响不大。
TC P2P 时间同步精度分析,P2P模式要求交换机测量主设备到它的线路延时,并将延时值和SYNC包驻留时间一起加到Follow_up包中。P2P模式需计算和测量的时间量远多于E2E模式,因此其测量精度不如E2E。E2E模式下在局域网内有很多终端设备时,所有的延时请求报文都会汇聚给GrandMaster,对其造成较大响应负担,导致来不及响应,影响终端设备时间同步精度。
E2E模式有着最好的精度,BC模式的误差随交换机级数的增加线性上升。
5 应用实例
DP83640是一款基于IEEE 1588标准的时钟同步芯片,采用硬件跟软件相结合的方式提供最高的精确度实时工业的时钟同步,可确保分布式的各个节点按照主时钟的时间同步定时,并确保各节点之间的时间偏差不会超过固定值。一旦线路上有PTP包,就会被DP83640的精密PHYTER所读取。
在同步以太网机的方案中,通过替换以太网层并增加IEEE 1588 PTP软件实现,CPU、交换芯片和DP83640通过MII口连接起来组成一个系统。
6 结语
电力以太网交换机要求高精度的时钟信号以便同步控制信号和捕捉数据,在交换机中应用IEEE 1588精密时间协议(PTP)能够满足这一要求。
该文所介绍的使用DP83640实现IEEE1588V2的方案已经在本公司的装置实现6网口的主从时钟同步。
参考文献
[1] Technical Committee on Sensor Technology,IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,24 July 2008.
[2] National Semiconductor Corporation,DP83640 Precision PHYTER–IEEE 1588 Precision Time Protocol Transceiver,January 7,2009.
[3] National Semiconductor Corporation, National Semiconductor Ethernet PHYTER Software Development Guide,October 2,2008.
[4] 蘇建峰.IEEE1588在电力系统应用的可行性与方案研究.
[5] 李鉴,孙宝成,周雷.一种新的局域网时间同步方法[J].计算机与数字工程,2005,30(9):161-164.
[6] 赵上林.基于 IEEE 1588 的数字化变电站时钟同步技术研究.