CN114520703B - 用于工业网络设备间时间同步的时钟漂移补偿方法及电路 - Google Patents
用于工业网络设备间时间同步的时钟漂移补偿方法及电路 Download PDFInfo
- Publication number
- CN114520703B CN114520703B CN202011303374.2A CN202011303374A CN114520703B CN 114520703 B CN114520703 B CN 114520703B CN 202011303374 A CN202011303374 A CN 202011303374A CN 114520703 B CN114520703 B CN 114520703B
- Authority
- CN
- China
- Prior art keywords
- time
- compensation
- local
- clock
- cycle
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000001360 synchronised effect Effects 0.000 claims abstract description 22
- 239000000284 extract Substances 0.000 claims abstract description 5
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 8
- 239000013078 crystal Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明涉及用于工业网络设备间时间同步的时钟漂移补偿方法及电路。第一步,主时钟设备周期发送带有系统时间的数据帧,同步设备收到该数据帧后,提取出系统时间,并记录收到数据帧时刻的本地时间和本地时钟的计数值;第二步,在Tn时刻,判断同步周期n‑1内的时钟周期数的值是否大于门限值;若大于门限值,则转至第三步;否则,直接将时间偏差补偿到本地时间内,之后转至第四步;第三步,同时进行时间偏差补偿和频率偏差补偿;第四步,在Tn+1时刻,重复执行第一~三步,使时钟漂移补偿连续的周期执行。采用时间偏差和频率偏差分离补偿的方式,并增加了快速补偿阶段,能够提高误差补偿的收敛速度,简化电路结构,降低对同步周期的要求,增加了该方法的适用范围。
Description
技术领域
本发明涉及工业实时以太网技术领域,具体涉及适用于工业实时以太网的一种现场设备间时间同步的时钟漂移补偿方法。
背景技术
工业实时以太网以其通信带宽大、融合性强、实时性高等特点,已经成为工业自动化领域现场设备间互联的主流网络。由于工业自动化领域要求现场设备之间的数据更新具有实时性,动作执行满足同步性,因而工业实时以太网的数据通信必须具备确定性,才能满足工业现场应用对实时性、同步性和可靠性的要求。目前,主流的工业实时以太网普遍采用分时复用的通信方式使网络上各设备共享通信带宽,实现通信确定性,而时间同步技术是满足分时复用可靠性的必要保障。
时间同步技术使得网络中的所有设备(主站和从站)共享同一个系统时间。在时间同步之前,首先选择网络中的一个设备作为主时钟设备,该设备的本地时间作为整个网络的系统时间;网络中的其他设备与主时钟设备同步,将各自的本地时间同步到系统时间上,进而实现全网时间同步。目前,工业实时以太网采用的时间同步协议包括IEEE1588精确时间同步协议和一些特殊网络(如EtherCAT)采用的自定制时间同步协议,但无论哪种时间同步协议,其时间同步都包括3个步骤,即第一,计算网络中各个设备到主时钟设备的通信延时;第二,计算各个设备的本地时间与系统时间的初始偏差;第三,评估各个设备主时钟设备之间由于晶振之间微小差异导致的时钟漂移。由于前两个时间参数,不会随着时间变化,所以在时间同步时进行一次补偿即可;而时钟漂移参数是随温度变化而改变的,其对时间同步精度的影响是一直存在的,所以需要周期进行补偿。
设备的时钟漂移补偿是通过同步设备和主时钟设备之间的周期通信实现的。主时钟设备会周期性的向同步设备发送带有网络系统时间的数据帧,同步设备收到数据帧后,从中提取出系统时间,与自身的本地时间进行比较,求出时间差值并以此为基础,进行时钟漂移补偿。早期的时钟漂移补偿方法只是将时间差值均匀的补偿到本地时间中,该方法虽然简单、易于实现,但是由于没有考虑同步设备与主时钟设备之间时钟晶振的偏差,使得同步偏差会随着时间积累,在时间同步精度要求较高时,必须缩短同步周期,降低网络带宽的利用率。目前采用的时钟漂移补偿方法都会对时钟晶振偏差进行评估,使用多位数除法器或PID控制等,电路结构比较复杂,并且要求同步周期严格一致,而这在某些网络中是很难保证的。
发明内容
本发明目的是提出一种用于工业实时以太网的时钟漂移补偿方法和装置,实现时钟漂移补偿。采用时间偏差和频率偏差分离补偿的方式,在每个同步周期对频率偏差进行评估,并用分数分频器代替除法器,简化电路实现。该方法不要求同步周期严格一致,因此适用范围更广阔。
本发明为实现上述目的所采用的技术方案是:用于工业网络设备间时间同步的时钟漂移补偿方法,包括以下步骤:
第一步,主时钟设备周期发送带有系统时间的数据帧,同步设备收到该数据帧后,提取出系统时间,并记录收到数据帧时刻的本地时间和本地时钟的计数值;
第二步,在Tn时刻,判断同步周期n-1内的时钟周期数cycle_numn的值是否大于门限值;若大于门限值,则转至第三步;否则,直接将时间偏差time_diffn补偿到本地时间内,之后转至第四步;
第三步,同时进行时间偏差补偿和频率偏差补偿;
第四步,在Tn+1时刻,即同步周期n结束,同步周期n+1开始时,重复执行第一~三步,使时钟漂移补偿连续的周期执行。
第一步包括以下步骤:
在Tn时刻,即同步周期n开始时,计算本地时间与系统时间的时间偏差time_diffn为:
time_diffn=localtimen-systimen(1)
计算采用系统时间计时的同步周期n-1的周期时长sync_cycle_sysn为:
sync_cycle_sysn=systimen-systimen-1(2)
计算采用本地时钟计时的同步周期n-1内的时钟周期数cycle_numn和周期时长sync_cycle_localn为:
cycle_numn=clknumn-clknumn-1(3)
sync_cycle_localn=cycle_numn*clkcycle(4)
计算同步周期n-1内,系统时间和本地时钟计时的差值frq_diffn为:
frq_diffn=sync_cycle_localn-sync_cycle_sysn(5)
其中,同步设备第n次收到带有系统时间的数据帧的时刻为Tn,该时刻Tn表示第n个同步周期开始,第n-1个同步周期结束;systimen表示Tn时刻收到的系统时间,localtimen表示Tn时刻记录的本地时间,clknumn表示Tn时刻记录的本地时钟计数值,clkcycle表示本地时钟的周期。
所述直接将时间偏差time_diffn补偿到本地时间内,具体如下:
localtimen=localtimen-time_diffn(6)
localtimen表示Tn时刻记录的本地时间。
所述时间偏差补偿,包括以下步骤:
在同步周期n中,时间偏差补偿的值为time_diffn,每隔compensate_num个时钟周期,本地时间补偿1纳秒,直到时间偏差补偿完毕,即补偿time_diffn次;其中,compensate_num表示时间偏差补偿步长,根据本地时钟的ppm值配置。
所述频率偏差补偿,包括以下步骤:
频率补偿前评估本地时间与系统时间的时钟频率偏差,即cycle_numn个本地时钟周期计时偏差了frq_diffn,为了补偿这个偏差值,每cycle_numn/frq_diffn个周期补偿1纳秒。
用于工业网络设备间时间同步的时钟漂移补偿电路,包括:
时间参数计算模块,用于在同步周期开始时,计算时钟漂移补偿需要的所有时间参数的值,包括本地时间与系统时间的时间偏差time_diffn、系统时间计时的上一个同步周期的时长sync_cycle_sysn、上一个同步周期内本地时钟的周期数cycle_numn、本地时钟计时的上一个同步周期的时长sync_cycle_localn以及系统时间和本地时钟对同步周期的计时差值frq_diffn;并将cycle_numn送至门限判定模块,将time_diffn、frq_diffn送至时间偏差快速补偿模块;
门限判定模块,用于判断上一个同步周期内本地时钟的周期数cycle_numn是否大于门限值,并根据判定结果生成快速补偿使能信号、时间差值补偿使能信号和频率补偿使能信号,分别送至时间偏差快速补偿模块、时间偏差均匀补偿模块和频率补偿模块;
时间偏差快速补偿模块,用于根据使能信号,将本地时间与系统时间的时间偏差值一次耦合到本地时钟,实现时间快速补偿;
时间偏差均匀补偿模块,用于根据使能信号,将本地时间与系统时间的时间偏差值连续均匀的补偿到本地时间,即每隔compensate_num个时钟周期补偿1纳秒;
频率补偿模块,用于调整本地时钟的计时偏差,即等价于调整本地时钟的频率;每个同步周期都对本地时间与系统时间的时钟频率偏差进行评估,并根据评估结果调整补偿值。
所述时间参数计算模块通过减法器和加法器实现。
所述门限判定模块通过比较器实现。
所述时间偏差均匀补偿模块通过计数器和递减器实现。
所述频率补偿模块通过分频器实现。
本发明提出的时钟漂移补偿方法及电路,是在充分考虑了工业实时以太网的时间同步过程的前提下提出的,采用时间偏差和频率偏差分离补偿的方式,并增加了快速补偿阶段,能够提高误差补偿的收敛速度,简化电路结构,降低对同步周期的要求,增加了该方法的适用范围。
附图说明
图1为工业实时以太网时间同步过程;
图2为时钟漂移补偿方法的具体流程图;
图3为时钟漂移补偿电路内部结构及各模块之间信号连接图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
本发明的时钟漂移补偿电路,包括时间参数计算模块、门限判定模块、时间偏差快速补偿模块、时间偏差均匀补偿模块和频率补偿模块。
时间参数计算模块,用于在同步周期开始时,计算时钟漂移补偿需要的所有时间参数的值,包括本地时间与系统时间的时间偏差、系统时间计时的上一个同步周期的时长、上一个同步周期内本地时钟的周期数、本地时钟计时的上一个同步周期的时长以及系统时间和本地时钟对同步周期的计时差值。
门限判定模块,用于判断上一个同步周期内本地时钟的周期数是否大于门限值,并根据判定结果生成相应的使能信号,送至时间偏差快速补偿模块、时间偏差均匀补偿模块和频率补偿模块。
时间偏差快速补偿模块,将本地时间与系统时间的时间偏差值一次耦合到本地时钟,实现时间快速补偿。
时间偏差均匀补偿模块,将本地时间与系统时间的时间偏差值连续均匀的补偿到本地时间,即每隔compensate_num个时钟周期补偿1纳秒。
频率补偿模块,用于调整本地时钟的计时偏差,即等价于调整了本地时钟的频率。每个同步周期都会对本地时间与系统时间的时钟频率偏差进行评估,并根据评估结果调整补偿值。
时钟漂移补偿电路的输入端口包括时钟信号端、系统时间戳信号端、本地时间戳信号端、同步周期指示信号端、周期数门限信号端和时间偏差补偿步长信号端;输出端口包括快速补偿指示信号端、快速补偿值信号端、偏差补偿指示信号端、偏差补偿符号信号端、频率补偿指示信号端和频率补偿符号信号端。
时间参数计算模块将时钟信号端、系统时间戳信号端、本地时间戳信号端和同步周期指示信号端作为输入端口;生成时间偏差信号送至时间偏差快速补偿模块和时间偏差均匀补偿模块;生成时钟频率偏差信号送至频率补偿模块;生成时钟周期计数信号送至门限判定模块和频率补偿模块。
门限判定模块以周期数门限信号端和来自时间参数计算模块的时钟周期计数信号为输入端口,通过二者比较,生成快速补偿使能信号、时间差值补偿使能信号和频率补偿使能信号,分别送至时间偏差快速补偿模块、时间偏差均匀补偿模块和频率补偿模块。
时间偏差快速补偿模块以时钟信号端、时间偏差信号和快速补偿使能信号为输入端口,生成快速补偿指示信号和快速补偿值信号作为输出端口。
时间偏差均匀补偿模块以时钟信号端、时间偏差补偿步长信号端、时间偏差信号和时间差值补偿使能信号为输入端口,生成偏差补偿指示信号和偏差补偿符号信号作为输出端口。
频率补偿模块以时钟信号端、时钟频率偏差信号、时钟周期计数信号和频率补偿使能信号为输入端口,生成频率补偿指示信号和频率补偿符号信号作为输出端口。
工业实时以太网中设备会以其内部时钟为时基生成本地时间,本地时间的单位为纳秒,假设该内部时钟的周期为clkcycle,则每个时钟周期,本地时间增加clkcycle。由于该内部时钟是由晶振产生的,而晶振的振动频率在单位时间内会发生变化,变化的幅度与温度有关,这就造成网络设备的本地时间出现偏差,无法满足时间同步要求,即发生了时钟漂移。本发明就是提出了一种针对时钟漂移的补偿方法,通过对时钟漂移幅度的评估,调整某些时钟周期的本地时间增加值,若时钟频率变快,则使本地时间增加值小于clkcycle,反之,则使本地时间增加值大于clkcycle,而采用的调整策略即是本发明的核心。
工业实时以太网时间同步以数据通信为基础,如图1所示,为工业实时以太网时间同步过程。网络中的设备会周期性收到主时钟设备发送的同步数据帧,数据帧中包含当前时刻的系统时间,假设第n次收到同步数据帧的时刻为Tn,该时刻表示同步周期n-1结束,同步周期n开始。在时刻Tn,网络设备提取同步数据帧中系统时间systimen,记录本地时间localtimen和本地时钟计数值clknumn,并使用上述时间参数在时刻Tn-1的记录值,评估同步周期n-1内,该网络设备与主时钟设备之间的时间偏差和频率漂移,在同步周期n内进行补偿。
时钟漂移补偿方法的具体流程如图2所示,包括参数计算和偏差补偿两个阶段,其中偏差补偿采用频率补偿和时间偏差补偿独立并行执行的方式。
假设在同步周期n开始时,即时刻Tn,网络设备首先计算该时刻本地时间与系统时间的时间偏差time_diffn,采用以下公式:
time_diffn=localtimen-systimen
time_diffn表示在同步周期n开始时(整个同步周期n-1内),网络设备本地时间与网络系统时间的偏差,需要在同步周期n内补偿。
接着,网络设备需要评估其内部时钟的时钟漂移幅度,采用的方法是同时用系统时间和设备的内部时钟对同步周期n-1的长度进行计时,两者的差值作为频率偏差补偿的依据。具体步骤为:
计算采用系统时间计时的同步周期n-1长度sync_cycle_sysn为:
sync_cycle_sysn=systimen-systimen-1
计算同步周期n-1内,设备内部时钟周期数cycle_numn为:
cycle_numn=clknumn-clknumn-1
计算采用设备内部时钟计时的同步周期n-1长度sync_cycle_localn为:
sync_cycle_localn=cycle_numn*clkcycle
计算系统时间和设备内部时钟对同步周期n-1的计时差值frq_diffn为:
frq_diffn=sync_cycle_localn-sync_cycle_sysn
frq_diffn表示在同步周期n开始时(整个同步周期n-1内),网络设备的内部时钟在cycle_numn个时钟周期内,计时偏差了frq_diffn,进而推算出内部时钟的频率偏差幅度,在同步周期n内补偿。
此时,参数计算阶段结束,进入偏差补偿阶段。在偏差补偿阶段开始时,先要比较cycle_numn的值是否大于设定的门限值,若不大于,则表示网络中时间同步操作比较频繁,同步周期很小,时间偏差time_diffn的值很小(一般小于内部时钟的周期clkcycle),不需要进行频率补偿和时间偏差快速补偿就可以满足时间同步精度的要求,因此,进入快速补偿过程。在快速补偿过程中,将时间偏差time_diffn一次补偿到本地时间内,即
localtimen=localtimen-time_diffn
之后,同步周期n内的时钟漂移补偿流程结束,等到同步周期n+1开始时,再重新开始执行上述流程。
若cycle_numn的值大于设定的门限值,则需要并行执行频率补偿过程和时间偏移均匀补偿过程,才能保证时间同步精度。在频率补偿过程中,根据frq_diffn的意义可知,设备内部时钟每(cycle_numn/frq_diffn)个周期偏差1纳秒,所以按此频率对本地时间进行调整即可。在时间偏差均匀补偿过程中,为了防止一次性将时间偏差time_diffn补偿到本地时间所造成的时间跳变,需要将time_diffn拆分后均匀多次的补偿到本地时间上。此处采用的策略是:根据内部时钟的ppm值设置时间偏差均匀补偿的步长compensate_num,每隔compensate_num个时钟周期给本地时间补偿1纳秒,补偿time_diffn次即可。
根据上述流程,提出时钟漂移补偿电路,其内部结构及各模块之间信号连接如图3所示。时钟漂移补偿电路由5个模块组成,分别是时间参数计算模块、门限判定模块、时间偏差快速补偿模块、时间偏差均匀补偿模块和频率补偿模块。
时间参数计算模块接收来自外部的时钟信号clk、系统时间戳信号system_time、本地时间戳信号local_time_stamp和同步周期指示信号sync_cycle_ind,其中system_time信号和local_time_stamp信号宽度为32位。时间参数计算模块包含一个32位的计数器,用于记录两次同步周期指示信号sync_cycle_ind之间的时钟周期数,该值通过时钟周期计数信号cycle_num(32位)输出,同时用于本地同步周期长度的计时。此外,模块内部还包括一个二级缓存器,用于所存当前周期和上一周期的系统时间戳;包含3个减法器和1个加法器,用于计算时间偏差和频率偏差,并通过时间偏差信号time_diff(32位)和时钟频率偏差信号frq_diff(32位)输出。
门限判定模块接收来自外部配置的周期数门限信号threshold_num(16位)和时间参数计算模块输出的时钟周期计数信号cycle_num,通过内置的32位比较器比较二者大小。若cycle_num<threshold_num,则将快速补偿使能信号fast_compesate_en置为1,使能时间偏差快速补偿,并将时间差值补偿使能信号diff_compesate_en和频率补偿使能信号frq_compesate_en置为0,禁止时间偏差均匀补偿和频率补偿;否则,将快速补偿使能信号fast_compesate_en置为0,禁止时间偏差快速补偿,并将时间差值补偿使能信号diff_compesate_en和频率补偿使能信号frq_compesate_en置为1,使能时间偏差均匀补偿和频率补偿。
当fast_compesate_en信号有效时,时间偏差快速补偿模块使能,其将time_diff的值赋值给快速补偿值信号fast_compesate_val,并将快速补偿指示信号fast_compesate_ind置1;否则,fast_compesate_val信号和fast_compesate_ind信号均无效。
当diff_compesate_en信号有效时,时间偏移均匀补偿模块使能,其内部包含一个16位的计数器和一个32位的递减器。计数器对偏差补偿的步长进行计数,当计数值等于时间偏差补偿步长信号compesate_num时,计数器重新计数,并将偏差补偿指示信号diff_compesate置1,同时若time_diff值为正,则偏差补偿符号信号diff_sign置为0,表示本地时间调小1纳秒,反之,偏差补偿符号信号diff_sign置为1,表示本地时间调大1纳秒;递减器以time_diff的绝对值为初值,每进行一次补偿,都会减1,当其值减为0时,时间偏移均匀补偿结束。
当frq_compesate_en信号有效时,频率补偿模块使能,其内部是一个分数分频器,以cycle_num为分子,frq_diff的绝对值为分子,对时钟信号clk分频;每产生一次分频指示信号时,将频率补偿指示信号frq_compesate_ind置1,同时,若frq_diff值为正,则频率补偿符号信号frq_sign置为0,表示本地时间调小1纳秒,反之,频率补偿符号信号frq_sign置为1,表示本地时间调大1纳秒。
Claims (8)
1.用于工业网络设备间时间同步的时钟漂移补偿方法,其特征在于,包括以下步骤:
第一步,主时钟设备周期发送带有系统时间的数据帧,同步设备收到该数据帧后,提取出系统时间,并记录收到数据帧时刻的本地时间和本地时钟的计数值;
第二步,在Tn时刻,判断同步周期n-1内的时钟周期数cycle_numn的值是否大于门限值;若大于门限值,则转至第三步;否则,直接将时间偏差time_diffn补偿到本地时间内,之后转至第四步;
第三步,同时进行时间偏差补偿和频率偏差补偿;
第四步,在Tn+1时刻,即同步周期n结束,同步周期n+1开始时,重复执行第一~三步,使时钟漂移补偿连续的周期执行;
第一步包括以下步骤:
在Tn时刻,即同步周期n开始时,计算本地时间与系统时间的时间偏差time_diffn为:
time_diffn = localtimen - systimen(1)
计算采用系统时间计时的同步周期n-1的周期时长sync_cycle_sysn为:
sync_cycle_sysn = systimen - systimen-1(2)
计算采用本地时钟计时的同步周期n-1内的时钟周期数cycle_numn和周期时长sync_cycle_localn为:
cycle_numn = clknumn - clknumn-1(3)
sync_cycle_localn = cycle_numn * clkcycle(4)
计算同步周期n-1内,系统时间和本地时钟计时的差值frq_diffn为:
frq_diffn = sync_cycle_localn - sync_cycle_sysn(5)
其中,同步设备第n次收到带有系统时间的数据帧的时刻为Tn,该时刻Tn表示第n个同步周期开始,第n-1个同步周期结束;systimen表示Tn时刻收到的系统时间,localtimen表示Tn时刻记录的本地时间,clknumn表示Tn时刻记录的本地时钟计数值,clkcycle表示本地时钟的周期;
所述直接将时间偏差time_diffn补偿到本地时间内,具体如下:
localtimen = localtimen - time_diffn(6)
localtimen表示Tn时刻记录的本地时间。
2.根据权利要求1所述的用于工业网络设备间时间同步的时钟漂移补偿方法,其特征在于,所述时间偏差补偿,包括以下步骤:
在同步周期n中,时间偏差补偿的值为time_diffn,每隔compensate_num个时钟周期,本地时间补偿1纳秒,直到时间偏差补偿完毕,即补偿time_diffn次;其中,compensate_num表示时间偏差补偿步长,根据本地时钟的ppm值配置。
3.根据权利要求1所述的用于工业网络设备间时间同步的时钟漂移补偿方法,其特征在于,所述频率偏差补偿,包括以下步骤:
频率补偿前评估本地时间与系统时间的时钟频率偏差,即cycle_numn个本地时钟周期计时偏差了frq_diffn,为了补偿这个偏差值,每cycle_numn/frq_diffn个周期补偿1纳秒。
4.用于工业网络设备间时间同步的时钟漂移补偿电路,其特征在于,包括:
时间参数计算模块,用于在同步周期开始时,计算时钟漂移补偿需要的所有时间参数的值,包括本地时间与系统时间的时间偏差time_diffn、系统时间计时的上一个同步周期的时长sync_cycle_sysn、上一个同步周期内本地时钟的周期数cycle_numn、本地时钟计时的上一个同步周期的时长sync_cycle_localn以及系统时间和本地时钟对同步周期的计时差值frq_diffn;并将cycle_numn送至门限判定模块,将time_diffn、frq_diffn送至时间偏差快速补偿模块;
门限判定模块,用于判断上一个同步周期内本地时钟的周期数cycle_numn是否大于门限值,并根据判定结果生成快速补偿使能信号、时间差值补偿使能信号和频率补偿使能信号,分别送至时间偏差快速补偿模块、时间偏差均匀补偿模块和频率补偿模块;
时间偏差快速补偿模块,用于根据使能信号,将本地时间与系统时间的时间偏差值一次耦合到本地时钟,实现时间快速补偿;
时间偏差均匀补偿模块,用于根据使能信号,将本地时间与系统时间的时间偏差值连续均匀的补偿到本地时间,即每隔compensate_num个时钟周期补偿1纳秒;
频率补偿模块,用于调整本地时钟的计时偏差,即等价于调整本地时钟的频率;每个同步周期都对本地时间与系统时间的时钟频率偏差进行评估,并根据评估结果调整补偿值;
所述时间参数计算模块执行以下步骤:
在Tn时刻,即同步周期n开始时,计算本地时间与系统时间的时间偏差time_diffn为:
time_diffn = localtimen - systimen(1)
计算采用系统时间计时的同步周期n-1的周期时长sync_cycle_sysn为:
sync_cycle_sysn = systimen - systimen-1(2)
计算采用本地时钟计时的同步周期n-1内的时钟周期数cycle_numn和周期时长sync_cycle_localn为:
cycle_numn = clknumn - clknumn-1(3)
sync_cycle_localn = cycle_numn * clkcycle(4)
计算同步周期n-1内,系统时间和本地时钟计时的差值frq_diffn为:
frq_diffn = sync_cycle_localn - sync_cycle_sysn(5)
其中,同步设备第n次收到带有系统时间的数据帧的时刻为Tn,该时刻Tn表示第n个同步周期开始,第n-1个同步周期结束;systimen表示Tn时刻收到的系统时间,localtimen表示Tn时刻记录的本地时间,clknumn表示Tn时刻记录的本地时钟计数值,clkcycle表示本地时钟的周期;
直接将时间偏差time_diffn补偿到本地时间内,具体如下:
localtimen = localtimen - time_diffn(6)
localtimen表示Tn时刻记录的本地时间。
5.根据权利要求4所述的用于工业网络设备间时间同步的时钟漂移补偿电路,其特征在于,所述时间参数计算模块通过减法器和加法器实现。
6.根据权利要求4所述的用于工业网络设备间时间同步的时钟漂移补偿电路,其特征在于,所述门限判定模块通过比较器实现。
7.根据权利要求4所述的用于工业网络设备间时间同步的时钟漂移补偿电路,其特征在于,所述时间偏差均匀补偿模块通过计数器和递减器实现。
8.根据权利要求4所述的用于工业网络设备间时间同步的时钟漂移补偿电路,其特征在于,所述频率补偿模块通过分频器实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011303374.2A CN114520703B (zh) | 2020-11-19 | 2020-11-19 | 用于工业网络设备间时间同步的时钟漂移补偿方法及电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011303374.2A CN114520703B (zh) | 2020-11-19 | 2020-11-19 | 用于工业网络设备间时间同步的时钟漂移补偿方法及电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114520703A CN114520703A (zh) | 2022-05-20 |
CN114520703B true CN114520703B (zh) | 2023-12-29 |
Family
ID=81594348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011303374.2A Active CN114520703B (zh) | 2020-11-19 | 2020-11-19 | 用于工业网络设备间时间同步的时钟漂移补偿方法及电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114520703B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242345B (zh) * | 2022-07-28 | 2023-07-28 | 广西自贸区见炬科技有限公司 | 一种热电设备系统时间同步与实时解算处理系统 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5958060A (en) * | 1998-01-02 | 1999-09-28 | General Electric Company | Method and apparatus for clock control and synchronization |
JP2005295251A (ja) * | 2004-03-31 | 2005-10-20 | Toshiba Corp | 受信装置および周波数ドリフト低減回路 |
CN1972182A (zh) * | 2006-12-04 | 2007-05-30 | 中国科学院计算技术研究所 | 一种提高无线传感器网络时间同步精度的方法 |
CN101068128A (zh) * | 2006-05-02 | 2007-11-07 | 三星电子株式会社 | 在分布式控制系统中用于时间同步的方法 |
FR2947408A1 (fr) * | 2009-06-25 | 2010-12-31 | Canon Kk | Procede et dispositif de configuration de transmission de donnees de sous-reseaux |
CN101977104A (zh) * | 2010-11-13 | 2011-02-16 | 上海交通大学 | 基于ieee1588精确时钟同步协议系统及其同步方法 |
CN103684728A (zh) * | 2012-09-04 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | Fc网络时钟同步误差补偿方法 |
CN103812591A (zh) * | 2014-01-26 | 2014-05-21 | 长沙瑞纬电气有限公司 | 一种列车通信网的时钟频率间接补偿方法 |
WO2015126577A1 (en) * | 2014-02-21 | 2015-08-27 | Landis+Gyr Innovations, Inc. | Clock drift compensation in a time synchronous channel hopping network |
CN106160914A (zh) * | 2016-07-22 | 2016-11-23 | 浙江工业大学 | 一种基于干扰观测反馈控制技术的ieee1588时钟同步方法 |
CN106788852A (zh) * | 2017-01-16 | 2017-05-31 | 深圳市雷赛智能控制股份有限公司 | 一种EtherCAT电机驱动器与主站时钟的同步方法 |
CN106992830A (zh) * | 2017-04-05 | 2017-07-28 | 中国科学院空间应用工程与技术中心 | 一种fc‑ae‑1553网络中的时钟同步方法 |
CN108521314A (zh) * | 2018-03-21 | 2018-09-11 | 浙江理工大学 | 面向实时Wi-Fi网络的时钟漂移补偿方法 |
CN111585683A (zh) * | 2020-05-11 | 2020-08-25 | 上海交通大学 | 一种面向时间敏感网络的高可靠时钟同步系统及方法 |
CN111698049A (zh) * | 2020-05-19 | 2020-09-22 | 东南大学 | 一种考虑往返时延不对称的高精度时钟同步方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100396785B1 (ko) * | 2001-10-19 | 2003-09-02 | 엘지전자 주식회사 | Gsm단말기의 시간오차 보상장치 및 방법 |
KR100895175B1 (ko) * | 2007-04-04 | 2009-05-04 | 삼성전자주식회사 | 통신 시스템에서 gps 정보를 이용한 시간 동기화 방법및 장치 |
KR100876776B1 (ko) * | 2007-04-17 | 2009-01-09 | 삼성전자주식회사 | 통신 시스템에서 gps 정보를 이용한 시간 동기화 방법및 장치 |
-
2020
- 2020-11-19 CN CN202011303374.2A patent/CN114520703B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5958060A (en) * | 1998-01-02 | 1999-09-28 | General Electric Company | Method and apparatus for clock control and synchronization |
JP2005295251A (ja) * | 2004-03-31 | 2005-10-20 | Toshiba Corp | 受信装置および周波数ドリフト低減回路 |
CN101068128A (zh) * | 2006-05-02 | 2007-11-07 | 三星电子株式会社 | 在分布式控制系统中用于时间同步的方法 |
CN1972182A (zh) * | 2006-12-04 | 2007-05-30 | 中国科学院计算技术研究所 | 一种提高无线传感器网络时间同步精度的方法 |
FR2947408A1 (fr) * | 2009-06-25 | 2010-12-31 | Canon Kk | Procede et dispositif de configuration de transmission de donnees de sous-reseaux |
CN101977104A (zh) * | 2010-11-13 | 2011-02-16 | 上海交通大学 | 基于ieee1588精确时钟同步协议系统及其同步方法 |
CN103684728A (zh) * | 2012-09-04 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | Fc网络时钟同步误差补偿方法 |
CN103812591A (zh) * | 2014-01-26 | 2014-05-21 | 长沙瑞纬电气有限公司 | 一种列车通信网的时钟频率间接补偿方法 |
WO2015126577A1 (en) * | 2014-02-21 | 2015-08-27 | Landis+Gyr Innovations, Inc. | Clock drift compensation in a time synchronous channel hopping network |
CN106160914A (zh) * | 2016-07-22 | 2016-11-23 | 浙江工业大学 | 一种基于干扰观测反馈控制技术的ieee1588时钟同步方法 |
CN106788852A (zh) * | 2017-01-16 | 2017-05-31 | 深圳市雷赛智能控制股份有限公司 | 一种EtherCAT电机驱动器与主站时钟的同步方法 |
CN106992830A (zh) * | 2017-04-05 | 2017-07-28 | 中国科学院空间应用工程与技术中心 | 一种fc‑ae‑1553网络中的时钟同步方法 |
CN108521314A (zh) * | 2018-03-21 | 2018-09-11 | 浙江理工大学 | 面向实时Wi-Fi网络的时钟漂移补偿方法 |
CN111585683A (zh) * | 2020-05-11 | 2020-08-25 | 上海交通大学 | 一种面向时间敏感网络的高可靠时钟同步系统及方法 |
CN111698049A (zh) * | 2020-05-19 | 2020-09-22 | 东南大学 | 一种考虑往返时延不对称的高精度时钟同步方法 |
Non-Patent Citations (7)
Title |
---|
《基于IEEE802.1AS的时钟同步系统设计》;薛一飞;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;全文 * |
《基于实时以太网的网络化数控系统 高精度时钟同步和短周期通信》;黄威然,楼佩煌,钱晓明;《计算机集成制造系统》;第21卷(第10期);全文 * |
A Regularized Ensemble of Classifiers for Sensor Drift Compensation;Mridula Verma; Shruti Asmita; K. K. Shukla;《IEEE》;第16卷(第5期);全文 * |
FREQUENCY DRIFT COMPENSATION IN MASS-SENSITIVE CHEMICAL SENSORS BASED ON PERIODIC STIFFNESS MODULATION;Demirci, KS;Seo, JH;Truax, S;Beardslee, LA ;Luzinova, Y;Mizaikoff, B;Brand, O;《Clarivate》;全文 * |
Integrated Time Synchronization for Wireless Sensor Networks;He, LM;《IEEE》;全文 * |
Wei Wei ; Zhong Hongen ; Cao Suzhi.Error Analysis and Correction of Time-Frequency Synchronization Based on Packet Switching.《IEEE》.2018,全文. * |
一种面向WIA-PA系统级芯片的低功耗优化策略;谢闯,杨志家,王剑;《信息与控制》;第47卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114520703A (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7916758B2 (en) | Method and system for precise-clock synchronization, and device for precise-clock frequency/time synchronization | |
JP5350787B2 (ja) | タイムスタンプを用いたタイム同期方法及び装置 | |
US8576883B2 (en) | Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time | |
US7664118B2 (en) | System and method for high precision clock recovery over packet networks | |
US20150163000A1 (en) | Method and devices for synchronization using linear programming | |
WO2014083725A1 (ja) | 同期装置、同期システム、無線通信装置及び同期方法 | |
KR20020028802A (ko) | 상호접속된 서브-네트워크들간의 사이클 동기화 | |
CN103763055A (zh) | 一种精确同步时间的方法 | |
JP2014238357A (ja) | 受信装置、時刻差算出方法、およびプログラム | |
EP2715956A1 (en) | Precision timing in a data over cable service interface specification (docsis) system | |
US9544078B2 (en) | Method and system for optimizing short term stability of a clock pulse | |
KR20170095234A (ko) | 네트워크 디바이스들의 클록들을 동기화하는 방법 | |
JP2001186180A (ja) | Ip端末装置、周波数誤差範囲推定方法、周波数差推定方法及び推定所要時間算出方法 | |
US20100189109A1 (en) | Clock supply device and transmission device | |
US10027468B1 (en) | Ethernet physical layer circuit and clock recovery method thereof | |
US20130215910A1 (en) | Transmission apparatus, transmission method, program, and communication system | |
JP2012222833A (ja) | 揺らぎの蓄積を克服して大きなネットワーク上で精密なクロック分配を達成するシステムおよび方法 | |
CN114520703B (zh) | 用于工业网络设备间时间同步的时钟漂移补偿方法及电路 | |
WO2013163793A1 (en) | Automatic time and frequency synchronization over an asynchronous network | |
CN113424466B (zh) | 时钟同步的方法和装置 | |
EP3080933A1 (en) | Method and devices for synchronization using linear programming | |
CN116346272A (zh) | 一种基于Xilinx的PS端和PL端协同的IEEE802.1AS时钟同步系统 | |
TWM628940U (zh) | 主控裝置及僕裝置 | |
CN113359948A (zh) | 时间同步装置及同步方法 | |
CN112558685A (zh) | 一种配电终端模块间对时同步的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |