一种获取高精度时间的方法

文档序号:7957304阅读:327来源:国知局
专利名称:一种获取高精度时间的方法
技术领域
本发明属于时间同步领域,尤其涉及一种获取高精度时间的方法。
背景技术
在通信领域,时间同步变的越来越重要。要提供准确的时间必须能够获得高精度的时间,最方便和快捷的获得时间的途径是GPS。GPS的时间和时刻都是通过GPS接收机或者接收卡来获得。GPS接收机或者接收卡通过串口来提供时间信息,通过输出的秒信号脉冲来提供时刻信息。现有的获得时间的办法,是将时间服务器与GPS卫星接收机通过串口连接,时间服务器接收GPS卫星接收机送来的时间信息,用接收的时间信息直接校正本地服务器的时间,从而使时间服务器的本地时间与GPS卫星接收机的时间保持一致。
用现有技术获得的时间主要的缺点是精度比较差,主要的原因如下1)GPS卫星接收机向串口发送时间信息的时刻,并不是准确的时刻,这个时刻与时间信息所携带的标准时间有一定的延时。2)GPS卫星接受机通过串口发送时间信息到时间服务器接收到信息有一定的延时。因为串口传送信息的速率比较慢。以上两个原因决定了时间服务器并不能获得高精度准确的时间,时间服务器的时间精度与GPS时间精度有一定的差距。

发明内容
有鉴于此,本发明的主要目的在于提供一种获取高精度时间的方法,用于消除现有技术方案由于延时产生的误差,把GPS接收机提供的时间和时刻信息转化为时间服务器本身的时间,使时间服务器能够获得高精度的时间。
为实现上述目的,本发明提供了一种获取高精度时间的方法,该方法包括ACPU接收到秒脉冲信号后,进入时间处理程序,读出实时时钟芯片的时间T1;BCPU获得卫星接收卡发送的时间T2;CCPU计算出卫星时间T2与实时时钟芯片T1的时间差ΔT=T2-T1;DCPU接收到下一个秒脉冲信号后,读出实时时钟芯片的时间T3;ECPU将T3+ΔT写入实时时钟芯片中。
其中,步骤A具体为CPU接收到秒脉冲信号后,触发CPU的一个外部中断,进入时间处理程序,读出实时时钟芯片的时间T1。
其中,步骤A中的时间处理程序为CPU的中断处理函数。
其中,步骤B具体为CPU通过串口获得卫星接收卡发送的时间T2。
其中,步骤E具体为CPU通过并口将T3+ΔT写入实时时钟芯片中。
使用本方明方法使得时间服务器可以经济方便的获得准确和高精度的时间,从而利用时间服务器本地的时间向外提供各种高精度的时间服务,为各种通信设备校正时间。


图1为本发明的原理框图。
图2为本发明的方法流程图。
具体实施例方式
本发明为一种获取高精度时间的方法,为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图,对本发明进一步详细说明。
本发明原理框图如图1所示,时间服务器包括卫星接收卡,CPU,实时时钟芯片,以及向实时时钟芯片供电的电池。卫星接收卡与CPU之间有两个连接卫星接收卡输出秒脉冲信号到CPU,可作为CPU的一个外部中断输入;卫星卡的串口与CPU的串行接口连接,以便CPU可以接收卫星卡输出的时间信息。CPU通过数据线和地址线与实时时钟芯片连接,以便获取和设置时间。电池主要给实时时钟芯片供电。
如图2所示,本发明所提供的方法包括当秒脉冲到时,时间服务器的CPU接收到秒脉冲信号,进入时间处理程序,读出实时时钟芯片的时间T1。该步骤可由秒脉冲的上升沿触发时间服务器CPU的一个外部中断来实现,也可以由时间服务器CPU定时查询秒脉冲上升沿是否来到以实现;在秒脉冲信号产生后很短时间内(大约是10ms量级),卫星接收卡会通过串口向外发送时间信息,时间信息包括了年月日,小时,分,秒,此时间信息代表的是前一个秒脉冲产生的准确时间,CPU通过串口获得卫星接收卡发送的时间T2;接着CPU计算出卫星时间T2与实时芯片T1的时间差ΔT=T2-T1;当下一个秒脉冲来到时,CPU接收到该信号,读出实时时钟芯片的时间T3;CPU将T3+ΔT写入实时时钟芯片中,从而完成一次时间校正。
通过以上步骤,就完成了一次时间校正。当下一个秒脉冲到来时,重复步骤A,开始下一次校正。
权利要求
1.一种获取高精度时间的方法,其特征是,包括步骤ACPU接收到秒脉冲信号后,进入时间处理程序,读出实时时钟芯片的时间T1;步骤BCPU获得卫星接收卡发送的时间T2;步骤CCPU计算出卫星时间T2与实时时钟芯片T1的时间差ΔT=T2-T1;步骤DCPU接收到下一个秒脉冲信号后,读出实时时钟芯片的时间T3;步骤ECPU将T3+ΔT写入实时时钟芯片中。
2.如权利要求1所述获取高精度时间的方法,其特征是步骤A具体为CPU接收到秒脉冲信号后,触发CPU的一个外部中断,进入时间处理程序,读出实时时钟芯片的时间T1。
3.如权利要求1所述获取高精度时间的方法,其特征是步骤A中的时间处理程序为CPU的中断处理函数。
4.如权利要求1所述获取高精度时间的方法,其特征是步骤B具体为CPU通过串口获得卫星接收卡发送的时间T2。
5.如权利要求1所述获取高精度时间的方法,其特征是步骤E具体为CPU通过并口将T3+ΔT写入实时时钟芯片中。
全文摘要
本发明提供了一种获取高精度时间的方法当时间服务器的CPU接收到卫星接收卡发送的秒脉冲上升沿时,进入时间处理程序,读出实时时钟芯片的时间T1,然后读出卫星接收卡的时间T2,并计算出T2与T1的时间差ΔT,在下一个秒脉冲到来时,CPU在时间处理程序中读出实时时钟芯片的时间T3,并将T3+ΔT设置到实时时钟芯片中,完成一次时间校正。当下一个秒脉冲到来时开始下一次矫正。利用本发明可以消除现有技术方案由于延时产生的误差,把GPS接收机提供的时间和时刻信息转化为时间服务器本身的时间,使时间服务器能够获得高精度的时间。
文档编号H04J3/06GK101043253SQ200610061330
公开日2007年9月26日 申请日期2006年6月26日 优先权日2006年6月26日
发明者张晓勇 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1