CN103699001B - 利用恒温晶体振荡器实现的计时方法及*** - Google Patents
利用恒温晶体振荡器实现的计时方法及*** Download PDFInfo
- Publication number
- CN103699001B CN103699001B CN201210373445.5A CN201210373445A CN103699001B CN 103699001 B CN103699001 B CN 103699001B CN 201210373445 A CN201210373445 A CN 201210373445A CN 103699001 B CN103699001 B CN 103699001B
- Authority
- CN
- China
- Prior art keywords
- gps
- crystal oscillator
- constant
- chip microcomputer
- mcu single
- 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.)
- Active
Links
Landscapes
- Oscillators With Electromechanical Resonators (AREA)
- Electric Clocks (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公开了一种利用恒温晶体振荡器实现的计时方法及***,***包括GPS接收机、MCU单片机、CPLD或FPGA、恒温晶体振荡器;所述MCU单片机连接GPS接收机获取GPS的信息,当发现GPS接收机收到卫星达到至少4颗时就可以确定所述GPS接收机输出的1PPS信号有效;所述CPLD或FPGA接收GPS接收机的1PPS信号,并以此为标准信号,对恒温晶体振荡器的频率进行统计,当统计到规定阀值时将统计结果发送到MCU单片机;所述MCU单片机根据所述统计结果进行一元非线性回归方程式计算,计算出需要调整的数据,通过MCU单片机输出控制电压给恒温晶体振荡器的频率调整电压脚,使恒温晶体振荡器的精度锁定在GPS的原子钟上,实现计时。
Description
技术领域
本发明涉及电子设备记时领域,尤其涉及一种的计时方法及***。
背景技术
现有晶振时钟信号的随机误差较小,但存在较大的累计误差。而GPS接收机输出的秒脉冲信号存在较大的随机误差,但不存在累计误差。晶振有着不同使用要求及特点,通常分为以下几类:普通晶振、温补晶振、压控晶振、恒温晶振等。精确度的等级普通晶振最差,恒温晶振最高,达10-8、10-9等。随着无线通信领域的快速发展,如电信方面的微波拉远设备等方案,10-8、10-9的精度已经不能满足要求,早期工程师用铷钟来解决,铷钟的精度达10-10以上,但是该方案成本比较贵,人民币达1万人民币甚至几万人民币以上,而恒温晶振的成本为几百元人民币的成本。
发明内容
本发明根据GPS时钟信号与恒温晶振时钟信号精度互补的特点,估计出GPS时钟随机误差的统计方差和恒温晶振的累计误差;对恒温晶振时钟进行实时修正,产生高精度时钟,并预测了修正后的时钟精度。提供了一种利用恒温晶体振荡器实现的计时方法及***。
一种利用恒温晶体振荡器实现的计时方法,包括步骤
1、***通电,完成初始化设置,MCU单片机连接GPS接收机获取GPS的信息,当发现GPS接收机收到卫星达到至少4颗时就可以确定所述GPS接收机输出的1PPS信号有效;
2、通过复杂可编程逻辑器件(即CPLD)或现场可编程门阵列器(即FPGA)接收GPS接收机的1PPS信号,并以此为标准信号,对恒温晶体振荡器(即OCXO)的频率进行统计,当统计到规定阀值时将统计结果发送到MCU单片机,比如规定阀值为1000次或2000次;
3、MCU单片机根据所述统计结果进行一元非线性回归方程式计算,计算出需要调整的数据,通过MCU单片机输出控制电压给恒温晶体振荡器的频率调整电压脚,使恒温晶体振荡器的精度锁定在GPS的原子钟上,实现高精度计时,精度在10-12以上。
所述步骤3还包括通过MCU单片机输出控制信号与GPS接收机通信,确保GPS接收机输出的1PPS信号是锁定到GPS的原子钟上,精度为10-12,通过MCU单片机与复杂可编程逻辑器件的运算,得出高精度的1PPS输出。
所述记时方法还包括如下步骤:
在GPS接收机提供正常的频率信号的时候,每隔2小时记住每次调整的2个值PWM1,PWM2;当GPS数据丢失后,计算公式如下:
T=2*60/(PWM2–PWM1)
可以得出多少分钟后PWM的变化情况,通过PWM的调整来控制恒温晶体振荡器的老化率变化,使其高精度输出,直到GPS数据重新被MCU单片机检测到,又交回GPS驯服时钟控制。
本发明还提供一种利用恒温晶体振荡器实现的计时***,包括GPS接收机、MCU单片机、复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器;所述MCU单片机分别连接GPS接收机、复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器,所述GPS接收机依次连接复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器;
所述MCU单片机连接GPS接收机获取GPS的信息,当发现GPS接收机收到卫星达到至少4颗时就可以确定所述GPS接收机输出的1PPS信号有效;
所述复杂可编程逻辑器件或现场可编程门阵列器接收GPS接收机的1PPS信号,并以此为标准信号,对恒温晶体振荡器的频率进行统计,当统计到规定阀值时将统计结果发送到MCU单片机;
所述MCU单片机根据所述统计结果进行一元非线性回归方程式计算,计算出需要调整的数据,通过MCU单片机输出控制电压给恒温晶体振荡器的频率调整电压脚,使恒温晶体振荡器的精度锁定在GPS的原子钟上,实现高精度计时。
本发明利用恒温晶振(OCXO)、普通单片机或MCU单片机、CPLD/FPGA等器件,配合GPS或者北斗等时钟***,用最简单、最低成本的方法,把10-8、10-9量级的恒温晶振(OCXO)驯服成高精度输出,直接锁定到GPS的原子钟上,精度可达10-12以上,同时解决了晶振自身存在的问题:老化率,因为恒温晶振锁定到原子钟上,晶振的老化率将得以控制,频率不会随着晶振的通电时间长而发生变化。
本发明的方法和记时***运行成本低,通过科学合理的***设计,提供高精度时钟信号输出,精度可在10-12以上,已成功地应用于电力***暂态变化过程的异地同步记录。
附图说明
图1是本发明实施例提供的利用恒温晶体振荡器实现的计时***结构示意图。
图2是本发明实施例提供的计时方法部分流程示意图。
图3是本发明实施例中精确度为10.0000005的一个OCXO晶振示意表。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
如图1所示,本发明实施例提供的一种利用恒温晶体振荡器实现的计时***,包括GPS接收机、MCU单片机、复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器;所述MCU单片机分别连接GPS接收机、复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器,所述GPS接收机依次连接复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器;本发明的记时方法运用在本发明***中。
***通电后,所述MCU单片机连接GPS接收机获取GPS的信息,MCU单片机等待恒温晶体振荡器(OCXO)温度稳定并查询GPS接收机是否提供有效的1PPS信号;当发现GPS接收机收到卫星达到至少4颗时就可以确定所述GPS接收机输出的1PPS信号有效;
如图2所示,所述复杂可编程逻辑器件(即CPLD)或现场可编程门阵列器(即FPGA)接收GPS接收机的1PPS信号,并以此为标准信号,对恒温晶体振荡器(OCXO)的频率进行统计,当统计到规定阀值时将统计结果发送到MCU单片机;比如规定阀值为1000次或2000次;
所述MCU单片机根据所述统计结果进行一元非线性回归方程式计算,计算出需要调整的数据,利用一元二次回归数学模型迅速调整10MHz的OCXO输出频率,以及CPLD或FPGA的1PPS的输出频率,通过MCU单片机的PWM/DA脚输出控制电压给恒温晶体振荡器的频率调整电压脚,使恒温晶体振荡器的精度锁定在GPS的原子钟上,实现高精度计时,精度可在10-12以上。同时通过MCU单片机输出控制信号给GPS接收机,使GPS接收机输出的1PPS信号精度在10-12以上。
具体算法说明如下:
假如一个标称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,唯一的办法可以倍频,因为高频对硬件要求比较高,违背了本发明提倡的低成本的方案,所以此倍频方法不可以采用。
本发明在现有方法上做了改进,比如我们有一个OCXO晶振的精确度为10.0000005,从图3我们可以看到:
1秒钟CPLD计的频率为10000000,小数点后面的数据被去掉;
2秒钟分开计CPLD的频率为20000000(10000000+10000000)小数点后面的数据被去掉;
假设一个晶振的频率用示波器测试出来每秒钟的频率是10000000.5000Hz,因为CPLD只能计整数部分,那么将丢失小数部分,如果延长了计数周期到2秒,那么CPLD将计数为
F=f1+f2=10000000.5000+10000000.5000=2000001;假设计数周期为100秒:
F=f1+f2+。。。+f100=10000000.5000+10000000.5000+。。。+10000000.5000=1000000050;
以此类推,当连续1000秒的测试,那么CPLD的计数为10 000 000 500,这些数据能被CPLD以及MCU单片机处理,从而可以通过一元二次回归方程式算出需要的PWM/DA的值,通过调整OCXO的压控电压使其精度达到本发明想要的值。
本发明方案的做法是利用1000秒来消除GPS的抖动,找到OCXO的频率漂移特性,通过MCU单片机与CPLD/FPGA的计算,找到一条符合本晶振的控制规律,使OCXO的精度锁定到GPS上,解决了铷钟、原子钟的带来的高成本问题。
在GPS接收机中,输出秒时钟与UCT存在一定的误差∈。考察某一秒时间序列,第x个秒时钟的时间误差∈x,x服从正态分布:
∈x~N(0,б2) (1)
不同档次的GPS接收机,б数值大小不同。
由于高精度晶振的随机误差远小于GPS秒时钟的随机误差(如稳定度为10-9的晶振分频产生的秒时钟随机误差小于1ns),因此不考虑晶振秒时钟的随机误差。仅考虑晶振的频率偏差及频率的线性漂移,由晶振分频产生秒时间序列的第x个秒时钟的时间误差μ(x)可以表示为:
μ(x)=a+bx+cx2 (2)
式中:a为秒时间序列的初始误差;b为考虑频率偏差的误差系数;c为考虑频率线性漂移的误差系数。
由式(1)和式(2)得晶振分频秒时钟(简称晶振秒时钟)与GPS秒时钟之间的偏差为:
YX=a+bx+c x2+∈x x∈n (3)
晶振秒时钟与GPS秒时钟的偏差是可以测量的,设测量结果序列Y表示为:Y1,Y2,…,Yx,…,Yn。由Y的时间序列按式(3)所示的一元二次回归分析模型估计出回归系数a,b,c,则晶振输出的第x个秒时钟与UCT之间的误差估计值μ(x)为:
μ(x)=a+bx+cx2 (4)
根据误差估计值μ(x)对晶振的频率进行补偿,得到高精度的晶振频率以及产生高精度时钟。
本发明的记时方法还包括OCXO失锁后的精度以及守时保持步骤:
众所周知,晶振的频率除了会随温度的变化而变化之外,还会随着时间的老化而变化。本方法是因为OCXO的频率是锁定到GPS的秒信号上的,以GPS的1PPS作为时钟参考源,通过PWM方式调整频率的变化,可以说不存在老化的问题,但是当GPS数据丢失后,1PPS时钟参考源也将丢失,驯服将失去意义,那么OCXO将随老化率自由振荡,为了保证GPS时钟信号继续提供高精度的频率信号,在GPS提供正常的频率信号的时候每隔2小时记住每次调整的2个值PWM1,PWM2;当GPS数据丢失后,计算公式如下:
T=2*60/(PWM2–PWM1);
可以得出多少分钟后PWM的变化,通过PWM的调整来控制OCXO的老化率变化,使其高精度输出,直到GPS重新被MCU单片机检测到,又交回GPS驯服时钟控制。
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
Claims (4)
1.一种利用恒温晶体振荡器实现的计时方法,包括步骤
一、***通电,完成初始化设置,MCU单片机连接GPS接收机获取GPS的信息,当发现GPS接收机收到卫星达到至少4颗时就可以确定所述GPS接收机输出的1PPS信号有效;
二、通过复杂可编程逻辑器件或现场可编程门阵列器接收GPS接收机的1PPS信号,并以此为标准信号,对恒温晶体振荡器的频率进行统计,当统计到规定阀值时将统计结果发送到MCU单片机;
三、MCU单片机根据所述统计结果进行一元非线性回归方程式计算,计算出需要调整的数据,通过MCU单片机输出控制电压给恒温晶体振荡器的频率调整电压脚,使恒温晶体振荡器的精度锁定在GPS的原子钟上,实现高精度计时;
在GPS接收机提供正常的频率信号的时候,每隔2小时记住每次调整的2个值PWM1,PWM2;当GPS数据丢失后,计算公式如下:
T=2*60/(PWM2–PWM1)
可以得出多少分钟后PWM的变化情况,通过PWM的调整来控制恒温晶体振荡器的老化率变化,使其高精度输出,直到GPS数据重新被MCU单片机检测到,又交回GPS驯服时钟控制。
2.根据权利要求1所述计时方法,其特征在于,所述步骤三还包括
通过MCU单片机输出控制信号与GPS接收机通信,确保GPS接收机输出的1PPS信号是锁定到GPS的原子钟上,精度为10-12,通过MCU单片机与复杂可编程逻辑器件的运算,得出高精度的1PPS输出。
3.根据权利要求1所述计时方法,其特征在于,所述步骤二中的规定阀值为1000次或2000次。
4.一种采用权利要求1方法的计时***,其特征在于,包括GPS接收机、MCU单片机、复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器;所述MCU单片机分别连接GPS接收机、复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器,所述GPS接收机依次连接复杂可编程逻辑器件或现场可编程门阵列器、恒温晶体振荡器;
所述MCU单片机连接GPS接收机获取GPS的信息,当发现GPS接收机收到卫星达到至少4颗时就可以确定所述GPS接收机输出的1PPS信号有效;
所述复杂可编程逻辑器件或现场可编程门阵列器接收GPS接收机的1PPS信号,并以此为标准信号,对恒温晶体振荡器的频率进行统计,当统计到规定阀值时将统计结果发送到MCU单片机;
所述MCU单片机根据所述统计结果进行一元非线性回归方程式计算,计算出需要调整的数据,通过MCU单片机输出控制电压给恒温晶体振荡器的频率调整电压脚,使恒温晶体振荡器的精度锁定在GPS的原子钟上,实现高精度计时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210373445.5A CN103699001B (zh) | 2012-09-27 | 2012-09-27 | 利用恒温晶体振荡器实现的计时方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210373445.5A CN103699001B (zh) | 2012-09-27 | 2012-09-27 | 利用恒温晶体振荡器实现的计时方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699001A CN103699001A (zh) | 2014-04-02 |
CN103699001B true CN103699001B (zh) | 2016-08-17 |
Family
ID=50360568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210373445.5A Active CN103699001B (zh) | 2012-09-27 | 2012-09-27 | 利用恒温晶体振荡器实现的计时方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699001B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867107B (zh) * | 2016-04-08 | 2019-06-21 | 广州北极瑞光电子科技有限公司 | 一种低功耗高精度授时*** |
CN105824232B (zh) * | 2016-05-25 | 2018-09-25 | 北京理工大学 | 一种便携式自校准授时装置及授时方法 |
JP6772700B2 (ja) * | 2016-09-15 | 2020-10-21 | カシオ計算機株式会社 | 測位装置、電子時計、測位制御方法、及びプログラム |
CN107229217A (zh) * | 2017-06-01 | 2017-10-03 | 中船航海科技有限责任公司 | 一种时间同步装置及其同步方法 |
CN108599758B (zh) * | 2018-02-10 | 2022-11-22 | 国网河南省电力公司郑州供电公司 | 基于gps产生高精度触发脉冲的算法及装置 |
CN108667546B (zh) * | 2018-04-20 | 2019-09-10 | 武汉虹信通信技术有限责任公司 | 一种移动小基站设备中模糊自适应的软锁相方法 |
CN109597297B (zh) * | 2018-12-11 | 2020-09-08 | 烟台持久钟表有限公司 | 一种晶振补偿方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5629649A (en) * | 1994-11-24 | 1997-05-13 | Advantest Corporation | Frequency standard generator synchronized with satellite or other communication network reference clocks |
CN101079687A (zh) * | 2006-05-25 | 2007-11-28 | 上海欣泰通信技术有限公司 | 一种基于最小二乘法模型的时钟调整算法 |
CN101231337A (zh) * | 2008-02-15 | 2008-07-30 | 哈尔滨工程大学 | 高精度时间同步装置 |
JP2011185731A (ja) * | 2010-03-08 | 2011-09-22 | Toshiba Corp | 時刻同期装置およびその時刻同期補正方法 |
CN102566410A (zh) * | 2012-02-16 | 2012-07-11 | 北京华力创通科技股份有限公司 | 基于卫星授时的对本地时钟进行校准的方法和装置 |
-
2012
- 2012-09-27 CN CN201210373445.5A patent/CN103699001B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5629649A (en) * | 1994-11-24 | 1997-05-13 | Advantest Corporation | Frequency standard generator synchronized with satellite or other communication network reference clocks |
CN101079687A (zh) * | 2006-05-25 | 2007-11-28 | 上海欣泰通信技术有限公司 | 一种基于最小二乘法模型的时钟调整算法 |
CN101231337A (zh) * | 2008-02-15 | 2008-07-30 | 哈尔滨工程大学 | 高精度时间同步装置 |
JP2011185731A (ja) * | 2010-03-08 | 2011-09-22 | Toshiba Corp | 時刻同期装置およびその時刻同期補正方法 |
CN102566410A (zh) * | 2012-02-16 | 2012-07-11 | 北京华力创通科技股份有限公司 | 基于卫星授时的对本地时钟进行校准的方法和装置 |
Non-Patent Citations (3)
Title |
---|
一种通用精确同步源的设计与实现;李瑞涛;《***工程与电子技术》;20050228;第27卷(第2期);全文 * |
恒温晶振OCXO自适应驯服保持技术研究;马彦青;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110701(第07期);正文第27页第1-11行,第29页第6-7行,第24页倒数第4行-倒数第3行、第20页第12-13行、第49页第13-16行、第52页第19行-22行 * |
晶振信号同步GPS信号产生高精度时钟的方法及实现;曾祥君;《电力***自动化》;20030425;第27卷(第8期);正文第50页第5行-52页第2行 * |
Also Published As
Publication number | Publication date |
---|---|
CN103699001A (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103699001B (zh) | 利用恒温晶体振荡器实现的计时方法及*** | |
CN103176400B (zh) | 智能电表时钟校准方法 | |
CN105867107B (zh) | 一种低功耗高精度授时*** | |
US20200328718A1 (en) | Systems and methods for frequency compensation of real-time-clock systems | |
CN103454905B (zh) | 一种时间同步方法 | |
SE518565C2 (sv) | Frekvensnormal-generator | |
CN109525351A (zh) | 一种用于与时间基准站实现时间同步的设备 | |
EP2132875B1 (en) | Method for temperature compensation of a time basis | |
CN107276536A (zh) | 自适应温度补偿 | |
US8224606B2 (en) | Measuring clock jitter | |
CN104375004A (zh) | 一种测量晶振频率误差的方法及*** | |
KR101795199B1 (ko) | 신호 처리 장치 | |
CN106302014A (zh) | 宽量程高精度的信号测量方法 | |
CN114201001A (zh) | 一种实时时钟的补偿方法、装置、终端设备和介质 | |
US7259547B1 (en) | System and method to use dynamic feedback of analog to digital converter sample rate to adaptively lock the sample rate to input frequency | |
CN103501178A (zh) | 一种高稳时基振荡器自动校准电路及方法 | |
CN103618501A (zh) | 基于fpga的交流采样同步倍频器 | |
CN107733369A (zh) | 温度补偿晶体振荡器 | |
DE102015116782A1 (de) | Temperaturkompensierte Echtzeituhr | |
CN108132382A (zh) | 一种用于测量频率稳定度的*** | |
CN104460313A (zh) | 用于提供高精度大步长时间同步信号的gps授时装置 | |
CN209821607U (zh) | 时码测量分析仪 | |
CN103901271A (zh) | 一种频率测试方法及*** | |
KR20200034613A (ko) | 전자 시계에 통합된 타임 베이스의 평균 주파수를 조정하기 위한 방법 | |
EP3355626A1 (en) | Method and apparatus for digital quartz temperature and drift compensation for a sleep timer of a nb-iot device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |