欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 测时学> 一种计算机同步时钟的UTC时间计算方法独创技术6904字

一种计算机同步时钟的UTC时间计算方法

2021-03-04 09:59:46

一种计算机同步时钟的UTC时间计算方法

  技术领域

  本发明涉及计算机同步和守时方法,特别涉及一种计算机同步时钟的UTC时间计算方法。

  背景技术

  近年来,基于接收机的守时授时技术非常普及,接收机具有表征UTC时间的秒脉冲,但是在导航领域还面临多传感器数据的采样同步性问题,以秒脉冲作为同步基准不能满足采样和解算的需求,这就需要带有UTC时间的高频率同步时钟。一种主流的做法是采用可驯服晶振,利用秒脉冲驯服晶振后将UTC时间传递给晶振分频出的同步时钟。但可驯服晶振会带来体积功耗的增大以及可靠性的降低。

  发明内容

  本发明解决的技术问题为:提供一种体积小、功耗少、可靠性高的计算机同步时钟UTC时间计算方法。

  本发明的技术方案:一种计算机同步时钟的UTC时间计算方法,其特征在于所述的方法包括如下步骤:

  步骤一,获取表征UTC时间的秒脉冲,同时获取计算机同步时钟;

  步骤二,实时计算最新一拍表征UTC时间的秒脉冲与最新一拍同步时钟的时间差Δt;

  步骤三,根据以下公式计算当前同步时钟的UTC时间Tn

  Tn=Tpps+Δt

  其中,Tpps为秒脉冲对应UTC时间。n为获取到Tpps的当前同步时钟及之后的计数值,n=0,1,2,3……。

  优选地,所述的方法还包括如下内容:

  同步时钟计算得到UTC时间后,新获取的Tpps无效或收不到新的秒脉冲时,引入稳定的晶振源,通过以下公式得到Tn的修正量ΔT:

  ΔT=N钟×T钟-N×T同

  其中,N钟为单位时间内晶振源的脉冲数;T钟为晶振源的脉冲周期;N为单位时间内同步时钟的脉冲数,T同为同步时钟的周期,N×T同可以依据补偿间隔选取需要的数值。

  根据以下公式计算修正后的当前同步时钟的UTC时间Tnx

  Tnx=Tn+ΔT

  该措施可以在外部UTC时钟源失效条件下利用稳定晶振源继续完成同步时钟的UTC时间推算,提高守时可靠性。

  优选地,所述的晶振源为原子钟。其晶振稳定度和重复性高。

  优选地,步骤二中当最新一拍表征UTC时间的秒脉冲与最新一拍同步时钟的时间差Δt大于1.5S时,Δt清零,自下一拍秒脉冲重新计算。该措施可以避免计数溢出导致的运算错误。

  本发明的有益效果:与现有技术相比,该方法不依赖可驯服晶振,利用普通晶振即可实现计算机同步时钟的UTC时间的获取,降低了体积和功耗;且同时可以利用秒脉冲和稳定晶振源互补完成守时修正,具有更高的可靠性。

  附图说明

  图1本发明的流程图;

  图2计算过程中的变量示意;

  图3施例1的硬件数据流;

  图4施例2的硬件数据流。

  具体实施方式

  下面结合附图对本发明的具体实施方式做进一步说明。

  实施例1

  如图3所示,一种计算机系统,包括一个处理器板,一个接口板,一个接收机和一个铷原子钟。处理器板晶振分频出的同步时钟400Hz上升沿是数据采样和解算的基准,该同步时钟传递给接口板。

  接收机会产生UTC整秒脉冲及对应的UTC时间,接口板通过422差分电平获取秒脉冲后触发内部计数器,计数器由其板内晶振(频率大于20M)计数,每个2.5ms上升沿到后向双口寄存器内更新计数结果NC,同时在下个秒脉冲到后清零重新计数。如图2所示。为防止计数溢出,当计数结果大于1.5S时清零,等待下一个秒脉冲触发计数。

  接收机和处理器板通过并行总线完成数据交互,处理器板在每个2.5ms中断内查询双口的秒脉冲UTC数据,当新的有效秒脉冲UTC数据到后在同一个2.5ms内通过并行总线获取接口板的计数结果Δt,

  Δt=NC×TC(1)

  其中TC为晶振计数周期。

  则当前2.5ms上升沿的UTC时间T2.5ms0表示如下:

  T2.5ms0=Tpps+Δt(2)

  其中Tpps为秒脉冲对应UTC时间。

  之后每个2.5ms上升沿到后均在T2.5ms0时刻上累加2.5ms,每个同步时钟的UTC时间即为:

  T2.5msn=T2.5ms0+2.5×n(3)

  n为处理器板收到有效UTC时间之后的400Hz同步时钟序号,n=1,2,3…,T2.5msn单位为ms。

  当下一个秒脉冲到后重新计算Δt,下一个有效UTC数据到后重新计算T2.5ms0和T2.5msn。

  以上过程完成400Hz同步时钟的UTC时间计算,并利用接收机继续守时修正。

  当无法获取秒脉冲或有效接收机UTC时间时,接口板内利用铷原子钟10M脉冲对400Hz晶振漂移进行修正,以一个2.5ms上升沿为触发计10M脉冲数,以其之后第N个2.5ms上升沿为计数终止

  ΔT=N钟×10-4-N×2.5(4)

  N钟为计数器对铷原子钟的脉冲计数值,N可以依据补偿间隔选取需要的数值,ΔT单位为ms。

  利用ΔT修正T2.5msnx,即

  T2.5msnx=T2.5msn+ΔT(5)

  n=1,2,3…,T2.5msnx单位为ms。在新的ΔT计算过程中,以上一拍计算结果为算子。

  通过以上计算步骤即可以完成计算机同步时钟的UTC时间计算及守时功能。

  实施例2

  如图4所示,一种计算机系统,将施例1中的处理器板和接口板合并,包括一个处理器板,一个接收机和一个铷原子钟。处理器板晶振(频率大于20M)分频出400Hz同步时钟,上升沿为基准和中断触发。

  接收机会产生UTC整秒脉冲及对应的UTC时间,处理器板通过422差分电平获取秒脉冲后触发内部计数器,计数器由其板内晶振计数,每个2.5ms上升沿到后向双口寄存器内更新计数结果NC,同时在下个秒脉冲到后清零重新计数。为防止计数溢出,当计数结果大于1.5S时清零,等待下一个秒脉冲触发计数。

  接收机和处理器板通过并行总线完成数据交互,处理器板在每个2.5ms中断内查询秒脉冲UTC数据,当新的有效秒脉冲UTC数据到后在同一个2.5ms内利用施例1公式(1)获取计数结果Δt,然后通过施例1中的公式(2)和公式(3)计算得到当前和之后每一个2.5ms上升沿的UTC时间。并利用接收机继续每一秒的守时修正。

  当无法获取秒脉冲或有效接收机UTC时间时,处理器板内利用铷原子钟10M脉冲对400Hz晶振漂移进行修正,以一个2.5ms上升沿为触发计10M脉冲数,以其之后第N个2.5ms上升沿为计数终止,则可以通过施例1中的公式(4)和公式(5)计算得到不依赖于接收机的400Hz同步时钟的UTC时间。

《一种计算机同步时钟的UTC时间计算方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)