标称频率误差的校正方法、装置以及电子设备与流程

文档序号:22333082发布日期:2020-09-25 18:06阅读:318来源:国知局
标称频率误差的校正方法、装置以及电子设备与流程

本申请涉及振荡器技术领域,尤其是涉及一种标称频率误差的校正方法、装置以及电子设备。



背景技术:

目前,石英晶体振荡器在使用过程中会出现老化现象,这种老化一般表现为输出信号频率的降低。

根据这一特性,在以石英晶体振荡器作为本地时钟源的系统中,为了延长石英晶体振荡器的使用寿命,往往将振荡器的输出频率做的略高于其标称频率。而在实际使用过程中又需要将这一标称频率误差克服掉。但是,目前很难有效的克服实际频率与标称频率之间的误差。



技术实现要素:

本发明的目的在于提供一种标称频率误差的校正方法、装置以及电子设备,以缓解时钟源的实际频率与标称频率之间的误差难以有效消除的技术问题。

第一方面,本申请实施例提供了一种标称频率误差的校正方法,所述标称频率误差为本地时钟源的标称频率和实际输出频率之间的误差;所述方法包括:

基于授时信号和所述时钟源输出的时钟信号,测量所述时钟源在一个授时脉冲间隔内输出的脉冲数,并计算所述脉冲数在连续多个所述授时脉冲间隔的滑动累加和;所述授时脉冲间隔为所述授时信号的脉冲间隔;

根据所述滑动累加和的值计算误差校正系数;

如果所述脉冲数达到所述误差校正系数的值,则将所述时钟源输出的时钟信号进行反转处理,以对所述时钟源的频率误差进行校正。

在一个可能的实现中,所述时钟源为石英晶体振荡器;

所述标称频率误差为所述石英晶体振荡器的实际输出频率与所述石英晶体振荡器的标称频率之间的误差。

在一个可能的实现中,所述授时信号为卫星同步秒脉冲信号pps或授时台的秒信号。

在一个可能的实现中,基于授时信号和所述时钟源输出的时钟信号,测量所述时钟源在一个授时脉冲间隔内输出的脉冲数,并计算所述脉冲数在连续多个所述授时脉冲间隔的滑动累加和的步骤,包括:

通过计数器对所述时钟信号在一个所述授时脉冲间隔的时间内输出脉冲的计数进行测量,输出脉冲数,并在每个所述授时脉冲间隔的计数完成后生成数据移位锁存时钟,在所述锁存时钟的上升沿过后对所述计数器进行清零;其中,每个所述授时脉冲间隔输出的所述脉冲数被所述锁存时钟的上升沿依次锁存至多个reg文件中;

在每一个所述锁存时钟的下降沿进行求和计算,得到所述多个reg文件中存储的所述脉冲数的累加和,并将计算得到的所述脉冲数的累加和作为所述时钟源在连续多个所述授时脉冲间隔内输出的所述脉冲数的滑动累加和。

在一个可能的实现中,连续多个所述授时脉冲间隔的间隔数量大于预设间隔数量。

在一个可能的实现中,所述误差校正系数的计算公式为:

其中,n为所述误差校正系数;n为滑动求和的阶数以及连续多个所述授时脉冲间隔的间隔数量;fi为所述时钟源的实际输出频率;f0为所述时钟源的标称频率。

在一个可能的实现中,如果所述脉冲数达到所述误差校正系数的值,则将所述时钟源输出的时钟信号进行反转处理的步骤,包括:

在每次测量到的所述时钟源输出的所述脉冲数达到所述误差校正系数的值时,将所述时钟源输出的时钟信号进行反相处理,并将所述脉冲数清零重新测量计数;

在对所述时钟信号进行反相处理的时刻,对所述时钟信号的上升沿和下降沿的状态进行记录,并基于记录的所述状态确定对输出时钟的处理方式;所述处理方式包括下述任意一项或多项:

确定所述输出时钟为高电平;确定所述输出时钟为低电平;确定所述输出时钟为输入时钟的反相;确定所述输出时钟为输入时钟。

第二方面,提供了一种标称频率误差的校正装置,所述标称频率误差为本地时钟源的标称频率和实际输出频率之间的误差;所述装置包括:

测量模块,用于基于授时信号和所述时钟源输出的时钟信号,测量所述时钟源在一个授时脉冲间隔内输出的脉冲数,并计算所述脉冲数在连续多个所述授时脉冲间隔的滑动累加和;所述授时脉冲间隔为所述授时信号的脉冲间隔;

计算模块,用于根据所述滑动累加和的值计算误差校正系数;

处理模块,用于如果所述脉冲数达到所述误差校正系数的值,则将所述时钟源输出的时钟信号进行反转处理,以对所述时钟源的频率误差进行校正。

第三方面,本申请实施例又提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。

第四方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。

本申请实施例带来了以下有益效果:

本申请实施例提供的一种标称频率误差的校正方法、装置以及电子设备,能够基于授时信号和时钟源输出的时钟信号,测量时钟源在一个授时脉冲间隔内输出的脉冲数,并计算脉冲数在连续多个授时脉冲间隔的滑动累加和,其中的授时脉冲间隔为授时信号的脉冲间隔,然后,根据滑动累加和的值计算误差校正系数,如果脉冲数达到误差校正系数的值,则将时钟源输出的时钟信号进行反转处理,以对时钟源的频率误差进行校正,本方案中,通过测量本地时钟源输出频率,根据实时测定的输出频率与标称频率的差值,动态调整校正系数,以对本地时钟源实际频率高于标称频率引起的时间误差进行校正,以将由时钟源标称频率误差引起的时间误差进行控制,使得校正后时间误差不累积从而不会产生时间误差累积,缓解了时钟源的实际频率与标称频率之间的误差难以有效消除的技术问题。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种标称频率误差的校正方法的流程示意图;

图2为本申请实施例提供的一种标称频率误差的校正方法的另一流程示意图;

图3为本申请实施例提供的标称频率误差的校正方法中,计算滑动累加和的具体流程示意图;

图4为本申请实施例提供的标称频率误差的校正方法中,实现模块的仿真时序的一个示例;

图5为本申请实施例提供的一种标称频率误差的校正装置的结构示意图;

图6为示出了本申请实施例所提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

目前,很难有效的克服时钟源的实际频率与标称频率之间的误差。基于此,本申请实施例提供了一种标称频率误差的校正方法,通过该方法可以缓解时钟源的实际频率与标称频率之间的误差难以有效消除的技术问题。

下面结合附图对本发明实施例进行进一步地介绍。

图1为本申请实施例提供的一种标称频率误差的校正方法的流程示意图。其中,标称频率误差为本地时钟源的标称频率和实际输出频率之间的误差。如图1所示,该方法包括:

步骤s110,基于授时信号和时钟源输出的时钟信号,测量时钟源在一个授时脉冲间隔内输出的脉冲数,并计算脉冲数在连续多个授时脉冲间隔的滑动累加和。

其中,授时脉冲间隔为授时信号的脉冲间隔。需要说明的是,本步骤中的授时信号为卫星同步秒脉冲信号pps或授时台的秒信号等精确授时信号。

示例性的,如图2所示,可以通过钟源频率测量模块实现本步骤的功能,即测量一个授时间隔内钟源输出的脉冲个数,然后,计算连续n个授时脉冲间隔的脉冲数的滑动累加和。

步骤s120,根据滑动累加和的值计算误差校正系数。

例如,如图2所示,上述钟源频率测量模块还可以实现:根据滑动累加和的值计算误差校正系数。

步骤s130,如果脉冲数达到误差校正系数的值,则将时钟源输出的时钟信号进行反转处理,以对时钟源的频率误差进行校正。

示例性的,如图2所示,可以通过钟源误差校正模块实现本步骤的功能,即计数钟源输出脉冲,当脉冲数达到校正系数值时,将输出时钟信号反转,从而实现使输出时钟跳边沿向后移动半个周期,达到消除累积的半个时钟周期的时间误差的目的。

通过测量本地时钟源输出频率,根据实时测定的输出频率与标称频率的差值,动态调整校正系数,以对本地时钟源实际频率高于标称频率引起的时间误差进行校正,校正后时间误差不大于本地时钟源输出信号的半个周期,以将由时钟源标称频率误差引起的时间误差控制到时钟源输出信号的半个周期内,进而克服时钟源输出频率漂移影响,使得校正后时间误差不累积从而不会产生时间误差累积。

本申请实施例提供的标称频率误差的校正方法可以作为一种基于精确授时信号和cpld技术的标称频率误差校正方法,该校正方法可以用任何硬件描述语言编写,并固化于一片cpld或fpga中,进而实现误差校正功能。

下面对上述步骤进行详细介绍。

在一些实施例中,时钟源为石英晶体振荡器;标称频率误差为石英晶体振荡器的实际输出频率与石英晶体振荡器的标称频率之间的误差。

通过测量本地振荡器输出频率,根据实时测定的输出频率与标称频率的差值,动态调整校正系数,以对本地振荡器实际频率高于标称频率引起的时间误差进行校正,校正后时间误差不大于本地振荡器输出信号的半个周期,以将由振荡器标称频率误差引起的时间误差控制到振荡器输出信号的半个周期内,进而克服振荡器输出频率漂移影响,使得校正后时间误差不累积从而不会产生时间误差累积。

本申请实施例提供的标称频率误差的校正方法可以全部集成到一片cpld中,适合于在有精确授时信号的工作环境中,对石英晶体振荡器实际频率高于标称频率引起的时间误差进行校正。

在一些实施例中,授时信号为卫星同步秒脉冲信号pps或授时台的秒信号。

在实际应用中,该方法可以适合于石英晶体振荡器输出频率高于其标称频率,且具有精确授时信号的应用环境,例如,卫星同步秒脉冲信号(pulsepersecond,pps)或授时台给出的秒信号等精确授时信号。

在一些实施例中,上述步骤s110可以包括如下步骤:

步骤a),通过计数器对时钟信号在一个授时脉冲间隔的时间内输出脉冲的计数进行测量,输出脉冲数,并在每个授时脉冲间隔的计数完成后生成数据移位锁存时钟,在锁存时钟的上升沿过后对计数器进行清零;其中,每个授时脉冲间隔输出的脉冲数被锁存时钟的上升沿依次锁存至多个reg文件中;

步骤b),在每一个锁存时钟的下降沿进行求和计算,得到多个reg文件中存储的脉冲数的累加和,并将计算得到的脉冲数的累加和作为时钟源在连续多个授时脉冲间隔内输出的脉冲数的滑动累加和。

例如,如图3所示,计数器完成对钟源输出信号(clki)在一个授时间隔时间内输出脉冲的计数测量,输出计数值cnt。同时,在每个间隔计数完成后产生数据移位锁存时钟sck,在sck的上升沿过后对计数器清零。每个间隔产生的计数值被sck的上升沿依次锁存到reg1、reg2、…、regn中(其中,reg可以用于表示寄存器),在每一个sck的下降沿启动求和计算模块,计算出reg1、reg2、…、regn中存储数据的累加和nfi,从而完成对钟源输出频率的滑动求累加和运算。

基于上述步骤a)和步骤b),连续多个授时脉冲间隔的间隔数量大于预设间隔数量。

其中,授时脉冲间隔的间隔数量即为上述图3中寄存器的个数n,该n的值越大,计数误差越小,校正系数的计算越精确。在实际应用中,只要cpld或fpga资源允许应尽量选取大的n值。

在一些实施例中,误差校正系数的计算公式为:

其中,n为误差校正系数;n为滑动求和的阶数以及连续多个授时脉冲间隔的间隔数量(即上述图3中寄存器的个数);fi为时钟源的实际输出频率;f0为时钟源的标称频率。

在一些实施例中,上述步骤s130可以包括如下步骤:

步骤c),在每次测量到的时钟源输出的脉冲数达到误差校正系数的值时,将时钟源输出的时钟信号进行反相处理,并将脉冲数清零重新测量计数;

步骤d),在对时钟信号进行反相处理的时刻,对时钟信号的上升沿和下降沿的状态进行记录,并基于记录的状态确定对输出时钟的处理方式;处理方式包括下述任意一项或多项:

步骤e),确定输出时钟为高电平;确定输出时钟为低电平;确定输出时钟为输入时钟的反相;确定输出时钟为输入时钟。

示例性的,可以通过钟源误差校正模块执行误差校正的具体过程。具体的,一边将输入时钟信号原样输出,一边对输入时钟脉冲计数,当计数值达到校正系数n后,将输出时钟信号反相,同时将计数值清零重新计数;计数值每次达到n后就将输出时钟反相一次,从而达到校正时间误差的目的。由于电路延时的存在,如果直接对时钟信号反相输出,会在反相的瞬间产生尖峰干扰,为此本申请实施例提供的方法中在反相的瞬间记录了时钟信号上升沿和下降沿的状态。

例如,反相瞬间时钟信号为上升沿定义为“10”,反相瞬间时钟信号为下降沿定义为“01”,需要反相输出时钟定义为“11”,不需要反相输出时钟定义为“00”。当状态为“10”时,使输出时钟为高电平,当状态为“01”时,使输出时钟为低电平,当状态为“11”时,使输出时钟为输入时钟的反相,当状态为“00”时,使输出时钟为输入时钟,从而解决了换向尖峰干扰问题。

本申请实施例提供的标称频率误差的校正方法可以通过vhdl等语言实现,本申请实施例提供的方法不限于下述示例局限的范围:

图4为本申请实施例提供的标称频率误差的校正方法中,实现模块的仿真时序的一个示例。图4中标称信号输出周期为50ns;实际输出信号周期为48ns;计算得校正系数为12.5,在cpld中取整为12;从图4中可以看出每当时间误差累积到大于等于24ns后,校正输出信号就被反相,相当于把输出信号的跳边沿向后移动了24ns,从而使累积的误差得以消除。

图5提供了一种标称频率误差的校正装置的结构示意图。其中,标称频率误差为本地时钟源的标称频率和实际输出频率之间的误差。如图5所示,标称频率误差的校正装置500包括:

测量模块501,用于基于授时信号和时钟源输出的时钟信号,测量时钟源在一个授时脉冲间隔内输出的脉冲数,并计算脉冲数在连续多个授时脉冲间隔的滑动累加和;授时脉冲间隔为授时信号的脉冲间隔;

计算模块502,用于根据滑动累加和的值计算误差校正系数;

处理模块503,用于如果脉冲数达到误差校正系数的值,则将时钟源输出的时钟信号进行反转处理,以对时钟源的频率误差进行校正。

在一些实施例中,时钟源为石英晶体振荡器;

标称频率误差为石英晶体振荡器的实际输出频率与石英晶体振荡器的标称频率之间的误差。

在一些实施例中,授时信号为卫星同步秒脉冲信号pps或授时台的秒信号。

在一些实施例中,测量模块501具体用于:

通过计数器对时钟信号在一个授时脉冲间隔的时间内输出脉冲的计数进行测量,输出脉冲数,并在每个授时脉冲间隔的计数完成后生成数据移位锁存时钟,在锁存时钟的上升沿过后对计数器进行清零;其中,每个授时脉冲间隔输出的脉冲数被锁存时钟的上升沿依次锁存至多个reg文件中;

在每一个锁存时钟的下降沿进行求和计算,得到多个reg文件中存储的脉冲数的累加和,并将计算得到的脉冲数的累加和作为时钟源在连续多个授时脉冲间隔内输出的脉冲数的滑动累加和。

在一些实施例中,连续多个授时脉冲间隔的间隔数量大于预设间隔数量。

在一些实施例中,误差校正系数的计算公式为:

其中,n为误差校正系数;n为滑动求和的阶数以及连续多个授时脉冲间隔的间隔数量;fi为时钟源的实际输出频率;f0为时钟源的标称频率。

在一些实施例中,处理模块503具体用于:

在每次测量到的时钟源输出的脉冲数达到误差校正系数的值时,将时钟源输出的时钟信号进行反相处理,并将脉冲数清零重新测量计数;

在对时钟信号进行反相处理的时刻,对时钟信号的上升沿和下降沿的状态进行记录,并基于记录的状态确定对输出时钟的处理方式;处理方式包括下述任意一项或多项:

确定输出时钟为高电平;确定输出时钟为低电平;确定输出时钟为输入时钟的反相;确定输出时钟为输入时钟。

本申请实施例提供的标称频率误差的校正装置,与上述实施例提供的标称频率误差的校正方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

如图6所示,本申请实施例提供的一种电子设备600,包括:处理器601、存储器602和总线,所述存储器602存储有所述处理器601可执行的机器可读指令,当电子设备运行时,所述处理器601与所述存储器602之间通过总线通信,所述处理器601执行所述机器可读指令,以执行如上述标称频率误差的校正方法的步骤。

具体地,上述存储器602和处理器601能够为通用的存储器和处理器,这里不做具体限定,当处理器601运行存储器602存储的计算机程序时,能够执行上述标称频率误差的校正方法。

处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成上述方法的步骤。

对应于上述标称频率误差的校正方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述标称频率误差的校正方法的步骤。

本申请实施例所提供的标称频率误差的校正装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

再例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述标称频率误差的校正方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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