您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页IEEE1588精密时钟同步关键技术研究

IEEE1588精密时钟同步关键技术研究

来源:爱玩科技网
设计与应用

计算机测量与控制.2010.18(7)󰀁ComputerMeasurement&Control󰀁

文献标识码:A

󰀁󰀁1585󰀁

文章编号:1671-4598(2010)07-1585-02󰀁󰀁󰀁󰀁󰀁󰀁󰀁中图分类号:TP393

IEEE1588精密时钟同步关键技术研究

孔令彬,文赫胜,陈向文

(中国地质大学机电学院,湖北武汉󰀁430074)

摘要:随着网络控制技术的发展,分布式控制系统对时钟同步精度提出了更高要求;以IEEE1588精密时钟同步标准为背景,阐述了高精度时钟同步机制和时钟校正原理,分析了IEEE1588协议的核心算法󰀁󰀁󰀁最佳主时钟(BMC)算法和本地时钟同步(LCS)算法,同时从技术开发的角度对系统中同步精度的影响因素如时间戳的生成方式,网络的对称性等作了分析,并提出了一些减少干扰,提高系统时钟同步精度的改进方法。

关键词:IEEE1588;时钟同步;主时钟;时间戳

ResearchonKeyTechnologyofIEEE1588PrecisionClockSynchronization

KongLingbin,WenHesheng,ChenXiangwen

(DepartmentofMechanicalandElectronicEngineering,ChinaUniversityofGeosciences,Wuhan󰀁430074,China)

Abstract:Distributedcontrolsystemaresetforhigherrequirementsofclocksynchronizationwiththedevelopmentofnetworkcontroltechnolo-gy.ByIEEE1588principles,high-accuracytimesynchronizationandtheclockcorrectionmechanismareelaborated.TheBestMasterClockAlgo-rithmandLocalClockSynchronizationAlgorithminIEEE1588areanalyzed.Clocksynchronousaccuracyinfluencingfactorsarealsodiscussedfromtechnologydevelopmentaspect.Methodsforincreasingthecontrolsystemclocksynchronizationprecisionareproposed.

Keywords:IEEE1588;clocksynchronization;masterclock;timestamp

0󰀁引言

IEEE1588是用于网络测量和控制系统的精密时钟同步协议标准,是新一代测控总线LXI标准的重要组成部分。为了满足测量仪器、工业控制等领域中亚微秒级的时间同步要求,IEEE1588标准在这方面作出了重大贡献,目前的最新V2标准于2008年7月发布[1]。

IEEE1588标准的全称是󰀁网络测量和控制系统的精密时钟同步协议标准(IEEE1588PrecisionClockSynchroniza-tionProtocol)󰀁,简称PTP(PrecisionTimingProtocol),它的基本原理是通过一个同步信号周期性对网络中所有节点的时钟进行校正同步,可以使基于以太网的分布式系统达到亚纳秒级的精确同步。与已有的时间同步技术如NTP/SNTP、GPS等相比具有配置容易,快速收敛,精度高以及对网络带宽和资源消耗少等特点

[2]

图1󰀁主从时钟状态机

PTP时钟状态转换关系如下图1所示。

在PTP网络系统中各个时钟设备通过周期性交换带有时间信息的同步(sync)报文来进行主从时钟间偏差(Offset)和网络时延(Delay)的计算,进而纠正偏差,补偿时延,实现主从时钟之间亚纳秒级的同步[1]。当一个时钟上线,它在系统指定的时间内监听来自主时钟的Sync消息。

(1)如果收到来自主时钟的Sync消息,则本地时钟进入Slave状态;

(2)如果一段时间内没有收到Sync消息,该时钟则假定自己为主时钟,此时的状态为Pre_Master,时钟端口表现为主时钟的状态,但是不发送Sync消息;这个Pre_Master状态会保持一定的时间,如果在指定的时间内仍没有收到其它时钟的Sync消息,则该时钟状态为主状态Master,并且发送Sync消息。

时钟各端口都执行最佳主时钟算法确定自己和网络内其它时钟的状态[2]。如果时钟的某个处于从状态Slave的端口确定它能比现在的主时钟质量高,则呈现主时钟的状态并发送Sync消息,主时钟的一个端口收到更好的Sync消息,则停止

。在对时间同步要求比较严

格的应用场所,如工业实时以太网,电力自动化系统,移动通信网络中,逐渐引起人们的关注。

1󰀁IEEE1588时钟同步机制

1󰀁1󰀁PTP时钟状态机

PTP时钟同步系统是由主时钟和从时钟构成的一种主从关系的网络层次结构,它由一个或多个PTP子域组成,每个子域包含一个或多个彼此通信的时钟。在网络中的每一个PTP时钟都有可能处于从时钟(SlaveClock)或主时钟(MasterClock)这两种状态,时钟状态由最佳主时钟(BMC)算法决定。处于主时钟状态的设备被认为精确时钟,它将同步从时钟的时间,但在同一个通信子域内只能存在一个主时钟。

收稿日期:2010-01-03;󰀁修回日期:2010-02-10。

作者简介:孔令彬(1962-),男,博士,教授,主要从事无线电电子技术与智能控制技术方向的研究。

󰀁󰀂1586󰀁󰀂计算机测量与控制󰀁第18卷

宣布自己为主时钟并停止发送Sync消息。从时钟端口通过与主时钟交换报文信息获得正确时间来更新本地时钟的时间,以达到与主时钟同步。

1󰀁2󰀁PTP时钟同步与本地时钟同步(LCS)算法

对于已经确定主从关系的时钟网路,将根据本地时钟同步(LocalClockSynchronization)算法校准本地时钟节点与主时钟同步,其流程如图2所示[3]。主、从时钟之间存在Sync,DelayReq,Followup,DelayResp4种类型的报文交换,报文交换期间产生4个发送或接收时刻值,此动作称之为打时间戳事件,这4个数值用来计算偏差和时延以同步从时钟。在测量过程中,假设传输介质是对称均匀的,从时钟先通过报文传输的往返迭代得出路径延时(delay),然后计算出主、从时钟的时间偏移(offset),最后对从时钟进行同步调节。

表征时钟品质的变量值通过Allan均方差公式得出。Allan方差公式原用于振荡器频率的统计误差计算,这里用于表示时间的统计误差:

󰀁

2ptp

=

131

󰀁

2(N-2)

N-2

k=1

󰀁(X

k+2

-2Xk+1+Xk)2

(3)

式(3)中,󰀁2ptp是多次测量的均方差值。其中Xk,Xk+1,Xk+2是在tk,tk+󰀁,tk+2󰀁时刻所作的时间残差测量,󰀁是测量的时间间

隔,N是测量的次数。统计方差公式已排除任何稳定的对称误差,时钟的漂移并不会影响方差󰀁2ptp,但时钟的不规则跳动直接影响󰀁2󰀁2ptp值。ptp值再经过取对数,乘以时间常数和滞环处理才成为数据集中使用的时钟变量参数。

2󰀁2󰀁状态决定(SD)算法

状态决定算法是在确定所属PTP子域主时钟后,根据不同数据集的信息进一步计算出每个时钟各个PTP端口的具体推荐状态。每个PTP端口都可能处于以下9种状态,包括INITIAL-IZING、FAULTY、DISABLED、LISTENING、PRE_MAS-TER、MASTER、PASSIVE、UNCALIBRATED、SLAVE,本地时钟根据这些状态去做出对应的调整。为避免网络生成回路,状态决定算法会生成树形拓扑结构,将一些竞争失败的节点端口定义为禁用(disabled)状态和被动(passive)状态[1]。

设某一典型的时钟节点C0由默认数据设置Do来描述,

图2󰀁时钟同步示意图

且该时钟有M个PTP端口。首先比较同一路径上所有端口D0数据集的时钟等级clockstratum,若相同则通过数据设置比较算法比较各端口发出的有效同步报文,决定这些报文中的Er-best(接收信息的最好值),最后比较各Erbest的路径长度,最终从剩下的N个Erbest中选出Ebest(所有信息最好值)。状态决定算法通过D0,Erbest和Ebest之间的相互关系,判断PTP子域内时钟端口的状态,并根据判断结果对端口状态进行更新,其流程如图3所示。

在图2中:

(1)从时钟在TC2时刻收到主时钟发送的Sync广播报文。(2)在TS3时刻,从时钟收到主时钟发送的携带同一回合Sync报文发送时间TM1的FollowUP报文,从时钟与主时钟的时间偏移Toffset为:

Toffset=TS2-TM1-Tdelay

(1)

(3)从时钟在TC4时刻向主时钟发送DelayReq报文。(4)在TS5时刻,从时钟收到主时钟发送的与同一回合的DelayReq报文相对应的DelayResp报文,其包含了主时钟收到DelayReq的时刻tM4,其延时Tdelay为:

Tdelay=Toffset+TM4-TS4(2)

将延时Tdelay带入式(1)可以得出Toffset,进而可以对从时钟进行调节[1]。

2󰀁最佳主时钟(BMC)算法

最佳主时钟算法(BestMasterClockAlgorithm)运行于PTP系统中的每个时钟上,主要完成选举主时钟和生成时钟网络拓扑结构两个任务,它们分别由数据设置比较算法(DataSetComparisonAlgorithm)和状态决定算法(StateDecisionAlgorithm)来实现。

2󰀁1󰀁数据设置比较(DSC)算法

数据设置比较算法根据同步报文不同的数据集(包含时钟品质、时钟等级、时钟类型、时钟偏移等参数信息的变量集合),比较筛选出可用最佳报文,确定最佳主时钟,进而产生拓扑结构。它是动态运行于每个时钟上的,即在时钟同步系统运行中根据实时数据不断计算比较时钟选举数据集,动态调整各节点和端口的状态,也就会调整时间的传递路线。所以在当前主时钟故障或性能下降时,系统可能会选择其它更合适的节点替代它作为主时钟[1]。

图3󰀁状态决定算法流程图

该算法运行在PTP子域中时钟的每个PTP端口,根据运算分析结果,动态调整各个时钟和端口的状态,所以在当前主时钟故障或性能下降时,本地时钟端口数据设置会改变,时钟状态会被更新,系统能够自动调用前面的数据设置比较算法选择其它更合适的时钟来替换当前主时钟,从而保证分布式控制系统的精密同步。

(下转第1598页)

󰀁󰀂1598󰀁󰀂FIFO1进行缓存[5]。

计算机测量与控制󰀁第18卷

系统,文中对系统的功能及硬件、软件的模块化设计进行了详细介绍。采用USB2󰀁0与上位机通信,经优化改进,在实际测试中的数据回传速率可达到每秒钟5M字节。本系统具有精度高、实时性强、功耗低、体积小及运行可靠等优点,并且已成功应用于某型号弹载实时动态测试试验中。

参考文献:

[1]谭保华,王󰀁堃,熊健民.基于USB总线技术的高速数据采集卡

研究[J].计算机测量与控制,2008,(12).

[2]杨林楠,李红刚,张丽莲.基于FPGA的高速多路数据采集系统

的设计[J].计算机工程,2007,33(7):246-248.

[3]苏晓龙,王香婷.基于RS-485总线的数据采集系统[J].仪表技

术与传感器,2007(12):52-54.

[4]CY7C68013datasheet[Z].EZ-USBFX2TMUSBMicrocontroller.[5]黄智伟.FPGA系统设计与实践[M].北京:电子工业出版

社,2005.

[6]安󰀁荣,任勇峰,李圣坤.基于FPGA和USB2󰀁0的数据采集系

统[J].仪表技术与传感器,2009,(3):49-51.

3󰀁4󰀁Flash操控与USB通信模块

由于Flash芯片出厂时即存在一部分坏块,且在使用中也随时会产生新的坏块。因此,Flash写程序设计采用先判断好坏块,再进行块擦除,最后完成块编程写入数据的操作顺序进行。其中,当判断本次要操作的为坏块时立即跳过,进入下一块的判决操作。Flash读程序设计与此相同。USB通信模块主要完成FPGA与CY7C68013之间的通信与数据交换,即负责判断CY7C68013所传递的上位机的不同控制命令并执行相应操作,实现FPGA中FIFO与CY7C68013中FIFO的数据传递。3󰀁5󰀁USB应用软件

固件程序指运行在CY7C68013内部CPU中的程序,采用KeilC51编译器开发,实现接收处理USB驱动程序请求等功能。Windows驱动程序调用CYPRESS公司的ezusb󰀁sys驱动程序[6]。主机应用程序包括动态链接库与操作界面。动态链接库采用VC++编写,实现与USB驱动程序的通信。操作界面采用VB编写,实现数据回读、绘制曲线和设备擦除等一系列操控界面。

4󰀁结束语

介绍了一种基于FPGA的多通道数模信号实时采编存储(上接第1586页)

(3)同步间隔:通常情况下PTP在一定时间内同步的次数越多,网络内时钟的精度越高,但过高密度的同步间隔会影响网络性能,反而降低时钟同步精度,具体同步间隔在设计时可以根据需要进行设置。

(4)其它影响因素:时钟的稳定性、精确度,网络传输过程中的抖动(滤波、统计方法来消除),以及网络中节点报文转发带来的时延(使其支持PTP,成为边界时钟可以解决此问题),网络传输带来的抖动等[5],这些因素直接决定了PTP实现的精度级别。

3󰀁时钟同步精度影响因素

处于网络节点的PTP时钟同步精度受到多方面因素的影响。

(1)时间戳的位置:IEEE1588协议中时钟同步的精确度直接取决于时间戳的精确性。在PTP系统的实现过程当中,可以根据实际情况,选择不同的时间戳点。如图4所示,有3个位置可以作为时间戳的选择点[4]。

4󰀁结束语

IEEE1588提供的分布式控制系统精确时间同步机制,将时钟同步精度提高到亚纳秒级精度,并以其高度的可靠性和开放性,逐渐作为新的时间同步标准,取代标准化网络上的专用时间同步解决方案[5]。本文的研究工作对于IEEE1588协议在分布式控制网络中的实际应用具有一定指导意义。

图4󰀁时钟时间戳点

参考文献:

[1]IEEE.Precisionclocksynchronizationprotocolfornetworkedmeas-urementandcontrolsystem[S].IEC61588-2009.

[2]JohnEidson.Measurement,Control,andCommunicationUsing

IEEE1588[M].London:Springer-VertagNewYorkInc,2006.[3]袁振华,董秀军,刘朝英.基于IEEE1588的时钟同步技术及其应

用[J].计算机测量与控制,2006,(12).

[4]HansWeibel.IEEE1588ImplementationandPerformanceofTime

StampingTechniques[A].

Gaithersbarg:ProcedingsofNIST

ConferenceonIEEE1588[C].2004.

[5]ThomasM󰀁ller,AlexanderOckert,HansWeibel.PHYsandSym-metricalPropagationDelay[A].2004ConferenceonIEEE1588[C],Sept.27-29,Gaithersburg.

时间戳越接近以太网底层,即真正意义上的发送和接收位置,时间误差越小,在PTP协议实现时,时间戳应做到尽量

标记点接近底层,即在MAC层和PHY层之间的位置,具体实现需要考虑到时间戳如何传递到应用层等细节。

(2)网络的对称性:若主从时钟之间的消息往返延迟是对称的,则根据本地时钟同步算法,延迟可以相互抵消。但在实际的PTP系统实现过程中,主从时钟之间的网络延迟在两个方向上是不对称的,即主时钟到从时钟的网络延迟与从时钟到主时钟的网络延迟往往不是相等的,因此,在系统的实现过程中就必须考虑这些因素[4]。必要时需测量出报文在网络中的延迟时间及延迟在较长一段时间内是否是一个常量。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务