CN102983927B - 一种基于ieee 1588协议的主从时钟对时的时间补偿方法 - Google Patents
一种基于ieee 1588协议的主从时钟对时的时间补偿方法 Download PDFInfo
- Publication number
- CN102983927B CN102983927B CN201210532810.2A CN201210532810A CN102983927B CN 102983927 B CN102983927 B CN 102983927B CN 201210532810 A CN201210532810 A CN 201210532810A CN 102983927 B CN102983927 B CN 102983927B
- Authority
- CN
- China
- Prior art keywords
- clock
- time
- master
- sync message
- salve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
基于IEEE 1588协议的主从时钟对时的时间补偿方法,包含以下步骤:A.初始化与晶振频率相关的时间数据,从时钟接收同步报文;B.从时钟接收同步报文的的平均周期的计算;C.主从时钟的平均偏移时间的计算:将主从时钟的平均偏移时间与本次主从时钟的偏移时间之差的绝对值和给定的阈值比较,一个(或若干个)主时钟通过以太网络(或其他异构网络)对其他从时钟进行较时,1588协议通过BMC算法使网络中的时钟形成分层的体系结构,让下层的时钟成为从时钟,向上层的主时钟进行较时。本发明提供了一种新的算法通过快速改变晶振频率来校正从时钟的硬件时间从而调整系统时间,实现IEEE 1588协议主从时钟更精准对时。1588协议将会在智能电网时钟系统领域大量使用。
Description
技术领域
本发明涉及精准时钟同步技术,针对特定硬件的平台,实现IEEE 1588精准时钟协议,尤其涉及主从时钟的时间同步。
背景技术
精确时钟同步协议能够为网络中的各节点提供时钟同步。IEEE 1588最先在国外获得应用,现在已经有多家公司(IXXAT,NI,FREESCALE)研发出的,基于该协议的主时钟和客户端,罗杰康(RUGGEDCOM)已经制作出了基于该协议的交换机(边界时钟,和透明时钟)。
IEEE 1588协议自从第一版于2002年提出以来,国内也进行了很多研究已经有了很多种实现方式,有纯软件实现,也有FPGA实现的。纯软件实现精度不高,一般只能达到NTP(网络时间协议NTP)的毫秒级精度。因为时间戳是由操作系统软件得到的,而由于软件无法精确到亚微秒级别的准确性,所以没有办法保证得到比较高的精度,而FPGA的开发成本则相对较高。
本发明方法提出了基于IEEE 1588-2008协议精确到亚微秒级别的方法,尤其是基于DP83640芯片的一种实现方式,使用了该网络芯片后,时间戳可以直接从硬件读取,因此可以达到亚微秒级的精度。同时,利用芯片实现对精度需求最高的时间戳记录方式,而其他对精度要求不高的部分则可以通过软件来实现,使开发成本最优化。
在标准的IEEE 1588协议中,当主从时钟的时间偏差小于1秒时,会通过调整系统时钟的频率实现主从时钟的对时。但是该方法只能改变系统时钟的频率,并不能调整硬件时钟的晶振频率。而且调整系统时钟频率的算法调整时钟频率的速率比较慢,不能快速的调整主从时钟的时间差,本发明提出了一种新的算法,能够快速的调整硬件时钟的晶振频率。
发明内容
本发明解决的技术问题是:如何快速的调整硬件时钟的晶振频率实现IEEE 1588协议主从时钟更精准对时。尤其是基于精确时间协议收发器DP83640芯片实现本发明的方法。本发明提出了一种新的算法,能够快速的调整硬件时钟的晶振频率。而且调整系统时钟频率的算法调整时钟频率的速率快,且能快速的调整主从时钟的时间差。
本发明技术方案是:基于IEEE 1588协议的主从时钟对时的时间补偿方法,其特征是包含以下步骤:
A.初始化与晶振频率相关的时间数据,从时钟接收同步报文:从时钟上次同步 报文的接收时间初始化为0,从时钟记录本次同步报文的接收时间,初始化从时钟接收同步报文的的平均周期P1为0,本次从时钟接收同步报文的周期的值为本次同步报文的接收时间与其上次同步报文的接收时间之差;初始化时主从时钟的平均偏移时间为0,本次主从时钟的偏移时间通过IEEE 1588协议计算出;
B.从时钟接收同步报文的的平均周期的计算:从时钟接收同步报文的周期值为本次从时钟接收同步同步报文的接收时间与其上次同步报文的接收时间之差,将从时钟接收同步报文的的平均周期与本次从时钟接收同步报文的周期的值之差的绝对值和给定的阈值比较,如果超过该阈值,则转到步骤F;否则,分别给定从时钟接收同步报文的的平均周期和本次从时钟接收同步报文的周期一个权重,重新计算从时钟接收同步报文的平均周期;
C.主从时钟的平均偏移时间的计算:将主从时钟的平均偏移时间与本次主从时钟的偏移时间之差的绝对值和给定的阈值比较,如果超过超过该阈值,则转到步骤F;否则,分别给定主从时钟的平均偏移时间和本次主从时钟的偏移时间一个权重,重新计算主从时钟的平均偏移时间T1;
D.从时钟的晶振频率的计算:通过当前的从时钟晶振频率和从时钟接收同步报文的的平均周期与主从时钟的平均偏移时间的比值计算并修改调整后的从时钟的晶振频率F2;
E.重置参数:重置从时钟接收同步报文的的平均周期和主从时钟的平均偏移时间T1为0
F.循环操作:从时钟每次接收到同步报文重复B到F。
2、根据权利要求1所述的基于IEEE 1588协议的主从时钟对时的时间补偿方法,其特征是步骤C中重新计算从时钟接收同步报文的的平均周期的方法是:同时考虑从时钟接收同步报文的平均周期P1和主从时钟的平均偏移时间T1以及当前从时钟硬件的晶振频率F1,然后应用公式(1)来计算出新的从时钟硬件s从时钟的晶振频率F2。
F2=F1+(T1×235)/P1 (1)
从时钟每次接收同步报文之后,首先计算从时钟接收同步报文的平均周期P1和本次从时钟接收同步报文的周期P2之差,如果两者之差大于特定的阈值,则需要重新计算平均周期P1,按照公式(2)计算平均周期P1,其中λ参数表示P2在计算P1时所占的权重,在实际中设置为0.1;如果两者之差不大于特定的阈值(阈值通常为平 均周期的0.2-0.5%),放弃本次接收同步报文后对从时钟硬件的晶振频率的修改。
P1=(P1+λ×P2)/(1+λ) (2)
其次,计算主从时钟平均偏移时间T1和本次主从时钟偏移时间T2之差,如果两者之差大于特定的阈值,则需要重新计算T1,按照公式(3)计算T1,其中“α”参数表示T2在计算T1时所占的权重,在实际中设置为0.5;如果两者之差不大于特定的阈值,放弃本次接收同步报文后对硬件时钟的晶振频率的修改。
T1=(T1+αT2)/(1+α) (3)
之后从时钟每次接收到同步报文,都会判断是否需要重新计算P1和T1;
仅当P1和T1重新计算之后,从时钟才会通过公式(1)调整晶振频率。
本发明的有益效果是:将一个(或若干个)主时钟通过以太网络(或其他异构网络)对其他从时钟进行较时,1588协议通过BMC算法使网络中的时钟形成分层的体系结构,让下层的时钟成为从时钟,向上层的主时钟进行较时。本发明提供了一种新的算法通过快速改变晶振频率来校正从时钟的硬件时间从而调整系统时间,实现IEEE 1588协议主从时钟更精准对时。1588协议将会在智能电网时钟系统领域大量使用。快速的调整硬件时钟的晶振频率实现IEEE 1588协议主从时钟更精准对时。尤其是基于精确时间协议收发器DP83640芯片实现本发明的方法。本发明能够快速的调整硬件时钟的晶振频率。而且调整系统时钟频率的算法调整时钟频率的速率快,且能快速的调整主从时钟的时间差。本发明方法校准的时间精度能够达到百纳秒级别。
附图说明
图1是IEEE 1588网络系统示意图;
图2是主从时钟的报文交互示意图;
图3是同步报文接收示意图;
图4是路径延迟测量结果;
图5是客户端IEEE1588时钟与GPS时钟的偏差。
具体实施方式
通过IEEE 1588协议的目的是一个(或若干个)主时钟通过以太网络(或其他异构网络)对其他从时钟进行较时(如图1所示)。1588协议通过BMC算法使网络中的时钟形成分层的体系结构,让下层的时钟成为从时钟,向上层的主时钟进行较时。交换时间信息有两种规约的方式,分别是点对点和端对端的方式。两种方式稍微有点不同,其中点对点主从时钟的交互方式如图2所示。主时钟Sync报文的发送 时间t1可携带在Follow_Up报文中,亦可携带在Sync报文。如果由Sync报文携带,则需要硬件的支持。为了更精确的计算主从时钟的时间偏差,最好让Sync报文携带其发送时间戳,如图3所示。主从时钟的时间偏差可以通过公式(4)来计算,其中,t2-t1表示主从时间偏差,t4-t3表示从主时间偏差,IEEE 1588协议默认主时钟到从时钟的延迟和从时钟到主时钟的延迟相等,因此公式(4)是成立的。
offset=((t2-t1)-(t4-t3))/2 (4)
当主从时钟的时间偏差小于一定的阈值时,直接重置从时钟的时间会明显降低校时的精度。这时候,就需要通过调整从时钟的频率来校正从时钟的时间(主从时钟的对时操作)。IEEE 1588协议通过调整从时钟频率校正从时钟时间的方法适合调整系统的时间,但是并不适合用来调整硬件时钟的晶振频率。本发明提出了一种通过快速改变晶振频率来校正从时钟的硬件时间的方法。具体步骤如下描述:
首先设定变量名称,上次同步报文的接收时间:t1,本次同步报文的接收时间:t2,从时钟接收同步报文平均周期:P1,本次从时钟接收同步报文周期:P2,主从时钟平均偏移时间:T1,本次主从时钟偏移时间:T2,修改之前的硬件时钟晶振频率:F1,修改之后的硬件时钟晶振频率:F2。
步骤1:初始化数据:t1=0,P1=0,P2=t2-t1,T1=0,从时钟接收同步报文,记录t2。
步骤2:判断是否需要重新计算P1,如果|P1-P2|>|P2|/2,则P1=P2,转到步骤6;否则通过公式(2)重新计算P1。
步骤3:判断是否需要重新计算T1,如果|T1-T2|>|T2|/16,则T1=T2,转到步骤6;否则通过公式(3)重新计算T1。
步骤4:计算新的从时钟硬件时钟的晶振频率:F2=F1+(T1×235)/P1。
步骤5:重置平均周期和平均偏移时间:P1=0,T1=0。
步骤6:重复步骤:t1=t2,每次接收到同步报文循环步骤2到步骤6。
完成主从时钟的对时操作后,我们需要使主从时钟的时钟频率保持一致,完成守时操作。由于dp83640拥有调整晶振频率的功能,在有dp83640支持的从设备上可以先通过连续两次Sync报文的收发时间戳来计算晶振频率补偿值,然后通过速率调整方式对自身晶振频率进行补偿。
假设主从时钟之间的传输路径延迟是一个固定值,即每次主时钟给从时钟发送 Sync报文,Sync报文在网路中的传播时间固定不变,这样传输路径延迟误差影响忽略不计。假设第一个Sync报文的发送时间戳为tM1,接收时间戳为tS1,第二个Sync报文的发送时间戳为tM2,接收时间戳为tS2,从时钟在接收到第一个Sync报文后,对本地时钟进行调整的时间值为Δt,那么从时钟所需要进行的频率调整补偿值为
rate=((tm2-tm1)+Δt-(ts2-ts1))/(tm2-tm1) (5)
图4是传输路径延迟的测量结果,其中蓝色曲线表示服务器到客户端的传输路径延迟,红色曲线表示客户端到服务器的路径延迟。图5是200次采样中,IEEE1588时钟与GPS时钟的偏差曲线图。可以看出整个授时系统的同步误差不超过140ns,达到了很高的精度。而且将图4与图5进行对比可以发现,当主从时钟之间的传输路径延迟接近时,同步偏差比较小,这与IEEE1588协议关于传输路径延迟的假设是相符的。
当然本发明实施例的描述并非限定本发明的内容,任何基本发明方法的简单改进并没有超出本发明权利要求保护的范围。
Claims (2)
1.基于IEEE 1588协议的主从时钟对时的时间补偿方法,其特征是包含以下步骤:
A.初始化与晶振频率相关的时间数据,从时钟接收同步报文:从时钟上次同步报文的接收时间初始化为0,从时钟记录本次同步报文的接收时间,初始化时从时钟接收同步报文的平均周期P1为0,本次从时钟接收同步报文的周期的值为本次同步报文的接收时间与其上次同步报文的接收时间之差;初始化时主从时钟的平均偏移时间为0,本次主从时钟的偏移时间通过IEEE 1588协议计算出;
B.从时钟接收同步报文的的平均周期的计算:从时钟接收同步报文的周期值为本次从时钟接收同步报文的周期的值为本次同步报文的接收时间与其上次同步报文的接收时间之差,将从时钟接收同步报文的的平均周期与本次从时钟接收同步报文的周期的值之差的绝对值和给定的阈值比较,如果超过该阈值,则转到步骤F;否则,分别给定从时钟接收同步报文的平均周期和本次从时钟接收同步报文的周期一个权重,重新计算从时钟接收同步报文的的平均周期;
C.主从时钟的平均偏移时间的计算:将主从时钟的平均偏移时间与本次主从时钟的偏移时间之差的绝对值和给定的阈值比较,如果超过该阈值,则转到步骤F;否则,分别给定主从时钟的平均偏移时间和本次主从时钟的偏移时间一个权重,重新计算主从时钟的平均偏移时间T1;
D.从时钟的晶振频率的计算:通过当前的从时钟晶振频率和从时钟接收同步报文的的平均周期与主从时钟的平均偏移时间的比值计算并修改调整后的从时钟的晶振频率F2;
E.重置参数:重置从时钟接收同步报文的的平均周期和主从时钟的平均偏移时间T1为0;
F.循环操作:从时钟每次接收到同步报文重复步骤B到F。
2.根据权利要求1所述的基于IEEE 1588协议的主从时钟对时的时间补偿方法,其特征是步骤C中重新计算从时钟接收同步报文的的平均周期的方法是:同时考虑从时钟接收同步报文的平均周期P1和主从时钟的平均偏移时间T1以及当前从时钟硬件的晶振频率F1,然后应用公式(1)来计算出新的从时钟晶振频率F2;
F2=F1+(T1×235)/P1 (1)
从时钟每次接收同步报文之后,首先计算从时钟接收同步报文的平均周期P1和本次从时钟接收同步报文的周期P2之差,如果两者之差大于特定的阈值,则需要重新计 算平均周期P1,按照公式(2)计算平均周期P1,其中λ参数表示P2在计算P1时所占的权重,在实际中设置为0.1;如果两者之差不大于特定的阈值,阈值为平均周期的0.2-0.5%,放弃本次接收同步报文后对从时钟晶振频率的修改;
P1=(P1+λ×P2)/(1+λ) (2)
其次,计算主从时钟平均偏移时间T1和本次主从时钟偏移时间T2之差,如果两者之差大于特定的阈值,则需要重新计算T1,按照公式(3)计算T1,其中“α”表示T2在计算T1时所占的权重,在实际中设置为0.5;如果两者之差不大于特定的阈值,放弃本次接收同步报文后对硬件时钟的晶振频率的修改;
T1=(T1+αT2)/(1+α) (3)
之后从时钟每次接收到同步报文,都会判断是否需要重新计算P1和T1;
仅当P1和T1重新计算之后,从时钟才会通过公式(1)调整晶振频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210532810.2A CN102983927B (zh) | 2012-12-12 | 2012-12-12 | 一种基于ieee 1588协议的主从时钟对时的时间补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210532810.2A CN102983927B (zh) | 2012-12-12 | 2012-12-12 | 一种基于ieee 1588协议的主从时钟对时的时间补偿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102983927A CN102983927A (zh) | 2013-03-20 |
CN102983927B true CN102983927B (zh) | 2015-04-08 |
Family
ID=47857704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210532810.2A Active CN102983927B (zh) | 2012-12-12 | 2012-12-12 | 一种基于ieee 1588协议的主从时钟对时的时间补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102983927B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767582B (zh) * | 2014-01-07 | 2017-07-11 | 艾默生网络能源有限公司 | 一种以太网的同步方法、装置及系统 |
CN105790920B (zh) * | 2016-02-24 | 2018-09-14 | 华东交通大学 | 网络系统中分布节点时钟同步方法 |
CN108650050A (zh) * | 2018-05-09 | 2018-10-12 | 西安电子科技大学 | 一种分布式网络时钟同步方法 |
CN108650259A (zh) * | 2018-05-09 | 2018-10-12 | 西安电子科技大学 | 一种基于分布式网络的时间感知模块及其时间同步系统 |
CN111830892B (zh) * | 2019-04-22 | 2022-09-23 | 新疆金风科技股份有限公司 | 风力发电机组统计时间校准方法和装置、存储介质 |
CN112636860B (zh) * | 2020-12-23 | 2023-06-02 | 西安云维智联科技有限公司 | 基于比例积分算法的ieee1588协议时间校准方法 |
CN113037415B (zh) * | 2021-02-25 | 2024-05-28 | 上海赫千电子科技有限公司 | 一种基于车载以太网传输的tsn网络时钟同步方法、系统及设备 |
CN113098650B (zh) * | 2021-03-29 | 2023-07-25 | 大连市共进科技有限公司 | 时间偏差测量方法、装置、通信设备和可读存储介质 |
CN113014352B (zh) * | 2021-05-21 | 2021-09-14 | 北京国科天迅科技有限公司 | 一种基于光纤通道协议的设备时间同步方法及装置 |
CN113687686B (zh) * | 2021-08-10 | 2024-05-14 | 北京小米移动软件有限公司 | 时钟同步方法、装置、电子设备和存储介质 |
CN114696936B (zh) * | 2022-03-04 | 2024-08-06 | 三维通信股份有限公司 | 时间同步方法、装置、通信系统和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0988703B1 (en) * | 1998-02-25 | 2004-07-21 | Koninklijke Philips Electronics N.V. | A communication device with phase continuous synchronisation to an external network |
CN102237997A (zh) * | 2011-07-08 | 2011-11-09 | 山东大学 | 一种链状以太网节点间的实时同步及动态补偿方法 |
CN102708810A (zh) * | 2012-06-27 | 2012-10-03 | 南京大学(苏州)高新技术研究院 | 一种自适应led动态背光方法 |
CN102779337A (zh) * | 2011-04-13 | 2012-11-14 | 南京大学 | 一种针对结构光的光带分离和峰值定位方法 |
-
2012
- 2012-12-12 CN CN201210532810.2A patent/CN102983927B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0988703B1 (en) * | 1998-02-25 | 2004-07-21 | Koninklijke Philips Electronics N.V. | A communication device with phase continuous synchronisation to an external network |
CN102779337A (zh) * | 2011-04-13 | 2012-11-14 | 南京大学 | 一种针对结构光的光带分离和峰值定位方法 |
CN102237997A (zh) * | 2011-07-08 | 2011-11-09 | 山东大学 | 一种链状以太网节点间的实时同步及动态补偿方法 |
CN102708810A (zh) * | 2012-06-27 | 2012-10-03 | 南京大学(苏州)高新技术研究院 | 一种自适应led动态背光方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102983927A (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102983927B (zh) | 一种基于ieee 1588协议的主从时钟对时的时间补偿方法 | |
CN105429725B (zh) | 一种基于sopc组网的亚微秒级时钟同步方法及系统 | |
CN102394715B (zh) | 时钟同步方法和装置 | |
Lipiński et al. | White rabbit: A PTP application for robust sub-nanosecond synchronization | |
US9014282B2 (en) | Precision timing in a data over cable service interface specification (DOCSIS) system | |
CN104836630B (zh) | Ieee1588时钟同步系统及其实现方法 | |
CN102195735B (zh) | 多子系统设备的时间同步方法及子系统 | |
CN102457371B (zh) | 时间同步方法和相关设备及系统 | |
CN102244603B (zh) | 传输承载时间的报文的方法、设备及系统 | |
RU2638645C2 (ru) | Способ для определения опорных синхросигналов, подвергнутых воздействию изменения в асимметрии задержки трассы распространения между узлами в сети связи | |
US20110051754A1 (en) | Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time | |
CN101882990B (zh) | 基于ptp及链路质量选取主时钟的方法、从时钟及系统 | |
CN102082653B (zh) | 一种时钟同步的方法、系统及装置 | |
CN103916950A (zh) | 时间同步方法及系统 | |
US20220038252A1 (en) | Methods, Apparatus and Computer-Readable Media for Synchronization Over an Optical Network | |
CN102769908A (zh) | 一种应用于电力系统保护测试设备的时间同步装置与方法 | |
CN103929293A (zh) | 非对称延迟的时间同步方法及系统 | |
WO2018120173A1 (zh) | 交互时间同步报文的方法以及网络装置 | |
CN103138865B (zh) | 一种时间同步方法和装置 | |
CN105376043B (zh) | 一种双板卡系统的时间同步方法 | |
CN104243079A (zh) | 一种实时以太网的微秒级时钟同步方法 | |
JP6227888B2 (ja) | 通信システム、同期システム、通信方法 | |
CN103259640A (zh) | 一种同步时间的方法和设备 | |
CN105634641A (zh) | 基于交换架构可级联网络通信的精确校时系统及方法 | |
Ronen et al. | Enhanced synchronization accuracy in IEEE1588 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |