CN111211779B - 一种基于fpga的间隔均分设计方法和装置 - Google Patents

一种基于fpga的间隔均分设计方法和装置 Download PDF

Info

Publication number
CN111211779B
CN111211779B CN201911421769.XA CN201911421769A CN111211779B CN 111211779 B CN111211779 B CN 111211779B CN 201911421769 A CN201911421769 A CN 201911421769A CN 111211779 B CN111211779 B CN 111211779B
Authority
CN
China
Prior art keywords
interval
pulse
counter
value
counting
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
Application number
CN201911421769.XA
Other languages
English (en)
Other versions
CN111211779A (zh
Inventor
王贤坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201911421769.XA priority Critical patent/CN111211779B/zh
Publication of CN111211779A publication Critical patent/CN111211779A/zh
Priority to PCT/CN2020/111357 priority patent/WO2021135303A1/zh
Priority to US17/778,473 priority patent/US11923863B2/en
Application granted granted Critical
Publication of CN111211779B publication Critical patent/CN111211779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/18Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
    • H03L7/183Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between fixed numbers or the frequency divider dividing by a fixed number
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/18Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
    • H03L7/183Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between fixed numbers or the frequency divider dividing by a fixed number
    • H03L7/191Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between fixed numbers or the frequency divider dividing by a fixed number using at least two different signals from the frequency divider or the counter for determining the time difference
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • H03K19/17708Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

本发明提供一种基于FPGA的间隔均分设计方法,包括以下步骤:将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数;将所述余数除以所述均分的采样脉冲个数以作为每个采样间隔内的误差;将计数器从所述秒脉冲处开始计数,并响应于在所述秒脉冲间隔内累计的所述采样间隔内的误差每大于或等于一个所述振动周期,使所述计数器停止计数一次。本发明充分利用了间隔均分计算的特点,精度更高,并且易于实现。

Description

一种基于FPGA的间隔均分设计方法和装置
技术领域
本发明涉及计算机领域,并且更具体地,涉及一种基于FPGA的间隔均分设计方法和装置。
背景技术
在测控、通信等领域中,设备内或设备间,对于时间和数据同步的要求非常高。时间以及数据的同步采集和信息交互,常基于GPS或北斗的时间信息,例如解析出的秒脉冲信息。但秒间隔过大,常常需要将秒间隔均分成N等份,并要求随着秒脉冲的实时更新,保证均分间隔的稳定性和精确性。间隔均分算法由此而生。
目前,间隔均分功能的实现,大都依赖于晶振精度以及相应的修正方法,其实现方式有的过于复杂,有的难以保证精度需求。
发明内容
鉴于此,本发明实施例的目的在于提出一种精度高、易实现的间隔均分算法及实现方式。
基于上述目的,本发明实施例的一方面提供了一种基于FPGA的间隔均分设计方法,包括以下步骤:
将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数;
将所述余数除以所述均分的采样脉冲个数以作为每个采样间隔内的误差;
将计数器从所述秒脉冲处开始计数,并响应于在所述秒脉冲间隔内累计的所述采样间隔内的误差每大于或等于一个所述振动周期,使所述计数器停止计数一次。
在一些实施方式中,将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数包括:
将FPGA板卡的晶振时钟秒脉冲的振动周期数与均分的采样脉冲个数相除,获得其商;
在每个秒脉冲间隔内,响应于所述计数器的值达到所述商的值,就产生一个采样脉冲,同时所述计数器清零并重新开始计数。
在一些实施方式中,所述方法还包括:
根据修正公式
Figure BDA0002352569920000021
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于1时,所述计数器就停止计数一次,其中,
Figure BDA0002352569920000022
表示为所述每个采样间隔内的误差,其中R为所述获得的余数,N为所述均分的采样脉冲个数;
n表示为采样脉冲的次数,并在下一个秒脉冲处清零;
m表示为在每个秒脉冲间隔内所述计数器停止计数的次数,所述m的起始值为0,并且所述m的值在下一个秒脉冲处清零。
在一些实施方式中,所述方法还包括:
根据修正公式
Figure BDA0002352569920000023
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于1时,所述计数器就停止计数一次。
在一些实施方式中,所述方法还包括:
根据修正公式
Figure BDA0002352569920000024
进行修正,在每个秒脉冲间隔内,每当Bias′大于或等于0时,所述计数器就停止计数一次,同时k值加1。
本发明实施例的另一方面提供了一种基于FPGA的间隔均分设计装置,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现以下步骤:
将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数;
将所述余数除以所述均分的采样脉冲个数以作为每个采样间隔内的误差;
将计数器从所述秒脉冲处开始计数,并响应于在所述秒脉冲间隔内累计的所述采样间隔内的误差每大于或等于一个所述振动周期,使所述计数器停止计数一次。
在一些实施方式中,将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数包括:
将FPGA板卡的晶振时钟秒脉冲的振动周期数与均分的采样脉冲个数相除,获得其商;
在每个秒脉冲间隔内,响应于所述计数器的值达到所述商的值,就产生一个采样脉冲,同时所述计数器清零并重新开始计数。
在一些实施方式中,所述步骤还包括:
根据修正公式
Figure BDA0002352569920000031
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于1时,所述计数器就停止计数一次,其中,
Figure BDA0002352569920000032
表示为所述每个采样间隔内的误差,其中R为所述获得的余数,N为所述均分的采样脉冲个数;
n表示为采样脉冲的次数,并在下一个秒脉冲处清零;
m表示为在每个秒脉冲间隔内所述计数器停止计数的次数,所述m的起始值为0,并且所述m的值在下一个秒脉冲处清零。
在一些实施方式中,所述步骤还包括:
根据修正公式
Figure BDA0002352569920000033
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于1时,所述计数器就停止计数一次。
在一些实施方式中,所述步骤还包括:
根据修正公式
Figure BDA0002352569920000041
进行修正,其中,在每个秒脉冲间隔内,每当Bias′大于或等于修正值0时,所述计数器就停止计数一次,同时k值加1。
本发明具有以下有益技术效果:本发明实施例提供的一种基于FPGA的间隔均分设计方法和装置,能够保证均分精度在±0.5时钟周期以内,精度更高,并且易于实现,并且实现装置接口简单、复用性强,可广泛应用于测控、通信、数据处理中心等对于同步和精度有需求的相关产品中。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1是根据本发明的一种基于FPGA的间隔均分设计方法的流程图;
图2是根据本发明方法的秒间隔均分的采样脉冲示意图;
图3是根据本发明的一种基于FPGA的间隔均分设计装置的架构示意图。
具体实施方式
以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种替代形式。附图不一定按比例绘制;某些功能可能被夸大或最小化以显示特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式使用本发明的代表性基础。如本领域普通技术人员将理解的,参考任何一个附图所示出和描述的各种特征可以与一个或多个其他附图中所示的特征组合以产生没有明确示出或描述的实施例。所示特征的组合为典型应用提供了代表性实施例。然而,与本发明的教导相一致的特征的各种组合和修改对于某些特定应用或实施方式可能是期望的。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
本发明以测控系统中常用的秒间隔实时均分出等间隔采样脉冲为例进行说明,当然应当理解,本发明不限于此。
以秒脉冲信号作为待均分间隔分界,将秒间隔均分为N等份,并保证均分的精度。若计数器(X)以FPGA板卡的晶振时钟计秒间隔的振动周期数为S,要均分形成N个采样脉冲,可用S除以N,则有:
S=N×Q+R 式(1)
其中,Q是S除以N的商,R是S除以N的余数。
若同样以计数器(Y)计晶振的周期,在每个秒间隔内,当计数器值为Q时,产生一个采样脉冲,同时计数器清零并继续计数,如此循环,则在一秒内会产生N个采样脉冲,同时累计误差为R个时钟周期。实际上,以S除以N,得到每周期间隔应该是
Figure BDA0002352569920000051
Figure BDA0002352569920000052
是不足一个时钟周期的值,若以Q为采样计数间隔,会使得每个均分间隔精度实际偏差
Figure BDA0002352569920000053
个周期,并逐渐累积,误差逐渐增大。为保证间隔均分的精度,可以将上述误差进行即时统计和修正。
基于上述目的,本发明的实施例一方面提出了一种基于FPGA的间隔均分设计方法,如图1所示,包括以下步骤:
步骤S101:将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数;
步骤S102:将所述余数除以所述均分的采样脉冲个数以作为每个采样间隔内的误差;
步骤S103:将计数器从所述秒脉冲处开始计数,并响应于在所述秒脉冲间隔内累计的所述采样间隔内的误差每大于或等于一个所述振动周期,使所述计数器停止计数一次。
在一些实施例中,将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数包括:将FPGA板卡的晶振时钟秒脉冲的振动周期数与均分的采样脉冲个数相除,获得其商;在每个秒脉冲间隔内,响应于所述计数器的值达到所述商的值,就产生一个采样脉冲,同时所述计数器清零并重新开始计数。假若将秒间隔内均分出的采样脉冲(采样间隔)进行编号为1,2,3……N,如图2所示。
在一些实施例中,所述方法还包括:根据修正公式:
Figure BDA0002352569920000061
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于1时,所述计数器就停止计数一次,其中,
Figure BDA0002352569920000062
表示为所述每个采样间隔内的误差,其中R为所述获得的余数,N为所述均分的采用脉冲个数;n表示为采样脉冲的次数,并在下一个秒脉冲处清零;m表示为在每个秒脉冲间隔内所述计数器停止计数的次数,所述m的起始值为0,并且所述m的值在下一个秒脉冲处清零。
为即时修正误差,若统计每采样间隔内的误差
Figure BDA0002352569920000063
每当其大于或等于一个时钟周期时,将间隔计数器(Y)停止计数一个周期,相当于误差每累计一个时钟周期就即时修正一个周期,以此类推。m是从秒脉冲处开始、误差修正过程中停止计数器(Y)计数的次数,起始为0,每停止计数一次,m值加1,并且在下一个秒脉冲处清零。由此可见,随着采样脉冲n的递增,每当Bias值大于等于1时,计数器(Y)即停止计数一次,可即时修正间隔均分的误差,并且间隔均分的精度(误差累计)不会超过一个时钟周期。
在一些实施例中,所述方法还包括:根据修正公式:
Figure BDA0002352569920000071
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于1时,所述计数器就停止计数一次。因为误差的即时修正都是滞后的,因此,此时的均分精度是在-1到0个时钟周期以内。于是将修正公式从(2)修正为(3),同样每当Bias大于等于1时修正一个时钟周期,因为预加了0.5个周期,因此,此种修正,可以将均分精度修正为±0.5个时钟周期内,精度更高。
在一些实施例中,所述方法还包括:根据修正公式:
Figure BDA0002352569920000072
进行修正,在每个秒脉冲间隔内,每当Bias′大于或等于0时,所述计数器就停止计数一次,同时k值加1。为方便FPGA实现,将式(3)中Bias值减1,则形成式(4)。按上述方法,间隔均分的误差修正方式此时变更为每当Bias′大于等于0时,计数器(Y)停止计数一个时钟,同时k值加1;另外,在秒脉冲处,k值初始值变为1。此时,可保证每个均分间隔的精度不大于0.5个时钟周期。
在一些实施例中,具体实现时,将式(4)变换如下:
Bias″=n*2R-2k*N+N≥0 式(5)
在秒间隔起始时,n为1,k为1,因此Bias″=2R-N。判断若Bias″≥0,则计数器(Y)停止计数一次,否则不做操作。此后每进入一个新的均分间隔,即计数器(Y)计数到Q值产生采样脉冲并归零重新计数,此时n值加1,令Bias″=Bias″+2R,之后判断若Bias″≥0,则计数器(Y)停止计数一次(此时k值加1),同时令Bias″=Bias″-2N,否则不做操作,如此往复。该方法便于并且易于FPGA实现。
在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,或者改变、添加以及省略等等,从而形成本发明范围内的另外实施例。
从上述实施例可以看出,本发明实施例提供的间隔均分算法,充分利用了间隔均分计算的特点,相当于实时统计每时钟周期的均分偏差并在每满一个时钟周期的最小计时单位时即时修正,能够保证均分精度在±0.5时钟周期以内,精度更高,并且易于实现;可封装成IP模块,接口简单,复用性强。
基于上述目的,本发明实施例的另一个方面,提出了一种基于FPGA的间隔均分设计装置,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现以下步骤:
将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数;
将所述余数除以所述均分的采样脉冲个数以作为每个采样间隔内的误差;
将计数器从所述秒脉冲处开始计数,并响应于在所述秒脉冲间隔内累计的所述采样间隔内的误差每大于或等于一个所述振动周期,使所述计数器停止计数一次。
在一些实施方式中,将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数包括:
将FPGA板卡的晶振时钟秒脉冲的振动周期数与均分的采样脉冲个数相除,获得其商;
在每个秒脉冲间隔内,响应于所述计数器的值达到所述商的值,就产生一个采样脉冲,同时所述计数器清零并重新开始计数。
在一些实施方式中,所述步骤还包括:
根据修正公式
Figure BDA0002352569920000091
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于1时,所述计数器就停止计数一次,其中,
Figure BDA0002352569920000092
表示为所述每个采样间隔内的误差,其中R为所述获得的余数,N为所述均分的采样脉冲个数;
n表示为采样脉冲的次数,并在下一个秒脉冲处清零;
m表示为在每个秒脉冲间隔内所述计数器停止计数的次数,所述m的起始值为0,并且所述m的值在下一个秒脉冲处清零。
在一些实施方式中,所述步骤还包括:
根据修正公式
Figure BDA0002352569920000093
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于1时,所述计数器就停止计数一次。
在一些实施方式中,所述步骤还包括:
根据修正公式
Figure BDA0002352569920000094
进行修正,其中,在每个秒脉冲间隔内,每当Bias′大于或等于修正值0时,所述计数器就停止计数一次,同时k值加1。
在本发明的一实施例中,FPGA可以包括秒间隔计数模块、均分计算模块、偏差修正模块以及均分间隔计数模块,其中,
所述秒间隔计数模块计数统计实时输入的秒脉冲信号的振动周期数并将所述周期数输入到所述均分计算模块;
所述均分计算模块接收所述周期数和配置的采样脉冲个数值,并将所述周期数与所述配置的采样脉冲个数相除以获得其商和余数;
所述偏差修正模块根据所述余数修正均分间隔的偏差;
所述均分间隔计数模块根据所述商和所述偏差修正模块的偏差修正,循环对计数器进行计数以输出均分间隔脉冲。
如图3所示的FPGA实现架构示意图,秒间隔计数模块计数统计实时输入的秒脉冲信号的间隔值S;均分计算模块得到S和配置的N值,计算输出Q值和R值。偏差修正模块根据上述均分修正过程即时修正均分间隔的偏差;均分间隔计数模块根据偏差修正,循环计数Q值,输出高精度的均分间隔脉冲。
在一些实施例中,所述偏差修正模块配置为:
根据修正公式进行偏差修正,其中,在每个秒脉冲间隔内,响应于所述修正公式的值大于或等于修正值,输出修正脉冲到所述均分间隔计数模块;
接收所述均分间隔技术模块的修正结果。
在一些实施例中,所述均分间隔计数模块配置为:
响应于接收到所述修正脉冲,将所述计数器停止计数一次,并将所述计数器停止计数的次数作为修正结果发送到所述偏差修正模块。
在一些实施例中,所述偏差修正模块配置为:
根据修正公式
Figure BDA0002352569920000101
进行修正,在每个秒脉冲间隔内,每当所述Bias的值大于或等于修正值1时,输出修正脉冲到所述均分间隔计数模块,并根据修正结果将m值加1,其中,
Figure BDA0002352569920000102
表示为所述每个采样间隔内的误差,其中R为所述获得的余数,N为所述均分的采用脉冲个数;
n表示为采样脉冲的次数,并在下一个秒脉冲处清零;
m表示为在每个秒脉冲间隔内所述计数器停止计数的次数,所述m的起始值为0,并且所述m的值在下一个秒脉冲处清零。
在一些实施例中,所述偏差修正模块配置为:
根据修正公式
Figure BDA0002352569920000103
进行修正,其中,在每个秒脉冲间隔内,每当Bias′大于或等于修正值0时,输出修正脉冲到所述均分间隔计数模块,并根据修正结果将k值加1。另外,在秒脉冲处,k值初始值变为1。此时,可保证每个均分间隔的精度不大于0.5个时钟周期。
在一些实施例中,具体实现时,变换如下:
Bias″=n*2R-2k*N+N≥0
在秒间隔起始时,n为1,k为1,因此Bias″=2R-N。判断若Bias″≥0,则计数器(Y)停止计数一次,否则不做操作。此后每进入一个新的均分间隔,即计数器(Y)计数到Q值产生采样脉冲并归零重新计数,此时n值加1,令Bias″=Bias″+2R,之后判断若Bias″≥0,则计数器(Y)停止计数一次(此时k值加1),同时令Bias″=Bias″-2N,否则不做操作,如此往复,这更便于并且易于FPGA实现。
所述执行所述基于FPGA的间隔均分设计方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
此外,典型地,本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器、磁盘或光盘等。
上述实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (6)

1.一种基于FPGA的间隔均分设计方法,其特征在于,包括以下步骤:
将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数;
将所述余数除以所述均分的采样脉冲个数以作为每个采样间隔内的误差;
将计数器从所述秒脉冲处开始计数,并响应于在所述秒脉冲间隔内累计的所述采样间隔内的误差每大于或等于一个所述振动周期,使所述计数器停止计数一次;
根据修正公式
Figure 65143DEST_PATH_IMAGE001
Figure 67734DEST_PATH_IMAGE002
进行修正,每当所 述Bias的值大于或等于1时,所述计数器就停止计数一次,其中,
Figure 43650DEST_PATH_IMAGE003
表示为所述每个采样间隔内的误差,其中R为所述获得的余数,N为所述均分的采样脉 冲个数,n表示为采样脉冲的次数,并在下一个秒脉冲处清零,m表示为在每个秒脉冲间隔内 所述计数器停止计数的次数,所述m的起始值为0,并且所述m的值在下一个秒脉冲处清零。
2.根据权利要求1所述的方法,其特征在于,将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数包括:
将FPGA板卡的晶振时钟秒脉冲的振动周期数与均分的采样脉冲个数相除,获得其商;
在每个秒脉冲间隔内,响应于所述计数器的值达到所述商的值,就产生一个采样脉冲,同时所述计数器清零并重新开始计数。
3.根据权利要求1所述的方法,其特征在于,所述根据修正公式
Figure 739073DEST_PATH_IMAGE004
进行修正,每当所述Bias的值大于或等于1时,所述计数器就 停止计数一次包括:
根据修正公式
Figure 980699DEST_PATH_IMAGE005
进行修正,在每 个秒脉冲间隔内,每当Bias'大于或等于0时,所述计数器就停止计数一次,同时k值加1,其 中,Bias'=Bias-1。
4.一种基于FPGA的间隔均分设计装置,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现以下步骤:
将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数;
将所述余数除以所述均分的采样脉冲个数以作为每个采样间隔内的误差;
将计数器从所述秒脉冲处开始计数,并响应于在所述秒脉冲间隔内累计的所述采样间隔内的误差每大于或等于一个所述振动周期,使所述计数器停止计数一次;
根据修正公式
Figure 459085DEST_PATH_IMAGE006
Figure 368135DEST_PATH_IMAGE007
进行修正,其中,
Figure 906563DEST_PATH_IMAGE003
表示为所述每个采样间隔内的误差,其中R为所述获得的余数,N为所述均分的采样脉 冲个数,n表示为采样脉冲的次数,并在下一个秒脉冲处清零,m表示为在每个秒脉冲间隔内 所述计数器停止计数的次数,所述m的起始值为0,并且所述m的值在下一个秒脉冲处清零。
5.根据权利要求4所述的装置,其特征在于,将FPGA板卡的晶振时钟秒脉冲信号的振动周期数与均分的采样脉冲个数相除,并获得其余数包括:
将FPGA板卡的晶振时钟秒脉冲的振动周期数与均分的采样脉冲个数相除,获得其商;
在每个秒脉冲间隔内,响应于所述计数器的值达到所述商的值,就产生一个采样脉冲,同时所述计数器清零并重新开始计数。
6.根据权利要求4所述的装置,其特征在于,所述根据修正公式
Figure 635485DEST_PATH_IMAGE008
进行修正,当所述Bias的值大于或等于1时,所述计数器就停 止计数一次包括:
根据修正公式
Figure 183141DEST_PATH_IMAGE009
进行修正,其 中,在每个秒脉冲间隔内,每当Bias'大于或等于修正值0时,所述计数器就停止计数一次, 同时k值加1,其中,Bias'=Bias-1。
CN201911421769.XA 2019-12-31 2019-12-31 一种基于fpga的间隔均分设计方法和装置 Active CN111211779B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911421769.XA CN111211779B (zh) 2019-12-31 2019-12-31 一种基于fpga的间隔均分设计方法和装置
PCT/CN2020/111357 WO2021135303A1 (zh) 2019-12-31 2020-08-26 一种基于fpga的间隔均分设计方法和装置
US17/778,473 US11923863B2 (en) 2019-12-31 2020-08-26 FPGA-based design method and device for equally dividing interval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911421769.XA CN111211779B (zh) 2019-12-31 2019-12-31 一种基于fpga的间隔均分设计方法和装置

Publications (2)

Publication Number Publication Date
CN111211779A CN111211779A (zh) 2020-05-29
CN111211779B true CN111211779B (zh) 2023-01-06

Family

ID=70786501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911421769.XA Active CN111211779B (zh) 2019-12-31 2019-12-31 一种基于fpga的间隔均分设计方法和装置

Country Status (3)

Country Link
US (1) US11923863B2 (zh)
CN (1) CN111211779B (zh)
WO (1) WO2021135303A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111211779B (zh) 2019-12-31 2023-01-06 苏州浪潮智能科技有限公司 一种基于fpga的间隔均分设计方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103941622A (zh) * 2014-04-28 2014-07-23 国家电网公司 基于fpga的高精度秒脉冲倍频出采样脉冲的方法
CN108599758A (zh) * 2018-02-10 2018-09-28 国网河南省电力公司郑州供电公司 基于gps产生高精度触发脉冲的算法及装置
CN109283864A (zh) * 2017-07-21 2019-01-29 北京智云芯科技有限公司 一种数据采样的时间同步、校准方法和系统
CN109814835A (zh) * 2019-01-30 2019-05-28 郑州云海信息技术有限公司 一种基于fpga的间隔均分装置及ip核

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002063328A2 (en) * 2001-02-05 2002-08-15 Clark Cohen Low cost system and method for making dual band gps measurements
JP4456577B2 (ja) * 2006-03-31 2010-04-28 本田技研工業株式会社 能動型騒音制御装置及び能動型振動制御装置
KR100996421B1 (ko) * 2007-03-15 2010-11-24 삼성전자주식회사 이동통신시스템의 채널카드에서 동기를 위한 장치 및 방법
EP2961089B1 (en) * 2014-06-26 2017-08-09 ADVA Optical Networking SE Method and apparatus for estimating a maximum time interval error in a data transmission network
EP3351969B1 (en) * 2015-09-17 2022-05-11 Mitsubishi Electric Corporation Positioning satellite selection device
CN108549301B (zh) * 2018-06-11 2020-09-18 南京邮电大学南通研究院有限公司 一种超宽带探地雷达控制系统
CN109617528B (zh) * 2018-12-05 2023-03-21 深圳忆联信息系统有限公司 一种用于修正有源振荡器频率的方法及其系统
CN109597297B (zh) * 2018-12-11 2020-09-08 烟台持久钟表有限公司 一种晶振补偿方法及装置
US10530367B2 (en) * 2018-12-28 2020-01-07 Intel Corporation Clock synchronization in multi-die field programmable gate array devices
CN111211779B (zh) * 2019-12-31 2023-01-06 苏州浪潮智能科技有限公司 一种基于fpga的间隔均分设计方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103941622A (zh) * 2014-04-28 2014-07-23 国家电网公司 基于fpga的高精度秒脉冲倍频出采样脉冲的方法
CN109283864A (zh) * 2017-07-21 2019-01-29 北京智云芯科技有限公司 一种数据采样的时间同步、校准方法和系统
CN108599758A (zh) * 2018-02-10 2018-09-28 国网河南省电力公司郑州供电公司 基于gps产生高精度触发脉冲的算法及装置
CN109814835A (zh) * 2019-01-30 2019-05-28 郑州云海信息技术有限公司 一种基于fpga的间隔均分装置及ip核

Also Published As

Publication number Publication date
WO2021135303A1 (zh) 2021-07-08
US11923863B2 (en) 2024-03-05
CN111211779A (zh) 2020-05-29
US20220416797A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
US7864915B2 (en) Low-power asynchronous counter and method
CN101452307B (zh) 实时时钟校准系统及其方法
CN104410413B (zh) 原子频标频率修正方法、装置及原子频标
CN111211779B (zh) 一种基于fpga的间隔均分设计方法和装置
CN108227828B (zh) 一种序列信号发生器及序列信号产生方法
US11188115B2 (en) Sequence signal generator and sequence signal generation method
CN111130510A (zh) 一种输出秒脉冲信号的方法及装置
CN112506266A (zh) 芯片时钟源的计时校准方法、装置及带有时钟源的芯片
CN107708145B (zh) 一种同步检测的方法及同步检测设备
WO2018214856A1 (zh) 一种数据处理的方法和设备
JP5914718B2 (ja) 発振器を有する時間ベース、周波数分割回路及びクロックパルス抑制回路
US7158904B2 (en) System and method for correcting an inaccurate clock
US9201447B2 (en) Apparatus and method using first and second clocks
CN115987477A (zh) 一种多参考源时间同步方法及系统及模块及介质
CN112235002B (zh) 谐波消除方法及装置、存储介质、终端
CN111711445B (zh) 标称频率误差的校正方法、装置以及电子设备
CN110061735B (zh) 小数分频电路及采用该电路的接口时钟分频电路
CN113098650A (zh) 时间偏差测量方法、装置、通信设备和可读存储介质
CN109309637B (zh) 传输信号的数据存储方法、装置及存储介质
CN108063619A (zh) 原子频标频率修正装置及原子频标
US10498524B2 (en) Timing method, clock device and terminal device
CN113030567B (zh) 一种基于单片机的测频方法及装置
CN114051276B (zh) 一种串行时间码授时方法、系统及电子设备
JP5102112B2 (ja) タイミング信号発生回路
CN116366899A (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