IEEE1588和高精度时间同步的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IEEE1588和高精度时间同步的方法[作者:阮於东]
IEEE1588和高精度时间同步的方法
摘要
本文介绍网络时间同步和最佳时钟算法的概念,介绍用于分散测量和控制的精确时间同步协议IEEE1588的原理。
关键词:时间同步:时间标记:最佳时钟算法:
IEEE1588 and Precise Time Synchronization Method
Ruan Yu-dong SEARI
Abstract:The paper introduce the time synchronization and the best master algorithm
concept ,descripts the precise time synchronization principle of IEEE1588 protocol for networked measurement and control system
0引言
控制系统中的时间同步问题早就出现,而随着系统范围的扩大和分散控制的发展,通过网络联系的分散控制节点之间的时间同步变得越来越重要。系统中时间的使用通常有两种不同的应用类型:时间标记性应用和基于频率的应用。如配电应用可代表时间标记应用,在这种系统中绝对时间很重要,因为特定事件的定时不仅需要与本系统内的其他事件的时间作比较,而且由于电力系统的连贯性,经常可能需要与外部相关系统的事件的时间作比较。哪一个事件先发生?是电网A先跳闸,还是电网B先跳闸?这些事件相隔多少时间?在实际应用中这些事件可能发生在不同的地理区域。由于这个原因需要绝对时间值的概念,并且这个时间基准需要校正为世界各地使用的常用时间。由于特定的事件和报警是被打上时间标记的,只要这些时间标记具有相同的基准,就可以在事后进行这些事件的时间顺序的分析。
另一方面,在控制系统中存在大量基于频率的应用,如通过网络连接的多个分布驱动的协调控制,它们需要精确同时执行,因为它们不能过度拉伸或损坏驱动机架之间的织物。在这些应用中当这些驱动器是同步工作时过程最佳。如果每个驱动器精确地在同时采样反馈和执行控制算法,同时执行控制命令,那么作用力的施加是协调的。在这种应用中绝对时间不是很重要,但是控制周期的同步非常重要。
解决这些问题的关键是时间同步,时间同步的目的就是要将时间基准准确地传递到各控制点,传递并不困难,难于达到的是传递的精度。在2002年出现的IEEE1588标准(网络化测量和控制系统的精确时钟同步协议,通常称为Precision Time Protocol[PTP])在这方面取得了重大进展。使用这个方法并不需要很多资源就可以达到100纳秒级的同步精度。
IEEE1588标准出现后得到业界高度重视,在2002年,2004年举办专业会议,2006年将举办第三次专业会议。工业控制的领先厂商Rockwell,Siemens等立即投入产品开发,IEC已将它转化为IEC61588-2004标准,这个标准已为Ethernet/IP,Profinet,PowerLink,EtherCat 等基于以太网的总线采用,成为当前普遍采用的方法。
1 IEEE1588标准
IEEE1588标准,规定了将分散在测量和控制系统内的分离节点上独立运行的时钟,同步到一个高精度和准确度的协议。这些时钟是在一个通信网络中互相通信的。按这个基本格式,这个协议要形成树形的管理,使系统内的这些时钟产生一个主从关系。在一个给定子网中包括多个节点,每一个节点都有一个时钟。时钟之间经由网络连接。IEEE1588规定了子网的划分规则,它是按时钟的级别划分子网,一个子网只有一个1级或2级时钟。在一个子网中只有一个主时钟,从时钟从主时钟得到时间,所有时钟最终都是从一个称为祖母时钟那里得到它的时间。任何时钟和它的祖母时钟之间的通信路径都是最小跨度树的一部分。
分布时钟的PTP系统由普通时钟和边界时钟组成。普通时钟是只有一个PTP端口的时钟,边界时钟是带两个或多个不同的PTP通信路径的端口的时钟。如一个可在它的端口上实现PTP协议的交换机就是一个边界时钟。很明显普通时钟只有接收时间的能力,边界时钟具有传递时间的能力。
系统中的一个时钟可选为主时钟,由主时钟向从时钟发送同步报文,通过报文传递时钟信息。图1是一个配置的例子。
图1-带祖母时钟、边界时钟和从时钟的系统例子
2 PTP时钟的协议模型
图1是PTP子域的例子,最上面的是这个子域的祖母时钟,它是一个GPS(Global Positioning Satellite System是由美国国防部维持的系统,来自GPS的时间可以达到10~100ns的精度范围)时钟,是这个子域的时间源,下面通过父子结构的时钟端口构成传递系统。这个结构的根是祖母时钟,这个结构的每一个分支点通常需要一个边界时钟,这点上从根进一步分支方
向的所有时钟端口必须是主或父代端口,而有一个端口是同步到更加靠近根的时钟的从端口。分支到最后(不是根方向)的端口必定是从端口或不活动(Passive)端口(不活动端口的通信路径上,除非另外规定不应当发生报文)。
3 PTP同步机制
IEEE1588定义了四种同步报文Sync,Follow_up ,Delay_Request , Delay_Response , 和一组管理报文。为了简化问题,我们先考虑一个主时钟与一个从时钟的同步过程:
1,主节点每2秒钟(同步报文的间隔是可设置的,这里假设为2秒)向从节点发送一个“同步”(Sync)报文。这个报文是由主节点打上预计的发送时间标记的报文,但是由于预计的发送时间和实际的发送报文发送本身可能的延迟,实际时间标记不能随“同步”报文一起发送。这个“同步”报文在接收端被从节点打上接收时间标记(为了提高精度,应在物理层或接近物理层的位置检测、记录和标识发送或接收时间)。IEEE1588规范制定了可选件“硬件辅助”设计来实现这个精度的提高。
2,第二步主节点向从节点发送一个“跟随”(Follow_up)报文,这个报文包含先前的同步报文准确的发送时间的标记。从节点利用这两个时间标记可以得到它与主节点的延迟,据此可调整它的时钟的频率。3,从节点向主节点发送“延时请求”(Delay_Request报文(延时请求报文的间隔是独立设置的,一般应较同步报文间隔长),这个报文是由从节点记录它的准确发送时间,由主节点打上准确的接收时间标记。
4,主节点向从节点返回一个“延时响应”(Delay_ Response)报文,这个报文带着先前的“延时请求”报文的准确的接收时间标记,从节点利用这个时间和由它所记录的准确的发送时间,可计算出主节点和从节点之间的传输延迟并调整它的时钟漂移误差。
图2 偏移的校正