CN102932084B - 采样时钟同步的方法及系统 - Google Patents

采样时钟同步的方法及系统 Download PDF

Info

Publication number
CN102932084B
CN102932084B CN201210394976.2A CN201210394976A CN102932084B CN 102932084 B CN102932084 B CN 102932084B CN 201210394976 A CN201210394976 A CN 201210394976A CN 102932084 B CN102932084 B CN 102932084B
Authority
CN
China
Prior art keywords
pulse signal
pulse
sampling
error
clock
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
CN201210394976.2A
Other languages
English (en)
Other versions
CN102932084A (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.)
Aerospace Science and Industry Shenzhen Group Co Ltd
Original Assignee
Aerospace Science and Industry Shenzhen Group 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 Aerospace Science and Industry Shenzhen Group Co Ltd filed Critical Aerospace Science and Industry Shenzhen Group Co Ltd
Priority to CN201210394976.2A priority Critical patent/CN102932084B/zh
Publication of CN102932084A publication Critical patent/CN102932084A/zh
Application granted granted Critical
Publication of CN102932084B publication Critical patent/CN102932084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明适用于工业控制领域,提供了一种实现采样时钟同步的方法,包括以下步骤:接收外部晶振提供的晶振脉冲信号并产生计数脉冲信号;接收所述计数脉冲信号并计数,预设计数量N计数完毕后输出采样脉冲信号;接收外部输入的时钟脉冲信号统计时钟脉冲信号周期内以及所述时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量;根据所述误差量改变所述预设计数量N。通过引入外部稳定的时钟脉冲信号对晶振脉冲信号的固有误差、工作环境温度变化影响等方面所引起计数脉冲信号触发采样脉冲信号时所产生的误差进行调整,可以尽量减少晶振频率本身存在的误差以及消除累积误差对采样脉冲的影响,克服了采样脉冲时钟的存在误差累积。

Description

采样时钟同步的方法及系统
技术领域
本发明属于工业控制领域,尤其涉及一种实现采样时钟同步的方法及系统。
背景技术
在智能电网建设中,很多地方都对异地数据采集同步有相当高的要求,例如数字化变电站中的合并单元之间,广域向量测量系统中的PMU(PhasorMeasurementUnit,相量测量单元)之间、不同变电站间的故障录波装置等。
目前一般实现采集装置间数据同步的方式有两种方法:一是多装置间采用相同的采样脉冲实现,同一采样脉冲通过硬件连接接入各采集装置中,使得各设备采样同步,如图1所示;另一种是通过统一时钟脉冲信号(例如GPS时钟、北斗时钟等),所有装置通过某种对时方式实现装置时钟的同步,然后通过实现采样脉冲信号与装置时钟脉冲信号同步的方式实现装置间采样时钟的同步,如图2所示。
前述的方法一中采用硬件连接的脉冲信号,不适于相互间距离较远的设备间进行数据采样同步,而且需要考虑硬件信号的驱动能力和抗干扰能力以支持多装置间的级联,一旦发生脉冲丢失,则可能无法自动修复。方法二中一般是通过在时钟脉冲信号(秒脉冲)到达时,调整采样脉冲发出的时刻,从而实现不同装置的采样脉冲重新同步,此时刻的采样脉冲与前一采样脉冲间的时间间隔实际上包括了采样脉冲时钟的累积误差。为了控制采样精度,因此,一般需要采用精度高的采样晶振,确保在两次调整采样脉冲时钟之间的积累误差较小,因此相对硬件要求和成本较高。
发明内容
本发明实施例的目的在于提供一种实现采样时钟同步的方法,旨在解决传统采样脉冲时钟的存在误差累积、对硬件要求和成本较高的问题。
本发明实施例是这样实现的,一种实现采样时钟同步的方法,包括以下步骤:
接收外部晶振提供的晶振脉冲信号并产生计数脉冲信号;
接收所述计数脉冲信号并计数,预设计数量N计数完毕后输出采样脉冲信号;
接收外部输入的时钟脉冲信号,统计时钟脉冲信号周期内以及所述时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量;
根据所述误差量改变所述预设计数量N。
上述实现采样时钟同步的方法通过引入外部稳定的时钟脉冲信号对晶振脉冲信号的固有误差、工作环境温度变化影响等方面所引起计数脉冲信号触发采样脉冲信号时所产生的误差进行调整,由于外部输入的时钟脉冲信号具有很高的精度,通过将时钟脉冲信号、计数脉冲信号、采样脉冲信号进行比较,统计时钟脉冲信号周期内和与采样脉冲信号周期之间的计数脉冲信号误差并进行调整,通过这种方案可以尽量减少晶振频率本身存在的误差以及消除累积误差对采样脉冲的影响,克服了采样脉冲时钟的存在误差累积、以及需要强的驱动能力和抗干扰能力弱点。
本发明实施例的另一目的在于提供一种采样时钟同步的系统,包括:
分频器,接收外部晶振提供的晶振脉冲信号并产生计数脉冲信号;
与所述分频器连接的采样脉冲发生器,用于接收所述计数脉冲信号并计数,所述预设计数量N计数完毕后输出采样脉冲信号;
信号比较单元,分别与所述分频器和采样脉冲发生器连接,所述信号比较单元接收外部输入的时钟脉冲信号统计时钟脉冲信号周期内以及所述时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量;
采样脉冲调整单元,分别与所述信号比较单元和采样脉冲发生器连接,根据所述误差量改变所述预设计数量N。
上述采样时钟同步的系统通过实时动态检测晶振脉冲信号的频率,由于时间衰变或者温漂等影响当出现晶振频率与理论值误差较大的情况下,将采样脉冲信号与时钟脉冲信号进行同步消除累积误差的处理,及时消除晶振误差导致的采样脉冲信号偏移,实现了长时间连续采样时采样点数保持准确。可以直接调整采样脉冲信号的输出,使得在晶振频率误差较大的情况下也可以实现较精确的采样脉冲。
附图说明
图1是一传统的采样时钟同步的系统的模块框图;
图2是另一传统的采样时钟同步的系统的模块框图;
图3是本发明一实施例提供的采样时钟同步的方法流程图;
图4是本发明另一实施例提供的获取采样脉冲信号方法流程图;
图5是采样脉冲信号时和钟脉冲信号零时刻同步和不同步对比图;
图6是;本发明一实施例提供的根据误差量调整采样脉冲信号输出时刻的流程图;
图7是本发明一实施例提供的获取时钟周期内计数脉冲信号量的流程图;
图8是本发明一实施例提供的统计时钟周期内和与采样周期之间计数脉冲信号量的流程图;
图9是本发明一实施例提供的统计时钟周期与采样周期之间计数脉冲信号量的流程图;
图10本发明另一实施例提供的根据误差量调整采样脉冲信号输出时刻的流程图;
图11本发明一实施例提供的的实现采样时钟同步的系统模块框图。
具体实施方式
为了使本发明要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图3所示,为一优选实施例中的实现采样时钟同步的方法的流程图,该实现采样时钟同步的方法是基于可编程门电路集成芯片实现的,本实施例中主要是在CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)逻辑芯片中利用逻辑电路设计实现相应的时钟脉冲信号比较、采样脉冲生成、采样脉冲调整等功能,最终实现外部晶振脉冲信号输入、时钟脉冲信号输入,输出同步的采样脉冲信号,在其他实施例中,本实现采样时钟同步的方法也可以是基于FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)逻辑芯片实现,采样时钟同步的方法包括以下步骤:
步骤S10,接收外部晶振提供的晶振脉冲信号并产生计数脉冲信号。具体地,由分频器接收外部晶振提供的晶振信号并对其进行分频以产生所需频率的计数脉冲信号。
步骤S20,接收所述计数脉冲信号并计数,预设计数量N计数完毕后输出采样脉冲信号。CPLD逻辑芯片的采样脉冲发生器负责根据计数脉冲信号对采样脉冲计数器进行减1计数,当脉冲计数器值的计数值预设计数量N为零时,输出一个采样脉冲。需要说明的是,本发明的实施例中所提到的预设计数量N为采样脉冲发生器中的采样脉冲计数器的预设计数次数,同时,预设计数量N被作为采样脉冲寄存器的值存储。
步骤S30,接收外部输入的时钟脉冲信号,统计时钟脉冲信号周期内以及所述时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量。具体地,采用双计数器实现对采样脉冲信号输出时刻的校正控制,一个计数器统计一个时钟脉冲信号周期内计数脉冲信号的数量值与预设数值之间的误差值;另一个统计上一次采样脉冲信号发出后到时钟脉冲信号到达时的计数脉冲信号数量与所述预设数值N之间的误差值,用以实现调整采样脉冲计数器的预设计数量N。
步骤S40,根据所述误差量改变所述预设计数量N。具体地,将上述统计得到的误差量,即一个时钟脉冲信号周期内或与采样脉冲信号之间计数脉冲信号的数量值与预设数值之间的误差值,根据误差量对预存储在采样脉冲寄存器中的预设计数量N进行重设,实现调整采样脉冲信号的输出时刻。
上述实现采样时钟同步的方法通过引入外部稳定的时钟脉冲信号对晶振脉冲信号的固有误差、工作环境温度变化影响等方面所引起计数脉冲信号触发采样脉冲信号时所产生的误差进行调整,由于外部输入的时钟脉冲信号具有很高的精度,通过将时钟脉冲信号、计数脉冲信号、采样脉冲信号进行比较,统计时钟脉冲信号周期内和时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号误差并进行调整,通过这种方案可以尽量减少晶振频率本身存在的误差以及消除累积误差对采样脉冲的影响,克服了采样脉冲时钟的存在误差累积、以及需要强的驱动能力和抗干扰能力弱点。
需要说明的是本实施例中给出的步骤S10-S40,只是一种优选的实施步骤的方式,各步骤之间并不存在必然的先后关系,它们之间也可以是并行的关系,只要能够实现本方法的技术方案并实现本发明的效果即可。
下面结合更具体的示例对上述实现采样时钟同步的方法进行更详细的说明
如图4所示,为一实施例中的实现采样时钟同步的方法的流程图,本实施例中实现采样时钟同步的方法具体包括以下步骤:
步骤S100,接收外部晶振提供的晶振脉冲信号并产生计数脉冲信号。外部晶振用于产生输出高频的脉冲晶振信号,作为采样脉冲信号的初始控制信号,本实施例中该晶振脉冲信号的频率高达50MHz,晶振脉冲信号通过CPLD逻辑芯片的输入管脚输入到CPLD逻辑芯片中处理。CPLD逻辑芯片的分频器负责将晶振脉冲信号进行分频后输出频率较低,本实施例中频率还是比采样脉冲信号高很多为5MHz的计数脉冲信号。
具体地,为了更清楚说明相应的处理流程,以外部晶振频率的晶振脉冲信号为50Mhz,分频后的计数脉冲信号频率为5MHz,周期为Tj=0.2us的例子说明具体实施例的,在其他实施例中,可以以其他频率的晶振脉冲信号、计数脉冲信号实施。
步骤S200,接收所述计数脉冲信号并计数,预设计数量N计数完毕后输出采样脉冲信号。CPLD逻辑芯片的采样脉冲发生器负责根据计数脉冲信号对采样脉冲计数器进行减1计数,当脉冲计数器值的计数值预设计数量N为零时,输出一个采样脉冲。例如,要求产生的采样脉冲信号f为5000Hz,对应采样周期为Ts=200us,那么根据频率为50Mhz的晶振脉冲信号分频后得到频率为5MHz的计数脉冲信号频率,则有N=5M/5000=1000,N为产生每个采样脉冲信号所需要的计数脉冲信号理论脉冲个数值,及预设计数量N的值,也可以理解为,对应为理论上如果外部晶振频率绝对准确情况下,一个采样脉冲周期对应的计数脉冲个数。
步骤S300,接收外部输入的时钟脉冲信号,统计时钟脉冲信号周期内以及所述时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量的步骤具体为,统计所述一个时钟脉冲信号周期内产生每个所述采样脉冲信号的所述计数脉冲信号的计数脉冲数量N’。典型的时钟脉冲信号是秒信号脉冲,每秒种有一个高电平脉冲,上升沿对应为时钟同步时刻,称为零时刻,时钟脉冲信号一般由外部的同步时钟源(GPS时钟或北斗时钟)发出,作为输入引入到CPLD逻辑芯片中。
假设开始时采样脉冲信号和时钟脉冲信号同时到达,如图5中a所示,则认为没有误差,随着时间推移,则出现了误差,等到下一个时钟脉冲信号到达时,采样脉冲信号与时钟脉冲信号相差50us(对应为50/Tj=50/0.2=250个计数脉冲误差),如图5中b所示,其中由于实际的情况是外部晶振频率存在误差(为了说明问题我们将误差设置得大一些),假设外部晶振频率误差为50ppm(百万分之一),如此发出采样脉冲信号如果不进行校正,则每秒钟采样时刻误差50us,4秒后就将误差200us,正好是1个采样脉冲信号周期Ts。因此需要引入同步时钟脉冲信号(秒脉冲信号),即每秒钟有一个准确的时钟脉冲信号,则可以进行误差的调整。具体地,对该采样脉冲信号的误差进行调整,首先获取需要调整的误差量。
统计所述一个时钟脉冲信号周期内产生每个所述采样脉冲信号的所述计数脉冲信号的计数脉冲数量N’。具体地,利用计数脉冲计数器记录在一个时钟脉冲信号周期内(两次零时刻之间)的计数脉冲信号的数量N0,当计数脉冲信号到达时,计数脉冲计数器进行加1计数,当时钟脉冲信号到达时,先对计数脉冲计数器进行锁存,
此外,并且要对N’值的有效性进行判断,正常情况下N’值与理论计数脉冲个数值N(预设计数量N)应该最多相差1,否则认为是无效值,将计数脉冲寄存器的值N’设置为0值。例如得到N0=4999750,则N’=N0/f4999750/5000,取整处理后N’还是为1000,在N’值设置完后,将计数脉冲计数器归0,重新统计。
步骤S400,根据所述误差量改变所述预设计数量N。实现根据信号比较模块得到的计数脉冲数量N’进行采样脉冲信号调整的决策,最终确定采样脉冲计数器的计数值(采样脉冲寄存器值),以实现调整采样脉冲信号的输出时刻。具体地,如图6所示,步骤S400包括步骤S410、步骤S420及步骤S430。
步骤S410,判断所述时钟脉冲信号到达后所述计数脉冲数量N’是否与所述预设计数量N不相等。如果计数脉冲寄存器的值N’与所述预设计数量N不相等,说明采样脉冲信号与时钟脉冲信号的误差比较大,反之则比较少,那么只需要进行小误差调整。
步骤S420,若是,则重设所述预设计数量N为N’。具体地,如果计数脉冲数量N’与所述预设计数量N不相等,则采样脉冲寄存器的值设为计数脉冲寄存器的值N’,否则采样脉冲寄存器的值设为预设计数量N;由于N’值进行了有效判断,正常情况下N’值与理论计数脉冲个数值N(预设计数量N)应该最多相差1,否则认为是无效值,将计数脉冲寄存器的值N’设置为0值。那么说明如果N’与所述预设计数量N不相等且有效,证明采样脉冲信号与时钟脉冲信号的误差存在误差则重设所述采样脉冲计数器的预设计数量N为N’以调整采样脉冲信号的输出时刻。因此当某次出现计数脉冲寄存器的值N’发生改变调整时,主要反应计数脉冲寄存器的值N’的变化,避免出现多重调节导致结果不确定的情况。
步骤S430,若否,则所述预设计数量N不变。如果计数脉冲数量N’与所述预设计数量N相等,那么,采样脉冲计数器的预设计数量N不变采样脉冲信号输出时刻不改变,认为采样脉冲信号与时钟脉冲信号同步。
在其中一个更详细的实施例中,如图7所示,步骤S300,接收外部输入的时钟脉冲信号统计时钟脉冲信号周期内以及所述时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量,包括步骤S302、步骤S304和步骤S306。
步骤S302,统计所述时钟脉冲信号周期内所述计数脉冲信号的数量N0。利用计数脉冲计数器记录在一个时钟脉冲信号周期内(两次零时刻之间)的计具体地,数脉冲信号的数量N0,当计数脉冲信号到达时,计数脉冲计数器进行加1计数,当时钟脉冲信号到达时,先对计数脉冲计数器进行锁存。
步骤S304,计算所述采样脉冲信号周期内的计数脉冲信号的计数脉冲数量N’,N’=N0/f,其中,所述采样脉冲信号的频率f。时钟脉冲信号周期为T,则可以根据采样脉冲信号频率f计算出N’值并存储。其中,N’=N0/f,N’对应为采样脉冲信号周期内的计数脉冲信号个数。
步骤S306,将所述计数脉冲数量N’作为计数脉冲寄存器的值存储。具体地,要对N’值的有效性进行判断,正常情况下N’值与理论计数脉冲个数值N(预设计数量N)应该最多相差1,否则认为是无效值,将计数脉冲寄存器的是值N’设置为0值。例如得到N0=4999750,则N’=N0/f4999750/5000,取整处理后N’还是为1000,在N’值设置完后,将计数脉冲计数器归0,重新统计。在其他实施例中,N’值与理论计数脉冲个数值N(预设计数量N)应该可以相差2、3或4。
如此,采用了实时动态检测晶振脉冲信号的频率的方法,由于时间衰变或者温漂等影响当出现晶振频率与理论值误差较大的情况下,将采样脉冲信号与时钟脉冲信号进行同步消除累积误差的处理,及时消除晶振误差导致的采样脉冲信号偏移,实现了长时间连续采样时采样点数保持准确。可以直接调整采样脉冲信号的输出,使得在晶振频率误差较大的情况下也可以实现较精确的采样脉冲。
在上述实施例中,实现采样时钟同步的方法对一个时钟脉冲信号周期内用于触发采样脉冲信号的计数脉冲信号的数量值与预设数值之间的误差值进行了调整。
此外,在其中一个实施例中,实现采样时钟同步的方法还要消除上一次所述采样脉冲信号发出后到时钟脉冲信号到达时的计数脉冲信号数量。本实施例中,首先获取这两个方面需要调整的误差量,如图8所示,步骤300包括步骤S320和步骤S340。其中的步骤S320跟上述的步骤S300的处理流程及功能一致,这里不再赘述。
在其中一个实施例中,在步骤S320:所述统计所述一个时钟脉冲信号周期内产生每个所述采样脉冲信号的所述计数脉冲信号的计数脉冲数量N’的步骤后还包括步骤S340:统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa与所述预设计数量N之间的脉冲积累误差量Wn。
步骤S340,统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa与所述预设计数量N之间的脉冲积累误差量Wn。理论上,如果晶振脉冲信号没有误差则该误差值应该为0,表示采样脉冲信号和时钟脉冲信号零时刻同时到达,而实际上晶振脉冲信号会存在误差。
对此,那么当采样脉冲信号到达后,对误差脉冲计数器进行归零设置,当计数脉冲信号到达时,误差脉冲计数器加1计数,当时钟脉冲信号零时刻到达时,锁存误差脉冲计数器数值Wa,例如得到Wa=750。由于在两次时钟脉冲信号零时刻间的采样脉冲信号误差不会太大,因此认为,当脉冲积累误差量Wn超过理论计数脉冲个数值(预设数值)N的一半时(本实施例中,N的值为1000,其一半为500),则认为采样脉冲信号滞后时钟脉冲信号,Wn=Wa-N;反之当脉冲积累误差量Wn小于预设计数量N的一半时,则认为采样脉冲信号超前时钟脉冲信号,Wn=Wa。此后,脉冲积累误差量Wn的绝对值写入积累误差寄存器中,作为采样脉冲信号需要调整的误差量。
本实施例中,实现采样时钟同步的方法还要消除上一次所述采样脉冲信号发出后到时钟脉冲信号到达时的计数脉冲信号数量,那么步骤S400将作出进一步改进。
步骤S400,根据所述误差量改变所述预设计数量N。实现根据信号比较模块得到的计数脉冲数量N’以及脉冲积累误差量Wn进行采样脉冲信号调整的决策,最终确定采样脉冲计数器的计数值(采样脉冲寄存器值),以实现调整采样脉冲信号的输出时刻。具体地,如图10所示,步骤S400包括步骤S410、步骤S420、步骤S430及步骤S440。
步骤S410,判断所述时钟脉冲信号到达后所述计数脉冲数量N’是否与所述预设计数量N不相等。如果计数脉冲寄存器的值N’与所述预设计数量N不相等,说明采样脉冲信号与时钟脉冲信号的误差比较大,反之则比较少,那么只需要进行小误差调整。
步骤S420,若是,则重设所述预设计数量N为N’并将所述积累误差寄存器置0。具体地,如果N’与所述预设计数量N不相等,则采样脉冲寄存器的值设为计数脉冲寄存器的值N’,否则采样脉冲寄存器的值设为预设计数量N;同时将积累误差计数器的计数值Wa和积累误差寄存器的值设置为0,其中以脉冲积累误差量Wn的绝对值作为积累误差寄存器的值存储,这样设计的原因主要是由于将采样脉冲寄存器的值设置为N’或Wn都将影响采样脉冲信号的输出时刻,而且计数脉冲寄存器的值N’是一个相对稳定的数值,因此当某次出现计数脉冲寄存器的值N’发生改变调整时,主要反映时钟脉冲信号周期内产生采样脉冲信号所需要的计数脉冲信号的计数脉冲数量N’进行调整,避免出现多重调节导致结果不确定的情况。
步骤S430,若否,则所述预设计数量N不变。
判断脉冲积累误差量Wn是否大于0。具体地,当Wn小于0,则认为采样脉冲信号滞后时钟脉冲信号;当Wn大于0,则认为采样脉冲信号超前时钟脉冲信号;而Wa=N或Wa=0的时候,采样脉冲信号与时钟脉冲信号同步,不需要调整。
步骤S440,若Wn小于0,则减少所述预设计数量N的值,减少总数为Wn的绝对值。具体地,在本实施例中,判断脉冲积累误差量Wn小于0后的Wn的绝对值次的采样脉冲信号的输出中,每次减少预设计数量N的值为1。Wn小于0,表示采样脉冲信号比时脉冲钟信号慢,需要缩小采样脉冲计数器的值以加快采样脉冲信号发出时刻(用脉冲调节方向Fd=1表示),具体需要缩小的数量为Wn的绝对值。
在本实施例列举的例子中,如Wa=750,计算得Wa=Wa-N=-250<0,因此Fd=1,预设计数量N的值减少总数为=250。预设计数量N的值减少总数“Wn的绝对值”为实际需要调整的脉冲数量存储于积累误差寄存器的值,同样作为误差调整计数器的计数初值。当采样脉冲时刻到达时,则根据积累误差寄存器的值是否为0来确定采样脉冲计数器的计数初值,如果Wa为0或等于N,则采样脉冲计数器的计数初值为预设计数量N。如果脉冲调节方向Fd=1表示需要缩小采样脉冲计数器的脉冲计数,则N=N-1,同时将误差调整计数器的值减1,这样就实现了将采样累积误差均匀地分配到多个采样脉冲信号中进行调整。
步骤S450,若Wn大于0,则增加所述预设计数量N的值,增加总数为Wn的值。具体地,在本实施例中,判断脉冲积累误差量Wn大于0后的Wn次的采样脉冲信号的输出中,每次增加所述预设计数量N的值为1。Wn大于0,表示采样脉冲信号比时脉冲钟信号快,需要增加采样脉冲计数器的值以减慢采样脉冲信号发出时刻(用脉冲调节方向Fd=0表示),具体增加数量为Wn个。脉冲调节方向Fd=0表示需要增加采样脉冲计数器的脉冲计数,则N=N+1,同时将误差调整计数器的值减1,这样就实现了将采样累积误差均匀地分配到多个采样脉冲信号中进行调整。
本实施例使用每次改变预设计数量N的值为1,在本实施中,例如Wa=50>0,,即对应接下来的连续50个采样脉冲的采样脉冲计数器初值都将为999。实现了将采样累积误差均匀地分摊到多个采样脉冲信号中进行调整,而不是通过一个采样脉冲信调整,避免误差大时导致该采样点时刻偏移严重,影响采样精度,同时避免了当出现采样误差时对某一采样脉冲信号进行纠正,导致该采样点时刻与前后采样时刻距离过近,可能导致某种数值计算或者保护算法的异常或者采样数据被作为异常数据处理。在其他实施例中,可以是,在判断积累误差寄存器的值Wn是否大于0后的采样脉冲信号的输出中,每次减少或增加预设计数量N的值为2,在此不对每次减少预设次数的值作限定。
在其中一个更详细的实施例中,步骤S340,统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa与所述预设计数量N之间的脉冲积累误差量Wn的步骤,如图9所示,包括步骤S342、步骤S344和步骤S346。
步骤S342,统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa。当采样脉冲信号到达后,对误差脉冲计数器进行归零设置,当计数脉冲信号到达时,误差脉冲计数器加1计数,当时钟脉冲信号零时刻到达时,锁存误差脉冲计数器数值Wa。
步骤S344,计算所述计数脉冲信号的脉冲积累误差量Wn,如果Wa≥N/2,则Wn=Wa-N,否则Wn=Wa。具体地,根据误差脉冲计数器的值Wa进行估算脉冲积累误差量Wn,由于在两次时钟脉冲信号零时刻间的采样脉冲信号误差不会太大,因此认为,当脉冲积累误差量Wn超过理论计数脉冲个数值(预设数值)N的一半时(本实施例中,N的值为1000,其一半为500),则认为采样脉冲信号滞后时钟脉冲信号,Wn=Wa-N;反之当脉冲积累误差量Wa小于预设计数量N的一半时,则认为采样脉冲信号超前时钟脉冲信号,Wn=Wa-N。
步骤S346,将所述脉冲积累误差量Wn的绝对值作为积累误差寄存器的值存储。将脉冲积累误差量Wn的绝对值写入积累误差寄存器中,作为采样脉冲信号需要调整的误差量。
如此,实现采样时钟同步的方法对一个时钟脉冲信号周期内用于触发采样脉冲信号的计数脉冲信号的数量值与预设数值之间的误差值进行了调整,还消除上一次所述采样脉冲信号发出后到时钟脉冲信号到达时的脉冲积累误差量Wn。采用了实时动态检测晶振脉冲信号的频率的方法,由于时间衰变或者温漂等影响当出现晶振频率与理论值误差较大的情况下,将采样脉冲信号与时钟脉冲信号进行同步消除累积误差的处理,及时消除晶振误差导致的采样脉冲信号偏移,实现了长时间连续采样时采样点数保持准确,采样误差被均匀地分摊到多个采样脉冲信号中,避免了当出现采样误差时对某一采样脉冲信号进行纠正,导致该采样点时刻与前后采样时刻距离过近,可能导致某种数值计算或者保护算法的异常或者采样数据被作为异常数据处理。可以直接调整采样脉冲信号的输出,使得在晶振频率误差较大的情况下也可以实现较精确的采样脉冲。
如图11所示,为一实施例中的实现采样时钟同步的系统模块框图,该实现采样时钟同步的系统基于可编程门电路集成芯片实现的,本实施例中主要是在CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)逻辑芯片中利用逻辑电路设计实现相应的时钟脉冲信号比较、采样脉冲生成、采样脉冲调整等功能,最终实现外部晶振脉冲信号输入、时钟脉冲信号输入,输出同步的采样脉冲信号,在其他实施例中,本实现采样时钟同步的系统也可以是基于FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)逻辑芯片实现,采样时钟同步的系统包括分频器100、采样脉冲发生器200、信号比较单元300及采样脉冲调整单元400。
分频器100接收外部晶振提供的晶振脉冲信号并产生计数脉冲信号;与分频器100连接的采样脉冲发生器200,用于接收计数脉冲信号并计数,预设计数量N计数完毕后输出采样脉冲信号;信号比较单元300分别与分频器100和采样脉冲发生器200连接,信号比较单元300接收外部输入的时钟脉冲信号,统计时钟脉冲信号周期内以及时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量;采样脉冲调整单元400,分别与信号比较单元300和采样脉冲发生器200连接,根据误差量改变预设计数量N。
上述实现采样时钟同步的系统通过引入外部稳定的时钟脉冲信号对晶振脉冲信号的固有误差、工作环境温度变化影响等方面所引起计数脉冲信号触发采样脉冲信号时所产生的误差进行调整,由于外部输入的时钟脉冲信号具有很高的精度,通过将时钟脉冲信号、计数脉冲信号、采样脉冲信号进行比较,统计时钟脉冲信号周期内以及时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号误差并进行调整,通过这种方案可以尽量减少晶振频率本身存在的误差以及消除累积误差对采样脉冲的影响,克服了采样脉冲时钟的存在误差累积、以及需要强的驱动能力和抗干扰能力弱点。
需要说明的是,本发明的实施例中采样脉冲发生器200包括相互连接的采样脉冲发生器220和采样脉冲寄存器240,则下述所提到的预设计数量N为采样脉冲计数器220的预设计数次数,同时,预设计数量N被作为采样脉冲寄存器240的值存储。
分频器100接收外部晶振提供的晶振信号并对其进行分频以产生所需频率的计数脉冲信号。外部晶振用于产生输出高频的脉冲晶振信号,作为采样脉冲信号的初始控制信号,例如外部晶振脉冲信号的频率高达50MHz,晶振脉冲信号通过CPLD逻辑芯片的输入管脚输入到CPLD逻辑芯片中处理。CPLD逻辑芯片的分频器100负责将晶振脉冲信号进行分频后输出频率较低,本实施例中频率还是比采样脉冲信号高很多为5MHz的计数脉冲信号。
本实施例中,为了更清楚说明相应的处理流程,以外部晶振频率的晶振脉冲信号为50Mhz,分频后的计数脉冲信号频率为5MHz,周期为Tj=0.2us的例子说明具体实施例的,在其他实施例中,可以以其他频率的晶振脉冲信号、计数脉冲信号实施。
采样脉冲发生器200用于输出采样脉冲信号。CPLD逻辑芯片的采样脉冲发生器负责根据计数脉冲信号对采样脉冲计数器220进行减1计数,当采样脉冲计数器220的计数值预设计数量N为零时,输出一个采样脉冲。例如,要求产生的采样脉冲信号f为5000Hz,对应采样周期为Ts=200us,那么根据频率为50Mhz的晶振脉冲信号分频后得到频率为5MHz的计数脉冲信号频率,则有N=5M/5000=1000,N为产生每个采样脉冲信号所需要的计数脉冲信号理论脉冲个数值,及预设计数量N的值,也可以理解为,对应为理论上如果外部晶振频率绝对准确情况下,一个采样脉冲周期对应的计数脉冲个数。
假设开始时采样脉冲信号和时钟脉冲信号同时到达,如图5中a所示,则认为没有误差,随着时间推移,则出现了误差,等到下一个时钟脉冲信号到达时,采样脉冲信号与时钟脉冲信号相差50us(对应为50/Tj=50/0.2=250个计数脉冲误差),如图5中b所示,其中由于实际的情况是外部晶振频率存在误差(为了说明问题我们将误差设置得大一些),假设外部晶振频率误差为50ppm(百万分之一),如此发出采样脉冲信号如果不进行校正,则每秒钟采样时刻误差50us,4秒后就将误差200us,正好是1个采样脉冲信号周期Ts。因此需要引入同步时钟脉冲信号(秒脉冲信号),即每秒钟有一个准确的时钟脉冲信号,则可以进行误差的调整。具体地,对该采样脉冲信号的误差进行调整,首先获取需要调整的误差量。
在其中一个实施例中,信号比较单元300包括计数脉冲计算装置320,计数脉冲计算装置320分别与分频器100和采样脉冲发生器200连接,用于统计一个时钟脉冲信号周期内产生每个采样脉冲信号的计数脉冲信号的计数脉冲数量N’。本实施例中,利用计数脉冲计数器322记录在一个时钟脉冲信号周期内(两次零时刻之间)的计数脉冲信号的数量N0,当计数脉冲信号到达时,计数脉冲计数器322进行加1计数,当时钟脉冲信号到达时,先对计数脉冲计数器322进行锁存,
此外,并且要对N’值的有效性进行判断,正常情况下N’值与理论计数脉冲个数值N(预设计数量N)应该最多相差1,否则认为是无效值,将计数脉冲寄存器的值N’设置为0值。例如得到N0=4999750,则N’=N0/f4999750/5000,取整处理后N’还是为1000,在N’值设置完后,将计数脉冲计数器322归0,重新统计。
在其中一个更详细的实施例中,信号比较单元300(或者可以认为是计数脉冲计算装置320)包括计数脉冲计数器322、计数脉冲计算模块324及计数脉冲寄存器326。
计数脉冲计数器322分别与分频器100和采样脉冲发生器200连接,统计时钟脉冲信号周期内计数脉冲信号的数量N0。本实施例中,利用计数脉冲计数器322记录在一个时钟脉冲信号周期内(两次零时刻之间)的计具体地,数脉冲信号的数量N0,当计数脉冲信号到达时,计数脉冲计数器322进行加1计数,当时钟脉冲信号到达时,先对计数脉冲计数器322进行锁存。
计数脉冲计算模块324与计数脉冲计数器322连接,计算采样脉冲信号周期内的计数脉冲信号的计数脉冲数量N’,N’=N0/f,其中,采样脉冲信号的频率f。本实施例中,时钟脉冲信号周期为T,则可以根据采样脉冲信号频率f计算出N’值并存储。其中,N’=N0/f,N’对应为采样脉冲信号周期内的计数脉冲信号个数。
计数脉冲寄存器326分别与计数脉冲计数器322和计数脉冲计算模块324连接,将采样脉冲信号周期内的计数脉冲信号的计数脉冲数量N’作为计数脉冲寄存器326的值存储。本实施例中,要对N’值的有效性进行判断,正常情况下N’值与理论计数脉冲个数值N(预设计数量N)应该最多相差1,否则认为是无效值,将计数脉冲寄存器326的是值N’设置为0值。例如得到N0=4999750,则N’=N0/f4999750/5000,取整处理后N’还是为1000,在N’值设置完后,将计数脉冲计数器322归0,重新统计。
采样脉冲调整单元400实现根据信号比较模块300得到的计数脉冲数量N’进行采样脉冲信号调整的决策,最终确定采样脉冲计数器220的计数值(采样脉冲寄存器值),以实现调整采样脉冲信号的输出时刻。
采样脉冲调整单元400包括与信号比较单元300连接的误差判断模块420和与用于存储预设计数量N的采样脉冲寄存器240连接的采样脉冲设置模块440。
误差判断模块420判断时钟脉冲信号到达后计数脉冲数量N’是否与所述预设计数量N不相等。本实施例中如果计数脉冲寄存器326的值N’与所述预设计数量N不相等,说明采样脉冲信号与时钟脉冲信号的误差比较大,反之则比较少,那么只需要进行小误差调整。
若是,则采样脉冲设置模块440则重设预设计数量N为N’。本实施例中,如果N’与所述预设计数量N不相等,则采样脉冲寄存器240的值设为计数脉冲寄存器322的值N’,否则采样脉冲寄存器240的值设为预设计数量N;由于N’值进行了有效判断,正常情况下N’值与理论计数脉冲个数值N(预设计数量N)应该最多相差1,否则认为是无效值,将计数脉冲寄存器322的值N’设置为0值。在其他实施例中,N’值与理论计数脉冲个数值N(预设计数量N)应该可以相差2、3或4。那么,说明如果N’与所述预设计数量N不相等及有效,且证明采样脉冲信号与时钟脉冲信号的误差存在误差则重设采样脉冲计数器240的预设计数量N为N’以调整采样脉冲信号的输出时刻。因此当某次出现计数脉冲寄存器326的值N’发生改变调整时,主要反应计数脉冲寄存器326的值N’的变化,避免出现多重调节导致结果不确定的情况。
若否,则采样脉冲计数器220的预设计数量N不变,则采样脉冲计数器220的预设计数量N不变采样脉冲信号输出时刻不改变,认为采样脉冲信号与时钟脉冲信号同步。
如此,采用了实时动态检测晶振脉冲信号的频率的方法,由于时间衰变或者温漂等影响当出现晶振频率与理论值误差较大的情况下,将采样脉冲信号与时钟脉冲信号进行同步消除累积误差的处理,及时消除晶振误差导致的采样脉冲信号偏移,实现了长时间连续采样时采样点数保持准确。可以直接调整采样脉冲信号的输出,使得在晶振频率误差较大的情况下也可以实现较精确的采样脉冲。
在上述实现采样时钟同步的系统的实施例中,实现采样时钟同步的系统对一个时钟脉冲信号周期内用于触发采样脉冲信号的计数脉冲信号的数量值与预设数值之间的误差值进行了调整。
此外,在其中一个实施例中,实现采样时钟同步的系统还要消除上一次所述采样脉冲信号发出后到时钟脉冲信号到达时的脉冲积累误差量Wn。本实施例中,首先获取这两个方面需要调整的误差量,在其中一个实施例中,信号比较单元300还包括积累脉冲计算装置340。
积累脉冲计算装置340分别于分频器100和采样脉冲发生器200连接,用于统计上一次采样脉冲信号发出后到时钟脉冲信号到达时的计数脉冲信号数量Wa与所述预设计数量N之间的脉冲积累误差量Wn。理论上,如果晶振脉冲信号没有误差则该误差值应该为0,表示采样脉冲信号和时钟脉冲信号零时刻同时到达,而实际上晶振脉冲信号会存在误差。
对此,那么当采样脉冲信号到达后,对误差脉冲计数器342进行归零设置,当计数脉冲信号到达时,误差脉冲计数器342加1计数,当时钟脉冲信号零时刻到达时,锁存误差脉冲计数器342数值Wa,例如得到Wa=750。由于在两次时钟脉冲信号零时刻间的采样脉冲信号误差不会太大,因此认为,当脉冲积累误差量Wn超过理论计数脉冲个数值(预设数值)N的一半时(本实施例中,N的值为1000,其一半为500),则认为采样脉冲信号滞后时钟脉冲信号,Wn=Wa-N;反之当脉冲积累误差量Wn小于预设计数量N的一半时,则认为采样脉冲信号超前时钟脉冲信号,Wn=Wa。此后,脉冲积累误差量Wn的绝对值写入积累误差寄存器346中,作为采样脉冲信号需要调整的误差量。
在其中一个更详细的实施例中,积累脉冲计算装置340包括误差脉冲计数器342、误差脉冲计算模块344和积累误差寄存器346。
误差脉冲计数器342分别与分频器100和采样脉冲发生器200连接,统计上一次采样脉冲信号发出后到时钟脉冲信号到达时的计数脉冲信号数量Wa。本实施例中,当采样脉冲信号到达后,对误差脉冲计数器342进行归零设置,当计数脉冲信号到达时,误差脉冲计数器342加1计数,当时钟脉冲信号零时刻到达时,锁存误差脉冲计数器342数值Wa。
误差脉冲计算模块344与误差脉冲计数器342连接,计算所述计数脉冲信号的脉冲积累误差量Wn,如果Wa≥N/2,则Wn=Wa-N,否则Wn=Wa。本实施例中,根据误差脉冲计数器的值Wa进行估算脉冲积累误差量Wn,由于在两次时钟脉冲信号零时刻间的采样脉冲信号误差不会太大,因此认为,当脉冲积累误差量Wn超过理论计数脉冲个数值(预设数值)N的一半时(本实施例中,N的值为1000,其一半为500),则认为采样脉冲信号滞后时钟脉冲信号;反之当脉冲积累误差量Wn小于预设计数量N的一半时,则认为采样脉冲信号超前时钟脉冲信号。
积累误差寄存器346分别与误差脉冲计数器342和误差脉冲计算模块344连接,将脉冲积累误差量Wn的绝对值作为积累误差寄存器346的值存储。将脉冲积累误差量Wn的绝对值写入积累误差寄存器中,作为采样脉冲信号需要调整的误差。
本实施例中,实现采样时钟同步的系统还要消除上一次所述采样脉冲信号发出后到时钟脉冲信号到达时的脉冲积累误差量Wn,那么采样脉冲调整单元400将作出进一步改进。
采样脉冲调整单元400包括与信号比较单元300连接的误差判断模块420、与用于存储预设计数量N的采样脉冲寄存器240连接的采样脉冲设置模块440及与采样脉冲设置模块440连接用于计算实际需要调整的脉冲积累误差量的误差调整计数器460。
误差判断模块420判断时钟脉冲信号到达后计数脉冲数量N’是否与所述预设计数量N不相等。本实施例中,如果计数脉冲寄存器的值N’与所述预设计数量N不相等,说明采样脉冲信号与时钟脉冲信号的误差比较大,反之则比较少,那么只需要进行小误差调整。
若时钟脉冲信号到达后计数脉冲数量N’不为0,则采样脉冲设置模块440则重设预设计数量N为N’并将积累误差寄存器346置0。本实施例中,如果N’与所述预设计数量N不相等,则采样脉冲寄存器240的值设为计数脉冲寄存器326的值N’,否则采样脉冲寄存器240的值设为预设计数量N;同时将积累误差计数器460的计数值Wa和积累误差寄存器346的值设置为0,其中以脉冲积累误差量Wn的绝对值作为积累误差寄存器460的值存储,这样设计的原因主要是由于将采样脉冲寄存器的值设置为N’或Wn都将影响采样脉冲信号的输出时刻,而且计数脉冲寄存器240的值N’是一个相对稳定的数值,因此当某次出现计数脉冲寄存器322的值N’发生改变调整时,主要反映对时钟脉冲信号周期内产生采样脉冲信号所需要的计数脉冲信号的计数脉冲数量N’进行调整,避免出现多重调节导致结果不确定的情况。
若时钟脉冲信号到达后计数脉冲数量N’为0,则预设计数量N不变。
误差判断模块420再判断脉冲积累误差量Wn是否大于0。具体地,当Wn小于0,则认为采样脉冲信号滞后时钟脉冲信号;当Wn大于0,则认为采样脉冲信号超前时钟脉冲信号;而Wa=N或Wa=0的时候,采样脉冲信号与时钟脉冲信号同步,不需要调整。
若脉冲积累误差量Wn小于0,则采样脉冲设置模块440则减少预设计数量N的值,减少总数为Wn的绝对值。本实施例中,误差判断模块420判断脉冲积累误差量Wn小于0后的Wn的绝对值次的采样脉冲信号的输出中,采样脉冲设置模块440设置采样脉冲寄存器240每次减少预设计数量N的值为1。Wn小于0,表示采样脉冲信号比时脉冲钟信号慢,需要缩小采样脉冲计数器240的值以加快采样脉冲信号发出时刻(用脉冲调节方向Fd=1表示),具体需要缩小的数量为Wn的绝对值。
在本实施例列举的例子中,如Wa=750,计算得Wa-N=-250<0,因此Fd=1。预设计数量N的值减少总数“Wn的绝对值”为实际需要调整的脉冲数量存储于积累误差寄存器346的值,同样作为误差调整计数器460的计数初值。当采样脉冲时刻到达时,则根据积累误差寄存器346的值是否为0来确定采样脉冲计数器220的计数初值,如果Wa为0或等于N,则采样脉冲计数器220的计数初值为预设计数量N。如果脉冲调节方向Fd=1表示需要缩小采样脉冲计数器220的脉冲计数,则N=N-1,同时将误差调整计数器460的值减1,这样就实现了将采样累积误差均匀地分配到多个采样脉冲信号中进行调整。
若脉冲积累误差量Wn大于0,则采样脉冲设置模块440增加预设计数量N的值,增加总数为Wa的值,Wn的绝对值作为实际需要调整的脉冲积累误差量的存储于误差调整计数器460。具体地,在本实施例中,误差值判断模块420判断脉冲积累误差量Wn大于0后的Wn次的采样脉冲信号的输出中,采样脉冲设置模块440设置采样脉冲寄存器240每次增加预设计数量N的值为1。Wn大于0,表示采样脉冲信号比时脉冲钟信号快,需要增加采样脉冲计数器220的值以减慢采样脉冲信号发出时刻(用脉冲调节方向Fd=0表示),具体增加数量为Wn个。脉冲调节方向Fd=0表示需要增加采样脉冲计数器220的脉冲计数,则N=N+1,同时将误差调整计数器460的值减1,这样就实现了将采样累积误差均匀地分配到多个采样脉冲信号中进行调整。
本实施例使用每次改变预设计数量N的值为1,在本实施列举的例子中,若Wa=50,即对应接下来的连续50个采样脉冲的采样脉冲计数器初值都将为1001。实现了将采样累积误差均匀地分摊到多个采样脉冲信号中进行调整,而不是通过一个采样脉冲信调整,避免误差大时导致该采样点时刻偏移严重,影响采样精度,同时避免了当出现采样误差时对某一采样脉冲信号进行纠正,导致该采样点时刻与前后采样时刻距离过近,可能导致某种数值计算或者保护算法的异常或者采样数据被作为异常数据处理。在其他实施例中,可以是,在判断积累误差寄存器342的值Wn大于0后的采样脉冲信号的输出中,每次减少或增加预设计数量N的值为2,在此不对每次减少预设次数的值作限定。
如此,本实施例中,实现采样时钟同步的系统对一个时钟脉冲信号周期内用于触发采样脉冲信号的计数脉冲信号的数量值与预设数值之间的误差值进行了调整,还消除上一次所述采样脉冲信号发出后到时钟脉冲信号到达时的脉冲积累误差量。采用了实时动态检测晶振脉冲信号的频率的方法,由于时间衰变或者温漂等影响当出现晶振频率与理论值误差较大的情况下,将采样脉冲信号与时钟脉冲信号进行同步消除累积误差的处理,及时消除晶振误差导致的采样脉冲信号偏移,实现了长时间连续采样时采样点数保持准确,采样误差被均匀地分摊到多个采样脉冲信号中,避免了当出现采样误差时对某一采样脉冲信号进行纠正,导致该采样点时刻与前后采样时刻距离过近,可能导致某种数值计算或者保护算法的异常或者采样数据被作为异常数据处理。可以直接调整采样脉冲信号的输出,使得在晶振频率误差较大的情况下也可以实现较精确的采样脉冲。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种实现采样时钟同步的方法,其特征在于,包括以下步骤:
接收外部晶振提供的晶振脉冲信号并产生计数脉冲信号;
接收所述计数脉冲信号并计数,预设计数量N计数完毕后输出采样脉冲信号;
接收外部输入的时钟脉冲信号,统计时钟脉冲信号周期内以及所述时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量,其中:统计一个所述时钟脉冲信号周期内产生每个所述采样脉冲信号的所述计数脉冲信号的计数脉冲数量N’,并以该计数脉冲数量N’重设所述预设计数量N;统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa与所述预设计数量N之间的脉冲积累误差量Wn;
根据所述计数脉冲信号的误差量改变所述预设计数量N。
2.如权利要求1所述的实现采样时钟同步的方法,其特征在于,所述统计所述一个时钟脉冲信号周期内产生每个所述采样脉冲信号的所述计数脉冲信号的计数脉冲数量N’,并以该计数脉冲数量N’重设所述预设计数量N的步骤具体为:
统计所述时钟脉冲信号周期内所述计数脉冲信号的数量N0;
计算所述采样脉冲信号周期内的计数脉冲信号的计数脉冲数量N’,N’=N0/f,其中,所述采样脉冲信号的频率f;
将所述计数脉冲数量N’作为计数脉冲寄存器的值存储。
3.如权利要求1所述的实现采样时钟同步的方法,其特征在于,统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa与所述预设计数量N之间的脉冲积累误差量Wn的步骤具体为:
统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa;
计算所述计数脉冲信号的脉冲积累误差量Wn,如果Wa≥N/2,则Wn=Wa-N,否则Wn=Wa;
将所述脉冲积累误差量Wn的绝对值作为积累误差寄存器的值存储。
4.如权利要求3所述的实现采样时钟同步的方法,其特征在于,所述根据所述计数脉冲信号的误差量改变所述预设计数量N的步骤具体为:
判断所述时钟脉冲信号到达后所述计数脉冲数量N’是否与所述预设计数量N不相等,若是,则重设所述预设计数量N为N’并将所述积累误差寄存器置0;若否,则所述预设计数量N不变;
判断所述脉冲积累误差量Wn是否大于0;若否,则减少所述预设计数量N的值,减少总数为Wn的绝对值,若是,则增加所述预设计数量N的值,增加总数为Wn的值。
5.如权利要求4所述的实现采样时钟同步的方法,其特征在于,所述减少所述预设计数量N的值,减少总数为Wn的绝对值的步骤具体为:
判断所述脉冲积累误差量Wn小于0后的Wn的绝对值次的所述采样脉冲信号的输出中,每次减少所述预设计数量N的值为1;
所述增加所述预设计数量N的值,增加总数为Wn的值的步骤具体为:
判断所述脉冲积累误差量Wn大于0后的Wn的绝对值次的所述采样脉冲信号的输出中,每次增加所述预设计数量N的值为1。
6.一种实现采样时钟同步的系统,其特征在于,包括:
分频器,接收外部晶振提供的晶振脉冲信号并产生计数脉冲信号;
与所述分频器连接的采样脉冲发生器,用于接收所述计数脉冲信号并计数,预设计数量N计数完毕后输出采样脉冲信号;
信号比较单元,分别与所述分频器和采样脉冲发生器连接,所述信号比较单元接收外部输入的时钟脉冲信号,统计时钟脉冲信号周期内以及所述时钟脉冲信号周期与采样脉冲信号周期之间的计数脉冲信号的误差量;
采样脉冲调整单元,分别与所述信号比较单元和采样脉冲发生器连接,根据所述计数脉冲信号的误差量改变所述预设计数量N;
其中,所述信号比较单元包括:
计数脉冲计算装置,分别与所述分频器和采样脉冲发生器连接,用于统计一个所述时钟脉冲信号周期内产生每个所述采样脉冲信号的所述计数脉冲信号的计数脉冲数量N’,并以该计数脉冲数量N’重设所述预设计数量N;
积累脉冲计算装置,分别于所述分频器和采样脉冲发生器连接,用于统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa与所述预设计数量N之间的脉冲积累误差量Wn。
7.如权利要求6所述的实现采样时钟同步的系统,其特征在于,所计数脉冲计算装置包括:
计数脉冲计数器,分别与所述分频器和采样脉冲发生器连接,统计所述时钟脉冲信号周期内所述计数脉冲信号的数量N0;
计数脉冲计算模块,与所述计数脉冲计数器连接,计算所述采样脉冲信号周期内的计数脉冲信号的计数脉冲数量N’,N’=N0/f,其中,所述采样脉冲信号的频率f;
计数脉冲寄存器,分别与所述计数脉冲计数器和计数脉冲计算模块连接,将所述采样脉冲信号周期内的计数脉冲信号的计数脉冲数量N’作为计数脉冲寄存器的值存储。
8.如权利要求6所述的实现采样时钟同步的系统,其特征在于,所述积累脉冲计算装置包括:
误差脉冲计数器,分别与所述分频器和采样脉冲发生器连接,统计上一次所述采样脉冲信号发出后到所述时钟脉冲信号到达时的计数脉冲信号数量Wa;
误差脉冲计算模块,与所述误差脉冲计数器连接,计算所述计数脉冲信号的脉冲积累误差量Wn,如果Wa≥N/2,则Wn=Wa-N,否则Wn=Wa;
积累误差寄存器,与所述误差脉冲计数器连接,将所述脉冲积累误差量Wn的绝对值作为积累误差寄存器的值存储。
9.如权利要求8所述的实现采样时钟同步的系统,其特征在于,所述采样脉冲调整单元包括与所述信号比较单元连接的误差判断模块、与用于存储所述预设计数量N的采样脉冲寄存器连接的采样脉冲设置模块及与所述采样脉冲设置模块连接用于计算实际需要调整的脉冲积累误差量的误差调整计数器,其中,
所述误差判断模块判断所述时钟脉冲信号到达后所述计数脉冲数量N’是否与所述预设计数量N不相等,若是,则采样脉冲设置模块则重设所述预设计数量N为N’并将所述积累误差寄存器置0;若否,则所述预设计数量N不变;
所述误差判断模块判断所述脉冲积累误差量Wn是否大于0;若否,则减少所述预设计数量N的值,减少总数为Wn的绝对值,若是,则增加所述预设计数量N的值,增加总数为Wn的值,所述Wn的绝对值作为实际需要调整的脉冲积累误差量的存储于所述误差调整计数器。
10.如权利要求9所述的实现采样时钟同步的系统,其特征在于,所述误差判断模块判断所述脉冲积累误差量Wn小于0后的Wn的绝对值次的所述采样脉冲信号的输出中,所述采样脉冲设置模块设置所述采样脉冲寄存器每次减少所述预设计数量N的值为1;
所述积累误差值判断模块判断所述脉冲积累误差量Wn大于0后的Wn次的所述采样脉冲信号的输出中,所述采样脉冲设置模块设置所述采样脉冲寄存器每次增加所述预设计数量N的值为1。
CN201210394976.2A 2012-10-17 2012-10-17 采样时钟同步的方法及系统 Active CN102932084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210394976.2A CN102932084B (zh) 2012-10-17 2012-10-17 采样时钟同步的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210394976.2A CN102932084B (zh) 2012-10-17 2012-10-17 采样时钟同步的方法及系统

Publications (2)

Publication Number Publication Date
CN102932084A CN102932084A (zh) 2013-02-13
CN102932084B true CN102932084B (zh) 2015-11-11

Family

ID=47646807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210394976.2A Active CN102932084B (zh) 2012-10-17 2012-10-17 采样时钟同步的方法及系统

Country Status (1)

Country Link
CN (1) CN102932084B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427793B (zh) * 2013-07-29 2016-01-20 国电南瑞科技股份有限公司 基于温度补偿的对时守时系统及方法
CN103684358B (zh) * 2013-11-21 2016-12-07 航天科工深圳(集团)有限公司 采样脉冲生成方法和装置
CN105680855B (zh) * 2014-11-18 2018-08-21 苏州银蕨电力科技有限公司 一种用于智能电网传感装置的自动频率控制方法
CN105676058B (zh) * 2014-11-18 2018-08-21 苏州银蕨电力科技有限公司 用于智能电网传感装置的高精度测量数据采样同步装置及方法
CN104486020B (zh) * 2014-12-12 2017-04-12 成都朗锐芯科技发展有限公司 一种用于时钟恢复的网络数据计数方法
CN104730483B (zh) * 2015-03-13 2017-07-28 郑州万特电气股份有限公司 一种无线脉冲同步采样方法
CN106301656B (zh) * 2016-08-30 2018-04-13 北京飞利信电子技术有限公司 一种提高时间戳测量精度的方法及装置
CN109154796B (zh) * 2017-12-18 2021-04-06 深圳市大疆创新科技有限公司 时间更新方法,装置及可移动平台
CN111239517B (zh) * 2020-01-20 2023-01-24 苏州浪潮智能科技有限公司 一种高稳晶振状态监测方法及装置
CN111490867B (zh) * 2020-04-26 2021-02-12 杭州锐讯科技有限公司 一种面向分布式应用的采样时钟同步系统及方法
CN112291028B (zh) * 2020-10-28 2021-09-10 合肥富煌君达高科信息技术有限公司 一种时钟驯服方法、装置及应用该方法的高速相机
DE102020135100B4 (de) * 2020-12-30 2022-08-11 Realization Desal Ag Armbanduhr
CN114200815B (zh) * 2021-11-15 2023-03-24 秦佳电气有限公司 一种提高普通定时器计时精度的方法及系统
CN114363125A (zh) * 2021-12-07 2022-04-15 上海华虹集成电路有限责任公司 数字异步通信系统中采样脉冲的生成方法
CN114050957B (zh) * 2022-01-17 2022-03-15 北京为准智能科技有限公司 一种无线通信测试系统的符号同步装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090311A (zh) * 2006-06-16 2007-12-19 北京信威通信技术股份有限公司 一种无线通信系统中在gps失效后产生维持时钟输出的方法和系统
CN101551640A (zh) * 2009-05-07 2009-10-07 上海交通大学 增加动态补偿的pmu同步时钟系统
CN101594128A (zh) * 2009-07-06 2009-12-02 中国人民解放军国防科学技术大学 组合导航处理器用同步脉冲合成方法及同步脉冲合成器
CN101783665A (zh) * 2009-12-31 2010-07-21 广东正业科技股份有限公司 一种可编程步进延时时基和采样系统
CN101865952A (zh) * 2010-05-24 2010-10-20 河南电力试验研究院 一种实现高精度同步相量测量的方法
CN102176112A (zh) * 2010-11-29 2011-09-07 江苏林洋电子股份有限公司 Mcu内置rtc实现时钟精确计时的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792650B2 (en) * 2003-09-02 2010-09-07 Sirf Technology Inc. Edge-aligned ratio counter
US7734002B2 (en) * 2006-11-14 2010-06-08 Integrated Device Technology, Inc. Phase difference detector having concurrent fine and coarse capabilities

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090311A (zh) * 2006-06-16 2007-12-19 北京信威通信技术股份有限公司 一种无线通信系统中在gps失效后产生维持时钟输出的方法和系统
CN101551640A (zh) * 2009-05-07 2009-10-07 上海交通大学 增加动态补偿的pmu同步时钟系统
CN101594128A (zh) * 2009-07-06 2009-12-02 中国人民解放军国防科学技术大学 组合导航处理器用同步脉冲合成方法及同步脉冲合成器
CN101783665A (zh) * 2009-12-31 2010-07-21 广东正业科技股份有限公司 一种可编程步进延时时基和采样系统
CN101865952A (zh) * 2010-05-24 2010-10-20 河南电力试验研究院 一种实现高精度同步相量测量的方法
CN102176112A (zh) * 2010-11-29 2011-09-07 江苏林洋电子股份有限公司 Mcu内置rtc实现时钟精确计时的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴宁等.高精度GPS同步时钟的研究与实现.《电力系统自动化》.2008,第32卷(第10期), *

Also Published As

Publication number Publication date
CN102932084A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
CN102932084B (zh) 采样时钟同步的方法及系统
CN106814595B (zh) 基于等效细分的高精度tdc及其等效测量方法
CN102246415B (zh) 用于确定信号的频率或周期的方法
US20060259806A1 (en) Self-calibrating time code generator
CN108599743A (zh) 一种基于相位补偿的精密数字延时同步方法
CN102998970B (zh) 一种基于crio平台的高精度对时同步方法
US7120215B2 (en) Apparatus and method for on-chip jitter measurement
CN109150351B (zh) 一种应用于变电站的utc时间实现方法及系统
CN103616814A (zh) 一种基于fpga的同步采样时钟闭环校正方法和系统
CN106681127B (zh) 移位寄存器电路、相位差计算方法及时间数字转换器
CN105549379A (zh) 一种基于高精度时间基准触发的同步测量装置及方法
CN1909375A (zh) 实时时钟装置及其当前时刻补偿方法
CN113395069B (zh) 一种基于模糊区脉冲检测的高精度异频数字锁相环系统
WO2016042449A1 (en) Method and apparatus for timing synchronization in a distributed timing system
CN103713552A (zh) 基于秒脉冲的自适应动态同步采样控制装置及其方法
CN110887992A (zh) 一种时钟频率检测电路
CN103051340B (zh) 时间数字转换系统与频率合成器
CN103427798A (zh) 一种多相位时钟产生电路
CN1965270B (zh) 测量时钟抖动
CN103051336B (zh) 频率合成器与频率合成方法
CN105680977B (zh) 同步FlexRay时钟的方法及系统
CN103618501A (zh) 基于fpga的交流采样同步倍频器
US8324882B2 (en) Phase locked loop device and method thereof
CN114488203A (zh) 基于北斗信号的高精度守时与网络授时系统及其方法
US8509370B2 (en) Phase locked loop device and method thereof

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