郭宇,陈雷,李井源,黄仰博,欧钢
(国防科技大学 电子科学学院 导航与时空技术工程研究中心,湖南 长沙 410073)
高精度测量系统同时用到了时间基准(秒脉冲信号)和高速率采样时钟(fs)信号,在时频信号数字处理部分,是通过输入高速率采样时钟(fs)对输入秒脉冲信号进行采样来实现接收终端的本地时间与时频系统的时间同步[1].随着卫星导航系统的发展,卫星导航系统对于同步精度的要求达到了亚纳秒级[2]. 时钟是整个电路最重要、最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行. 这就要求时钟信号延时差要非常小,否则就可能造成时序逻辑状态出错;因而明确现场可编程门阵列(FPGA)中决定系统时钟的因素,尽量保持较小时钟的延时对保证设计的稳定性有非常重要的意义.
数据稳定传输必须满足建立和保持时间的要求[3]. 由于在接收终端的输入端,没有对高速率采样时钟(fs)和秒脉冲信号之间的相位关系进行约束,因此会存在高速率采样时钟(fs)对秒脉冲信号的采样,不满足建立时间和保持时间的要求,从而引起本地时间与时频系统的时间关系发生跳变,最终导致接收机伪距的跳变.
陈雷等[4]提出的基于四分之一系统时钟的系统时钟与时间参考相位模糊度解方法将输入采样时钟进行4分频,将采样时钟分成四个区间;然后再对输入采样时钟进行2倍频模拟输入采样时钟上升沿采样,同时将2倍频采样信号反相处理得到2倍频反相信号模拟采样时钟下降沿采样,在将输入秒脉冲信号在该2倍频采样信号下进行相位跳变检测,从而检测到输入秒脉冲信号在四分频的相位区间,从而实现相位校准. 但是该方法存在设计复杂,输入采样时钟频率低,校准精度低的问题,无法满足高精度测量系统的时间基准确定和相位校准需求.
采样时钟与时间基准之间的相位差值可以转换为采样时钟上升沿与时间基准上升沿之间的时间间隔,其高精度相位校准方法就是高分辨率时间间隔测量方法,主要有直接计数法[5]、模拟内插法、游标法[6]和延迟线法[7]. 同时用FPGA实现的高精度时间间隔测量方法具有全数字化测量、高集成度、易于升级更新、可扩展性、空前的灵活性的优势[8].
在各种电子仪器和通信系统设计中,为配合某种功能需要,常需要使用延迟元件,使信号通过延迟网络之后,能达到把信号延迟一段特定时间的目的,该类元件称为延迟线;输入信号经过一段时间后才出现在输出端,这段时间称为延迟时间[9].
目前,锁相环(PLL)技术在众多领域得到了广泛的应用:如信号处理、调制解调、时钟同步、倍频、频率综合等都应用到了锁相环技术.延迟锁定环(DLL)技术是在锁相环技术上改进得到的.它继承了PLL电路的锁相技术,但去掉了PLL电路内的振荡器部分,取而代之的是延迟可控的延迟线[10].全数字PLL电路[11]和全数字DLL电路[12]也是在进一步对PLL电路和DLL电路改进的基础上,使用数字单元代替其中的模拟器件而得到的.随着FPGA集成度的不断增大,FPGA芯片中集成了片内DLL[13-14]和片内PLL[15-16].
针对上述问题,本文提出了一种利用FPGA延迟线的采样时钟与时间基准高精度相位校准方法. 所提方法具有校准精度高、计算量小、成本低的特点. 搭建了一套仿真验证平台并结合计算机对所提方法进行了功能性验证;同时所提方法也应用在了卫星导航地面站测量通信系统中,验证了工程应用的可行性.
采样时钟与外部输入的时间基准之间的相位关系如图1所示.
图1 采样时钟与输入、延时的秒脉冲信号相位关系图
图中采样时钟频率为fs,PPSinpad是外部输入的时间基准(秒脉冲信号),PPSdelay是延时控制的时间基准(秒脉冲信号),τbias是采样时钟与外部输入的时间基准(秒脉冲信号)之间的相位差,τbias是未知的.我们可以利用数字延迟线对外部输入的秒脉冲信号进行延时控制,计算出其与采样时钟发生相位跳变时的延时值τdelay.τbias、τdelay与采样时钟频率的关系为
(1)
式中,采样频率fs已知. 通过阅读数据手册,利用数字延迟线,使用工作时钟频率为fosc的延时控制模块,实现对外部输入的时间基准(秒脉冲信号)进行如公式(2)表述的延时控制.
(2)
联立公式(1)和公式(2)可以求出采样时钟上升沿与外部输入的秒脉冲信号上升沿之间的相位差τbias. 再对外部输入的时间基准(秒脉冲信号)进行延时修正,将其上升沿与采样时钟下降沿对齐,保证在采样时钟稳定的情况下,在外部输入的时间基准(秒脉冲信号)抖动不超过一个采样时钟周期的条件下严格与采样时钟同步. 其原理图如图2所示.
图2 采样时钟对时间基准高精度相位校准方法原理图
利用工作时钟频率为fosc的延时控制模块,对PPSinpad进行延时控制,得到PPSdelay,当检测到PPSdelay在被高速率采样时钟(fs)采样时发生相位跳变,获取当前数字延迟线数量delay-value,并通过公式(2)计算得出延时值τdelay. 通过公式(3)取计算采样时钟半周期与数字延迟线测量精度比值的整数部分n.
(3)
得到在数字延迟线数量允许范围内的时间基准延时(单位:ns)修正公式如下:
τfixed=
(4)
延时修正器通过公式(4)得到修正的延时值τfixed和延时修正的时间基准(秒脉冲信号)PPSfixed.PPSfixed的上升沿在两个高速率采样时钟(fs)上升沿中间位置,PPSfixed必定能够被高速率采样时钟(fs)上升沿稳定采样,产生与高速率采样时钟(fs)严格同步的时间基准.
本文提出的方法主要应用于高速率时钟与硬件交互场景,将数字信号处理器(DSP),FPGA和闪存(FLASH)结合可实现本文提出的方法.
由于数字延迟线线性稳定的特性,将延时值τdelay对应的延时控制值标记为worst-delay,将修正延时值τfixed对应的延时控制值标记为best-delay. 所以获取延时值τdelay就转换成获取worst-delay,计算修正延时值τfixed就转换成计算best-delay. 获取worst-delay将在2.2节相位跳变检测实现步骤展开描述,计算best-delay在2.3节延时修正实现步骤展开描述.
本文提出的方法具体的整体实现步骤如图3所示.
图3 采样时钟高精度相位校准与时间基准确定方法实现流程框图
1) 首先读取DSP传输的数据,写入相对应的寄存器;
2) 如果控制相位校准的寄存器开启,执行步骤3),反之,直接执行步骤5);
3) 获取延时脉冲信号PPSdelay采样发生相位跳变的值worst-delay;
4) 计算best-delay,输出给DSP,写入FLASH;
5) 读取延时控制寄存器的值delay-value;
6) 根据公式(4)生成相位校准后的秒脉冲信号PPSfixed;
7) 将相位校准后的秒脉冲信号与采样时钟同步,生成时间基准PPScalibration.
相位跳变检测对应于整体实现步骤3),在具体实现过程中,将求解延时值τdelay转换成求解其对应的delay-value并标记为worst-delay,其具体实现步骤如图4所示.
图4 相位跳变检测实现流程框图
1) 延时计数器、时钟计数器、时钟计数器锁存全部清0;
2) 根据公式(2)生成延时秒脉冲信号PPSdelay;
3) 使用高速率采样时钟检测步骤2)生成的延时秒脉冲信号PPSdelay的上升沿;
4) 记录步骤3)检测到延时秒脉冲信号PPSdelay上升沿时对应的时钟计数器值;
5) 更新worst-delay的值;
6) 延时计数器值增加1,时钟计数器值存入时钟计数锁存;
7) 如果延时计数器小于32,重复步骤2)~6).
步骤5)中worst-delay值的更新需要判断相位是否发生跳变,其具体实现步骤如图5所示.
a) 首先读取延时计数器、时钟计数器、时钟计数器锁存值;
b) 如果步骤a)中读取的延时计数器值为0,则worst-delay置为0;
c) 在步骤a)中读取的延时计数器值不为0的条件下:如果时钟计数器与时钟计数器锁存值不同,则判定为相位发生跳变,worst-delay=当前延时计数器值;反之,则判定为相位未发生跳变,worst-delay不变.
图5 worst_delay更新流程框图及相位跳变判断条件
延时修正对应于整体实现步骤4),在具体实现过程中,由于采样时钟频率为375 MHz,延时控制模块工作时钟为200 MHz,代入公式(2)、(3)、(4)计算τfixed.
对于实际工程项目而言,根据公式(3)计算得出的n为17,与FPGA常用数字相差一个计数,其误差为0.078 ns,在可以接受的误差范围内,故将采样时钟半周期与测量精度比值设为工程上成本更低、更快速的16,代入公式(4),转换成worst-delay计算best-delay,其计算公式如下:
(5)
搭建仿真验证平台,其中采样时钟频率为400 MHz,延时模块运行时钟频率200 MHz,晶振频率为100 MHz.
采样时钟为1.25 ns翻转一次,则100 μs内翻转次数固定,且全周期2.5 ns,半周期1.25 ns,延时控制模块的1.848 ns也可以将延时脉冲信号控制在两个采样时钟上升沿之间,保证仿真结果的合理性.
3.2.1 仿真验证设置
采样时钟400 MHz,晶振时钟100 MHz,并等待时钟锁相环锁定成功. 锁定成功后,开启相位校准寄存器.
延时99 004 ns,pps-ipad=1,再延时1 000 ns,pps-ipad=0,生成脉冲信号;而后,每隔99 000 ns,pps-ipad=1,再延时1 000 ns,pps-ipad=0,生成100 μs的循环脉冲信号.
3.2.2 仿真验证结果
仿真运行4 ms. 如图6中所示,待时钟PLL锁定后,PPS信号开始产生. 第1个脉冲信号所在位置为105 541.5 ns;第2个P脉冲信号所在位置为205 541.5 ns;第3个脉冲信号所在位置为305 541.5 ns;第4个脉冲信号所在位置为405 541.5 ns;第5个脉冲信号所在位置为505 541.5 ns;每个脉冲信号间隔100 μs,符合要求.
图6 脉冲验证图
图7为仿真验证平台运行结果图,其中相位校准模块的cali-start信号启动,在对32个脉冲信号采样计算后,cali-start信号降为0,符合要求. 同时可以看到相位校准模块对32个脉冲信号采样计算,最后运行得到的结果是:worst-delay=6,best-delay=22.
图7 运行结果图
如图8所示,在第1个脉冲信号处展开观察,脉冲信号(pps-ipad)上升沿位置靠近采样时钟(sa-clk)的下降沿,其初始延时脉冲信号(pps-delayed)(延时0.6 ns)已经靠近采样时钟(sa-clk)的上升沿.
图8 第1个脉冲展开图
如图9所示,在第6个脉冲信号处展开观察,可以看到延时脉冲信号(pps-delayed)已经延时到与采样时钟(sa-clk)上升沿相近的位置,且在采样时钟(sa-clk)上升沿后,这个结果发生相位跳变,不稳定,故6是最坏延时值(worst-delay).
图9 最坏延时脉冲展开图
如图10所示,在第22个脉冲信号处展开观察,可以看到延时脉冲信号(pps-delayed)与采样时钟(sa-clk)上升沿相隔很远即采样时钟(sa-clk)下降沿附近,可以保证采样的稳定性,故22可以算做最佳延时值(best-delay).
图10 最优延时脉冲展开图
综上所述,仿真运行结果与理论分析吻合,验证了本文提出方法功能的有效性.
硬件设备连接如图11所示,本文所提方法集成在终端FPGA中;参考时钟提供秒脉冲信号与375 MHz采样时钟输入;同时利用示波器查看输入秒脉冲信号与相位校准后秒脉冲信号之间的延时.
图11 实际硬件测试平台连接示意图
由于不同终端设备与时钟频率源之间的线缆长度不一致,且硬件各个器件与模块之间工作时存在时延,输入到设备的秒脉冲信号很可能落在375 MHz时钟信号的采样边沿,产生相位模糊.
验证流程通过复现上述造成模糊的场景,并对不采用该方法和采用该方法的实测结果进行对比. 其验证主要流程如下:
1) 确认参考时钟运行状态稳定,连线正确,终端运行状态正常,示波器正常工作;
2) 不启用该相位校准功能,测试开关机复现相位跳变即时间基准跳变的场景;
3) 启用该相位校准功能,控制终端进行相位校准功能,找到最优延时值;
4) 将延时控制设为最优延时值,观察示波器显示波形,开启示波器测量功能,通过数字逻辑探针采集设备内部的最差时延值τworst-delay和最优时延值τbest-delay;
5) 将延时控制值设为最坏延时值,观察示波器显示波形,开启示波器测量功能,记录当前输入输出秒脉冲延时值.
当不采用本文所述的采样时钟高精度相位校准与时间基准确定方法时,由于存在相位跳变,设备在多次开关机重启时出现了相位跳变,造成了测量设备时间基准的跳变.如图12~13所示,示波器右侧Ch2通道为设备输出的时间基准,在两次开关机的过程中,时间基准相比左侧Ch1的输入秒脉冲信号,偏差了2.67 ns(即375 MHz的时钟周期).
图12 输出1 pps相位跳变情况A
图13 输出1 pps相位跳变情况B
当采用了本文所述的高精度相位确定和校准方法后.设备内部测量得到最坏延时值τworst-delay为31,根据式(5)计算得到τbest-delay为15. 将15写入FLASH,之后反复重启设备,采样延迟值都固定使用该值,确保了采样时钟与秒脉冲信号的相位关系保持稳定,设备的时间基准在开关机时不发生变化.
文献[4]中所述方法,需要使用图14所示数字正交变换模块对输入采样时钟相位4等分,其实现复杂度高,资源消耗较大;同时还需要消耗额外的时钟资源将输入采样时钟进行2倍频和反相得到同相与反相两个2倍频采样时钟;然后确定输入秒脉冲信号所在相位区间,决定使用对输入秒脉冲信号进行上升沿采样(反相2倍频采样时钟)或者下降沿采样(同相2倍频采样时钟).
图14 输入采样时钟相位4等分原理图
同时根据FPGA软件综合分析结果,该方法预估支持的最高频率为685 MHz,而对于现在400 MHz的高采样速率而言,2倍频后高达800 MHz,其数据稳定传输必须满足建立和保持时间的要求无法满足,从而无法满足当前高速率采样的相位校准需求.
本文所述方法无需上述相位4等分、2倍频和反相操作,仅仅需要使用FPGA集成的时延控制模块. 同时在根据不同的延迟线长度检测相位跳变来实现相位校准,并输出校准与采样时钟严格同步的秒脉冲信号.
本文所述方法,设计简洁,实现简单,同时满足当前系统对高速率采样时钟的需求.
文献[4]中所述方法校准精度为4/fs,其中fs为输入采样时钟频率. 若fs为400 MHz,其校准精度为10 ns,而本文所述方法校准精度为0.078 ns,其校准精度远远优于文献[4]中所述方法.
本文针对高精度测量系统时间基准确定和相位校准精度较低的问题,提出了一种高速率采样时钟对时间基准高精度相位校准方法. 该方法通过延时控制模块与秒脉冲相位跳变检测技术相结合,计算出时间基准与采样时钟之间的相位差,测量精度达到了0.078 ns. 根据延时控制模块的延时公式及其特性,将延时控制的秒脉冲信号控制在采样时钟两个上升沿之间,保证无相位跳变的稳定采样,从而实现对时间基准相位校准,与采样时钟严格同步.
本文搭建了一套仿真验证平台,对非特定场景进行了仿真验证,验证了本文提出方法的有效性. 同时本文方法已应用于某高精度测量系统中,验证了本文提出方法的工程应用的可行性.
本文提出的方法可用于需要高速率采样时钟对时间基准进行高精度相位校准的场景,如本地时间与时频系统同步这类高精度时间同步系统中.
致谢:感谢鲁祖坤博士以及龚德工程师对本文仿真测试工作的支撑.