IEEE和高精度时间同步的方法.doc
- 文档编号:230794
- 上传时间:2022-10-07
- 格式:DOC
- 页数:8
- 大小:72KB
IEEE和高精度时间同步的方法.doc
《IEEE和高精度时间同步的方法.doc》由会员分享,可在线阅读,更多相关《IEEE和高精度时间同步的方法.doc(8页珍藏版)》请在冰豆网上搜索。
IEEE1588和高精度时间同步的方法[作者:
阮於东]
IEEE1588和高精度时间同步的方法
摘要
本文介绍网络时间同步和最佳时钟算法的概念,介绍用于分散测量和控制的精确时间同步协议IEEE1588的原理。
关键词:
时间同步:
时间标记:
最佳时钟算法:
IEEE1588andPreciseTimeSynchronizationMethod
RuanYu-dongSEARI
Abstract:
Thepaperintroducethetimesynchronizationandthebestmasteralgorithmconcept,descriptstheprecisetimesynchronizationprincipleofIEEE1588protocolfornetworkedmeasurementandcontrolsystem
0引言
控制系统中的时间同步问题早就出现,而随着系统范围的扩大和分散控制的发展,通过网络联系的分散控制节点之间的时间同步变得越来越重要。
系统中时间的使用通常有两种不同的应用类型:
时间标记性应用和基于频率的应用。
如配电应用可代表时间标记应用,在这种系统中绝对时间很重要,因为特定事件的定时不仅需要与本系统内的其他事件的时间作比较,而且由于电力系统的连贯性,经常可能需要与外部相关系统的事件的时间作比较。
哪一个事件先发生?
是电网A先跳闸,还是电网B先跳闸?
这些事件相隔多少时间?
在实际应用中这些事件可能发生在不同的地理区域。
由于这个原因需要绝对时间值的概念,并且这个时间基准需要校正为世界各地使用的常用时间。
由于特定的事件和报警是被打上时间标记的,只要这些时间标记具有相同的基准,就可以在事后进行这些事件的时间顺序的分析。
另一方面,在控制系统中存在大量基于频率的应用,如通过网络连接的多个分布驱动的协调控制,它们需要精确同时执行,因为它们不能过度拉伸或损坏驱动机架之间的织物。
在这些应用中当这些驱动器是同步工作时过程最佳。
如果每个驱动器精确地在同时采样反馈和执行控制算法,同时执行控制命令,那么作用力的施加是协调的。
在这种应用中绝对时间不是很重要,但是控制周期的同步非常重要。
解决这些问题的关键是时间同步,时间同步的目的就是要将时间基准准确地传递到各控制点,传递并不困难,难于达到的是传递的精度。
在2002年出现的IEEE1588标准(网络化测量和控制系统的精确时钟同步协议,通常称为PrecisionTimeProtocol[PTP])在这方面取得了重大进展。
使用这个方法并不需要很多资源就可以达到100纳秒级的同步精度。
IEEE1588标准出现后得到业界高度重视,在2002年,2004年举办专业会议,2006年将举办第三次专业会议。
工业控制的领先厂商Rockwell,Siemens等立即投入产品开发,IEC已将它转化为IEC61588-2004标准,这个标准已为Ethernet/IP,Profinet,PowerLink,EtherCat等基于以太网的总线采用,成为当前普遍采用的方法。
1IEEE1588标准
IEEE1588标准,规定了将分散在测量和控制系统内的分离节点上独立运行的时钟,同步到一个高精度和准确度的协议。
这些时钟是在一个通信网络中互相通信的。
按这个基本格式,这个协议要形成树形的管理,使系统内的这些时钟产生一个主从关系。
在一个给定子网中包括多个节点,每一个节点都有一个时钟。
时钟之间经由网络连接。
IEEE1588规定了子网的划分规则,它是按时钟的级别划分子网,一个子网只有一个1级或2级时钟。
在一个子网中只有一个主时钟,从时钟从主时钟得到时间,所有时钟最终都是从一个称为祖母时钟那里得到它的时间。
任何时钟和它的祖母时钟之间的通信路径都是最小跨度树的一部分。
分布时钟的PTP系统由普通时钟和边界时钟组成。
普通时钟是只有一个PTP端口的时钟,边界时钟是带两个或多个不同的PTP通信路径的端口的时钟。
如一个可在它的端口上实现PTP协议的交换机就是一个边界时钟。
很明显普通时钟只有接收时间的能力,边界时钟具有传递时间的能力。
系统中的一个时钟可选为主时钟,由主时钟向从时钟发送同步报文,通过报文传递时钟信息。
图1是一个配置的例子。
图1-带祖母时钟、边界时钟和从时钟的系统例子
2PTP时钟的协议模型
图1是PTP子域的例子,最上面的是这个子域的祖母时钟,它是一个GPS(GlobalPositioningSatelliteSystem是由美国国防部维持的系统,来自GPS的时间可以达到10~100ns的精度范围)时钟,是这个子域的时间源,下面通过父子结构的时钟端口构成传递系统。
这个结构的根是祖母时钟,这个结构的每一个分支点通常需要一个边界时钟,这点上从根进一步分支方向的所有时钟端口必须是主或父代端口,而有一个端口是同步到更加靠近根的时钟的从端口。
分支到最后(不是根方向)的端口必定是从端口或不活动(Passive)端口(不活动端口的通信路径上,除非另外规定不应当发生报文)。
3PTP同步机制
IEEE1588定义了四种同步报文Sync,Follow_up,Delay_Request,Delay_Response,和一组管理报文。
为了简化问题,我们先考虑一个主时钟与一个从时钟的同步过程:
1,主节点每2秒钟(同步报文的间隔是可设置的,这里假设为2秒)向从节点发送一个“同步”(Sync)报文。
这个报文是由主节点打上预计的发送时间标记的报文,但是由于预计的发送时间和实际的发送报文发送本身可能的延迟,实际时间标记不能随“同步”报文一起发送。
这个“同步”报文在接收端被从节点打上接收时间标记(为了提高精度,应在物理层或接近物理层的位置检测、记录和标识发送或接收时间)。
IEEE1588规范制定了可选件“硬件辅助”设计来实现这个精度的提高。
2,第二步主节点向从节点发送一个“跟随”(Follow_up)报文,这个报文包含先前的同步报文准确的发送时间的标记。
从节点利用这两个时间标记可以得到它与主节点的延迟,据此可调整它的时钟的频率。
3,从节点向主节点发送“延时请求”(Delay_Request报文(延时请求报文的间隔是独立设置的,一般应较同步报文间隔长),这个报文是由从节点记录它的准确发送时间,由主节点打上准确的接收时间标记。
4,主节点向从节点返回一个“延时响应”(Delay_Response)报文,这个报文带着先前的“延时请求”报文的准确的接收时间标记,从节点利用这个时间和由它所记录的准确的发送时间,可计算出主节点和从节点之间的传输延迟并调整它的时钟漂移误差。
图2偏移的校正
图3传输延时的测量
图2,图3例示主节点与从节点之间报文的交换,图中的时间也仅是为了理解假设的,不代表实际情况(IEEE1588中表示时间使用64位数,可以精确地表示绝对时间)。
图2表示经过两次同步可以校正主节点与从节点之间的偏差。
但无法计算传输延时。
经过延时报文的请求和应答以及同步报文的时间标记,可以计算出两个方向的平均传输延时,在以后的计算中就可使用。
实际上偏移与延时值的测量是互相影响的,要经过多次测量和计算,才会逐步收敛到接近实际值。
测量时间间隔的选取很重要,选择间隔短时通信负荷较重,间隔过长则不能保证同步的精度,所以同步和延时的测量间隔应根据同步要求和系统配置选择。
IEEE1588并没有规定使用的网络,但从通信的负荷和时间要求来说,以太网是比较适合的网络,当前实际的实现也差不多都是基于以太网的网络。
以上四种PTP报文都是基于IP多点通信(Multicast),它不限于Ethernet,并且可用于任何支持多点通信的总线系统。
多点通信提供简单化的优点,IP地址管理不需要在PTP节点上实现,这样可以进一步扩展到很大数目的PTP节点。
4本地时钟的考虑
PTP协议可能达到很高的同步精度,组成庞大的同步系统,但实际系统可以根据需要达到的精度和功能组建。
可以选用1级或2级时钟作为主时钟,也可选用3级,4级时钟,可按价格和性能需要综合考虑。
但作为普通节点本地时钟的振荡器,出于成本考虑基本上只能选择石英晶体振荡器。
但石英晶振的频率会随温度,机械因素和老化漂移,其中最主要的影响是温度,典型的不补偿的石英晶振的温度飘移是1PPM/0C,如果同步间隔是2秒,则温度上升1度在每个同步间隔会产生2微秒的误差。
但通过对晶振的热环境的控制,可以明显降低漂移。
从上面论述也可知道如果本地时钟的振荡频率稍有偏离,就会造成时间的偏离,而且时间的偏离是累计的会越来越大,虽然通过同步报文的计算可以校正时间,但本地时间的频繁校正会打乱本地时钟的连续性,使需要定时处理的任务像PID调节,通过时间段计量脉冲的速度测量等应用陷入混乱。
所以在PTP系统内使用频率可调的晶振,通过频率的校正使本地时钟的频率与主时钟同步。
对这种晶振的要求是0.01%精度和0.02%的频率可调范围。
同时PTP并不在接收同步报文后立即校正本地时钟的时间,而是将这个偏移作为一个数据保存在端口中,通过本地时间加偏移值得到正确时间。
同时PTP定义的外部定时信号是可选特性,支持这个特性的主时钟另外提供10MHZ频率的曼彻斯特编码的时钟信号,在每秒的边界信号跳变给出秒信号。
这个定时信号可用于校正时钟频率。
5关于边界时钟
从上面的同步原理很容易看到,在计算偏移时需要用到传输延时,这个延时是以前得到的测量值计算的结果,如果延时是稳定的,就能代表当次测量的延时,偏移的测量就准确。
反之延时的起伏将直接影响同步的精度。
点对点连接可提供最高的精度,带路由器会增加网络抖动,在PTP系统内通过交换机连接时,由于交换机在传送报文时需要存储和排队,不可避免出现传递的延迟,而且这个延迟随排队报文的多少,报文的大小而变。
为了解决这个问题通常使用支持IEEE1588的交换机作为边界时钟,支持IEEE的交换机内部包含了一个PTP时钟,由于它是直接接收主时钟报文的,它与主时钟的传输延时不存在排队与存储的问题,所以在需要分支时通常使用带边界时钟的交换机。
6时钟的评价和最佳时钟算法概要
最佳时钟算法是1588协议的很重要的部分,1588虽然是适用于局域网的协议,但它没有限制网络的结构,范围,设备数目和选用。
对于任意结构的网络怎样确定祖母时钟,主时钟,时间基准怎样逐级传递到各节点,以取得尽可能好的时钟精度,就是最佳时钟算法要达到的目标。
1588的算法是动态运行的,即在时钟同步系统运行中根据实时数据不断计算,动态调整各节点和端口的状态,也就会调整时间的传递路线。
所以在当前主时钟故障或性能下降时,系统可能会选择其它更合适的节点替代它作为主时钟。
由于这部分内容相对复杂,这里只介绍相关的基础概念。
*时钟的分级(clock_stratum)
时钟的级数代表时钟的质量,这个分级是有定义的,每个时钟都应标上它的级别,在最佳主时钟算法中它作为时钟质量的标志进行计算。
时钟分级的定义如表1所示:
*时钟标识符(Clockidentifier)
时钟标识符指示时钟内在的和可期待的绝对精度及起始时间,时钟标识符值也是表示时钟性能的参数,也是在最佳主时钟算法中要参与运算的参数。
时钟标识符的定义如下表所示:
(表2见书)
*时钟变量(clock_variance)
在1588协议中时钟变量是不断实时测量和计算的值,用于表征时钟当时的品质。
这个值是通过Allan均方差公式得到,Allan方差式原用于振荡器频率的统计误差计算,这里用于表示时间的统计误差。
(公式见书)
s2PTP是多次测量的均方差值,这里xk,xk+1,xk+2是在时间tk,tk+t,tk+2t时刻所作的时间残差测量,t是测量的间隔时间,N是测量的次数。
从公式可看出这是统计方差式,公式已排除任何稳
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IEEE 高精度 时间 同步 方法