周永川,马迅
(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.河北远东通信系统工程有限公司,河北 石家庄 050200)
一种实时钟电路自我修正的方法
周永川1,马迅2
(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.河北远东通信系统工程有限公司,河北 石家庄 050200)
实时钟电路一般由晶体振荡电路产生时钟计时信号,由于电路、晶体以及相关元器件老化等原因会导致晶体振荡电路的频率逐渐发生漂移,进而导致电路计时产生偏差。针对上述问题,研究并完成了一种实时钟电路在正常使用中进行自我检测并修正的方法。该方法可以检测实时钟电路输出秒脉冲和标准秒脉冲之间的频率及相位关系,并根据检测结果对晶体振荡电路进行调整。介绍了该方法的原理和实现方案,并通过实际测试验证了该方法的可行性和先进性。该方法已经在批量生产的实时钟电路中成功应用,修正效果显著,可有效减少产品后期维护的时间和成本。
实时钟;高精度;秒脉冲;相位;修正策略
采用直接序列扩频体制的卫星导航系统,具有信息隐蔽和抗干扰性强等特点,尤其是长码直捕在军事等特殊领域具有重要的应用[1]。导航接收机捕获、跟踪的关键是确定起始捕获时刻,起始时刻越准确,捕获时间越短,捕获过程越简易。接收机采用高精度的实时钟电路可以极大地减小捕获模块的复杂度,提高捕获速度[2,3]。现有实时钟电路常用技术是通过预测晶体老化率定期对晶体振荡电路进行补偿[4,5],这样通过预测晶体老化率的方法本身就存在准确度低的问题,而且电路经过长时间使用后会使补偿的误差变大[6]。因为导航接收终端设备在完成捕获跟踪后,能够从导航卫星获得标准时间信息,所以,利用该标准时间信息设计了一种实时钟电路自动检测并对晶体振荡电路进行校准的方法,该方法能够在接收机正常工作时持续运行,修正电路输出时间与标准时间的差值。实验证明,该方法能够避免预测晶体老化率不准确的问题,而且能够同时解决除晶体外其他相关元器件老化因素的影响。
1.1 实时钟电路工作模式
实时钟电路通常采用双电源供电,主电源供电时为正常工作模式,可以通过接口总线读取电路内部计时寄存器,电路还能输出时钟信号和秒脉冲信号等;后备电源(一般为纽扣电池)供电时为待机守时模式,此模式下电路只能进行内部补偿和计时,其余模块和接口不再供电,因此外部微处理器不能对实时钟电路进行操作,电路也不输出时钟信号、秒脉冲信号等[7,8]。
实时钟电路在守时模式下会根据温度变化自动从内部EEPROM读出补偿值来调整振荡电路的频率,维持实时钟电路输出精确的秒脉冲[9]。考虑到手持移动设备待机时间的问题,另外当实时钟电路进入待机守时模式后,电路的各个接口基本都是停止工作的,对实时钟电路中的振荡电路精度进行检测和调整的条件并不具备,因此,本文所提及的方法也只是在实时钟电路处于正常工作模式下才进行。
1.2 检测和调整方案
实时钟电路在由备用电源供电转为主电源供电、外部输入标准的秒脉冲信号和10 MHz的时钟信号条件下会进入微调模式,用外部输入的10 MHz时钟计数,计算电路输出秒脉冲和输入秒脉冲之间的相位差和相位关系[10],包括输出秒脉冲和输入秒脉冲之间的相对位置关系,即输出秒脉冲超前于还是滞后于输入秒脉冲,以及通过连续2次检测判断输出秒脉冲和输入秒脉冲之间相位差的变化趋势。
根据检测出的输出秒脉冲和输入秒脉冲之间的相位差和相位关系,判断是否对提供给振荡电路的补偿值进行修正,不需要修正时继续检测输出秒脉冲和输入秒脉冲之间的相位差和相位关系。需要进行修正时,根据相位关系对振荡电路的补偿值进行修正,即对补偿值加1或者减1,修正补偿值后继续检测输出秒脉冲和输入秒脉冲之间的相位关系,判断是否继续修正,直至修正到电路输出秒脉冲和输入秒脉冲之间的相位差不超过1个10 MHz时钟周期,锁定此时的补偿值,将锁定的补偿值写入EEP-ROM的相应地址空间.
将EEPROM中每个地址空间的最高位作为补偿值的修正状态指示,默认情况下为0,修正后的补偿值写入EEPROM后,将对应地址空间的最高位写为1,表示EEPROM中该地址空间的补偿值已经做过修正[11]。检测并调整电路频率的方案流程如图1所示。
图1 方案流程
频率和相位关系检测算法原理如图2所示。输入秒脉冲是通过导航卫星获得或者其它外部设备输入的标准秒脉冲信号,10 MHz时钟是由外部处理器或晶体振荡器输入的时钟信号。
图2 频率和相位检测算法原理
实时钟电路工作在正常模式下时,首先根据传感器的温度自动从EEPROM读出补偿值来调整振荡电路的振荡频率,维持实时钟电路输出稳定的秒脉冲。当同时具备以下3个条件:由主电源供电、外部输入秒脉冲信号、外部输入10 MHz的时钟信号,实时钟电路会进入频率调整模式。
实时钟电路用外部输入的10 MHz时钟计数,计算电路输出秒脉冲和输入秒脉冲之间的相位差和相位关系,相位关系包括输出秒脉冲和输入秒脉冲之间的相对位置关系,即输出秒脉冲超前于还是滞后于输入秒脉冲,以及通过连续2次检测判断输出秒脉冲和输入秒脉冲之间相位差的变化趋势。
因此,输出秒脉冲和输入秒脉冲之间会出现以下4种关系:
①输出秒脉冲滞后于输入秒脉冲,且输出秒脉冲向滞后于输入秒脉冲的方向偏移;
②输出秒脉冲超前于输入秒脉冲,且输出秒脉冲向超前于输入秒脉冲的方向偏移;
③输出秒脉冲超前于输入秒脉冲,且输出秒脉冲向滞后于输入秒脉冲的方向偏移;
④输出秒脉冲滞后于输入秒脉冲,且输出秒脉冲向超前于输入秒脉冲的方向偏移。
获得频率和相位检测结果后,首先根据检测出的输出秒脉冲和输入秒脉冲之间的相位差判断是否对振荡电路的补偿值进行修正,如果相位差大于1个10 MHz时钟周期则需要修正补偿值,如果相位差小于1个10 MHz时钟周期则不需要修正补偿值。当需要对补偿值进行修正时,则根据检测结果中的相位关系对振荡电路的补偿值进行修正。
补偿值修正策略如图3所示。图3中,圆圈中数字用来描述输出秒脉冲和输入秒脉冲之间的相位关系,逗号前面的数字指示输出秒脉冲和输入秒脉冲之间的相对位置关系,0表示输出秒脉冲超前于输入秒脉冲,1表示输出秒脉冲滞后于输入秒脉冲;逗号后面的数字指示输出秒脉冲和输入秒脉冲之间的相位变化趋势,0表示输出秒脉冲向超前于输入秒脉冲的方向偏移,1表示输出秒脉冲向滞后于输入秒脉冲的方向偏移。
图3 补偿值修正策略
对应的修正方法如下:
如果检测结果为(1,1),即输出秒脉冲滞后于输入秒脉冲,且输出秒脉冲向滞后于输入秒脉冲的方向偏移,则说明输出频率比输入频率低,且相位滞后,需要将补偿值加1,以提高频率并使相位接近;
如果检测结果为(0,0),即输出秒脉冲超前于输入秒脉冲,且输出秒脉冲向超前于输入秒脉冲的方向偏移,则说明输出频率比输入频率高,且相位超前,需要将补偿值减1,以降低频率并使相位接近;
如果检测结果为(0,1),即输出秒脉冲超前于输入秒脉冲,且输出秒脉冲向滞后于输入秒脉冲的方向偏移,则说明输出频率比输入频率低,但是相位超前,需要保持当前补偿值,继续检测,等相位接近后再调整频率;
如果检测结果为(1,0),即输出秒脉冲滞后于输入秒脉冲,且输出秒脉冲向超前于输入秒脉冲的方向偏移,则说明输出频率比输入频率高,但是相位滞后,需要保持当前补偿值,继续检测,等相位接近后再调整频率。
修正补偿值后,如果检测输出秒脉冲和输入秒脉冲之间的相位差仍大于1个10 MHz时钟周期,则继续根据相位关系进行修正。如果电路输出秒脉冲和输入秒脉冲之间的相位差不超过1个10 MHz时钟周期,则锁定当前的补偿值。将锁定的补偿值写入EEPROM的相应地址空间,同时将该地址空间的最高位写为1,表示EEPROM中该地址空间的补偿值已经做过修正。
按照上述方法设计并实现RTC电路后,进行了如下测试以验证RTC电路是否能够达到预期的±0.1 ppm精度要求,RTC电路测试原理框图如图4所示。测试过程全部在高低温箱中进行,以便验证RTC电路在整个工作温度范围内(-40~+85℃)的守时精度结果[12]。
图4 RTC电路测试原理
首先通过控制软件将RTC电路设置为待机守时工作模式,即不提供标准秒脉冲信号以及10 MHz时钟,在此条件下测试RTC电路修正前的精度及稳定性。控制温箱以每小时4℃的速率在-40~+85℃范围循环运行,用频率计记录输入秒脉冲的频率值,最后作图查看RTC电路补偿后的精度[13]。测试结果如图5所示,由数据分布可以看出,频率分布在-0.2~+0.7 ppm。
图5 修正前频率精度及稳定性测试结果
然后,通过控制软件将RTC电路设置为正常工作模式,外部接入标准秒脉冲信号以及10 MHz时钟,RTC电路即进入自我调整模式。控制温箱以每小时4℃的速率在-40~+85℃循环运行2次,使RTC电路内全温区的补偿值均得到修正。
完成后重新使RTC电路进入守时模式,按照上述方式测试RTC电路修正后的精度及稳定性。修正后RTC电路秒脉冲频率精度及稳定性测试结果如图6所示,可以看出修正后的频率分布在-0.1~+0.1 ppm。
图6 修正后频率精度及稳定性测试结果
由上述测试结果对比可知,该方法可以在导航接收机以及RTC电路正常工作的情况下,有效地修正RTC输出频率的偏差,使RTC电路能够持续为导航接收机提供精确的时间信息。
上述方法以标准的秒脉冲输入信号为基准,检测并修正实时钟电路因老化等原因产生的频率偏差,确保了实时钟电路在使用过程中甚至长期使用后的频率准确度和稳定性。调整过程只在接收机设备主电源供电时进行,在待机守时模式下停止工作,因此不会增加接收机设备待机的功耗,即不会缩短备用纽扣电池的使用时间。该方法可以为导航接收机提供更加准确的初始时间信息,尤其适合长码直捕导航终端方面的应用。
[1]张新波.卫星导航接收机中长码直捕算法研究与FPGA实现[D].成都:电子科技大学,2008:38-39.
[2]何成龙,王 垚.GPS L1C信号Weil码相关性能分析[J].无线电通信技术,2013,39(1):32-35.
[3]吴华兵.GNSS P码直捕算法研究与实现[D].北京:中国科学院研究生院,2011:1-5.
[4]王文革,万 千.国际移动卫星通信系统中频率补偿技术[J].无线电通信技术,2011,37(1):10-12.
[5]赵东世,凌朝东,黄炜炜,等.一种新型实时时钟芯片温度误差补偿方法[J].华侨大学学报(自然科学版),2011,32(4):478-480.
[6]党晓圆,单庆晓,肖昌炎,等.基于GPS与北斗双模授时的压控晶振校频系统的研究与设计[J].计算机测量与控制,2009,17(11):2 246-2 248.
[7]张德印.石英晶体振荡器[J].邢台师范高专学报,2002,17(2):45-47.
[8]李二鹏,文开章,冯保红,等.石英晶体振荡器频率特性的测量与分析[J].测控技术,2010,29(1):81-83.
[9]魏 婧.21.4 MHz晶体振荡器的微机温度补偿[D].成都:电子科技大学,2010:18-21.
[10]王 飞,苏 娟,高 光.GPS校频定时电路板的设计与应用[J].无线电工程,2001,31(2):23-25.
[11]陈建国.一种带有加密逻辑的EEPROM的应用[J].无线电工程,1997,27(5):60-64.
[12]杜 燕,刘阳琦,龚大亮.计算机时间同步误差的高精度测试方法[J].无线电工程,2009,39(2):57-58.
[13]周文利,饶友新,刘 刚,等.微处理器温度补偿晶体振荡器的设计[J].华中理工大学学报,2000,28(11):3-5.
A Method for Self-correction of Real Time Clock Circuit
ZHOU Yong-chuan1,MA Xun2
(1.The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China;2.Hebei Far East Communication System Engineering Co.,Ltd.,Shijiazhuang Hebei 050200,China)
The real-time clock circuit generally consists of a crystal oscillator circuit that generates a clock timing signal.Due to aging of the circuit,crystal and related components and other reasons,the frequency of the crystal oscillator circuit drifts gradually,lead-ing to circuit timing deviations.To solve these problems,a self-detect and correction method for real-time clock circuit in normal use is implemented.This method can detect the frequency and phase relationship between the second pulse generated by real-time clock circuit and the standard second pulse,and make adjustments to the crystal oscillator circuit according to test results.The principle and imple-mentation of the method are introduced,and feasibility and advancement of the method are verified by test.This method has been successfully applied in the production of real-time clock circuit,producing significant adjustment effect.The method can effectively reduce the time and cost of ongoing maintenance of products.
real-time clock;high accuracy;second pulse;phase;strategy of adjustment
TN752.2
A
1003-3106(2015)11-0033-04
10.3969/j.issn.1003-3106.2015.11.09
周永川,马 迅.一种实时钟电路自我修正的方法计[J].无线电工程,2015,45(11):33-36.
周永川男,(1982—),工程师。主要研究方向:集成电路设计与应用。
2015-08-20
国家部委基金资助项目。
马 迅男,(1986—),助理工程师。主要研究方向:集成电路设计与应用。