一种采样时钟高精度相位校准与时间基准确定方法
技术领域
本发明属于时间同步技术领域,具体涉及一种任意系统(如卫星导航地面站测量通信系统)的时频信号数字处理部分接收终端的本地时间与时频系统的时间同步方法。
背景技术
卫星导航地面站测量通信系统的信号接收同时用到了时间基准1PPS(1Pulse PerSecond,秒脉冲)信号和高速率采样时钟(fs)信号,在时频信号数字处理部分,是通过输入高速率采样时钟(fs)采样率对输入1PPS信号进行采样来实现接收终端的本地时间与时频系统的时间同步。
时钟是整个电路最重要、最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行。这就要求时钟信号延时差要非常小,否则就可能造成时序逻辑状态出错;因而明确数字电路设计中决定系统时钟的因素,尽量较小时钟的延时对保证设计的稳定性有非常重要的意义。
建立时间(Tsetup:Setup Time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器。图1所示的是建立时间容限,要求大于等于0。其中,Tclk表示高速率采样时钟周期;Tffpd表示触发器输出的响应时间,也就是触发器的输出在高速率采样时钟CLK上升沿到来之后多长时间发生变化并稳定,也可以理解为触发器的输出延时;Tcomb表示触发器的输出经过组合逻辑所需要的时间。
保持时间(Thold:Hold Time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。图2所示的是保持时间容限,要求大于等于0。
数据稳定传输必须满足建立时间和保持时间的要求。由于在接收终端的输入端,没有对高速率采样时钟(fs)和1PPS信号之间的相位关系进行约束,因此会存在高速率采样时钟(fs)对1PPS信号的采样,不满足建立时间和保持时间的要求,从而引起本地时间与时频系统的时间关系的发生跳变,最终导致接收机伪距的跳变。如图3所示,当外部1PPS相位与高速率采样时钟(fs)时钟的上升沿基本对齐时,利用上升沿采样后,FPGA内部可能产生2种相位关系的1PPS信号,分别如图3中的“内部检测到的秒脉冲信号一”和“内部检测到的秒脉冲信号二”,因此由1PPS信号生成的本地时间也有两种。
因此如何解决时间基准(1PPS)在高速率采样时钟发生相位跳变的问题是本领域亟需解决的技术问题。
发明内容
针对现有技术存在的技术问题,本发明提出一种采样时钟高精度相位校准与时间基准确定方法。该方法可以在保证时频系统正常工作且时频信号连线不发生改变的情况下,通过采样时钟高精度相位校准技术消除时间基准(1PPS)与高速率采样时钟的相位之间的模糊度,稳定的控制时间基准输出。
为实现上述技术目的,本发明采用的具体技术方案如下:
一种采样时钟高精度相位校准与时间基准确定方法,对外部输入1PPS信号进行不同延时值的延时控制,使用高速率采样时钟对不同延时值的1PPS延时信号进行采样,直到找到发生相位跳变的1PPS延时信号,该发生相位跳变的1PPS延时信号其对应的延时值为最坏时延值,根据最坏时延值计算最优时延值,根据最优时延值生成相位校准之后的延时控制1PPS信号输出,被高速率采样时钟采样。
作为本发明优选方案,本发明中对外部输入1PPS信号进行(0.6+0.078*delay_value)ns的延时控制,其中delay_value是延时计数器值。进一步地,0≤delay_value≤31,那么可以达到的最小延时为0.6ns,最大延时为3.018ns。
作为本发明优选方案,本发明中高速率采样时钟频率为fs,周期为2.67ns,半周期为1.33ns。
作为本发明的优选方案,本发明中,根据最坏时延值worst_delay计算最优时延值best_delay的方法为:当16≤worst_delay≤31时,best_delay=worst_delay-16;当0≤worst_delay<16时,best_delay=worst_delay+16
本发明中,最优时延值best_delay对应1PPS延时信号在两个高速率采样时钟fs上升沿中间位置,那最优时延值best_delay对应1PPS延时信号的必定能够被高速率采样时钟fs上升沿稳定采样,且不会出现采样相位跳变情况,所以将最优时延值best_delay对应1PPS延时信号作为最终的相位校准之后的延时控制1PPS信号输出,被高速率采样时钟fs采样。其中延时控制1PPS信号=外部输入1PPS信号+(0.6+0.078*best_delay)ns。
与现有方法相比,本发明具有的优点和有益效果包括:
本发明实现采样时钟高精度的实时相位校准与时间基准(1PPS)的确定。该方法只要保证测量设备与时频系统连线不改变,最优延时寄存器的最优时延值就不会发生改变。该方法只要保证最优时延值best_delay对应1PPS延时信号的上升沿在高速率采样时钟的下降沿附近,就完成了采样时钟高精度相位校准的功能。
本发明消除每次开机的相位随机变化,解决时间基准(1PPS)在高速率采样时钟发生相位跳变的问题,最终保证确定的时间基准(1PPS)与高速率采样时钟相位关系,并最终保证接收机输出伪距值不因此发生跳变。
附图说明
图1建立时间容限示意图;
图2保持时间容限示意图;
图3 1PPS信号采样示意图;
图4 1PPS延时信号采样相位跳变示意图;
图5本发明中采样时钟高精度相位校准与时间基准确定方法的流程框图;
图6 1PPS延时信号采样相位跳变的延时计数器求解流程框图;
图7最坏延时寄存器更新流程图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
实施例1:
本实施例的应用对象是卫星导航地面站测量通信系统。卫星导航地面站测量通信系统中的接收终端通过使用内置的频率为fosc的延时控制模块,可以实现对外部输入的1PPS信号进行(0.6+0.078*delay_value)ns的延时控制,其中delay_value是延时计数器值且0≤delay_value≤31,那么可以达到的最小延时为0.6ns,最大延时为3.018ns。同时,高速率采样时钟频率为fs,周期为2.67ns,半周期为1.33ns。
延时控制模块对外部输入的1PPS信号进行上述延时控制,得到1PPS延时信号。使用高速率采样时钟对不同延时值的1PPS延时信号进行采样。当检测到1PPS延时信号在被高速率采样时钟(fs)采样时发生相位发生跳变,获取当前1PPS延时信号所对应的延时计数器值delay_value作为最坏时延值worst_delay,存入最坏延时寄存器。
如果16≤worst_delay≤31时,对1PPS延时信号提前0.078*16=1.248ns,即最优时延值best_delay=worst_delay-16;如果0≤worst_delay<16,则再对1PPS延时信号延时0.078*16=1.248ns,即最优时延值best_delay=worst_delay+16。最优时延值best_delay对应1PPS延时信号在两个高速率采样时钟(fs)上升沿中间位置,那最优时延值best_delay对应1PPS延时信号的必定能够被高速率采样时钟(fs)上升沿稳定采样,且不会出现采样相位跳变情况,将最优时延值best_delay对应1PPS延时信号作为最终的相位校准之后的延时控制1PPS信号,被高速率采样时钟(fs)采样。
图4所示的是1PPS延时信号采样相位跳变示意图。更为具体的,将输入1PPS信号延时(0.6+0.078*delay_value)ns得到1PPS延时信号。FPGA利用高速率采样时钟(fs)对1PPS延时信号进行采样,可以检测出1PPS延时信号的上升沿的相位是否发生跳变,如果发生跳变,将该延时计数器值delay_value作为最坏时延值worst_delay,存储到最坏延时寄存器中。同时根据最坏时延值计算最优时延值best_delay,存储到最优延时寄存器中。将最优延时寄存器的最优时延值best_delay输出给数字信号处理器。数字信号处理器读取最优延时寄存器的最优时延值best_delay,并存储在FLASH(Flash Memory,闪存)中。
实施例2:
参照图5至7,采样时钟高精度相位校准与时间基准确定方法,包括以下步骤:
(1)首先读取数字信号处理器传输的数据,写入相对应的寄存器。
(2)如果控制相位校准的寄存器开启,执行步骤三,反之,直接执行步骤五。
(3)获取1PPS延时信号采样发生相位跳变的值,更新最坏延时寄存器。其具体步骤如图6所示:
(3.1)延时计数器、时钟计数器、时钟计数器锁存全部清0;
(3.2)根据延时公式(0.6+0.078*delay_value)生成1PPS延时信号;
(3.3)使用高速率采样时钟检测步骤(3.2)生成的1PPS延时信号的上升沿;
(3.4)获取步骤(3.3)检测到1PPS延时信号上升沿时对应的时钟计数器值;
(3.5)更新最坏延时寄存器的值,具体步骤如下所示:
a)首先读取延时计数器、时钟计数器、时钟计数器锁存值;
b)如果步骤a)中读取的延时计数器值为0,则最坏延时寄存器的值worst_delay置为0;
c)在步骤a)中读取的延时计数器值不为0的条件下:如果时钟计数器与时钟计数器锁存值相同,最坏延时寄存器的值worst_delay为当先延时计数器值;反之,最坏延时寄存器的值worst_delay不变;
(3.6)延时计数器值增加1,时钟计数器值存入时钟计数锁存器;
(3.7)如果延时计数器小于32,重复步骤(3.2)~(3.6);
(4)根据步骤(3)得到的最坏延时寄存器值worst_delay计算最优延时寄存器值best_delay,其计算方法为:如果16≤worst_delay≤31时,best_delay=worst_delay-16;如果0≤worst_delay<16,best_delay=worst_delay+16。同时将计算得出的最优延时寄存器值best_delay输出给数字信号处理器,存入FLASH中。
(5)读取最优延时寄存器值best_delay。
(6)生成延时控制的1PPS信号,其计算公式为:延时控制的1PPS信号=外部输入1PPS信号+(0.6+0.078*best_delay)ns。
(7)根据延时控制1PPS信号,生成并输出与高速率采样时钟同步的延时控制1PPS信号。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域普通技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰,因此本发明的保护范围当视权利要求书界定的范围为准。