CN109884877A - 一种高精度的gps同步授时系统及方法 - Google Patents
一种高精度的gps同步授时系统及方法 Download PDFInfo
- Publication number
- CN109884877A CN109884877A CN201910035794.8A CN201910035794A CN109884877A CN 109884877 A CN109884877 A CN 109884877A CN 201910035794 A CN201910035794 A CN 201910035794A CN 109884877 A CN109884877 A CN 109884877A
- Authority
- CN
- China
- Prior art keywords
- time
- frequency
- ppm
- crystal oscillator
- voltage controlled
- 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.)
- Granted
Links
Landscapes
- Electric Clocks (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本发明公开了一种高精度的GPS同步授时系统和方法,所述系统包括电路连接的GPS天线、精密授时模块、ARM处理器和外部有源的压控晶振器;所述的方法包括以下步骤:步骤1、初始化硬件设备;步骤2、配置精密授时模块;步骤3、本地时间同步授时;步骤4、计算本地时间;步骤5、系统主频的模拟校正;步骤6、系统主频的数字校正;步骤7、重复步骤4到步骤6,使得系统的频率达到目标频率,实现系统时间的精确同步,将本地时间同步到标准时间,时钟精度可以达到微秒级,时间误差稳定在1us以内。本发明具有低功耗、质量轻巧、研制周期短、环境适应性强等特点,适用于对多处设备间需要高精度同步控制的场合。
Description
技术领域
本发明涉及GPS授时系统技术领域,具体涉及一种基于GPS的高精度同步授时系统及方法,可用于多设备间的高精度同步控制,尤其是涉及检测系统中各单元装置高精度时间同步信息的精确实现,时钟精度可以达到微秒级。
背景技术
GPS授时系统是针对自动化系统中的计算机、控制装置等进行校时的高科技产品,授时系统从卫星上获取标准的三维位置,精确时间等导航信息,将这些信息通过各种接口传送给自动化系统中需要时间信息的计算机设备、保护装置、故障录波器、事件顺序记录装置、安全自动装置等,进而实现整个系统的时间同步。
随着计算机和网络通信技术的飞速发展,自动化系统数字化、网络化的时代已经到来。这一方面为各控制和信息系统之间的数据交换、分析和应用提供了更好的平台,另一方面对各种实时和历史数据时间标签的准确性也提出了更高的要求。
众所周知,计算机的时钟一般采用石英晶体振荡器。晶振体连续产生一定频率的时钟脉冲,计数器则对这些脉冲进行累计得到时间值。由于时钟振荡器的脉冲受环境温度、匀载电容、激励电平以及晶体老化等多种不稳定性因素的影响,时钟本身不可避免地存在误差。例如,某精度为±20ppm的时钟,其每小时的误差为:(1×60×60×1000ms)×(20/10.6)=72ms,一天的累计误差可达1.73s;若其工作的环境温度从额定25℃变为45℃,则还会增加±25ppm的额外误差。可见,分布式控制系统(Distributed Control System,DCS)中的时钟若不经定期同步校准,自由运行一段时间后的误差可达到系统应用所无法忍受的程度。
全球定位系统(Global Positioning System,GPS),作为一种具有全方位、全天候、全时段、高精度的卫星导航系统,搭载了高稳定高精准的原子钟,可以作为其他设备的时频标准。GPS能够为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息,实用性强。其中,GPS接收机能接收到可用于授时的准确至纳秒级的时间信息。GPS具有精准度高、性价比高、抗干扰能力强、使用方便等特点,是卫星通信技术在导航领域的应用典范,它极大地提高了地球社会的信息化水平,有力地推动了数字经济的发展。
随着晶振制造技术的发展,目前在要求高精度时钟的应用中,已有各种高稳定性晶振体可供选用,如TCXO(温度补偿晶振)、VCXO(压控晶振)、OCXO(恒温晶振)等。其中,压控晶体振荡器又叫做压控晶振(VCXO),主要由石英谐振器、变容二极管和振荡电路组成,其工作原理是通过控制电压来改变变容二极管的电容,从而“牵引”石英谐振器的频率,以达到频率调制的目的。压控晶振可用控制电压将频率进行小范围调整,控制电压范围一般为0V至2V或0V至3V。VCXO的调谐范围为±100PPM至±200PPM。此处,PPM的全称为Part PerMillion,意指百万分之一的频率跳动值。因VCXO具有传输性能好、抗干扰性强、节省功率等优点,大多用于锁相技术、频率负反馈系统及频率调制,已是通信机、移动电话、寻呼机、全球定位系统(GPS)等众多电子应用系统中必不可少的关键部件。
由于受到跟踪的卫星数目、卫星钟差、传导距离、电磁干扰和接收机性能等因素影响,GPS接收机输出的时间码存在一定的随机误差ε,ε服从正态分布ε~N(0,σ2),但是没有累积误差。而压控晶振时钟信号的随机误差较小,稳定性强,不过由于器件老化、短期扰动和外界环境等一些因素的影响,存在频率漂移现象,具有较大的累积误差。如果压控晶振长期不间断的运行,频率将无法满足工作所需的精度与稳定度,因此需要通过实时的自动调控压控端电压来进行频率校准。根据GPS时钟信号和压控晶振时钟信号精度互补这一特性,通过对系统频率的模拟校正以及数字校正,得到高稳频率信息,并将本地时间同步到标准时间,以维持短期和长期的时间精度和稳定性。
发明内容
本发明为了克服上述现有技术的不足,提出了一种高精度的GPS同步授时系统及方法。
本发明的技术方案为:
一种高精度的GPS同步授时系统,包括:
GPS天线,用于接收卫星所发射的电磁波信号并转变成电压或电流信号发送给精密授时模块处理;
精密授时模块,一方面用于接收GPS天线发送的电压或电流信号,再把原始观测数据传递给ARM处理器;另一方面通过UART异步通信接收ARM处理器发送的数据,并进行数据处理以及作出相应的信息反馈,同时根据自身的EXTINT0和EXTINT1引脚电平变化,向所述ARM处理器发送其引脚电平变化时的GPS时间码;
ARM处理器,通过控制精密授时模块的引脚电平、解析所述精密授时模块发送的GPS时间码与本地时间对时,以进行对系统主频的模拟校正以及数字校正,使得系统得到高稳频率信息,并将本地时钟同步到标准时间,以维持短期和长期的时间精度和稳定性;
外部有源的压控晶振器,用于提供系统的时钟源,并通过实时地调控其压控端的输入电压,使其输出频率随之改变,进行系统频率校准。
优选地,所述压控晶振器型号为TG5032CAN;所述精密授时模块型号为NEO-LEA-M8T。
优选地,所述ARM处理器型号为STM32L4+单片机。
上述方案对于系统的同步授时,ARM处理器通过控制NEO-LEA-M8T精密授时模块的引脚电平,解析NEO-LEA-M8T精密授时模块发来的GPS时间码,与本地有源的压控晶振器TG5032CAN分频的ARM处理器的定时器对时,根据对时误差调整压控晶振的输入电压,使其输出频率随之改变,对系统主频进行模拟校正;再者,系统根据对时误差调整定时器的分频因子,对系统主频进行数字校正。系统通过模拟校正以及数字校正,使得系统的频率达到目标频率,实现系统时间的精确同步,并将本地时间同步到标准时间,保证短期和长期的时间精度和稳定性,时间误差稳定在1us以内。
一种高精度的GPS同步授时方法,包括步骤:
步骤1、初始化硬件设备:对硬件平台上电,初始化串口和子系统硬件平台;
步骤2、配置NEO-LEA-M8T精密授时模块:ARM处理器通过UART异步通信向精密授时模块发送数据,设置精密授时模块的参数,使授时模块因EXTINT1引脚电平变化而发送对应的引脚电平变化时的GPS时间码,并保存配置;
步骤3、本地时间同步授时:ARM处理器通过控制精密授时模块的EXTINT1引脚电平,使得精密授时模块发送其引脚电平变化时的GPS时间码,对所述GPS时间码进行解析并与EXTINT1引脚电平变化时的本地时间对时,调整本地时间,使其同步到标准的GPS时间;
步骤4、计算本地时间:根据所述ARM处理器的定时器TIM2和LPTIM1各自计数值计算本地时间的微秒,其中,本地时间的秒由LPTIM1的1秒中断累加,小时、分钟根据累加的秒数计算,年、月、日从所述精密授时模块发送的GPS时间码解析获取;
步骤5、系统主频的模拟校正:所述ARM处理器通过控制精密授时模块的引脚电平,使精密授时模块发送其引脚电平变化时的GPS时间码,对所述GPS时间码进行解析并与EXTINT1引脚电平变化时的本地时间对时,根据对时误差调整外部有源的压控晶振器的输入电压,使其输出频率随之改变,对系统主频进行模拟校正;
步骤6、系统主频的数字校正:ARM处理器通过控制NEO-LEA-M8T精密授时模块的引脚电平,使得模块发送其引脚电平变化时的GPS时间码,对所述GPS时间码进行解析并与EXTINT1引脚电平变化时的本地时间对时,根据对时误差调整ARM处理器定时器的分频因子,对系统主频进行数字校正;
步骤7、重复步骤4到步骤6,使得系统的频率达到目标频率,实现系统时间的精确同步,将本地时间同步到标准时间。
优选地,所述的步骤3具体包括:
ARM处理器通过控制授时模块的EXTINT1引脚电平,检测精密授时模块发送的时间数据是否有效;待精密授时模块正常发送有效的时间数据后,在定时器LPITIM1发生1秒中断时,所述ARM处理器通过控制精密授时模块的EXTINT1引脚电平,使得精密授时模块发送其引脚电平变化时的GPS时间码,所述ARM处理器解析GPS时间码,并与精密授时模块引脚电平变化时的本地时间对时,根据时间误差调整本地时间,使其同步到标准的GPS时间。
优选地,步骤4中,计算本地时间的微秒的公式如下:
us=LPTIM1_SCALE*LPTIM1_CNT+TIM2_SCALE*TIM2_CNT
其中,变量LPTIM1_SCALE是LPTIM1的最小计时刻度,为LPTIM1实际时钟频率的倒数,比如在我们的系统中,LPTIM1的实际时钟由LSE旁路模式提供32KHz,则该变量的实际值为31.25us;LPTIM1_CNT为LPTIM1计数器的实际计数值,比如在我们的系统中,LPTIM1最终输出频率为1Hz,所以LPTIM1的最大计数值为32000,则该变量取值范围为0~(32000-1);变量TIM2_SCALE代表TIM2的最小计时刻度,为TIM2实际时钟频率的倒数,比如在我们的系统中,TIM2的实际时钟为32MHz,则该变量的实际值为0.03125us;TIM2_CNT为TIM2的实际计数值,比如,TIM2需要输出32KHz,其最大计数值为1000,所以实际计数值范围为0~(1000-1)。
优选地,所述步骤5具体包括:
所述ARM处理器通过控制精密授时模块的EXTINT1引脚电平,使得模块发送其引脚电平发生最新的上升沿以及最新的下降沿变化时的GPS时间码,对所述GPS时间码进行解析,并与该精密授时模块引脚电平发生最新的上升沿以及最新的下降沿变化时的本地时间对时,根据对时误差计算出压控晶振器此次时间段的PPM值与理论PPM值的差值ΔPPM,再根据差值ΔPPM调整压控晶振器的输入电压,使其输出频率随之改变,完成对系统主频的模拟校正,其中,所述PPM值由实际频率减去目标频率且将小数点往后移六位数得到,所述理论PPM值为0。
优选地,所述根据对时误差计算出外部有源的压控晶振器此次时间段的PPM值与理论PPM值的差值ΔPPM,再根据差值ΔPPM调整外部有源的压控晶振器的输入电压步骤中,本地时钟的对时误差包括频率误差以及时间累积误差,所述频率误差以及时间累积误差均可转换为压控晶振此次时间段的PPM值与理论PPM值的差ΔPPM:
所述频率误差转换为ΔPPM的公式如下:
上式合项计算得,
上式中,f0表示理论上压控晶振器的输出频率,即目标频率,Δf1表示压控晶振器的实际频率与目标频率之间的频率差,N1表示(k-1)时刻到k时刻的计数周期个数,TG(k)表示k时刻的GPS时间,TG(k-1)表示(k-1)时刻的GPS时间,TL(k)表示k时刻的本地时间,TL(k-1)表示(k-1)时刻的本地时间,ΔPPM1表示在频率误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差;
所述时间累积误差折算到频率误差,其转换为ΔPPM的公式如下:
则在k时刻之后通过N2个计数周期的计时来补偿时间累积误差;取N2=N1,表示用后续相同的时间把累积误差补偿完毕;
上式合项计算得,
上式中,f0表示理论上压控晶振器的输出频率,即目标频率,Δf2表示累计一段时间后压空晶振器的实际输出频率与目标频率之间的频率差,N2表示在k时刻之后补偿时间累积误差的计数周期个数,ΔPPM2表示在时间累积误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差;
其中,压控晶振器输入电压控制频率的公式如下:
VDAC(k)=VDAC(k-1)+ΔVDAC
上式中,ΔVDAC为此次压控晶振器输入电压的变化量,单位为mv,VDAC(k-1)为压控晶振器上一次的输入电压,单位为mv,VDAC(k)为压控晶振器此次的输入电压,单位为mv,ΔPPM表示压控晶振器此次时间段的PPM值与理论PPM值的差,S为压控晶振器的灵敏度系数;
综上所述,压控晶振器输入电压通过如下公式求得:
从而得到:
上式中,ΔVDAC为此次压控晶振器输入电压的变化量,VDAC(k-1)为压控晶振器上一次的输入电压,VDAC(k)为压控晶振器此次的输入电压,ΔPPM表示在对时误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差。
优选地,所述步骤6具体包括:
ARM处理器通过控制NEO-LEA-M8T精密授时模块的EXTINT1引脚电平,使得模块发送其引脚电平发生最近的上升沿以及最近的下降沿变化时的GPS时间码,对所述GPS时间码进行解析,并与该精密授时模块引脚电平发生最新的上升沿以及最新的下降沿变化时的本地时间对时,根据对时误差计算出压控晶振器此次时间段的PPM值与理论PPM值的差ΔPPM,再根据差值ΔPPM调整所述ARM处理器的定时器TIM2的分频因子,使TIM2的输出频率随之改变,完成对系统主频的数字校正,其中,所述PPM值由实际频率减去目标频率且将小数点往后移六位数得到,所述理论PPM值为0。
优选地,所述根据对时误差计算出压控晶振器此次时间段的PPM值与理论PPM值的差ΔPPM,再根据差值ΔPPM调整所述ARM处理器的定时器TIM2的分频因子的步骤中,所述定时器TIM2的分频因子通过如下公式求得:
ARR(k)=ARR(k-1)+ΔARR
上式中,ΔARR为此次定时器TIM2的分频因子的变化量,ARR(k-1)为上一次定时器TIM2调整的分频因子,ARR(k)为此次定时器TIM2调整的分频因子,ΔPPM为压控晶振器此次时间段的PPM值与理论PPM值的差,t为定时器TIM2的一个计数周期。
相比现有技术,本发明本发明提供的高精度的GPS同步授时系统及方法可用于多设备间高精度时间的同步控制,尤其是涉及检测系统中各单元装置高精度时间信息的精确实现,时钟精度可以达到微秒级,时间误差稳定在1us以内。本发明具有低功耗、质量轻巧、研制周期短、环境适应性强等特点。
附图说明
图1为高精度的GPS同步授时系统的结构框图。
图2为高精度的GPS同步授时系统的工作流程图。
图3为ARM处理器的定时器时钟配置图。
图4为本地时间同步授时的示意框图。
图5为NEO-LEA-M8T精密授时模块的GPS时间码解析流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的说明。
实施例
如图1所示,一种高精度的GPS同步授时系统,包括:
GPS天线,用于接收卫星所发射的电磁波信号并转变成电压或电流信号发送给精密授时模块处理;
精密授时模块,其型号为NEO-LEA-M8T,一方面用于接收GPS天线发送的电压或电流信号,再把原始观测数据传递给ARM处理器;另一方面通过UART异步通信接收ARM处理器发送的数据,并进行数据处理以及作出相应的信息反馈,同时根据自身的EXTINT0和EXTINT1引脚电平变化,向所述ARM处理器发送其引脚电平变化时的GPS时间码;
ARM处理器,采用STM32L4+单片机,通过控制精密授时模块的引脚电平、解析所述精密授时模块发送的GPS时间码与本地时间对时,以进行对系统主频的模拟校正以及数字校正,使得系统得到高稳频率信息,并将本地时钟同步到标准时间,以维持短期和长期的时间精度和稳定性;
外部有源的压控晶振器,型号为TG5032CAN,用于提供系统的时钟源,并通过实时地调控其压控端的输入电压,使其输出频率随之改变,进行系统频率校准。
如图2所示,一种高精度的GPS同步授时方法,包括步骤:
步骤1、初始化硬件设备:
对硬件平台上电,初始化串口和子系统硬件平台。硬件平台基于STM32L4+,首先配置系统时钟为96MHz,使用外部的压控晶振器TG5032CAN作为HSE的旁路模式输入。配置定时器2的输出频率为32KHz,并用定时器TIM2的通道1作为LSE的旁路模式输入。配置低功耗定时器1以LSE作为时钟源,输出频率为1Hz,并产生1秒中断。分别初始化串口1、2,串口1用来发送数据信息到NEO-LEA-M8T精密授时模块以及读取NEO-LEA-M8T精密授时模块的信息,串口2用来连接MAX232端口进行电脑调试或者读取数据。初始化DAC以控制压控晶振器的输入电压。最后控制NEO-LEA-M8T精密授时模块的EXTINT0引脚电平,开启NEO-LEA-M8T精密授时模块,如图3所示。
步骤2、配置NEO-LEA-M8T精密授时模块:
ARM处理器通过UART异步通信向NEO-LEA-M8T精密授时模块发送数据,设置授时模块的波特率等参数,使授时模块因EXTINT1引脚电平变化而发送对应的引脚电平变化时的GPS时间码,防止授时模块发送不必要的时间码数据,以防干扰到对有效的GPS时间码的解析,并保存配置的参数及工作模式。
步骤3、本地时间同步授时:
ARM处理器通过控制授时模块的EXTINT1引脚电平,检测NEO-LEA-M8T精密授时模块发送的时间数据是否有效;待授时模块正常发送有效的时间数据后,在定时器LPITIM1发生1秒中断时,ARM处理器通过控制授时模块的EXTINT1引脚电平,使得模块发送其引脚电平变化时的GPS时间码,ARM处理器解析GPS时间码,并与模块引脚电平变化时的本地时间对时,根据时间误差调整本地时间,使其同步到标准的GPS时间,如图5所示。
步骤4、计算本地时间:
根据ARM处理器的定时器TIM2和LPTIM1的各自计数值计算本地时间的微秒,秒由LPTIM1的1秒中断累加,每60秒对分钟数加一,每60分钟对小时数加一;年、月、日从NEO-LEA-M8T精密授时模块发送的GPS时间码解析而获取。
本地时间的微秒计算公式如下:
us=LPTIM1_SCALE*LPTIM1_CNT+TIM2_SCALE*TIM2_CNT
=31.25*LPTIM1_CNT+0.05*TIM2_CNT
其中,LPTIM1_CNT为LPTIM1计数器的实际计数值,比如,LPTIM1最终输出频率为1Hz,所以LPTIM1的最大计数值为32000,则该变量取值范围为0~(32000-1);TIM2_CNT为TIM2的实际计数值,比如,TIM2需要输出32KHz,其最大计数值为1000,所以实际计数值范围为0~(1000-1)。
步骤5、系统主频的模拟校正:
ARM处理器通过控制NEO-LEA-M8T精密授时模块的EXTINT1引脚电平,使得模块发送其引脚电平发生最新的上升沿以及最新的下降沿变化时的GPS时间码,如图4所示,对所述GPS时间码进行解析,并与该模块引脚电平发生最新的上升沿以及最新的下降沿变化时的本地时间对时,根据对时误差计算出压控晶振器此次时间段的PPM值与理论PPM值的差ΔPPM,再根据ΔPPM调整压控晶振器的输入电压,使其输出频率随之改变,完成对系统主频的模拟校正。
以实际频率减去目标频率且将小数点往后移六位数即是PPM值,压控晶振器的理论PPM值为0。
本地时钟的对时误差包括频率误差以及时间累积误差,但两者均可以转换为压控晶振器此次时间段的PPM值与理论PPM值的差ΔPPM。
频率误差转换为ΔPPM的公式如下:
上式合项计算得:
上面所述,f0表示理论上压控晶振器的输出频率,即目标频率,Δf1表示压控晶振器的实际频率与目标频率之间的频率差,N1表示(k-1)时刻到k时刻的计数周期个数,TG(k)表示k时刻的GPS时间,TG(k-1)表示(k-1)时刻的GPS时间,TL(k)表示k时刻的本地时间,TL(k-1)表示(k-1)时刻的本地时间,ΔPPM1表示在频率误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差。
时间累积误差可折算到频率误差,其转换为ΔPPM的公式如下:
则在k时刻之后通过N2个计数周期的计时来补偿时间累积误差。取N2=N1,表示用后续相同的时间把累积误差补偿完毕。
上式合项计算得:
上面所述,f0表示理论上压控晶振器的输出频率,即目标频率,Δf1表示压控晶振器的实际频率与目标频率之间的频率差,N1表示(k-1)时刻到k时刻的计数周期个数,N2表示在k时刻之后补偿时间累积误差的计数周期个数,TG(k)表示k时刻的GPS时间,TG(k-1)表示(k-1)时刻的GPS时间,TL(k)表示k时刻的本地时间,TL(k-1)表示(k-1)时刻的本地时间,ΔPPM2表示在时间累积误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差。
压控晶振器TG5032CAN的供电电压VCC为3.3V,其理论PPM值为0,理论输出频率为30.72MHz,其频率控制范围为±5*10-6~±10*10-6MHz,对应的输入电压范围为1.65V±1V,所以其电压控制频率的灵敏度为(±5PPM~±10PPM)/2V。
压控晶振器的灵敏度系数S为:
压控晶振器输入电压控制频率的公式如下:
VDAC(k)=VDAC(k-1)+ΔVDAC
上面所述,ΔVDAC为此次压控晶振器输入电压的变化量,单位为mv,VDAC(k-1)为压控晶振器上一次的输入电压,单位为mv,VDAC(k)为压控晶振器此次的输入电压,单位为mv,ΔPPM表示压控晶振器此次时间段的PPM值与理论PPM值的差。
综上所述,压控晶振器输入电压与对时误差的公式如下:
从而得到:
上面所述,ΔVDAC为此次压控晶振器输入电压的变化量,VDAC(k-1)为压控晶振器上一次的输入电压,VDAC(k)为压控晶振器此次的输入电压。ΔPPM表示在对时误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差。
步骤6、系统主频的数字校正:
ARM处理器通过控制NEO-LEA-M8T精密授时模块的EXTINT1引脚电平,使得模块发送其引脚电平发生最近的上升沿以及最近的下降沿变化时的GPS时间码,对此进行解析,并与该模块引脚电平发生最近的上升沿以及最近的下降沿变化时的本地时间对时,根据对时误差计算出压控晶振器此次时间段的PPM值与理论PPM值的差ΔPPM,再根据ΔPPM调整ARM处理器的定时器TIM2的分频因子,使TIM2的输出频率随之改变,完成对系统主频的数字校正。
假设一个压控晶振器输出aMHz,它的PPM值为bPPM,则压控晶振器1秒输出aM个脉冲。
若压控晶振器的1秒里的时间误差ΔT为:
由上述式子可知,1秒里有n个us时间差,PPM值即为nPPM。
所述定时器TIM2的频率为32MHz,分频因子即自动重装载值,其数值范围为(1000-1),定时器TIM2的一个计数周期t为:
定时器TIM2的分频因子与对时误差的公式如下:
ARR(k)=ARR(k-1)+ΔARR
上面所述,ΔARR为此次定时器TIM2的分频因子的变化量,ARR(k-1)为上一次定时器TIM2调整的分频因子,ARR(k)为此次定时器TIM2调整的分频因子,ΔPPM为外部压控晶振器此次时间段的PPM值与理论PPM值的差。
步骤7、最后重复步骤4到步骤6,使得系统的频率达到目标频率,实现系统时间的精确同步,将本地时间同步到标准时间。
以上所述,仅为本发明专利较佳的实施例子,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。
Claims (10)
1.一种高精度的GPS同步授时系统,其特征在于,包括:
GPS天线,用于接收卫星所发射的电磁波信号并转变成电压或电流信号发送给精密授时模块处理;
精密授时模块,一方面用于接收GPS天线发送的电压或电流信号,再把原始观测数据传递给ARM处理器;另一方面通过UART异步通信接收ARM处理器发送的数据,并进行数据处理以及作出相应的信息反馈,同时根据自身的EXTINT0和EXTINT1引脚电平变化,向所述ARM处理器发送其引脚电平变化时的GPS时间码;
ARM处理器,通过控制精密授时模块的引脚电平、解析所述精密授时模块发送的GPS时间码与本地时间对时,以进行对系统主频的模拟校正以及数字校正,使得系统得到高稳频率信息,并将本地时钟同步到标准时间,以维持短期和长期的时间精度和稳定性;
外部有源的压控晶振器,用于提供系统的时钟源,并通过实时地调控其压控端的输入电压,使其输出频率随之改变,进行系统频率校准。
2.根据权利要求1所述的高精度的GPS同步授时系统,其特征在于,所述压控晶振器型号为TG5032CAN;所述精密授时模块型号为NEO-LEA-M8T。
3.根据权利要求1所述的高精度的GPS同步授时系统,其特征在于,所述ARM处理器型号为STM32L4+单片机。
4.一种高精度的GPS同步授时方法,其特征在于,包括步骤:
步骤1、初始化硬件设备:对硬件平台上电,初始化串口和子系统硬件平台;
步骤2、配置NEO-LEA-M8T精密授时模块:ARM处理器通过UART异步通信向精密授时模块发送数据,设置精密授时模块的参数,使授时模块因EXTINT1引脚电平变化而发送对应的引脚电平变化时的GPS时间码,并保存配置;
步骤3、本地时间同步授时:ARM处理器通过控制精密授时模块的EXTINT1引脚电平,使得精密授时模块发送其引脚电平变化时的GPS时间码,对所述GPS时间码进行解析并与EXTINT1引脚电平变化时的本地时间对时,调整本地时间,使其同步到标准的GPS时间;
步骤4、计算本地时间:根据所述ARM处理器的定时器TIM2和LPTIM1各自计数值计算本地时间的微秒,其中,本地时间的秒由LPTIM1的1秒中断累加,小时、分钟根据累加的秒数计算,年、月、日从所述精密授时模块发送的GPS时间码解析获取;
步骤5、系统主频的模拟校正:所述ARM处理器通过控制精密授时模块的引脚电平,使精密授时模块发送其引脚电平变化时的GPS时间码,对所述GPS时间码进行解析并与EXTINT1引脚电平变化时的本地时间对时,根据对时误差调整外部有源的压控晶振器的输入电压,使其输出频率随之改变,对系统主频进行模拟校正;
步骤6、系统主频的数字校正:ARM处理器通过控制NEO-LEA-M8T精密授时模块的引脚电平,使得模块发送其引脚电平变化时的GPS时间码,对所述GPS时间码进行解析并与EXTINT1引脚电平变化时的本地时间对时,根据对时误差调整ARM处理器定时器的分频因子,对系统主频进行数字校正;
步骤7、重复步骤4到步骤6,使得系统的频率达到目标频率,实现系统时间的精确同步,将本地时间同步到标准时间。
5.根据权利要求4所述的高精度的GPS同步授时方法,其特征在于,所述的步骤3具体包括:
ARM处理器通过控制授时模块的EXTINT1引脚电平,检测精密授时模块发送的时间数据是否有效;待精密授时模块正常发送有效的时间数据后,在定时器LPITIM1发生1秒中断时,所述ARM处理器通过控制精密授时模块的EXTINT1引脚电平,使得精密授时模块发送其引脚电平变化时的GPS时间码,所述ARM处理器解析GPS时间码,并与精密授时模块引脚电平变化时的本地时间对时,根据时间误差调整本地时间,使其同步到标准的GPS时间。
6.根据权利要求4所述的高精度的GPS同步授时方法,其特征在于,步骤4中,计算本地时间的微秒的公式如下:
us=LPTIM1_SCALE*LPTIM1_CNT+TIM2_SCALE*TIM2_CNT
=31.25*LPTIM1_CNT+0.05*TIM2_CNT
其中,LPTIM1_CNT为LPTIM1的实际计数值,数值范围为0~(32000-1);TIM2_CNT为TIM2的实际计数值,数值范围0~(1000-1)。
7.根据权利要求4所述的高精度的GPS同步授时方法,其特征在于,所述步骤5具体包括:
所述ARM处理器通过控制精密授时模块的EXTINT1引脚电平,使得模块发送其引脚电平发生最新的上升沿以及最新的下降沿变化时的GPS时间码,对所述GPS时间码进行解析,并与该精密授时模块引脚电平发生最新的上升沿以及最新的下降沿变化时的本地时间对时,根据对时误差计算出压控晶振器此次时间段的PPM值与理论PPM值的差值ΔPPM,再根据差值ΔPPM调整压控晶振器的输入电压,使其输出频率随之改变,完成对系统主频的模拟校正,其中,所述PPM值由实际频率减去目标频率且将小数点往后移六位数得到,所述理论PPM值为0。
8.根据权利要求7所述的高精度的GPS同步授时方法,其特征在于,所述根据对时误差计算出外部有源的压控晶振器此次时间段的PPM值与理论PPM值的差值ΔPPM,再根据差值ΔPPM调整外部有源的压控晶振器的输入电压步骤中,本地时钟的对时误差包括频率误差以及时间累积误差,所述频率误差以及时间累积误差均可转换为压控晶振此次时间段的PPM值与理论PPM值的差ΔPPM:
所述频率误差转换为ΔPPM的公式如下:
上式合项计算得,
上式中,f0表示理论上压控晶振器的输出频率,即目标频率,Δf1表示压控晶振器的实际频率与目标频率之间的频率差,N1表示(k-1)时刻到k时刻的计数周期个数,TG(k)表示k时刻的GPS时间,TG(k-1)表示(k-1)时刻的GPS时间,TL(k)表示k时刻的本地时间,TL(k-1)表示(k-1)时刻的本地时间,ΔPPM1表示在频率误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差;
所述时间累积误差折算到频率误差,其转换为ΔPPM的公式如下:
则在k时刻之后通过N2个计数周期的计时来补偿时间累积误差;取N2=N1,表示用后续相同的时间把累积误差补偿完毕;
上式合项计算得,
上式中,f0表示理论上压控晶振器的输出频率,即目标频率,Δf2表示累计一段时间后压空晶振器的实际输出频率与目标频率之间的频率差,N2表示在k时刻之后补偿时间累积误差的计数周期个数,ΔPPM2表示在时间累积误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差;
其中,压控晶振器输入电压控制频率的公式如下:
VDAC(k)=VDAC(k-1)+ΔVDAC
上式中,ΔVDAC为此次压控晶振器输入电压的变化量,单位为mv,VDAC(k-1)为压控晶振器上一次的输入电压,单位为mv,VDAC(k)为压控晶振器此次的输入电压,单位为mv,ΔPPM表示压控晶振器此次时间段的PPM值与理论PPM值的差,S为压控晶振器的灵敏度系数;
综上所述,压控晶振器输入电压通过如下公式求得:
上式中,ΔVDAC为此次压控晶振器输入电压的变化量,VDAC(k-1)为压控晶振器上一次的输入电压,VDAC(k)为压控晶振器此次的输入电压,ΔPPM表示在对时误差方面,压控晶振器此次时间段的PPM值与理论PPM值的差。
9.根据权利要求8所述的高精度的GPS同步授时方法,其特征在于,所述步骤6具体包括:
ARM处理器通过控制NEO-LEA-M8T精密授时模块的EXTINT1引脚电平,使得模块发送其引脚电平发生最近的上升沿以及最近的下降沿变化时的GPS时间码,对所述GPS时间码进行解析,并与该精密授时模块引脚电平发生最新的上升沿以及最新的下降沿变化时的本地时间对时,根据对时误差计算出压控晶振器此次时间段的PPM值与理论PPM值的差ΔPPM,再根据差值ΔPPM调整所述ARM处理器的定时器TIM2的分频因子,使TIM2的输出频率随之改变,完成对系统主频的数字校正,其中,所述PPM值由实际频率减去目标频率且将小数点往后移六位数得到,所述理论PPM值为0。
10.根据权利要求9所述的高精度的GPS同步授时方法,其特征在于,所述根据对时误差计算出压控晶振器此次时间段的PPM值与理论PPM值的差ΔPPM,再根据差值ΔPPM调整所述ARM处理器的定时器TIM2的分频因子的步骤中,所述定时器TIM2的分频因子通过如下公式求得:
ARR(k)=ARR(k-1)+ΔARR
上式中,ΔARR为此次定时器TIM2的分频因子的变化量,ARR(k-1)为上一次定时器TIM2调整的分频因子,ARR(k)为此次定时器TIM2调整的分频因子,ΔPPM为压控晶振器此次时间段的PPM值与理论PPM值的差,t为定时器TIM2的一个计数周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910035794.8A CN109884877B (zh) | 2019-01-15 | 2019-01-15 | 一种高精度的gps同步授时系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910035794.8A CN109884877B (zh) | 2019-01-15 | 2019-01-15 | 一种高精度的gps同步授时系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109884877A true CN109884877A (zh) | 2019-06-14 |
CN109884877B CN109884877B (zh) | 2021-09-21 |
Family
ID=66926040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910035794.8A Active CN109884877B (zh) | 2019-01-15 | 2019-01-15 | 一种高精度的gps同步授时系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109884877B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143048A (zh) * | 2019-12-25 | 2020-05-12 | 西安电子工程研究所 | 一种基于VxWorks系统时钟的雷达精确计时方法 |
CN114660521A (zh) * | 2022-03-23 | 2022-06-24 | 国网山东省电力公司临清市供电公司 | 电力实验仪器自动校准装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102884483A (zh) * | 2010-03-26 | 2013-01-16 | 西铁城控股株式会社 | 卫星电波手表 |
CN104570717A (zh) * | 2013-10-25 | 2015-04-29 | 沈阳工业大学 | 基于gps/北斗和有限状态机的守时系统 |
CN105137754A (zh) * | 2015-09-11 | 2015-12-09 | 西安航光卫星测控技术有限公司 | 北斗定时型指挥机 |
CN105511256A (zh) * | 2015-12-14 | 2016-04-20 | 国网山西省电力公司大同供电公司 | 基于主站gps的绝缘在线高精度同步测量与时间标记方法 |
US20170192396A1 (en) * | 2016-01-04 | 2017-07-06 | Seiko Epson Corporation | Arm-wearable device and antenna body |
CN107505832A (zh) * | 2017-08-02 | 2017-12-22 | 桂林电子科技大学 | 一种高精度授时系统 |
CN207717984U (zh) * | 2018-02-01 | 2018-08-10 | 杭州腾振科技有限公司 | 一种基于全球卫星导航系统的同步数据采集电路 |
-
2019
- 2019-01-15 CN CN201910035794.8A patent/CN109884877B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102884483A (zh) * | 2010-03-26 | 2013-01-16 | 西铁城控股株式会社 | 卫星电波手表 |
CN104570717A (zh) * | 2013-10-25 | 2015-04-29 | 沈阳工业大学 | 基于gps/北斗和有限状态机的守时系统 |
CN105137754A (zh) * | 2015-09-11 | 2015-12-09 | 西安航光卫星测控技术有限公司 | 北斗定时型指挥机 |
CN105511256A (zh) * | 2015-12-14 | 2016-04-20 | 国网山西省电力公司大同供电公司 | 基于主站gps的绝缘在线高精度同步测量与时间标记方法 |
US20170192396A1 (en) * | 2016-01-04 | 2017-07-06 | Seiko Epson Corporation | Arm-wearable device and antenna body |
CN107505832A (zh) * | 2017-08-02 | 2017-12-22 | 桂林电子科技大学 | 一种高精度授时系统 |
CN207717984U (zh) * | 2018-02-01 | 2018-08-10 | 杭州腾振科技有限公司 | 一种基于全球卫星导航系统的同步数据采集电路 |
Non-Patent Citations (2)
Title |
---|
GUANG YANG ET AL.: ""Application of Low-cost and High-accuracy GNSS PPK in UVA"", 《GEOMATICS SCIENCE AND ENGINEER》 * |
陈伟: ""基于卫星授时高精度时间同步方法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143048A (zh) * | 2019-12-25 | 2020-05-12 | 西安电子工程研究所 | 一种基于VxWorks系统时钟的雷达精确计时方法 |
CN111143048B (zh) * | 2019-12-25 | 2022-10-28 | 西安电子工程研究所 | 一种基于VxWorks系统时钟的雷达精确计时方法 |
CN114660521A (zh) * | 2022-03-23 | 2022-06-24 | 国网山东省电力公司临清市供电公司 | 电力实验仪器自动校准装置 |
CN114660521B (zh) * | 2022-03-23 | 2023-01-24 | 国网山东省电力公司临清市供电公司 | 电力实验仪器自动校准装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109884877B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100456858C (zh) | 终端中的时间误差补偿装置及方法 | |
CN105867107B (zh) | 一种低功耗高精度授时系统 | |
CN203377841U (zh) | 基于卫星授时的晶振驯服设备 | |
US20050080579A1 (en) | System and method for oscillator self-calibration using AC line frequency | |
CN111585680A (zh) | 一种高精度以太网时间同步装置 | |
CN102830611B (zh) | 一种时间源 | |
CN108768577B (zh) | 一种基于ptp时间同步信号的通信网络授时方法及系统 | |
CN107505832B (zh) | 一种高精度授时系统 | |
CN109884877A (zh) | 一种高精度的gps同步授时系统及方法 | |
CN204631463U (zh) | 一种辐射源监测定位的gps时钟同步系统 | |
CN203688664U (zh) | 一种电网频率测量装置 | |
CN104300969A (zh) | 一种基于全数字锁相环的高精度同步时钟实现方法 | |
CN101931481A (zh) | 一种ieee 1588时钟输出装置和方法 | |
CN102545778B (zh) | 一种时钟晶体振荡器闭环温度补偿方法和装置 | |
CN113885305B (zh) | 一种完全自主可控快速时间频率同步装置和方法 | |
CN102082658B (zh) | 一种提高目的时钟频率稳定度的方法及装置 | |
CN106922015A (zh) | 无线通信设备及其频率同步方法 | |
US11637586B2 (en) | Systems and methods for wireless atomic clock synchronization using ultra wideband (UWB) pulse trains | |
CN211826913U (zh) | 基于时钟同步器的高精度对时守时装置 | |
CN207742506U (zh) | 守时电路 | |
CN101841329A (zh) | 锁相环、压控装置及方法 | |
CN116027242B (zh) | 基于多源gnss的高精度时频校准与同步系统及方法 | |
CN104700712A (zh) | 一种可自动同步的计时装置 | |
CN208172260U (zh) | 一种授时接收机 | |
CN209327810U (zh) | 一种授时装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |