IEEE1588
标准定义了一个在测量和自动化系统中的时钟同步协议。该协议特别适合于以太网,可以实现微秒级高精度的时钟同步。
以太网的时钟同步
IEEE1588
定义了一个在测量和控制网络中,与网络交流、本地计算和分配对象有关的精确同步时钟的协议(
PTP
)。此协议并不是排外的,但是特别适合于基于以太网的技术,精度可达微秒范围。由此,目前已经开展的大量工作力将该协议整合到一些基于以太网的自动化协议中。甚至一些严格定义的协议,如
Powerlink
和
EtherCat
也将拓展到
IEEE1588
协议。
IEEE1588
的历史
在过去几年中,一些研究机构和商业组织一直在研究设备之间,尤其是测量和控制设备之间的时钟同步的技术。将这种技术标准化的公开讨论开始于一些研发人员在工业自动化方面将
IEEE1451
系列标准应用于分布式系统的工作中。
在
2000
年的
11
月份,这种研究兴趣发展成为一个委员会,并寻求了一些赞助,专门从事将时钟同步问题标准化的工作。委员会的第一次会议在
2001
年
4
月召开,会议决定向一些权威研究机构寻求赞助和支持。这些机构包括:电气与电子工程师协会
(IEEE)
,仪器与测量技术协会的传感器委员会,国家标准与技术协会
(NIST)
,该协会也在从事
IEEE1451
标准的起草工作。
委员会的成员包括来自于自动化研究,机器人研究,检测与测量研究和测时研究方面的工程师,以及
NIST
协会的代表和美国军方的代表。委员会向
IEEE
组织递交了一份正式研究方案,并在
2001
年
6
月
18
日
得到了核准。
按照
IEEE
的规定,委员会递交的草案在
2002
年经过修改和两轮投票后被递交到
IEEE
标准复查委员会,于
2002
年
12
月通过核准,并于三个月后出版了标准。从那以后
IEEE1588
标准的
PDF
文档已经开始在其主页上公布(
http://ieee1588.nist.gov/
),印刷品也提供订购。
该标准的技术基础来源于一家
1999
年从
HP
脱离的名为
Agilent
的公司。许多参数的测试需要在大型的、空间分散的、分隔式的系统中进行,而无法采用传统的集中式的方法得到。
Agilent
公司将这项技术整合于
Vantera gauging
系统中。此系统的时间精度大约为
200ns
。
自动化系统的时间印章
使用时间印章来同步本地时间的原理也可以使用在生产过程的控制中。在网络通信时同步控制信号可能会有一定的波动,但它所达到的精度使得这项技术尤其适用于基于以太网的系统。通过采用这种技术以太网
TCP/IP
协议不需要大的改动就可以运行于高精度的网络控制系统之中。
在区域总线中它所达到的精度远远超过了现有各种系统。此外,在企业的各层次中使用基于以太网
TCP/IP
协议的网络技术有着巨大的优势。
系统组件
一个
1588
精确时钟
(PTP)
系统包括多个节点,每一个都代表一个时钟。每个时钟之间经由网络连接。按工作原理可以分为两种时钟:普通时钟和边界时钟。它们之间的区别是普通时钟只有一个
PTP
端口,而边界时钟包括多个
PTP
端口。在网络中,每一个时钟都可能处于下面几种状态:从属时钟、主时钟和原主时钟。
一个简单系统包括一个主时钟和多个从属时钟。如果同时存在多个潜在的主时钟,那么活动的主时钟将根据最优化的主时钟算法决定。所有的时钟不断地与主时钟比较时钟属性,如果新时钟加入系统或现存的主时钟与网络断开,则其他时钟会重新决定主时钟。
如果多个
PTP
子系统需要互联,则必须由边界时钟来实现。边界时钟的某个端口会作为从属端口与子系统相联,并且为整个系统提供时钟标准。
因此这个子系统的主时钟是整个系统的原主时钟。边界时钟的其他端口会作为主端口,通过边界时钟的这些端口将同步信息传送到子系统。边界时钟的端口对子系统来说是普通时钟。
同步的基本原理包括时间发出和接收时间信息的记录,并且对每一条信息
“
加盖
”
时间印章。有了时间记录,接收方就可以计算出自己在网络中的时钟误差和延时。
描述时间的信息
为了管理这些信息,
PTP
协议定义了四种多点传送的信息类型:一种是同步信息,简称
Sync
;一种是
Sync
之后的信息,简称
Follow_Up
;一种是延时要求信息,简称
Delay_Req
;还有一种是
Delay_Req
的回应信息,简称
Delay_Resp
。收到的信息回应是与时钟当前的状态有关的。
Sync
信息是从主时钟周期性发出的
(
一般为每两秒一次
)
,它包含了主时钟算法所需的时钟属性。总的来说
Sync
信息是包含了一个时间印章,精确地描述了数据包发出的预计时间。
由于信息包含的是预计的发出时间而不是真实的发出时间,所以
Sync
信息的真实发出时间被测量后在随后的
Follow_Up
信息中发出。
Synce
信息的接收方记录下真实的接收时间。使用
Follow_Up
信息中的真实发出时间和接收方的真实接收时间,可以计算出从属时钟与主时钟之间的时差,并据此更正从属时钟的时间。但是此时计算出的时差包含了网络传输造成的延时,所以使用
Delay_Req
信息来定义网络的传输延时。
Delay_Req
信息在
Sync
信息收到后由从属时钟发出。与
Sync
信息一样,发送方记录准确的发送时间,接收方记录准确的接收时间。准确的接收时间包含在
Delay_Resp
信息中,从而计算出网络延时和时钟误差。同步的精确度与时间印章和时间信息紧密相关。纯软件的方案可以达到毫秒的精度,软硬件结合的方案可以达到微秒的精度。
IEEE 1588
工作组
为了推进和联合进行标准的完善和发展,
2003
年
9
月在
IEEE
的办公地成立了以下三个工作组。
(1)
使用者需求工作组
主要负责使用者对于
IEEE1588
协议的需求,使用者的构成,与其他标准的关系等。
(2)
技术拓展工作组
主要负责
IEEE1588
的技术拓展和改进,如标记帧和
ipv6
的影响,非
UDP
应用,冗余和错误容差,以及
IEEE1588
的简化等。
(3)
一致性与解释工作组
主要负责
IEEE1588
标准的解释,认证过程、测试装置和范例实现等。
与其他协议之间的比较
IEEE1588
与其他常用于
Ethernet TCP/IP
网络的同步协议如
SNTP
或
NTP
相比,主要的区别是:
PTP
是针对更稳定和更安全的网络环境设计的,所以更为简单,占用的网络和计算资源也更少。
PTP
主要针对于相对本地化、网络化的系统,子网较好,内部组件相对稳定,特别适合于工业自动化和测量环境。与
PTP
协议不同,
NTP
协议是针对于广泛分散在互联网上的各个独立系统的安全描述。
GPS(
基于卫星的全球定位系统
)
也是针对于分散广泛且各自独立的系统。
PTP
定义的网络结构可以使自身达到很高的精度,设定冗余的网络路径进入
PTP
协议的非激活状态。与
SNTP
和
NTP
相反,时间印章更容易在硬件上实现,并且不局限于应用层,这使得
PTP
可以达到微秒以内的精度。此外,
PTP
模块化的设计也使它很容易适应低端设备。
特点概述
IEEE1588
所定义的精确网络同步协议实现了网络中的高度同步,使得在分配控制工作时无需再进行专门的同步通信,从而达到了通信时间模式与应用程序执行时间模式分开的效果。
由于高精度的同步工作,使以太网技术所固有的数据传输时间波动降低到可以接受的,不影响控制精度的范围。
IEEE1588
的一大优点是其标准非常具有代表性,并且是开放式的。由于它的开放性,现在已经有许多控制系统的供应商将该标准应用到他们的产品当中了。而且不同设备的生产商都遵循同样的标准,这样他们的产品之间也可以保证很好的同步性。例如
Jetter
公司的
JetSync
产品,
EPSG
公司的
Powerlink
和
ETG
公司的
EtherCat
等都已经将产品扩展到了
1588
标准。
ODVA
公司也宣称将该标准融入
EtherNet/IP
,命名为
CIPsync
。