技术领域
[0001] 本发明涉及惯性导航技术领域,尤其涉及一种基于时钟基准的高频同步信号动态修正方法及装置。
相关背景技术
[0002] 由于惯性导航系统中存在多种部件,各部件通常都是以自身的晶振时钟为基准来生成定时周期信号;当各部件有同步需求时,通常是以一个部件为主,向其他从部件输出基准脉冲,从部件以此为标准进行同步。
[0003] 基准脉冲通常频率相对较低(例如秒脉冲或者10ms脉冲),而从部件通常都需实现更高频率的同步定时周期信号(例如0.5ms的采样基准),由于各部件的晶振时钟存在微小差异,温度稳定性也不一样,从部件使用外部的基准脉冲强制同步必然有差异,由一个低频的基准脉冲来生成更高频率的同步信号更是一技术难题。
[0004] 目前常用的方法:
[0005] 第一,严格约束主部件和从部件的晶振频率的稳定性和温度特性,使主从之间的晶振时钟特性尽可能的完全相同。
[0006] 第二,从部件使用自身系统时钟对主部件的基准脉冲计数,获得计数值(例如为M)后,由DSP等处理器计算出新的同步高频采样计算值N,计算方法为M除以F(高频采样频率)后近似取整,最后从部件以计算值N来产生所需要的高频同步基准。这种方法对晶振要求高,成本也就高,且处理后误差会累计到每个同步周期的最后一次高频同步信号上,对系统有一定影响。
具体实施方式
[0026] 以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
[0027] 实施例1
[0028] 本实施例公开一种基于时钟基准的高频同步信号动态修正装置,设置有本地晶振,如图1所示,还包括:
[0029] 滤波模块,用于对输入基准脉冲进行噪声过滤。
[0030] 基准周期计数及判别模块,用于通过本地晶振输出的时钟对基准脉冲间隔时间进行计数,并将计数值与设定标准值的上、下阈值进行比较,然后对比较结果进行统计,在连续N次计数值均在处于设定标准值的上下阈值内时,判定基准脉冲已经能稳定有效捕获,输出捕获有效标识为1,否则,输出捕获有效标识为0并等待基准脉冲满足能稳定有效捕获的条件,其中,N为设置的阈值。
[0031] 新计数值生成模块,用于在基准脉冲能稳定有效捕获后,根据N次累加平均后的基准脉冲间隔计数值除以本地同步时钟目标脉冲频率的商Q和余数R。
[0032] 高频脉冲产生与同步模块,在输入捕获有效标识为1时,在输入基准脉冲的上升沿强制复位模块内计数变量进行同步,并锁存新输入的商Q和余数R值;然后以商Q为频率数、并将余数R所导致的计数误差均摊到前R个连续的同步脉冲上后得到修正后的同步时钟脉冲。其中,计数变量用来动态更新当前的计数值;“在输入基准脉冲的上升沿强制复位模块内计数变量进行同步”即具体修正执行前的一个复位释放过程,复位释放也可视为装置从休眠到启动的一个等待过程,具体可参照后续步骤4)。
[0033] 例如,取N=8,具体的修正过程分为以下几个步骤来实现:
[0034] 步骤1:滤波模块对输入基准脉高低电平进行检测,滤除偶发的跳变波形,滤除跳变脉冲的宽度可参数调整,可有效避免偶发强干扰导致的噪声或者基准信号变化沿抖动对系统的影响。
[0035] 步骤2:基准周期计数及判别模块使用系统时钟对输入基准脉冲间隔时间进行计数,从基准脉冲的上升沿开始,到下一个上升沿结束,这样可以适应不同占空比状态下的基准脉冲波形。获得的计数值与设定标准值的上、下阈值进行判断,连续8次计数值均在处于设定标准值的上下阈值内(阈值设定与实际情况有关,10ms基准时可取5us),说明基准脉冲已经稳定有效捕获,这样可以避免基准不稳定时或者异常输入误触发计数值。有效时将捕获有效标识输出1,否则输出0。
[0036] 步骤3:新计数值生成模块在输入的捕获有效标识为1时,取前8次基准脉冲计数值累加平均(右移3位即为除以8平均,节省资源),平均后的值并输入到FPGA的除法IP核中做被除数,计算公式如下:
[0037] M0/F=Q……R;
[0038] 其中,M0为累加平均后的基准脉冲间隔计数值,F为需生成的高频信号频率(即“本地同步时钟目标脉冲频率”),计算得出商Q和余数R。
[0039] 步骤4:高频同步脉冲产生与同步模块以当前有效商Qv和余数Rv值(复位初始化时Q为理论值,R为0)使用内部时钟来产生高频同步脉冲信号,具体为:
[0040] 1、上电复位时,Qv=理论值Q0,数Rv=0,计数值CNT=0,同步个数NUM=0,修正值FIX=0。
[0041] 2、在输入捕获有效标识为1时,且基准脉冲的上升沿到来时,复位模块内使CNT=0,NUM=0,FIX=0,同时将新计数的商Q值赋值给Qv,余数R赋值给Rv,间接实现同步。
[0042] 3、其他情况下:
[0043] 若NUM
[0044] 若CNT
[0045] 该模块利用商Q来计数生产需要频率的高频同步脉冲,利用余数R来修正输出的同步脉冲,使余数误差近似均摊,不会累计到每周期最后一次同步脉冲中。
[0046] 进一步地:当不处于输入基准脉冲的上升沿时,或者捕获有效标识为0时,以本地时钟,使用当前锁存的商Q和余数R值,采用基准脉冲的上升沿有效时相同的修正方式,来产生高频同步脉冲信号。藉此,实现了以前面有效的商和余数值继续生成高频同步脉冲,保证系统的健壮性。当有新的Q和R进行更新并锁存后哦,则重新进行下一轮修正。
[0047] 实施例2
[0048] 本实施例基于时钟基准的高频同步信号动态修正方法,参照图2和图3,包括:
[0049] 步骤S21、对输入基准脉冲进行噪声过滤。
[0050] 步骤S22、通过本地晶振输出的时钟对基准脉冲间隔时间进行计数,并将计数值与设定标准值的上、下阈值进行比较,然后对比较结果进行统计,在连续N次计数值均在处于设定标准值的上下阈值内时,判定基准脉冲已经能稳定有效捕获,输出捕获有效标识为1,否则,输出捕获有效标识为0并等待基准脉冲满足能稳定有效捕获的条件,其中,N为设置的阈值。
[0051] 步骤S23、在基准脉冲能稳定有效捕获后,根据N次累加平均后的基准脉冲间隔计数值除以本地同步时钟目标脉冲频率的商Q和余数R。
[0052] 步骤S24、在输入捕获有效标识为1时,在输入基准脉冲的上升沿强制复位模块内计数变量进行同步,并锁存新输入的商Q和余数R值;然后以商Q为频率数、并将余数R所导致的计数误差均摊到前R个连续的同步脉冲上后得到修正后的同步时钟脉冲。
[0053] 进一步地,当不处于输入基准脉冲的上升沿时,或者捕获有效标识为0时,以本地时钟,使用当前锁存的商Q和余数R值,采用基准脉冲的上升沿有效时相同的修正方式,来产生高频同步脉冲信号。
[0054] 可选地,N=8。
[0055] 综上,本发明实施例公开的装置及方法,至少具有以下优点:
[0056] 当基准脉冲连续稳定后,取连接8次基准脉冲间隔的时钟计数值累加平均后,可利用FPGA等资源的除法模块,计算出生成特定频率(例如2kHz)的商和余数,在高频脉冲产生与同步模块中,若判断基准脉冲有效,则使用基准脉冲进行同步,并使用新计算的商值生成同步脉冲,用余数修正同步脉冲,使计算误差不会累计到每周期的最后一个同步脉冲中;若判断基准脉冲无效,则不进行同步,以前面有效的商和余数值继续生成高频同步脉冲,保证系统的健壮性。而且采用将余数R所导致的计数误差均摊到前R个连续的同步脉冲上的策略,统一了修复标准并确保了修复实现的便捷性和可靠性。
[0057] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。