摘 要 介绍了精确时钟同步协议标准IEEE 1588在解决工业以太网实时性上的应用,阐述了其中PTP协议的基本原理,提出了IEEE 1588的应用现状及其进一步应用领域。
关键词 以太网 实时性 IEEE 1588 PTP协议
1 引言
以太网由于其开放性好、应用广泛以及价格低廉等特点,已逐渐垄断了商用计算机的通信领域和过程控制领域中上层的信息管理与通信,并且有进一步直接应用到工业现场的趋势。要想在工业环境中能够有效的利用以太网,必须使其符合工业环境中的特殊需求。以太网应用于工业现场的关键技术之一便是对实时性的保证。但是由于以太网自身的CSMA/CD机制以及设备层和I/O层上的数据采集与传输问题;低效交换、太多设备以及网络自身流量的不恰当协调;还有在上一层通信(如TCP及UDP)上进行的误差检测及翻译障碍等,都能从以太网上占取宝贵的时间。这些延迟阻碍了以太网一些知名的优势被应用到离散与运动控制,以及其他高速应用中。
目前,已有多种技术用来提高工业以太网的实时性,例如增加带宽、改进网络拓扑结构、采用智能集线器及交换式以太网技术等。而本文介绍了一种实时以太网解决方案——IEEE 1588标准精确时间协议,它的主要原理是通过一个同步信号周期性的对网络中所有站点的时钟进行校正同步[3],可以使基于以太网的分布式运动控制系统达到精确同步。
2 IEEE 1588简介
IEEE 1588(网络测控系统精确时钟同步协议)最初由Agilent Laboratories(安捷伦实验室)的John Eidson以及来自其它公司和组织的12名成员开发,后来得到IEEE的赞助,并于2002年11月得到IEEE批准。
IEEE 1588的基本功能是使分布式网络内的最精确时钟与其他时钟保持同步,它定义了一种精确时间协议PTP(Precision Time Protocol),用于对标准以太网或其他采用多播技术的分布式总线系统中的传感器、执行器以及其他终端设备中的时钟进行亚微秒级同步。该协议为小型同构或异构局域网设计,设计者特别注意降低资源使用,使其可以在低成本终端设备上应用。该协议对内存及CPU性能没有特殊的要求,只需要最小限度的网络带宽。
IEEE 1588设计初期是用于测量和控制系统,后来受到自动化领域尤其是分布式运动控制领域的关注,而且其军事应用的初始计划也已经起步,远程通信和电力系统等相关组织也对其表现出浓厚的兴趣。
3 PTP协议原理
在工业控制领域一些对时间同步要求十分严格的分布式网络系统中,现行的Internet网络时间协议NTP(Network Time Protocol),简单网络时间协议SNTP(Simple Network Time Protocol)等不能达到所要求的同步精度或收敛速度,而PTP协议使基于工业以太网的高精度同步控制成为可能。IEEE 1588 PTP协议也借鉴了NTP技术,但其在硬件上要求每个网络节点必须有一个包含实时时钟的网络接口卡,可以实现基于PTP协议栈的相关服务。
3.1 时钟和报文
IEEE 1588将整个网络内的时钟分为两种,普通时钟OC(Ordinary Clock)和边界时钟BC(Boundary Clock),只有一个PTP通信端口的时钟是普通时钟,有一个以上PTP通信端口的时钟是边界时钟,每个PTP端口提供独立的PTP通信。其中,边界时钟通常用在确定性较差的网络设备如交换机和路由器上。从通信关系上又可把时钟分为主时钟和从时钟,理论上任何时钟都能实现主时钟和从时钟的功能,但一个 PTP通信子网内只能有一个主时钟。
整个系统中的最优时钟为最高级时钟GMC(Grandmaster Clock),有着最好的稳定性、精确性、确定性等。根据各节点上时钟的精度和级别以及UTC(通用协调时间)的可追溯性等特性,由最佳主时钟算法(Best Master Clock)来自动选择各子网内的主时钟;在只有一个子网的系统中,主时钟就是GMC。每个系统只有一个GMC,且每个子网内只有一个主时钟,从时钟与主时钟保持同步。
PTP通信中的报文包括同步报文,跟随报文,延迟请求报文,延迟应答报文和管理报文,各报文的详细定义请参看参考文献[1]。
3.2同步机理
PTP协议基于同步数据包被传播和接收时的最精确的匹配时间,每个从时钟通过与主时钟交换同步报文而与主时钟达到同步。这个同步过程分为两个阶段:偏移测量阶段和延迟测量阶段。
第一阶段修正主时钟与从时钟之间的时间偏差,称为偏移测量。如图1所示。
图1 偏移测量
图2 延迟测量
在修正偏移量的过程中,主时钟按照定义的间隔时间(缺省是2秒)周期性地向相应的从时钟发出唯一的同步报文。这个同步报文包括该报文离开主时钟的时间估计值。主时钟测量传递的准确时间TM1,从时钟测量接收的准确时间TS1。之后主时钟发出第二条报文——跟随报文(Follow_Up Message),此报文与同步报文相关联,且包含同步报文放到PTP通信路径上的更为精确的估计值。这样,对传递和接收的测量与标准时间戳的传播可以分离开来。从时钟根据同步报文和跟随报文中的信息来计算偏移量,然后按照这个偏移量来修正从时钟的时间,如果在传输路径中没有延迟,那么两个时钟就会同步。
为了提高修正精度,可以把主时钟到从时钟的报文传输延迟等待时间考虑进来,即延迟测量,这是同步过程的第二个阶段,如图2所示。
从时钟向主时钟发出一个“延迟请求”数据包,在这个过程中决定该报文传递准确时间TS3。主时钟对接收数据包打上一个时间戳,然后在“延迟响应”数据包中把接收时间戳TM3送回到从时钟。根据传递时间戳TS3和主时钟提供的接收时间戳TM3,从时钟计算与主时钟之间的延迟时间。与偏移测量不同,延迟测量是不规则进行的,其测量间隔时间(缺省值是4到60秒之间的随机值)比偏移值测量间隔时间要大。这样使得网络尤其是设备终端的负荷不会太大。
采用这种同步过程,可以消减PTP协议栈中的时间波动和主从时钟间的等待时间。关于同步机制和IEEE 1588其它特征的进一步详细描述参见IEEE 1588标准[1]。
4 应用现状
4.1应用领域
IEEE 1588的典型应用领域是实验室或产品测量和控制系统、工业自动化、电力系统或远程通信系统以及包含多个传感器、执行器、仪器仪表和控制器的分布式运动控制系统。
国外方面,许多组织都已决定将该协议用于其基于现场总线的以太网络。而国内还未发现有相关应用。
2003 年ODVA(开放式网络设备供应商协会)计划在其实时控制应用的通用工业协议CIP(Common Industrial Protocol)中加入时间同步服务,称之为CIP Sync,作为对Ethernet/IP-CIP的实时扩展。测试表明,如果采用100Mbps交换式以太网系统,CIP Sync可以在设备间传递小于500ns的时间同步精度,符合最严格的实时应用的要求。
EPSG(Ethernet Powerlink 标准联盟)已经计划将该协议作为EPL(Ethernet Powerlink)第三版本规范的固定内容。在第三版本中,IEEE 1588将用在跨越多个实时段的同步通信上,提供分布式的EPL应用。EPL只需要标准以太网硬件,不需要专用的ASICs,但必须通过网桥或路由器将实时通信与非实时通信分离。
西门子公司也致力于用IEEE 1588修改其PROFInet V3;Beckhoff和Jetter的实时工业以太网解决方案EtherCAT也研究采用该协议或类似的方法来保证时间同步。这两种方案都需要专用的ASICs。
4.2应用实例
Hirschmann公司提出了一种IEEE 1588同步元件模型(如图3所示),硬件部分包括一个高精度的实时时钟和一个时间戳单元,来产生时间戳,软件部分与实时时钟和硬件时间戳单元绑定实现 IEEE 1588协议[2]。Hirschmann已经在它的Mice 模块化以太网交换机上测试了IEEE 1588 增强插件模块,并发现其同步精度在最大抖动时为±100纳秒,且主、从时钟之间偏移量的频率分布总计为23.95纳秒,平均为-4.248纳秒。
Rockwell Automation也在其开发的分布式控制系统样机中使用了IEEE 1588,这种控制系统包括三个运动控制器(如图4所示),每个控制器都利用一块 SERCOS卡并通过 SERCOS 与一个驱动器相连,且每个驱动器都连接一个运动轴,但其中一个被指定为主轴,而另两个则被指定为从轴。由于主轴控制器周期性地向每一从轴控制器发送位置参考信息,因而使每一从轴都能与主轴以一比一的比率相咬合。所有节点上的时钟(运行于50 MHz PowerPC CPU上)通过IEEE 1588并借助以太网而被同步[4]。
图3 Hirschmann同步元件模型
图4 Rockwell运动控制器模块图
5 结束语
从目前的原型实验和应用来看,IEEE 1588中标准化的精确时间协议可以达到亚微妙级的同步精度,并且有可能达到更高的精度。IEEE 1588为基于多播技术的标准以太网的实时应用提供了有效的解决方案,但同时也存在一些尚待进一步研究的问题,如主时钟的容错性能,振荡器的稳定性对时钟的影响等。2004年9月NIST(国际标准技术协会)已经举行了关于IEEE 1588的第二次专题研讨会,相信今后该标准会更加完善,也会有更多的具体应用可以参考。
参考文献
[1] IEEE Std. 1588 – 2002,IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems[S], 2002
[2] Hirschmann Electronics. IEEE 1588 - Precise Time Synchronization as the Basis for Real Time Applications in Automation[J/OL]. , 2003
[3] Jim M. Ethernet Hits Real-Time...Really [J/OL]. Control Engineering, Dec 1, 2003
[4] Kendal R, Sivaram B, and Anatoly M. The Application of IEEE 1588 to a Distributed Motion Control System[J/OL]. , 2003
[5] John C, Michael C, and Joe W. IEEE 1588 standard for a precision clock synchronization protocol for networked measurement and control systems[J]. Sensors for Industry Conference,2002. 2nd ISA/IEEE,19-21 Nov. 2002, Pages:98 – 105
阅读(2013) | 评论(0) | 转发(0) |