一种低功耗高精度授时系统
技术领域
本发明涉及卫星导航技术领域,具体涉及一种低功耗高精度授时系统。
背景技术
军工系统、金融系统、电信系统、电力系统在运行时都需要对时间、频率进行同步以及输出高精度频率,时间频率标准的发展对于国家的经济、科学技术以及社会和国防安全有十分重要的意义。目前,时间频率标准的授时同步途径正在由短波、长波、电视等技术手段向导航卫星发展。利用导航卫星进行授时同步的主要原理是,通过导航卫星信号接收模块接收卫星信号,根据接收到的导航卫星信号中的1PPS(秒脉冲)信号实现系统授时及网络时钟同步。现阶段利用导航卫星授时的技术比较多,但其授时的精度均有待进一步提高,特别在失去卫星信号时,系统的守时能力较差,不能满足更高的同步授时精度要求。
目前的晶振产品一般只能提供单独的时钟,因为晶振固有特性(频率准确度、老化、环境、负载)等原因的影响,它们的振荡会随着时间的推移,出现各式各样的差别。这给一些通信产品或者互联网带来很不确定的因素,产品运行一段时间后,就会出现时间对不上、相互联不上现象。现有的产品解决上述问题有以下几种情况,当产品运行一段时间后,出现偏差大了就进行人工调整,或者更换设备,其实引起这些原因都是产品的元件——晶振的频率产生漂移引起的。
引起晶振频率变化的指标如下:
标称频率 |
10.000MHz |
频率精确度 |
(-2*10<sup>-6</sup>)--(+2*10<sup>-6</sup>) |
频率温度特性 |
(-0.5*10<sup>-6</sup>)--(+0.5*10<sup>-6</sup>) |
频率电压特性 |
(-0.2*10<sup>-6</sup>)--(+0.2*10<sup>-6</sup>) |
频率负载特性 |
(-0.1*10<sup>-11</sup>)--(+0.1*10<sup>-11</sup>) |
年老化率 |
(-1*10<sup>-6</sup>)--(+1*10<sup>-6</sup>) |
以温度特性来计算,因为晶振自己本身的误差,把频率转换成时间信号,如图1所示:
时间和频率的公式:
T=1/f
假设晶振在理想情况下,f=10000000Hz,那么它输出的频率是标准的,T=1/f,那么晶振每跳动一个周期就是100nS,
假设晶振的频率误差为+1*10-6,相当于该晶振的频率为
f=f正常+△f;
=10000000+10000000*1*10-6
=10000010;
那么该晶振f=10000010Hz,那么它输出的频率是标准的,T=1/f,那么晶振每跳动一个周期T=1/f=1/10000010=(约等于)99.9999nS;假设没做任何调整的情况下,那么该晶振24小时的误差与标准的晶振频率产生的时钟偏差:
24*60*60*10000000*(1/10000000-1/10000010)=0.0864S
从上面计算中可以看出每天的累计误差达到0.0864S,对于现在高速网络,智慧城市,系统集成等方面,误差是比较大的。以前解决频率的不准,大部分是系统工作一段时间后,通过网络调整或者手动调整系统时间。由此看出,现有技术还存在一定的缺陷。
发明内容
有鉴于此,为了解决上述技术问题,本发明提出的一种低功耗高精度授时系统,利用卫星(BD、GPS)的时间信息作为参考,所有网点时间以卫星的时间作为标准,自行调整自己的频率,达到自动调整的目的。
本发明通过以下技术手段解决上述问题:
一种低功耗高精度授时系统,包括卫星接收机、控制模块,晶振,所述控制模块分别与所述卫星接收机、所述晶振连接,所述卫星接收机用于接收卫星信号中的1PPS信号,并通过串口把接收的1PPS信号发送给所述控制模块,所述控制模块判断1PPS信号的有效性,所述晶振用于输出频率信号到所述控制模块,所述控制模块包括数字锁相环电路、晶振频率参考电路,所述数字锁相环电路用于使输出1PPS信号和输入1PPS信号保持一致,消除晶振产生的累计误差,所述晶振频率参考电路用于使接收到的1PPS信号以晶振频率信号为参考经过数据处理,消除卫星接收机产生的抖动误差,输出既不存在累积误差也不存在抖动误差的高精度1PPS信号以及高精度频率信号。
进一步地,所述控制模块包括MCU控制器、工作状态判断模块、采样模块、基准信号输出模块,所述MCU控制器分别与所述工作状态判断模块、所述采样模块、所述基准信号输出模块连接,所述MCU控制器用于计算处理数据信息,所述工作状态判断模块用于实时判断所述卫星接收机接收的1PPS信号的有效性,所述采样模块用于接收所述晶振输出的频率信号,所述基准信号输出模块用于输出既不存在累积误差也不存在抖动误差的高精度1PPS信号以及高精度频率信号。
进一步地,消除卫星接收机产生的抖动误差具体方法如下:
在卫星接收机中,输出1PPS信号与卫星信号的1PPS存在一定的误差∈,考察某一秒时间序列,第x个1PPS信号的时间误差∈x,∈x服从正态分布:
∈x~N(0,σ2) (1)
σ表示卫星接收机的授时精度;
由晶振分频产生频率信号序列的第x个频率信号的时间误差μ(x)表示为:
μ(x)=a+bx+cx2 (2)
式中:a为频率信号序列的初始误差,b为考虑频率偏差的误差系数,c为考虑频率线性漂移的误差系数;
由式(1)和式(2)得晶振频率信号与1PPS信号之间的偏差为:
YX=a+bx+cx2+∈x,x∈n (3)
晶振频率信号与1PPS信号的偏差是可测量的,设测量结果序列Y表示为:Y1,Y2,…,Yx,…,Yn,由Y的时间序列按式(3)所示的一元二次回归分析模型估计出回归系数a、b、c,则晶振输出的第x个频率信号与卫星信号之间的误差估计值μ(x)为:
μ(x)=a+bx+cx2 (4)
根据误差估计值μ(x)对晶振的频率进行补偿,得到高精度的晶振频率。
进一步地,所述σ数值小于50nS。
进一步地,所述控制模块还用于监控所述晶振的频率变化趋势,监控方法为数字模拟方法,所述数字模拟方法为利用晶振频率的每一时刻的变化,长期建立数学模型,对应监控公式为:
f(t)=at3+bt2+ct+d0
式中,f(t)为对应时间段的晶振的频率,a、b、c分别为固定参数,d0为每个频率的参考值频率。
进一步地,所述晶振通过调整晶振的VC端电压,使其输出高精度的频率信号。
进一步地,所述1PPS信号的有效性条件为卫星信号大于或等于4颗为有效。
本发明的低功耗高精度授时系统具有以下有益效果:
1)、减少了环境温度对产品的技术指标的影响;
2)、产品的技术指标提高了很多,现在产品的授时精度(其中一个指标)提高了1个数量级以上;
3)、提高了工作效率,方便用户组网。
附图说明
图1是现有技术的一种频率转换为秒信号的电路图;
图2是本发明的低功耗高精度授时系统的原理图;
图3是本发明的数字锁相环电路的原理图;
图4是本发明的晶振频率参考电路的原理图;
图5是本发明的低功耗高精度授时系统的结构示意图;
图6是现有技术中MCU控制器每秒钟分开计和合并计时频率数据的比较图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合附图和具体的实施例对本发明的技术方案进行详细说明。
GPS以及我国的北斗是一个全球卫星导航定位系统,同时也是一个授时系统,可以为所有用户提供实时、高精度的时间信息,它们的时钟系统由具有高精度、高稳定度的原子钟组成,精度可达10-13至10-15,并且没有累计误差。
图2为本发明的低功耗高精度授时系统的原理图,一种低功耗高精度授时系统,包括卫星接收机、控制模块,晶振,所述控制模块分别与所述卫星接收机、所述晶振连接,通过卫星接收机接收卫星信号中的1PPS信号,同过串口把接收到的1PPS信号发送给控制模块,控制模块对1PPS信号进行处理,判断卫星接收机的工作情况以及接收情况,如果接收到的卫星信号大于或等于4颗,那么认为1PPS是有效的。
晶振的频率信号通过倍频进入到控制模块,控制模块利用接收到的1PPS信号作为参考信号进行记录晶振的频率,计算频率的偏差情况,通过调整晶振的VC端电压,使其输出高精度的频率信号,并利用该高精度的频率信号分频成高稳的1PPS输出,从而达到高精度的频率信号以及秒信号。
卫星接收机中的卫星时钟因为是无线传播,容易受到环境以及空气的影响,虽然没有累计误差,但是存在抖动误差;晶振因为不受环境的影响没有抖动误差,但是存在累计误差;本发明就是利用卫星时钟和晶振的互补特点,通过自主开发的电路以及算法,使输出的秒信号不存在累计误差,也不存在抖动误差,并且输出高精度的频率信号。
图3为本发明的数字锁相环电路的原理图,数字锁相环电路的主要功能是使得输出信号和输入信号相位保持一定固定的关系,锁相环一旦进入锁定状态,输出信号和输入信号相位关系基本保持不变,只有很小的抖动误差,而没有频率误差,本发明基于这一原理实现高精度同步时钟,既能消除晶振时钟引起的累积误差,同时保持了较小的随机误差。
该电路的主要功能是使输出1PPS信号和输入1PPS信号保持一致,因为输出1PPS信号由本地晶振产生,所以没有抖动误差,而不像卫星信号中的1PPS信号存在抖动误差,所以能提供一个比较精确的时钟。
图4是本发明的晶振频率参考电路的原理图,卫星接收机接收到的1PPS信号虽然没有累计误差,但是它的抖动会根据天气情况的变化发生改变的,所以有时候它输出的时间信息抖动也是很大的,所以采集到的1PPS是不能直接用到系统当中的,因为它也许会长时间处于偏向一边的状态,此时就需要利用晶振的频率作为它的参考信号,再经过数据处理,消除卫星信号的抖动误差,输出既不存在累积误差也不存在抖动误差的高精度1PPS信号。
图5是本发明的低功耗高精度授时系统的结构示意图,所述控制模块包括MCU控制器、工作状态判断模块、采样模块、基准信号输出模块,所述MCU控制器分别与所述工作状态判断模块、所述采样模块、所述基准信号输出模块连接,所述MCU控制器用于计算处理数据信息,所述工作状态判断模块用于实时判断所述卫星接收机接收的1PPS信号的有效性,所述采样模块用于接收所述晶振输出的频率信号,所述基准信号输出模块用于输出既不存在累积误差也不存在抖动误差的高精度1PPS信号以及高精度频率信号。
本发明利用1000秒来消除BD/GPS的抖动,找到VCTCXO的频率漂移特性,通过MCU与CPLD/FPGA的计算,找到一条符合本晶振的控制规律,使VCTCXO的精度锁定到GPS上,解决了铷钟、原子钟的带来的高成本问题。
在卫星接收机中,输出秒时钟与卫星信号存在一定的误差∈,考察某一秒时间序列,第x个秒时钟的时间误差∈x,∈x服从正态分布:
∈x~N(0,σ2) (1)
不同档次的GPS接收机,σ数值大小不同,本发明采用国产的BD/GPS双模接收,小于50nS。
由于高精度晶振的随机误差远小于BD/GPS秒时钟的随机误差,它的随机误差可以忽略不计,因此不考虑晶振秒时钟的随机误差,仅考虑晶振的频率偏差及频率的线性漂移,由晶振分频产生秒时间序列的第x个秒时钟的时间误差μ(x)可以表示为:
μ(x)=a+bx+cx2 (2)
式中:a为秒时间序列的初始误差,b为考虑频率偏差的误差系数,c为考虑频率线性漂移的误差系数。
由式(1)和式(2)得晶振分频秒时钟(简称晶振秒时钟)与GPS秒时钟之间的偏差为:
YX=a+bx+cx2+∈x,x∈n (3)
晶振秒时钟与GPS秒时钟的偏差是可以测量的,设测量结果序列Y表示为:Y1,Y2,…,Yx,…,Yn,由Y的时间序列按式(3)所示的一元二次回归分析模型估计出回归系数a、b、c,则晶振输出的第x个秒时钟与卫星信号之间的误差估计值μ(x)为:
μ(x)=a+bx+cx2 (4)
根据误差估计值μ(x)对晶振的频率进行补偿,得到高精度的晶振频率以及产生高精度时钟。
进一步地,所述控制模块还用于监测所述晶振的频率变化趋势,监测方法为数字模拟方法,所述数字模拟方法为利用晶振频率的每一时刻的变化,长期建立数学模型,对应监控公式为:
f(t)=at3+bt2+ct+d0
式中,f(t)为对应时间段的晶振的频率,a、b、c分别为固定参数,d0为每个频率的参考值频率。
本发明利用温补晶振(VCTCXO)、带FPGA+MCU的芯片以及DAC等器件,加上BDGPS等时钟系统,用最简单、最低成本的方法,把10-6、10-7量级的温补晶振(TCXO)驯服成高精度输出,直接锁定到BD/GPS的原子钟上,精度最高可达10-12以上,同时解决了晶振自身存在的问题:老化率、累计误差,因为温补晶振锁定到原子钟上,晶振的老化率及累计误差将得以控制,频率不会随着晶振的通电时间长而发生变化。
本发明的方法和记时系统运行成本低,通过科学合理的系统设计,提供高精度时钟信号输出,精度可在10-12以上,已成功地应用于电力、通信系统暂态变化过程的异地同步记录。
上面所述MCU根据所述统计结果进行一元非线性回归方程式计算,计算出需要调整的数据,利用一元二次回归数学模型迅速调整10MHz的TCXO输出频率,以及MCU的1PPS的输出频率,通过DAC芯片输出控制电压给温补晶体振荡器的频率调整电压脚,使温补晶体振荡器的精度锁定在BD/GPS的原子钟上,实现高精度记时,精度可在10-12以上。从而输出高精度的1PPS。
具体算法说明如下:
假如一个标称f0=10000000M的晶振,用安捷伦的53220A频率计数器测试的频率为f1=10000000.11000,精确度为
(f0-f1)/f0=(10000000-10000000.11)/10000000=-1.1E-08(10-8)
从以上公式看出,理想精度是10-8,但是因为无论是MCU还是CPLD/FPGA,小数点后面的数据均不能处理,所以f1的频率在MCU和CPLD/FPGA运算里面为10000000(小数点读不出来),实际计算如下:
(f0-f1)/f0=(10000000-10000000)/10000000=-0E-07(10-7)
只能是10-7精度,那么现有技术要做到10-12,唯一的办法可以倍频,因为高倍频对硬件要求比较高,所以此倍频方法不可以采用。
本发明在现有方法上做了改进,比如我们有一个TCXO温补晶振的精确度为10000000.5,从图6我们可以看到:
1秒钟MCU计的频率为10000000,小数点后面的数据被去掉;
2秒钟分开计MCU的频率为20000000(10000000+10000000)小数点后面的数据被去掉;
假设一个晶振的频率用示波器测试出来每秒钟的频率是10000000.5000Hz,因为MCU只能计整数部分,那么将丢失小数部分,如果延长了计数周期到2秒,那么MCU将计数为
F=f1+f2=10000000.5000+10000000.5000=2000001;假设计数周期为100秒:
F=f1+f2+...+f100=10000000.5000+10000000.5000+...+10000000.5000=1000000050;
以此类推,当连续1000秒的测试,那么MCU的计数为10000000500,这些数据能被MCU处理,从而可以通过一元二次回归方程式算出需要的压控电压(VC)的值,通过调整TCXO温补晶振的压控电压使其精度达到本发明想要的值。
本发明的低功耗高精度授时系统具有以下有益效果:
1)、减少了环境温度对产品的技术指标的影响;
2)、产品的技术指标提高了很多,现在产品的授时精度(其中一个指标)提高了1个数量级以上;
3)、提高了工作效率,方便用户组网。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。