分布式控制系统精确时钟同步技术

2012-07-26 04:57杨传顺李国华
自动化仪表 2012年4期
关键词:标准差以太网报文

杨传顺 袁 建 李国华

(江苏自动化研究所,江苏 连云港 222006)

0 引言

随着分布式控制系统应用范围的广泛增长和应用规模的不断扩大,通过系统网络特别是控制系统中广泛应用的以太网传递和同步系统内各分散节点的时钟变得越来越重要。

系统对时钟的应用主要有两种:基于绝对时间的应用和基于频率的应用。绝对时间用于记录系统内事项发生的次序;频率用于控制器、执行器以及传感器的同步采样、反馈和执行。

基于此,工业界一直在致力于解决以太网定时同步能力不足的问题。1992年推出的基于软件控制方式的网络时间协议(network time protocol,NTP),同步精度可以达到200 μs,但是不能满足测量仪器和工业控制所需的精度。为了提高分布网络中定时同步的精度,美国工业界成立了网络精确时钟同步委员会,于2002年底推出了IEEE 1588标准[1]。该标准的精确时钟同步协议在时钟同步方面取得了重大进展,2008年推出了该标准的2.0版,国际电工协会也把此标准纳入到了IEC标准中,对应的标准是IEC 61588[2]。

1 IEEE 1588标准

IEEE 1588标准的全称是网络测量和控制系统的精确时钟同步协议(precision time protocol,PTP)。PTP和NTP技术一样,具有配置容易、收敛快速以及对网络带宽和资源消耗少等优点。它的主要原理是通过一个同步信号周期性地对网络中所有节点的时钟进行校正,可以使基于以太网的分布式系统时钟达到高精度同步。

在IEEE 1588标准中,系统内的时钟分为普通时钟和边界时钟两种。只有1个PTP通信端口的时钟是普通时钟;有2个及以上PTP通信端口的时钟是边界时钟。每个PTP端口的状态有9种,主要的3种状态是:主状态(PTP_MASTER)、从状态(PTP_SLAVE)和被动状态(PTP_PASSIVE)。PTP端口处于主状态的时钟称为主时钟(grandmaster clock,GMC),处于从状态的时钟称为从时钟,主时钟负责同步系统内所有的从时钟。如果PTP端口处于被动状态,则意味着对应的时钟不参与时钟同步。

理论上任何时钟都能实现主时钟和从时钟的功能,但一个系统内只能有一个主时钟,整个系统中的最优时钟为主时钟,它具有最好的稳定性和精确性等。根据各节点的时钟精度、级别以及通用协调时间(universal time coordinated,UTC)的可追溯性等,系统采用最优主时钟算法来自动选择系统内的主时钟。典型的主从时钟关系示意图如图1所示。

图1 主从时钟关系示意图Fig.1 Relationship between master and slave clocks

PTP的参考体系结构如图2所示[3],协议层包含3个通信接口:端口接口、时间戳接口和时钟接口。端口接口用来分配和接收PTP信息。时间戳接口通过对同步报文加盖时间戳来实现精确时钟同步,可以根据精度要求决定采用是硬件还是软件产生的时间戳。时钟接口能够对本地时钟进行读写操作,达到绝对时间和频率与主时钟的同步。该接口包含了与时钟同步质量(如精确度、稳定度等)密切相关的控制算法。

图2 PTP参考体系结构Fig.2 PTP reference architecture

2 精确时钟同步协议的算法

精确时钟同步协议(PTP)采用分层的主从模式进行时钟同步,同步的基本原理是对发出和接收的报文时间进行记录,每条报文都有时间戳信息。主时钟周期性发布时间同步报文,从时钟根据接收到的同步报文的时间戳信息,计算出主从线路报文传输的时间延迟和主从时钟的时钟偏移,并相应地调整本地时间,使从时钟保持与主时钟一致的频率与相位。系统据此实现主从时钟的频率同步和时间同步。时钟同步的精度主要依赖于计数器频率的准确性和链路的对称性[4]。

PTP定义了4种多点传送的报文:同步报文、跟随报文、延迟请求报文和延迟应答报文。这些报文的交互顺序如图3所示,收到的信息回应与时钟当前的状态有关。

图3 偏移和延迟的测量Fig.3 Measurement of time offset and delay

2.1 偏移和延迟测量

为了描述分布式控制系统的时钟同步问题,我们以一个主时钟和一个从时钟的同步过程为例,其具体算法说明如下。

①主时钟按照定义的间隔时间(缺省是2 s)周期性地向从时钟发送“同步报文”,这个报文的时间戳是主时钟打上的预计发送时间。该报文在接收端由从时钟记录下接收时间ts1。PTP支持由硬件辅助在物理层或接近物理层的位置检测和记录时间戳,以便提高同步时钟的精度。

②主时钟向从时钟发送“跟随报文”,此报文包含先前的同步报文准确的发送时间tm1。

假设系统的网络延迟时间为tDelay,从时钟和主时钟的偏移时间为tOffset,则:

③从时钟向主时钟发送“延时请求报文”(延时请求报文的间隔是独立设置的),报文发送后由从时钟记下准确的发送时间ts2,在主时钟端记录准确的接收时间tm2。

④主时钟向从时钟返回一个“延时响应报文”,此报文包含先前的“延时请求报文”的准确接收时间tm2,从时钟利用这个接收时间和由它记录的发送时间ts2,可以得到:

根据网络链路的对称性,由式(1)和式(2)可以计算出报文传输的平均延迟时间:

⑤重复步骤①,由主时钟发送新的同步报文,可以在从时钟端得到新的同步报文的接收时间ts3。

⑥重复步骤②,由主时钟发送新的跟随报文,可以得到新的同步报文的准确发送时间tm3。

则主从时钟的偏移为:

根据求出的偏移tOffset和延迟tDelay,如果目前的从时钟时间为tsOld,则可以计算出目前应该同步到的新的从时钟时间tsNew:

据此,在接下来的一个同步周期内,就可以实现从时钟和主时钟的同步。以上是整个时钟同步过程的具体步骤。

在实际的分布式应用中,同步报文和跟随报文的发送是按照定义的时间间隔周期性发送的,延迟请求报文和延迟应答报文发送间隔可以是不规则的,其测量间隔时间(缺省值是4~60 s之间的随机值)比偏移值测量间隔时间要大[5],这样做可以减轻网络尤其是终端设备的负荷。

2.2 速率校正

IEEE 1588采用时间分布机制和时间调度概念,系统内的从时钟设备可使用普通振荡器,通过软件调度与主时钟保持同步。

速率校正通过测量每个报文从主时钟开始与到达从时钟之间的差异,计算出从时钟频率相对于主时钟频率的一个基本比值来校正频率差。由于报文延时偏差可能很明显,有可能使任何单一的速率测量有很大的不精确性,因此,可以利用平均路径延时测量来检测短时报文,并使用这些报文检测从时钟对主时钟的频率偏移[6]。

为避免从时钟的抖动和振荡,维持时钟的单调性,精确时钟同步协议(PTP)没有立即用前面得到的时钟偏差直接调整本地时钟,而是把对PTP节点本地时钟的校正处理看作一个锁相环,通过一个环路滤波器转换为一个对可变频率振荡器的控制量来控制振荡器的振荡频率,从而间接调整系统的从时钟[7]。

3 报文时间戳的生成

PTP可以由软件记录报文的发送时间戳和接收时间戳,也可以由硬件记录。如图4所示,PTP支持在物理链路层A、驱动程序层B和应用软件层C处检测和记录报文发送和接收的时间戳。越靠近物理链路层,同步精度越高;越靠近应用软件层,同步精度越低。早期的网络时间协议(NTP)是只有软件控制的同步协议,只在应用软件层打上时间戳,因此同步的精度不高;而PTP为了提高系统的时钟同步精度,既使用软件,也使用硬件和软件配合,能获得更精确的定时同步。PTP支持硬件辅助在物理链路层检测和记录报文的时间,从而把报文从驱动程序到应用软件处理的不确定时间延迟排除在系统精度的分析之外[8]。

图4 报文时间戳的检测和记录Fig.4 Detection and record of message timestamp

目前已有多种芯片和微控制器支持PTP时间戳硬件实现,常见的有美国国家半导体的DP83640芯片、Silicon Labs公司生产的Si5315芯片和飞思卡尔的ColdFire MPU等,也可以采用FPGA设计实现。当采用硬件辅助检测和记录PTP报文的时间戳时,即在以太网物理层(PHY)中放置这些器件,一旦线路上有PTP包,即被这些器件读取[9]。因此,支持PTP时间戳的硬件功能实现是保证时间同步精度的关键器件。采用此设计方法的一个优点是仅需替换掉以太网物理层并增加IEEE 1588 PTP软件,便可将这种解决方案添加到已有的产品设计中,从而避免转换到新的处理器系列或开发辅助FPGA的复杂过程。

采用DP83640芯片实现以太网时钟同步的系统结构图如图5所示。

图5 系统结构图Fig.5 Structure of the system

当采用PTP时,本地时钟相对于主时钟的同步时钟精度可由PTP的标准差(或称均方差)表示,PTP的标准差基于Allan标准差,Allan标准差σy(τ)的估计如式(6)所示:

式中:xk、xk+1、xk+2为对应时间 tk、tk+ τ、tk+2τ的样本测量值;τ为样本测量的时间间隔;N为样本总数。Allan标准差是对时基振荡器频率变化的二阶统计,PTP标准差则是对测量时钟和本地参考时钟的偏差统计,PTP方差定义为:

由式(6)和式(7)可得PTP的标准差无偏估计的计算如式(8)所示:

式中:xk、xk+1、xk+2为对应时间 tk、tk+ τ、tk+2τ的测量值;τ为样本测量的时间间隔;N为样本总数。

测试系统时钟同步精度的方法有多种,最常用的是通过示波器观察秒脉冲信号(pulse per second,PPS)的波形[10]。

为了使测试的精度能够满足实际的工程应用,对不同情况下的以太网网络负载分别进行了相应的测试,测试系统的组成如图6所示。

图6 同步精度测试系统的组成Fig.6 Compositions of the test system for synchronization accuracy

设置主时钟和从时钟在某一频率点产生一个时钟输出,然后比较这两路时钟信号。采用秒脉冲测量是由于秒脉冲信号一般从数字输出中产生,虽然会对同步结果增添额外的误差,但是附加的误差仅会影响数字输入和输出,而不是同步时钟本身,因此不会包括在同步测量中[11]。时钟同步精度秒脉冲测试结果如表1所示。

表1 测试结果Tab.1 Test result

由表1可知,当网络负载在80%时,从时钟和主时钟的同步精度在28.0 ns的标准差内,完全能够满足分布式控制系统的时钟需求。

4 结束语

随着分布式测量和控制系统控制节点规模的不断增大,节点间的距离分散化和数据传输的网络化,使节点间的时钟同步变得愈加重要。依靠传统的专用线缆的方式同步系统时钟,只会增加系统的复杂性、降低系统的可靠性。

IEEE 1588精确时钟同步协议的出现,为分布式测控系统的时钟同步提供了一种切实可行的途径。由于PTP的应用建立在系统的通信网络(不局限于以太网)上[12],不需要为时钟的传递布置特别的网络,只需在原有网络上添加时钟同步报文。这些报文只占用少许的网络资源,它们和控制数据包或其他信息包共享网络,具有较低的网络开销,在不需要太多资源的情况下,就能实现微秒级的高精度时钟同步[13]。

IEEE 1588标准的精确时钟协议,代表了控制网络时钟同步技术发展的新趋势,值得进一步的研究和应用推广。

[1]IEEE Instrumentation and Measurement Society.IEEE Std 1588-2008 IEEE standard for a precision clock synchronization protocol for networked measurement and control systems[S].New York,NY 10016-5997,IEEE-SA Standards Board,2008.

[2]International Electrotechnical Commission.IEC 61588-2009 Precision clock synchronization protocol for networked measurement and control systems[S].IEC under Licence from IEEE,ISBN2-8316-1026-3,2009.

[3]Mahmood A,Gaderer G.Timestamping for IEEE 1588 based clock synchronization in wireless LAN[C]//ISPCS 2009 International IEEE Symposium on Precision Clock Synchronization for Measurement,Control and Communication.Italy,2009:63-68.

[4]Rodrigues S.IEEE 1588 and synchronous Ethernet in telecom[C]//ISPCS 2007 International IEEE Symposium on Precision Clock Synchronization forMeasurement,Controland Communication.Gaderer,2007:138-142.

[5]魏丰,孙文杰.IEEE 1588协议时钟同步报文的精确时间标记方法研究[J].仪器仪表学报,2009(1):162-169.

[6]王颋,王平,向敏.EPA网络控制系统时钟同步主时钟控制算法研究[J].系统仿真学报,2009(1):146-151,156.

[7]朱宝,杨顺昆.实时分布式仿真测试平台时钟同步算法[J].计算机工程,2010(24):231-232,235.

[8]王波,吕俊伟,于振涛.基于D-S的时钟同步竞争安全算法[J].电讯技术,2011(1):61-67.

[9]李学桥,陈园,梁爽.基于IEEE1588协议的精确时钟同步算法改进[J].计算机工程与科学,2011(2):42-45.

[10]章涵,冯冬芹,褚健.基于透明传输的数控系统时钟同步算法[J].计算机集成制造系统,2010(4):873-877.

[11]鲁立,冯冬芹,褚健,等.传输时延和时钟同步对以太网控制系统的影响[J].控制理论与应用,2010(6):793-798.

[12]于会游,周春晖,许希斌,等.分组通信网络时钟同步研究及性能仿真[J].计算机仿真,2009(5):173-178.

[13]蔡君,范馨月,周非.分组网络时钟同步算法的研究[J].电信科学,2010(S2):227-231.

猜你喜欢
标准差以太网报文
基于J1939 协议多包报文的时序研究及应用
低轨星座短报文通信中的扩频信号二维快捕优化与实现
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
订正
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
更 正
谈实时以太网EtherCAT技术在变电站自动化中的应用
浅谈EPON与工业以太网在贵遵高速公路中的应用
万兆以太网在连徐高速公路通信系统改造中的应用