一种基于高精度时间基准触发的同步测量装置及方法
技术领域
本发明涉及同步测量技术领域,尤其涉及一种基于高精度时间基准触发的同步测量装置及方法。
背景技术
同步测量有利于提高测量准确性、实现瞬变信号的多方位测量,在瞬变信号监测、发射源定位等测试方面有着重要应用。目前,常用的多台仪器同步测量的主要方法三种。
方法一:基于命令消息的方式,由主控制器向各测量仪器发送命令开始测量,内部计时实现等间隔同步测量。这种方法实现同步测量操作简单,容易实现,缺点是同步精度低。主控制器与各测量仪器之间连线距离不同、传输介质差异,造成传输延时不同;不同设备对命令的响应时间不同,决定了多台设备不能实现准确的同时开始测量。
方法二:基于仪器相对时间基准的方式,由网络时间协议(NTP)或精确时间协议(PTP)实现多台仪器时钟同步,设定统一时间基准和测量时间间隔完成同步测量。这种方法缺点是硬件结构复杂,软件工作量大;需要网络连接,距离过长时网络延时导致误差增大。
方法三:基于仪器绝对时间基准的方式,利用GPS实现精确计时,然后设定统一时间基准同步触发测量。利用GPS实现精确计时的方法比较多,一般的模拟器件很难实现秒脉冲低频信号的鉴频鉴相,常见的利用数字锁相环实现时钟同步于GPS,硬件设计复杂,不容易实现。
发明内容
本发明的目的是提供一种易于实现的基于高精度时间基准触发的同步测量装置及方法,该装置及方法利用GPS和可编程逻辑器件FPGA实现仪器的精确授时,并将仪器的整个信号采集通路同步于GPS,实现了多台仪器的高精度同步测量。
为实现上述目的,本发明采用下述技术方案:
一种基于高精度时间基准触发的同步测量装置,包括:CPU模块、GPS模块、FPGA、采集模块、DAC、压控振荡器、本振模块和下变频装置;
所述FPGA与CPU、GPS模块、采集模块、DAC分别连接;下变频装置、采集模块、FPGA、CPU依次串联连接;DAC、压控振荡器、本振模块依次串联连接;压控振荡器与采样时钟、本振分别连接;本振模块与下变频装置连接;GPS模块与CPU连接;
GPS模块锁定后输出串口时间信息到CPU模块,输出秒脉冲到CPU模块和FPGA;CPU根据解析出的时间信息设置FPGA时间累加器初值,FPGA开始计时并对秒脉冲计数,根据计数值调整DAC输出,使得压控振荡器时钟频率同步于GPS;压控振荡器为采集模块和本振提供频率参考;被测信号经下变频装置、采集模块进入FPGA处理,每个进入FPGA的信号都对应准确的GPS时间;完成时钟同步后由CPU模块根据测试需求设定各个仪器的统一触发时间和测量间隔,实现同步测量。
所述本振模块由频率合成单元组成,用于合成输入信号下变频所需频率信号,频率合成时钟参考由同步于GPS的压控振荡器提供。
所述下变频装置用于对被测信号的下变频处理,输出中频信号到采集模块;所述采集模块包含ADC和采样时钟两个部分,ADC对接收到的中频信号进行模数转换,采样时钟由锁相环组成,其频率参考由同步于GPS的压控振荡器提供。
所述FPGA根据CPU的时间信息设置计时累加器初值,接收秒脉冲进行秒计时,接收压控振荡器时钟进行纳秒计时;转换成UTC时间等待触发;每隔一段时间产生中断与CPU模块校时;对秒脉冲计数,根据计数值计算控制量调整DAC输出,调整压控振荡器同步于GPS;接收采集模块的数字信号记录时间信息,运算处理后传到CPU模块。
多个基于高精度时间基准触发的同步测量装置分别通过无线网络与中心计算机通信,实现远程控制,同时可以将测量结果传输到中心计算机,实现多台仪器的同步测量、运算处理。
一种基于高精度时间基准触发的同步测量方法,包括:
A1)GPS模块输出秒脉冲和串口时间信息,CPU利用秒脉冲和时间信息设置FPGA时间初值,FPGA设置累加器开始计时;
A2)FPGA对相邻秒脉冲间隔进行计数,根据计数值计算控制量调整DAC输出,调整压控振荡器频率同步于GPS;
A3)利用同步于GPS的时钟作为本振和采集模块采样时钟的频率参考,实现采集过程与FPGA硬件时间基准的同步;
A4)由CPU设定各个仪器的统一触发时间和测量间隔,实现同步测量。
所述步骤A1)的具体方法为:
A101)GPS模块锁定后产生秒脉冲和时间信息,CPU接收到秒脉冲后读取串口信息,解析出当前时间,随后把时间信息传到FPGA设置计时累加器初值;
A102)FPGA的秒累加器、纳秒累加器接收初值后开始计时,秒累加器的计数时钟为秒脉冲,纳秒累加器的计数时钟为同步于GPS的压控振荡器时钟;
A103)每隔设定时间FPGA发出校时中断信号给CPU,同时上传FPGA时间信息;CPU接收到中断后立即读取串口得到GPS时间,将GPS时间与FPGA上传的时间相比较,若存在偏差,调整FPGA秒累加器值,通过反馈校时保证了FPGA计时的秒级时间的绝对准确性。
所述步骤A2)的具体方法为:
A201)FPGA检测GPS秒脉冲的上升沿,计数器开始计数,下一个秒脉冲到来时保存计数值,计数器清零重新开始计数,保存的第k次计数值记为X(k),k=1,2,3...;
A202)利用前N个计数值X(k)(k=1,2...,N),采用滑动平均滤波的方法计算第k个相邻秒脉冲时间间隔的计数值X*(k);
A203)假设压控振荡器的理论频率为f,实际测得频率为f(k)*=X*(k),计算频率误差Δf(k),并根据频率误差计算控制量u(k);
A204)利用低通滤波器对控制量进行滤波处理,按照数据手册中给出的压控振荡器电压-频率对应关系及DAC输入数字量-输出电压转换关系,计算出输出到DAC的数字量;
A205)控制DAC输出电压,调整压控振荡器频率,使得压控振荡器频率同步于GPS秒脉冲。
所述步骤A3)的具体方法为:
A301)FPGA控制的压控振荡器与GPS同步完成后,本振的频率参考由内部时基参考切换到压控振荡器时钟;
A302)ADC采样时钟通过锁相环方式产生,频率参考为压控振荡器时钟,通过鉴频鉴相方式使得输出采样时钟与参考时钟保持固定相位关系;
所述步骤A4)的具体方法为:
A401)根据测量需求,由CPU设定触发时间和测量间隔,各个测量仪器在同一时刻实现同步测量;CPU设定的触发时间是FPGA硬件时间,同步于GPS模块的纳秒级时间;
A402)触发开始后,FPGA锁存采集的数字信号完成数据处理,记录测量结果和对应的时间信息,通过网络将带时间信息的测量结果发送到中心计算机,完成后续处理。
本发明的有益效果是:
本发明技术方案的优点在于基于GPS利用可编程逻辑器件实现精确计时,不增加电路复杂性,易于实现,同步测量精度高,各同步仪器间不受距离的限制。本发明方案利用FPGA和GPS确定了高精度的测量时间基准和时钟频率参考,并将整个采集、处理通路同步于GPS,消除了内部不同步造成的时间误差,实现了高精度同步测量、记录。本发明方案的实现仅仅需要测量仪器加GPS天线即可实现同步测量,实施简单,多台仪器之间没有连线,不受距离的限制;操作方便,只需要简单的设定统一触发时间和间隔便可完成同步测量、记录。
附图说明
图1本发明基于高精度时间基准触发的同步测量装置结构示意图;
图2为本发明FPGA内部处理过程结构示意图
图3为本发明同步测量的结构示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
首先对本申请中的下列技术术语进行解释说明:
FPGA:(Field-Programmable Gate Array),现场可编程门阵列;
DAC:(Digital to analog converter),数字模拟转换器;
UTC:(Coordinated Universal Time),世界标准时间;
ADC:(Analog-to-Digital Converter),模/数转换器
本发明公开了一种基于高精度时间基准触发的同步测量装置,该装置的基本原理是:测量仪器根据GPS时间信息和秒脉冲确定时间基准,同时将仪器内部的采集通路时钟同步于GPS;各仪器同步完成后由CPU设定统一触发时间和测量间隔,开始测量并记录准确时间信息和测量结果。
如图1所示,本发明装置的基本结构包括:CPU模块、GPS模块、FPGA、采集模块、DAC、压控振荡器、本振模块、下变频装置。
FPGA与CPU、GPS模块、采集模块、DAC分别连接;下变频装置、采集模块、FPGA、CPU依次串联连接;DAC、压控振荡器、本振模块依次串联连接;压控振荡器与采样时钟、本振分别连接;本振模块与下变频装置连接;GPS模块与CPU连接。
GPS模块锁定后输出串口时间信息到CPU模块,输出秒脉冲到CPU模块和FPGA;CPU根据解析出的时间信息设置FPGA时间累加器初值,FPGA开始计时并对秒脉冲计数,根据计数值调整DAC输出,使得压控振荡器时钟频率同步于GPS;压控振荡器为采集模块和本振提供频率参考;被测信号经下变频装置、采集模块进入FPGA处理,每个进入FPGA的信号都对应准确的GPS时间;完成时钟同步后由CPU模块根据测试需求设定各个仪器的统一触发时间和测量间隔,实现同步测量。
CPU模块是中心控制器,完成任务调度,协调、控制各硬件工作;主要完成采集通路、FPGA的控制,串口信息解析,数据运算处理等功能。
GPS模块负责接收GPS信号,输出秒脉冲和当前时间信息。
如图2所示,FPGA内部处理过程主要包括时钟同步过程、计时过程、数据处理过程三个部分。
时钟同步过程包括:计数器、寄存器、滑动平均处理、计算控制量、低通滤波等部分,根据秒脉冲间隔计数值计算控制量调整DAC输出,使得压控振荡器同步于GPS;计时过程包括:秒累加器、纳秒累加器、时间信息寄存器,秒累加器的计时时钟为秒脉冲,纳秒累加器的计时时钟为压控振荡器时钟,时间信息寄存器存储转换后的UTC时间,与CPU设置时间相比较,达到触发时间后启动数据处理过程;数据处理过程包括:数据锁存、数据处理、测量结果生成等部分,触发开始后完成采集数据处理,生成带准确时间信息的测量结果。
本振模块由频率合成单元组成,用于合成输入信号下变频所需频率信号,频率合成时钟参考由同步于GPS的压控振荡器提供。
下变频装置完成对输入信号的下变频处理,输出中频信号到采集模块。
采集模块包含ADC和采样时钟两个部分,ADC对接收到的中频信号进行模数转换,采样时钟由锁相环组成,其频率参考由同步于GPS的压控振荡器提供。
FPGA根据CPU的时间信息设置计时累加器初值,接收秒脉冲进行秒计时,接收压控振荡器时钟进行纳秒计时;转换成UTC时间等待触发;每隔一段时间产生中断与CPU模块校时;对秒脉冲计数,根据计数值计算控制量调整DAC输出,调整压控振荡器同步于GPS;接收采集模块的数字信号记录时间信息,运算处理后传到CPU模块。
如图3所示,多个基于高精度时间基准触发的同步测量装置设定统一触发时间和测量间隔后开始同步测量,分别通过无线网络与中心计算机通信,实现了多台仪器的同步测量、记录。
本发明的技术方案通过以下几个步骤实现基于高精度时间基准触发的同步测量。
主要的实施步骤如下:
A1)GPS模块输出秒脉冲和串口时间信息,CPU利用秒脉冲和时间信息设置FPGA时间初值,FPGA设置累加器开始计时;
A2)FPGA对相邻秒脉冲间隔进行计数,根据计数值计算控制量调整DAC输出,调整压控振荡器频率同步于GPS;
A3)利用同步于GPS的时钟作为本振和采集模块采样时钟的频率参考,实现采集过程与FPGA硬件时间基准同步;
A4)由CPU设定各个仪器的统一触发时间和测量间隔,实现同步测量。
所述步骤A1)的具体方法为:
A101)GPS模块锁定后产生秒脉冲和时间信息,CPU接收到秒脉冲后读取串口信息,解析出当前时间,随后把时间信息传到FPGA设置计时累加器初值;
A102)FPGA的秒累加器、纳秒累加器接收初值后开始计时,秒累加器的计数时钟为秒脉冲,纳秒累加器的计数时钟为同步于GPS的压控振荡器时钟;
A103)每隔设定时间FPGA发出校时中断信号给CPU,同时上传FPGA时间信息;CPU接收到中断后立即读取串口得到GPS时间,将GPS时间与FPGA上传的时间相比较,若存在偏差,调整FPGA秒累加器值,通过反馈校时保证了FPGA计时的秒级时间的绝对准确性。
所述步骤A2)的具体方法为:
A201)FPGA检测GPS秒脉冲的上升沿,计数器开始计数,下一个秒脉冲到来时保存计数值,计数器清零重新开始计数,保存的第k次计数值记为X(k),k=1,2,3...;
A202)利用前N个计数值X(k)(k=1,2...,N),采用滑动平均滤波的方法计算第k个相邻秒脉冲时间间隔的计数值X*(k);
计算公式为:
A203)假设压控振荡器的理论频率为f,实际测得频率为f(k)*=X*(k),计算频率误差Δf(k),Δf(k)=X*(k)-f,根据计算得到的频率误差,设计比例积分控制器计算控制量u(k);
计算公式为:
其中,Kp为比例控制系数,Ki为积分控制系数。
A204)利用低通滤波器对控制量进行滤波处理,按照压控振荡器数据手册中给出的电压-频率对应关系及DAC输入数字量-输出电压转换关系,计算出输出到DAC的数字量;
A205)控制DAC输出电压,调整压控振荡器频率,使得压控振荡器频率同步于GPS秒脉冲。
所述步骤A3)的具体方法为:
A301)FPGA控制的压控振荡器与GPS同步完成后,本振的频率参考由内部时基参考切换到压控振荡器时钟;
A302)ADC采样时钟通过锁相环方式产生,频率参考为压控振荡器时钟,通过鉴频鉴相方式使得输出采样时钟与参考时钟保持固定相位关系。
所述步骤A4)的具体方法为:
A401)根据测量需求,由CPU设定触发时间和测量间隔,各个测量仪器在同一时刻实现同步测量;CPU设定的触发时间是FPGA硬件时间,同步于GPS模块的纳秒级时间;
A402)触发开始后,FPGA锁存采集的数字信号完成数据处理,记录测量结果和对应的时间信息,通过网络将带时间信息的测量结果发送到中心计算机,完成后续处理。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。