一种时钟校正方法、装置以及网络设备与流程

文档序号:25491197发布日期:2021-06-15 21:57阅读:95来源:国知局
一种时钟校正方法、装置以及网络设备与流程

本说明书涉及通信技术领域,尤其涉及一种时钟校正方法、装置以及网络设备。



背景技术:

随着5g(第五代移动通信技术,5th-generation)技术的发展,数据的传输速度越来越快,对于时钟的准确性要求也越来越高。对于网络设备而言,一般会设置有两种时钟来源,一种是自身所产生的,另一种是从外部接收到的。

在网络设备内部,时钟信号由晶振产生,由于晶振的特性,随着时间的累加晶振老化,其所产生的时钟信号也会出现偏差。此时,需要通过从外部接收到的补偿信号对晶振所产生的时钟信号进行校正,从而保证多个网络设备之间的时钟保持统一。比如,通过1588协议接收频率或相位的偏移对内部的时钟进行校正。

但是,在网络设备工作的过程中,可能由于边界时钟(1588协议中的授时设备)故障,而导致网络设备无法接收到外部的补偿信号,网络设备无法对内部的晶振所产生的时钟信号进行校正,因此,在晶振累积了一定偏差的情况下,网络设备的数据处理和数据交互将会产生较大的偏差,从而影响网络设备乃至于整个组网的可靠性。



技术实现要素:

为克服相关技术中存在的问题,本说明书提供了一种时钟校正方法、装置以及网络设备。

结合本说明书实施方式的第一方面,本申请提供了一种时钟校正方法,方法包括:

获取补偿参数,其中,补偿参数为基于外部时钟源所发送的补偿信号所确定的;

根据所获取的至少两个补偿参数,确定迭代值;

通过卡尔曼模型对迭代值进行收敛,确定出收敛值;

当确定外部时钟源故障时,根据收敛值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为1588协议的时钟源,补偿参数包括相位偏差或频率偏差;

根据所获取的至少两个补偿参数,确定迭代值,包括:

在预设的时间周期内,记录至少两个补偿信号对应的补偿参数;

计算至少两个补偿信号中任意两个补偿信号所对应的补偿参数之间的差值;

根据任意两个补偿信号的下发间隔,确定补偿参数的比例关系,其中,比例关系为补偿参数所对应的迭代值的份数比例;

根据差值和比例关系,计算出迭代值。

进一步的,根据收敛值对晶振所产生的时钟信号进行补偿,包括:

根据时间周期内所设置的补偿时间,确定补偿时间所对应的收敛值的份数;

计算出实际补偿值,其中,实际补偿值=份数×收敛值;

在补偿时间,通过实际补偿值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为同步以太网的时钟源,补偿参数为锁相环根据外部时钟源所确定的补偿系数;

根据所获取的至少两个补偿参数,确定迭代值,包括:

间隔预设时间段,从锁相环中读取补偿参数;

计算相邻的两个补偿参数所对应的差值作为迭代值;

根据收敛值对晶振所产生的时钟信号进行补偿,包括:

获取锁相环中所记录的补偿系数作为初始值以及通过卡尔曼模型所确定的收敛值;

计算出实际补偿值,其中,实际补偿值=初始值+n×收敛值,n为外部时钟源故障后所经过的时间段的数量。

结合本说明书实施方式的第二方面,本申请还提供了一种时钟校正装置,包括:

获取单元,用于获取补偿参数,其中,补偿参数为基于外部时钟源所发送的补偿信号所确定的;

计算单元,用于根据所获取的至少两个补偿参数,确定迭代值;

收敛单元,用于通过卡尔曼模型对迭代值进行收敛,确定出收敛值;

补偿单元,用于当确定外部时钟源故障时,根据收敛值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为1588协议的时钟源,补偿参数包括相位偏差或频率偏差;

计算单元,包括:

记录模块,用于在预设的时间周期内,记录至少两个补偿信号对应的补偿参数;

第一差值模块,用于计算至少两个补偿信号中任意两个补偿信号所对应的补偿参数之间的差值;

比例模块,用于根据任意两个补偿信号的下发间隔,确定补偿参数的比例关系,其中,比例关系为补偿参数所对应的迭代值的份数比例;

确定模块,用于根据差值和比例关系,计算出迭代值。

进一步的,补偿单元,包括:

份数模块,根据时间周期内所设置的补偿时间,确定补偿时间所对应的收敛值的份数;

计算模块,用于计算出实际补偿值,其中,实际补偿值=份数×收敛值;

补偿模块,用于在补偿时间,通过实际补偿值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为同步以太网的时钟源,补偿参数为锁相环根据外部时钟源所确定的补偿系数;

计算单元,包括:

读取模块,用于间隔预设时间段,从锁相环中读取补偿参数;

第二差值模块,用于计算相邻的两个补偿参数所对应的差值作为迭代值;

补偿单元,包括:

获取模块,用于当确定外部时钟源故障时,获取锁相环中所记录的补偿系数作为初始值以及通过卡尔曼模型所确定的收敛值;

补偿确定模块,用于计算出实际补偿值,其中,实际补偿值=初始值+n×收敛值,n为外部时钟源故障后所经过的时间段的数量。

结合本说明书实施方式的第三方面,本申请还提供了一种网络设备,包括:处理器、存储器、接收器、晶振和锁相环;

存储器中存储有程序代码,处理器调用程序代码以执行如下操作:

获取补偿参数,其中,补偿参数为基于接收器接收到的外部时钟源所发送的补偿信号所确定的;

根据所获取的至少两个补偿参数,确定迭代值;

通过卡尔曼模型对迭代值进行收敛,确定出收敛值;

当确定外部时钟源故障时,将确定出的收敛值写入到锁相环,以使锁相环根据收敛值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为1588协议的时钟源,补偿参数包括相位偏差或频率偏差;

根据所获取的至少两个补偿参数,确定迭代值,包括:

在预设的时间周期内,记录至少两个补偿信号对应的补偿参数;

计算至少两个补偿信号中任意两个补偿信号所对应的补偿参数之间的差值;

根据任意两个补偿信号的下发间隔,确定补偿参数的比例关系,其中,比例关系为补偿参数所对应的迭代值的份数比例;

根据差值和比例关系,计算出迭代值;

根据收敛值对晶振所产生的时钟信号进行补偿,包括:

根据时间周期内所设置的补偿时间,确定补偿时间所对应的收敛值的份数;

计算出实际补偿值,其中,实际补偿值=份数×收敛值;

在补偿时间,通过实际补偿值对晶振所产生的时钟信号进行补偿。

进一步的,外部时钟源为同步以太网的时钟源,补偿参数为补偿系数;

接收器接收外部时钟源发送的补偿信号,并将补偿信号中所携带的补偿系数发送给锁相环;

根据所获取的至少两个补偿参数,确定迭代值,包括:

间隔预设时间段,从锁相环中读取补偿参数;

计算相邻的两个补偿参数所对应的差值作为迭代值;

根据收敛值对晶振所产生的时钟信号进行补偿,包括:

获取锁相环中所记录的补偿系数作为初始值以及通过卡尔曼模型所确定的收敛值;

计算出实际补偿值,其中,实际补偿值=初始值+n×收敛值,n为外部时钟源故障后所经过的时间段的数量。

本说明书实施方式中,在网络设备能够获取到补偿信号时,通过卡尔曼模型对根据补偿信号所确定的补偿参数进行收敛,并在检测到外部时钟源故障的情况下,通过收敛后所获得的收敛值对晶振所生成的时钟信号进行补偿,从而在网络设备无法获得外部时钟源的补偿信号进行补偿时,为网络设备提供了可靠的时钟补偿方式,提高了时钟统一性,并且提升了网络设备乃至组网进行数据处理和数据交互的可靠性。

本说明书的实施方式提供的技术方案可以包括以下有益效果:

本说明书实施方式中,在网络设备能够获取到补偿信号时,通过卡尔曼模型对根据补偿信号所确定的补偿参数进行收敛,并在检测到外部时钟源故障的情况下,通过收敛后所获得的收敛值对晶振所生成的时钟信号进行补偿,从而在网络设备无法获得外部时钟源的补偿信号进行补偿时,为网络设备提供了可靠的时钟补偿方式,提高了时钟统一性,并且提升了网络设备乃至组网进行数据处理和数据交互的可靠性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施方式,并与说明书一起用于解释本说明书的原理。

图1是本申请所涉及的一种网络设备的结构示意图;

图2是本申请所涉及的一种时钟校正方法的流程图;

图3是本申请的实施方式所涉及的一种时钟校正方法所涉及的时序图,其中,补偿参数通过1588协议的1588报文下发;

图4是本申请所涉及的一种时钟校正装置的结构示意图。

具体实施方式

这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书相一致的所有实施方式。

常见的网络设备,如图1所示,包括处理器、存储器、接收器、晶振和锁相环。晶振用于产生时钟信号,该时钟信号一般为方波。晶振在生成时钟信号后,会将时钟信号发送给锁相环,锁相环可以通过输入的信号作为参考来校正晶振所产生的时钟信号,并输出校正后的时钟信号,以使网络设备中所应用的时钟信号能够减小偏差,使其更加精准。

针对接收器而言,一般为phy(物理层)芯片、fpga(现场可编程逻辑阵列,fieldprogrammablegatearray)或者mac(媒体访问控制层)芯片等。比如,当网络设备通过1588协议进行时钟补偿时,可以通过phy芯片、fpga或mac芯片实现,当网络设备通过同步以太网(synce)实现时钟补偿时,可以是phy芯片或fpga。当然,在实际应用过程中,还可能包含有其他芯片或单元来实现补偿信号的接收和处理,并输出给锁相环进行补偿,对此不做限制。

网络设备可以接收到外部时钟源所发送的补偿信号,对于网络设备而言,可以通过一种或二种外部时钟源对自身的时钟信号进行补偿。

但是,外部时钟源可能由于通信的不可靠而与网络设备断开,这样一来,网络设备无法获取到补偿信号,晶振的偏差无法被校正。为了避免这一情况,本申请提供了一种时钟补偿方法,如图2所示,包括:

s100、获取补偿参数。

其中,补偿参数为基于外部时钟源所发送的补偿信号所确定的,该外部时钟源可以为1588协议、gps(全球定位系统,globalpositioningsystem)协议和以太网信息中所携带的synce(同步以太网,synchronousethernet)信号等。

s101、根据所获取的至少两个补偿参数,确定迭代值。

s102、通过卡尔曼模型对所述迭代值进行收敛,确定出收敛值。

由于外部时钟源会一直向网络设备发送补偿信号,因此,网络设备可以完成对晶振的持续补偿。补偿信号中所携带的补偿参数并非按照一定的规律的进行变化,并且会受到收发链路传输过程中的抖动以及网络设备的温度变化而存在噪声,在网络设备接收到补偿信号时,需要滤除该部分噪声,建立出表现晶振老化特性的卡尔曼模型。

在网络设备的外部时钟源正常工作的情况下,卡尔曼模型中包括有先验和后验两个过程。通过接收外部时钟源所获取的补偿参数,通过补偿参数对先验值进行校正形成后验值,并将后验值作为下一次获取补偿参数时的先验值,以此循环,使卡尔曼模型最终能够输出准确对时钟信号进行补偿的补偿参数。

迭代值和收敛值可以理解为是卡尔曼模型的输入变量和计算结果,迭代值是基于网络设备获取的补偿参数计算得出,该迭代值输入到卡尔曼模型后进行迭代,并在完成迭代后形成收敛值。举例来说,迭代值的倍数可以等于补偿参数,或者是两个补偿参数之间的差值。这里需要根据实际的情况进行设置,在后续内容中会具体描述。

当然,由于迭代的过程可能在网络设备能够接收到外部时钟源的补偿信号的情况下持续进行,因此,完成迭代在本申请中可以理解为是确定外部时钟源断开的时机。

后续对该卡尔曼模型输出的补偿参数称为本地补偿参数,本地补偿参数是根据收敛值计算得到的。其中,卡尔曼模型可以表示为:

预测公式1:

预测公式2:

校正公式1:

校正公式2:

校正公式3:

xk为根据卡尔曼模型预测的补偿参数;pk为置信度方差;kk为卡尔曼增益;zk为根据协议下发的补偿参数所确定出的迭代值;r为协议下发的补偿参数的协方差。其中,带有负号上标的值表示利用卡尔曼模型确定出的先验值,带有^号上标的值表示利用卡尔曼模型确定出的后验值。

由于卡尔曼模型的作用是在外部时钟源故障时,为锁相环提供一个准确的补偿参数,因此,在外部时钟源正常的情况下,卡尔曼模型一直进行迭代。

在应用卡尔曼模型时,在预测公式中,和pk-1可以预先设置一个初始值,该初始值可以为0或在处于一个任意范围内,这两个初始值越接近实际值则可以是二者能够更快的完成收敛,如设置的偏离实际值较远,仅是影响最终的收敛速度。

由于卡尔曼模型在迭代过程中,运用了实际接收到的值进行收敛,比如,zk可以为与根据接收到的补偿信号确定的补偿参数确定的迭代值,因此,能够实现将收敛值趋近于补偿参数的实际值。

以一次运算过程为例进行描述,假设的初始值为0和pk-1为1,那么,通过预测公式1和预测公式2将二者赋值于此后,网络设备接收外部时钟源的补偿信号,并根据补偿信号获取补偿参数,进而获取到补偿参数相对应的迭代值(校正公式2中的zk)和协方差r。

此后,根据校正公式1-3,将迭代值和协方差r代入,以算出后验值并更新pk和kk,用于下一次进行先验值的计算,以此循环,以完成迭代。

s103、当确定外部时钟源故障时,根据收敛值对晶振所产生的时钟信号进行补偿。

在网络设备确定一段时间内未接收到外部时钟源的补偿信号,则可以认为外部时钟源或外部时钟源与网络设备之间的传输线路已经出现了故障,网络设备无法通过外部时钟源对自身的时钟信号进行补偿。

此时,网络设备可以将已经完成收敛所形成的收敛值确定出实际需要向锁相环输出的实际补偿参数,从而对晶振所生成的时钟信号进行补偿。

本说明书实施方式中,在网络设备能够获取到补偿信号时,通过卡尔曼模型对根据补偿信号所确定的补偿参数进行收敛,并在检测到外部时钟源故障的情况下,通过收敛后所获得的收敛值对晶振所生成的时钟信号进行补偿,从而在网络设备无法获得外部时钟源的补偿信号进行补偿时,为网络设备提供了可靠的时钟补偿方式,提高了时钟统一性,并且提升了网络设备乃至组网进行数据处理和数据交互的可靠性。

下面以一个具体的实施方式对本申请所涉及的一种时钟校正方法进行说明。在本实施方式中,网络设备所选用的设备为1588协议的时钟源,1588的边界时钟会持续向网络设备发送1588报文(补偿信号),网络设备的结构如图1所示。

s11、网络设备接收边界时钟所发送的1588报文。

s12、网络设备对1588报文进行解析,获取作为补偿参数的相位偏差(或频率偏差)。

通过1588协议,网络设备分别可以获取到相位偏差和频率偏差。相位偏差和频率偏差发送的周期不同,举例来说,针对相位偏差,网络设备每一秒可以接收到16个边界时钟发送的报文,而针对频率偏差,网络设备每一秒可以接收到2个边界时钟发送的报文。因此,可以理解的是,在一个周期内,第8个1588报文和第16个1588报文可以分别携带有相位偏差和频率偏差。

由于频率偏差的补偿同样会对相位造成影响,因此,可以以每8次下发的相位偏差进行迭代。边界时钟基于1588协议中下发的1588报文,下发的频率如图4所示,其中,δt表示下发相位偏差,δf表示下发频率偏差,横坐标上的短线表示下发δt的时机,长线表示下发δf的时机。从图中可以看出,在相邻的δf之间,会下发8次δt。将相邻的δt设置为是关于时间间隔的加速度变化过程,但是此公式只是经过长时间迭代所推导出的近似公式,实际上,1588报文所携带的相位偏差是跳变的过程,并且相位偏差也可能包含有正值和负值。

s=(1/2)at2

s为相位偏差,a为老化变量,t为两次下发的时间间隔。

s13、在预设的时间周期内,网络设备记录至少两个补偿信号所对应的补偿参数。

在一个时间周期内,比如本实施方式中所设置的0.5秒,网络设备可以接收到8次针对相位偏差的补偿信号。为了能够更加准确地进行迭代,需要记录多个补偿参数,并且,所记录的补偿参数需要排除前一次记录的补偿参数。

s14、网络设备根据任意两个补偿信号的下发间隔,确定补偿参数的比例关系。

其中,比例关系为补偿参数所对应的迭代值的份数比例。根据上述的推导公式,可以大致确定出相邻的补偿参数之间成下发次数的平方关系,也就是说,8次下发的相位偏差之间大致可以划定比例为1:4:9:16:25:36:49:64。

s15、网络设备计算至少两个补偿信号中任意两个补偿信号所对应的补偿参数之间的差值。

s16、网络设备根据差值和比例关系,计算出迭代值。

网络设备根据所记录的多个补偿参数,并计算两个补偿参数之间的差值。并且,基于s4中确定的比例关系,可以得出相邻的补偿参数之间差值包含的迭代值的份数的比例关系可以为1:3:5:7:9:11:13:15。

在本实施方式中,可以选取第一次、第三次和第四次下发的补偿参数作为基础进行计算,即这共包含1+5+7共13份迭代值。假设第一次的补偿参数为0.3纳秒,第二次的补偿参数为-0.1纳秒,第三次的补偿参数为0.7纳秒,第四次的补偿参数为0.9纳秒。这样一来,可以确定13份迭代值的总和为0.3+0.8+0.2=1.3纳秒,因此,一份迭代值可以确定为0.1纳秒。

并且,在1588报文中携带了频率偏差时,网络设备也记录下所携带的频率偏差。由于1588报文所下发的频率偏差相对于相位偏差更加准确,因此,可以不通过上述频率偏差的方式进行迭代,在外部时钟源故障的情况下,根据1588报文下发的频率偏差对锁相环进行补偿。当然,也可以根据所接收到的多个频率偏差进行迭代,并获得一个更加准确的频率偏差,假设最终获取的频率偏差相关的迭代值可以为10hz。

在上述过程中,网络设备一直对于外部时钟源进行监听,如果网络设备能够接收到外部时钟源所发送的补偿信号,则网络设备执行步骤s11-s16过程。一旦网络设备在一段预设时间内未接收到外部时钟源的补偿信号,则跳转到s17执行。

s17、网络设备根据时间周期内所设置的补偿时间,确定补偿时间所对应的收敛值的份数。

s18、网络设备计算出实际补偿值。

在外部时钟源故障后,网络设备需要通过自身已经训练完成的收敛值对晶振所产生的时钟信号进行校正,即,晶振产生时钟信号写入到锁相环,网络设备的处理器根据时间周期(图3所示的周期,0.5秒一周期)确定当前需要向锁相环发送的实际补偿值。该实际补偿值为当前的时间周期内的下发次数所对应的份数与收敛值的乘积,即,实际补偿值=份数×收敛值。

也就是说,参照上面所的比例关系可以确定在8次的相位偏差分别为0.1、0.4、0.9、1.6、2.5、3.6、4.9和6.4纳秒,在此基础上,从后一次下发的相位偏差中去除前一次下发的相位偏差,避免重复下发。最终,每一次下发的相位偏差分别为0.1、0.3、0.5、0.7、0.9、1.1、1.3和1.5纳秒。

s19、网络设备在补偿时间,通过实际补偿值对晶振所产生的时钟信号进行补偿。

通过上述确定出的相位偏差,在第一次下发相位偏差给锁相环时,下发0.1纳秒;在第二次下发相位偏差给锁相环时,下发0.3纳秒;在第三次下发相位偏差给锁相环时,下发0.5纳秒;在第四次下发相位偏差给锁相环时,下发0.7纳秒;在第五次下发相位偏差给锁相环时,下发0.9纳秒;在第六次下发相位偏差给锁相环时,下发1.1纳秒;在第七次下发相位偏差给锁相环时,下发1.3纳秒;在第八次下发相位偏差给锁相环时,下发1.5纳秒。

并且,在第八次下发相位偏差时,还会向锁相环下发已经确定的频率偏差,即10hz。

具体锁相环内部的实现与当前的锁相环相同,仅在外部时钟源故障时,通过卡尔曼模型的输出结果替代外部时钟源所产生的补偿信号输入锁相环。

此后,当网络设备再次监听到外部时钟源所下发的补偿信号后,网络设备会再次执行s11-s16过程,根据卡尔曼模型对下发的补偿进行训练,直到下一次确定外部时钟源故障,依次循环。

通过上述的过程,即可以在外部时钟源故障的时候,为网络设备提供一个可靠的补偿参数,对晶振所提供的时钟信号进行相位偏差和频率偏差的补偿。

由于外部时钟源的不同,本申请还提供了另一个实施方式对所涉及的一种时钟校正方法进行描述。在本实施方式中,外部时钟源为同步以太网synce信号,网络设备接收到synce信号后,会将其输入到锁相环中。

需要说明的是,由于synce信号只能对频率进行校正,synce信号不会独立作为补偿信号,一般来说,会在包含1588协议或gnss(全球导航卫星系统,globalnavigationsatellitesystem)的补偿基础上将synce信号作为辅助。此时,在网络设备中需要部署两个锁相环,一个锁相环用于过滤synce信号,一个锁相环用于过滤1588协议或gnss信号。在当前的锁相芯片中,可以分别实现上述两个锁相环的功能,此时,一个锁相环可以被称为该锁相环芯片中的锁相单元,并且在两个锁相环之间还可以设置频率控制字分析单元来确定补偿系数输出到锁相环芯片外。

s21、网络设备通过以太网接口接收synce信号。

s22、网络设备间隔预设的时间段,通过锁相环获取补偿系数。

在本实施方式中,补偿参数为锁相环根据所述外部时钟源所确定的补偿系数。

针对向锁相环获取synce信号进行对应的处理,最终输出补偿系数的过程与当前的锁相环相同,在此不再展开描述。预设的时间段为锁相环对synce信号进行滤波并输出的时间。

s23、网络设备计算相邻的两个补偿系数所对应的差值作为迭代值。

根据记录的补偿系数是与频率相关的,因此,该补偿系数可以理解是近似关于时间的线性关系,进而可以确定出的迭代值就可以理解为是相邻两次补偿系数的变化值。

s24、网络设备根据该迭代值输入到卡尔曼模型中进行收敛。

其中,卡尔曼模型中所涉及的公式与上述的相似,即包含预测公式1、预测公式2、校正公式1、校正公式2和校正公式3。与上一实施方式不同的是,本实施方式中zk代表相邻补偿系数的差值。

s25、网络设备监听synce信号,如果监听到synce信号则循环执行s21-s24,如果一段时间内未检测到synce信号,则跳转到s26。

s26、网络设备获取锁相环中当前的补偿系数作为初始值。

s27、网络设备计算实际补偿值,并根据实际补偿值下发到锁相环,以通过锁相环对晶振所产生的时钟信号进行补偿。

该实际补偿值=初始值+n×收敛值,其中,n为外部时钟源故障后所经过的时间段的数量,该收敛值为外部时钟源故障时,卡尔曼模型所确定的收敛值。

每一次到达时间段后,则根据所经过的时间段的数量n进行一次实际补偿值。

此后,当网络设备再次监听到外部时钟源所发送的synce信号,则再次开始执行s21-s24的过程,直至下次外部时钟源故障。

相对应的,本申请还提供了一种时钟校正装置,如图1所示,包括:

获取单元,用于获取补偿参数,其中,补偿参数为基于外部时钟源所发送的补偿信号所确定的;

计算单元,用于根据所获取的至少两个补偿参数,确定迭代值;

收敛单元,用于通过卡尔曼模型对迭代值进行收敛,确定出收敛值;

补偿单元,用于当确定外部时钟源故障时,根据收敛值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为1588协议的时钟源,补偿参数包括相位偏差或频率偏差;

计算单元,包括:

记录模块,用于在预设的时间周期内,记录至少两个补偿信号对应的补偿参数;

第一差值模块,用于计算至少两个补偿信号中任意两个补偿信号所对应的补偿参数之间的差值;

比例模块,用于根据任意两个补偿信号的下发间隔,确定补偿参数的比例关系,其中,比例关系为补偿参数所对应的迭代值的份数比例;

确定模块,用于根据差值和比例关系,计算出迭代值。

进一步的,补偿单元,包括:

份数模块,根据时间周期内所设置的补偿时间,确定补偿时间所对应的收敛值的份数;

计算模块,用于计算出实际补偿值,其中,实际补偿值=份数×收敛值;

补偿模块,用于在补偿时间,通过实际补偿值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为同步以太网的时钟源,补偿参数为锁相环根据外部时钟源所确定的补偿系数;

计算单元,包括:

读取模块,用于间隔预设时间段,从锁相环中读取补偿参数;

第二差值模块,用于计算相邻的两个补偿参数所对应的差值作为迭代值;

补偿单元,包括:

获取模块,用于当确定外部时钟源故障时,获取锁相环中所记录的补偿系数作为初始值以及通过卡尔曼模型所确定的收敛值;

补偿确定模块,用于计算出实际补偿值,其中,实际补偿值=初始值+n×收敛值,n为外部时钟源故障后所经过的时间段的数量。

相对应的,本申请还提供了一种网络设备,如图1所示,包括:处理器、存储器、接收器、晶振和锁相环;

存储器中存储有程序代码,处理器调用程序代码以执行如下操作:

获取补偿参数,其中,补偿参数为基于接收器接收到的外部时钟源所发送的补偿信号所确定的;

根据所获取的至少两个补偿参数,确定迭代值;

通过卡尔曼模型对迭代值进行收敛,确定出收敛值;

当确定外部时钟源故障时,将确定出的收敛值写入到锁相环,以使锁相环根据收敛值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为1588协议的时钟源,补偿参数包括相位偏差或频率偏差;

根据所获取的至少两个补偿参数,确定迭代值,包括:

在预设的时间周期内,记录至少两个补偿信号对应的补偿参数;

计算至少两个补偿信号中任意两个补偿信号所对应的补偿参数之间的差值;

根据任意两个补偿信号的下发间隔,确定补偿参数的比例关系,其中,比例关系为补偿参数所对应的迭代值的份数比例;

根据差值和比例关系,计算出迭代值;

根据收敛值对晶振所产生的时钟信号进行补偿,包括:

根据时间周期内所设置的补偿时间,确定补偿时间所对应的收敛值的份数;

计算出实际补偿值,其中,实际补偿值=份数×收敛值;

在补偿时间,通过实际补偿值对晶振所产生的时钟信号进行补偿。

可选的,外部时钟源为同步以太网的时钟源,补偿参数为补偿系数;

接收器接收外部时钟源发送的补偿信号,并将补偿信号中所携带的补偿系数发送给锁相环;

根据所获取的至少两个补偿参数,确定迭代值,包括:

间隔预设时间段,从锁相环中读取补偿参数;

计算相邻的两个补偿参数所对应的差值作为迭代值;

根据收敛值对晶振所产生的时钟信号进行补偿,包括:

获取锁相环中所记录的补偿系数作为初始值以及通过卡尔曼模型所确定的收敛值;

计算出实际补偿值,其中,实际补偿值=初始值+n×收敛值,n为外部时钟源故障后所经过的时间段的数量。

本说明书实施方式中,在网络设备能够获取到补偿信号时,通过卡尔曼模型对根据补偿信号所确定的补偿参数进行收敛,并在检测到外部时钟源故障的情况下,通过收敛后所获得的收敛值对晶振所生成的时钟信号进行补偿,从而在网络设备无法获得外部时钟源的补偿信号进行补偿时,为网络设备提供了可靠的时钟补偿方式,提高了时钟统一性,并且提升了网络设备乃至组网进行数据处理和数据交互的可靠性。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1