一种在局域网络中实现时间同步的方法及系统的制作方法

文档序号:7722054阅读:84来源:国知局
专利名称:一种在局域网络中实现时间同步的方法及系统的制作方法
技术领域
本发明涉及网络时间同步技术,尤其涉及在局域网络中实现时间同步的方法及系 统。
背景技术
在网络(包括通信网络和多媒体广播网络)领域内,“同步”的概念是指频率的同 步,即网络各个节点的时钟频率和相位符合相关标准的规定。单机系统本身的时钟由于是 以廉价的振荡电路或石英钟为基础,故每天的误差可达数秒。而在通信领域中,随着不断增 加的业务种类及对网络的依赖性的逐渐增强,不准确的系统时钟对网络结构和其中应用程 序的安全性会产生较大的影响,尤其是那些对没有实现网络同步而导致的时间误差问题比 较敏感的网络指令或应用程序。为了解决网络时钟同步的问题,已经出现了与网络交流、本地计算和分配对象有 关的精确同步时钟的协议IEEE1588,并在此基础上出现了一些网络时钟同步芯片。时间同步是指网络各个节点时钟以及通过网络连接的各个应用界面的时钟的时 刻和时间间隔与协调世界时(UTC, Universal Time Coordinated)的同步。时间同步网络 是保证时间同步的基础,构成时间同步网络可以采取有线方式,也可以采取无线方式。而现有的时间同步网络大多没有运用上述网络时钟同步芯片,因此要么系统形成 很复杂,导致系统成本较高;要么系统的时间同步精度不够,导致时间同步效果不好。

发明内容
本发明所要解决的技术问题是提供一种在局域网络中实现时间同步的方法及系 统,能够充分利用网络时钟同步芯片实现精准的的时间同步。为了解决上述技术问题,本发明提供了一种在局域网络中实现时间同步的方法, 涉及主系统设备和从系统设备,该方法包括配置在局域网络中的主系统设备根据正常接收的来自全球定位系统(GPQ卫星 的协调世界时(UTC)时间基准和与该UTC时间基准对齐的网络时钟同步本地时间,并定时 向作为从系统设备的需要进行时间同步的各个网络节点广播本地时间;从系统设备根据接收的主系统设备的本地时间和与主系统设备的网络时钟对齐 的本地网络时钟同步更新本地时间。进一步地,主系统设备根据正常接收的来自GPS卫星的UTC时间基准和与UTC基 准对齐的网络时钟同步本地时间,具体包括所述主系统设备通过UTC时间接收中断接收来自GPS卫星的UTC时间包,若判断 UTC时间包接收正常,则从该时间包中解析出UTC时间;通过网络时钟以与UTC时间接收中 断相位对齐的本地网络同步时钟中断进行计时,将计时的UTC时间接收周期与UTC时间相 加,同步为主系统设备的本地时间。进一步地,
主系统设备若判断UTC时间包接收异常,则采用软件延时的方式暂时维护本地时 间;或者,当主系统设备长久地接收UTC时间包异常,则将采用软件延时方式模拟的UTC时 间同步为本地时间。进一步地,主系统设备将采用软件延时方式模拟的UTC时间同步为本地时间,具 体包括保存UTC时间接收中断触发的上一次计时秒数,获取并保存当前计时秒数和毫秒 数;当不是初次模拟UTC时间,且若计算当前计时秒数和上一次计时秒数的差大于 UTC时间接收周期,则将当前计时秒数减一作为模拟的UTC时间的秒数保存;若计算当前计 时秒数和上一次计时秒数的差小于UTC时间接收周期,则将当前计时秒数加一作为模拟的 UTC时间的秒数保存;采用上一次计时毫秒数作为模拟的UTC时间的当前毫秒数保存,将保存的模拟的 UTC时间设定为本地时间。进一步地,从系统设备根据接收的主系统设备的本地时间和与主系统设备的网络 时钟对齐的本地网络时钟同步更新本地时间,具体包括从系统设备将接收到的主系统设备定时广播的本地时间保存,当本地网络时钟采 用与主系统设备的网络同步时钟中断的相位对齐的本地网络同步时钟中断进行计时的下 一个单位时间的周期到达时,将保存的主系统设备的本地时间与单位时间相加同步为从系 统设备的本地时间。为了解决上述技术问题,本发明提供了一种在局域网络中实现时间同步的系统, 包括主系统设备和从系统设备,其中主系统设备,用于根据正常接收的来自全球定位系统(GPS)卫星的协调世界时 (UTC)时间基准和与该UTC时间基准对齐的网络时钟同步本地时间,并定时向作为从系统 设备的需要进行时间同步的各个网络节点广播本地时间;从系统设备,用于根据接收的主系统设备的本地时间和与主系统设备的网络时钟 对齐的本地网络时钟同步更新本地时间。进一步地,主系统设备进一步包括依次连接的网络时钟同步模块、外部时间模块、 本地时间模块以及时间输出模块,其中网络时钟同步模块,用于通过内部的鉴相器和精准的晶振产生与UTC时间接收中 断相位对齐的网络同步时钟中断进行本地网络时钟计时;外部时间模块,用于通过UTC时间接收中断接收来自GPS卫星的UTC时间包,若判 断UTC时间包接收正常则解析出UTC时间;将通过网络时钟计时的UTC时间接收周期与解 析出的UTC时间相力卩,作为本地时间值输出给本地时间模块;本地时间模块,用于保存输入的本地时间值;时间输出模块,用于定时向从系统设备广播输出本地时间模块保存的本地时间值。进一步地,从系统设备包括依次连接的时间输入模块、本地时间模块以及网络时 钟同步模块,其中时间输入模块,用于将接收的主系统设备的本地时间输出给本地时间模块;
本地时间模块,用于保存输入的主系统设备的本地时间,在网络时钟同步模块输 出的本地网络同步时钟中断到达时,将保存的主系统设备的本地时间加一作为本地时间值 输出;网络时钟同步模块,用于将与主系统设备的网络同步时钟中断相位相同的本地网 络同步时钟中断输出给本地时间模块。按照权利要求7所述的系统,其特征在于,外部时间模块若判断UTC时间包接收异常,则采用软件延时的方式暂时维护本地 时间输出给所述本地时间模块;或者,当长久地接收UTC时间包异常,则将采用软件延时方 式模拟的UTC时间同步为本地时间输出给本地时间模块。进一步地,外部时间模块将模拟的UTC时间同步为本地时间,是指先保存UTC时间接收中断触发的上一次计时秒数,获取并保存当前计时秒数和毫 秒数;当不是初次模拟UTC时间,且若计算当前计时秒数和上一次计时秒数的差大于UTC时 间接收周期,则将当前计时秒数减一作为模拟的UTC时间的秒数保存;若计算当前计时秒 数和上一次计时秒数的差小于UTC时间接收周期,则将当前计时秒数加一作为模拟的UTC 时间的秒数保存;采用上一次计时毫秒数作为模拟的UTC时间的当前毫秒数保存,将保存 的模拟的UTC时间设定为本地时间。与现有技术相比较,本发明引入了一种大部分基于硬件的包括网络时钟同步芯片 在内的具有较高精度的时间同步机制,对网络的负担很小;并在此基础上设计了多层次的 软件防错性处理,从而使系统时间同步的准确性及可靠性提高,使网络上各个节点的时间 保持高度的一致性,由此也丰富了网络时钟同步芯片的应用。


图1是本发明的在局域网络中实现时间同步的系统实施例的结构示意图;图2为本发明将网络同步中断与GPS的UTC时间信号接收中断匹配的关系示意 图;图3是将网络时钟同步芯片应用于图1所示系统实施例进行网络时钟同步初始化 场景的示意图;图4为图1所示的系统实施例中的主系统进行时间同步方法流程图;图5为图1所示的系统实施例中的主系统将模拟的UTC时间同步为本地时间的方 法流程图;图6为图1所示的系统实施例中的从系统进行时间同步方法流程图。
具体实施例方式本发明提供的在局域网络中实现时间同步的方法及系统,其发明构思是,网络时 间同步通过主从系统各自的时间同步机制和相互对齐的网络时钟实现。其中,主系统将正 常接收的来自GPS卫星的UTC时间基准同步为本地时间,或者在接收UTC时间基准不正常 时采用软件延时方式暂时维护本地时间,或者在接收UTC时间基准长久不正常时将采用软 件延时方式模拟的UTC时间同步为本地时间;从系统根据主系统定时广播的主系统本地时 间和与主系统网络时钟对齐的本地网络时钟同步更新本地时间。
以下结合附图和优选实施例对本发明的技术方案进行详细地阐述。以下例举的实 施例仅仅用于说明和解释本发明,而不构成对本发明技术方案的限制。本发明提供的在局域网络中实现时间同步的方法实施例,包括在局域网络中配置主系统设备,根据正常接收的来自GPS卫星的UTC基准和与该 UTC基准对齐的网络时钟同步本地时间,并定时向作为从系统设备的需要进行时间同步的 各个网络节点广播主系统本地时间;从系统设备根据接收的主系统本地时间和与主系统网络时钟对齐的本地网络时 钟同步更新本地时间。主系统设备通过UTC时间接收中断,在正常接收到来自GPS卫星的UTC时间包后, 将该时间包解析出UTC时间,网络时钟以与UTC时间接收中断相位对齐的网络同步时钟中 断计时,计时的UTC时间接收周期Os)与解析出UTC时间相加,同步为本地时间。主系统设备根据协议IEEE1588规定的标志来判断是否正常接收到UTC时间包。当 主系统设备未能正常接收到UTC时间包,则采用软件延时的方式暂时维护本地时间。或者, 当主系统设备长久未能正常接收到UTC时间包,则将采用软件延时方式模拟的UTC时间同 步为本地时间。从系统设备的网络时钟采用与主系统设备的网络同步时钟中断的相位对齐的网 络同步时钟中断计时。如图1所示,是本发明提供的在局域网络中实现时间同步的系统实施例的结构, 包括主系统设备和一个或多个从系统设备,其中主系统设备,用于根据正常接收的来自GPS卫星的UTC时间基准和与该UTC时间 基准对齐的网络时钟同步本地时间,并定时向作为从系统设备的需要进行时间同步的各个 网络节点广播主系统本地时间;从系统设备,用于根据接收的主系统设备本地时间和与主系统设备的网络时钟对 齐的本地网络时钟同步更新本地时间。主从系统设备通过各自的数据通信接口进行连接,相互进行数据通信。图1所示的主系统设备进一步包括依次连接的网络时钟同步模块、外部时间模 块、本地时间模块以及时间输出模块,其中网络时钟同步模块,用于以与UTC时间接收中断相位对齐的网络同步时钟中断进 行本地网络时钟计时;外部时间模块,用于通过UTC时间接收中断接收来自GPS卫星的UTC时间包,并在 确认接收正常后将该时间包解析出UTC时间,以与UTC时间接收中断相位对齐的网络同步 时钟中断计时的2s时间作为UTC时间接收周期,与解析出UTC时间相加后作为本地时间值 输出给本地时间模块;本地时间模块,用于保存输入的本地时间值;时间输出模块,用于定时向从系统设备广播输出本地时间模块保存的本地时间值。上述网络时钟同步模块具体是采用专用的网络时钟同步芯片结合软件的方式实 现。其中软件由两部分组成第一部分是运行在该同步芯片上的处理器中的软件包,主要对 该同步芯片进行配置、驱动以及对固件升级;第二部分是运行在同步芯片上的固件。两部分软件间通过串行外围设备接口(SPI,Serial Peripheral Interface)进行通信,实现对同 步芯片的网络时钟同步的控制。同步芯片上的程序,通过芯片上自带的网络接口进行主从 系统网络时钟之间的IEEE1588协议通信,从而实现主从系统设备网络时钟同步的初始化, 如图3所示。由于外部时间模块从接收UTC时间包到从中解析出UTC时间是有一定时间差的, 如图2所示。因此,用一个与UTC时间接收中断相位对齐的网络同步时钟产生的秒中断进 行计时2秒,以此将上述时间差精确地调整过来。外部时间模块是通过内部的鉴相器和精准的晶振产生与UTC时间接收中断相位 对齐的网络同步时钟中断,并输出给网络时钟同步模块,并通过网络时钟同步模块输出给 从系统设备。外部时间模块根据协议IEEE1588规定的标志来判断确认是否正常接收到UTC时 间包。当外部时间模块未能正常接收到UTC时间包,则通过软件延时的方式暂时维护输出 本地时间值。或者,当外部时间模块长久未能正常接收到UTC时间包,则将通过软件延时方 式模拟的UTC时间同步为本地时间值输出。图1所示的从系统设备(譬如图1所展示的从系统设备1)进一步包括依次连接 的时间输入模块、本地时间模块以及网络时钟同步模块,其中时间输入模块,用于将接收的主系统设备定时广播的主系统本地时间输出给本地 时间模块;本地时间模块,用于保存输入的主系统设备的本地时间,在网络时钟同步模块输 出的网络同步时钟中断到达时,将Is时间与保存的主系统设备的本地时间相加,作为本地 时间值输出;网络时钟同步模块,用于将从主系统设备输入的网络同步时钟中断输出给本地时 间模块。如图3所示,在网络时钟同步主设备(即主系统的网络时钟同步模块)端有参考 时钟输入,产生IEEE1588精确时间协议参考包输出到网络时钟同步从设备端,再由网络时 钟同步从设备产生稳定的时钟输出。如图4所示,是图1所示的系统实施例中的主系统设备进行时间同步的方法流程, 包括如下步骤110 接收来自GPS卫星的外部UTC时间;主系统设备通过UTC时间接收中断接收到来自GPS卫星的UTC时间包。120 判断外部UTC时间接收是否正常,是则执行步骤130,否则执行步骤150 ;主系统设备根据协议IEEE1588规定的标志来判断是否正常接收到UTC时间包。130 解析接收的外部UTC时间,并将解析出的UTC时间加上接收周期2s时间作为 外部UTC时间保存;140 将外部的UTC时间同步为本地时间,返回步骤110执行;150 继续判断外部UTC时间接收是否长久不正常,是则执行步骤160,否则执行步 骤 170 ;160 采用软件延时方式将模拟的UTC时间同步为本地时间,返回步骤110执行;170 采用软件延时方式维护本地时间,返回步骤110执行。
通过图4可以看出,本发明的时间同步通过三层结构时间来维护,其中时间精度 由高到低依次为GPS产生的真实的UTC时间,模拟的UTC时间,以及基于系统软件延时维 护的时间。在实际应用中,优先选择GPS产生的真实的UTC时间,只有当GPS接收异常时, 才使用系统软件延时过渡到模拟的UTC时间。当GPS接收恢复正常后,则重新采用真实的 UTC时间。图5表示出图4中步骤160采用软件延时方式将模拟的UTC时间同步为本地时间 的具体流程,包括如下步骤1601 保存上一次PP2S(即UTC时间接收中断)触发时间的秒数LasUecond ;1602 获取并保存系统当前时间的秒数CurSecond、毫秒数CurMillSecond ;1603 判断是否第一次进入模拟UTC时间机制,是则执行步骤1604,否则执行步骤
1605;1604 将上一次的毫秒数LastMillkcond作为模拟的UTC时间保存,并结束流 程;1605 计算CurSecond-LastSecond是否为2,是则执行步骤1609,否则执行步骤
1606;1606 计算CurSecond-Lastkcond是否为1,是则执行步骤1608,否则执行步骤 1607 ;1607 计算上述差值为3,表示模拟的时间快了,将CurSecond-l作为模拟的UTC 时间的秒数保存,执行步骤1609 ;1608 计算上述差值为1,表示模拟的时间慢了,将CurSecond-l作为模拟的UTC 时间的秒数保存;1609 采用LastMillkcond作为模拟的UTC时间的当前毫秒数;1610 将模拟的UTC时间重新设定为本地时间,结束流程。图6表示了图1所示的系统实施例中的从系统设备进行时间同步方法的具体流 程,包括如下步骤210:是否接收到主系统设备定时广播的主系统本地时间,是则执行下列步骤,否 则执行步骤230 ;220 将接收到的主系统设备的本地时间保存为PPlS ;230 在与主系统设备网络时钟对齐的本地网络时钟下一个秒周期中断到达时,将 PP1S+1同步为本地时间;返回步骤210执行。从系统设备的本地网络时钟采用与主系统设备的网络同步时钟中断相位对齐的 从系统设备的网络同步时钟中断进行计时,当下一个秒周期到达时将PP1S+1设置为本地 时间。通过以上实施例可以看出,本发明将网络时间同步与网络时钟同步配合使用,分 别在主从系统设备上基于高性能的网络时钟同步芯片(模块)实现周期为1秒的网络时钟 中断,并通过GPS的UTC时间接收中断相位与网络时钟中断相位的对齐机制,以及预防GPS 天线工作异常时导致时间设置误差的防错性设计,均使得网络系统时间同步的可靠性、准 确性提高,网络上各个节点的时间据此能够保持较高的一致性,由此也丰富了网络时钟同 步芯片的应用。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的包含范围。凡在 本发明的精神和原则之内所作的任何修改、等同替代、改进等,均应包含在本发明的保护范 围之内。
权利要求
1.一种在局域网络中实现时间同步的方法,涉及主系统设备和从系统设备,该方法包括配置在局域网络中的所述主系统设备根据正常接收的来自全球定位系统(GPQ卫星 的协调世界时(UTC)时间基准和与所述UTC时间基准对齐的网络时钟同步本地时间,并定 时向作为所述从系统设备的需要进行时间同步的各个网络节点广播所述本地时间;所述从系统设备根据接收的所述主系统设备的本地时间和与所述主系统设备的网络 时钟对齐的本地网络时钟同步更新本地时间。
2.按照权利要求1所述的方法,其特征在于,所述主系统设备根据正常接收的来自GPS 卫星的UTC时间基准和与所述UTC基准对齐的网络时钟同步本地时间,具体包括所述主系统设备通过UTC时间接收中断接收来自所述GPS卫星的UTC时间包,若判断 所述UTC时间包接收正常,则从该时间包中解析出所述UTC时间;通过所述网络时钟以与所 述UTC时间接收中断相位对齐的本地网络同步时钟中断进行计时,将计时的UTC时间接收 周期与所述UTC时间相加,同步为所述主系统设备的本地时间。
3.按照权利要求2所述的方法,其特征在于,所述主系统设备若判断所述UTC时间包接收异常,则采用软件延时的方式暂时维护本 地时间;或者,当所述主系统设备长久地接收所述UTC时间包异常,则将采用软件延时方式 模拟的UTC时间同步为本地时间。
4.按照权利要求3所述的方法,其特征在于,所述主系统设备将采用软件延时方式模 拟的UTC时间同步为本地时间,具体包括保存所述UTC时间接收中断触发的上一次计时秒数,获取并保存当前计时秒数和毫秒数;当不是初次模拟UTC时间,且若计算所述当前计时秒数和所述上一次计时秒数的差大 于所述UTC时间接收周期,则将所述当前计时秒数减一作为所述模拟的UTC时间的秒数保 存;若计算所述当前计时秒数和所述上一次计时秒数的差小于所述UTC时间接收周期,则 将所述当前计时秒数加一作为所述模拟的UTC时间的秒数保存;采用所述上一次计时毫秒数作为所述模拟的UTC时间的当前毫秒数保存,将保存的所 述模拟的UTC时间设定为本地时间。
5.按照权利要求2至4任一项所述的方法,其特征在于,所述从系统设备根据接收的所 述主系统设备的本地时间和与所述主系统设备的网络时钟对齐的本地网络时钟同步更新 本地时间,具体包括所述从系统设备将接收到的所述主系统设备定时广播的本地时间保存,当所述本地网 络时钟采用与所述主系统设备的网络同步时钟中断的相位对齐的本地网络同步时钟中断 进行计时的下一个单位时间的周期到达时,将保存的所述主系统设备的本地时间与所述单 位时间相加同步为所述从系统设备的本地时间。
6.一种在局域网络中实现时间同步的系统,包括主系统设备和从系统设备,其中所述主系统设备,用于根据正常接收的来自全球定位系统(GPS)卫星的协调世界时 (UTC)时间基准和与所述UTC时间基准对齐的网络时钟同步本地时间,并定时向作为所述 从系统设备的需要进行时间同步的各个网络节点广播所述本地时间;所述从系统设备,用于根据接收的所述主系统设备的本地时间和与所述主系统设备的网络时钟对齐的本地网络时钟同步更新本地时间。
7.按照权利要求6所述的系统,其特征在于,所述主系统设备进一步包括依次连接的 网络时钟同步模块、外部时间模块、本地时间模块以及时间输出模块,其中所述网络时钟同步模块,用于通过内部的鉴相器和精准的晶振产生与UTC时间接收中 断相位对齐的网络同步时钟中断进行本地网络时钟计时;所述外部时间模块,用于通过UTC时间接收中断接收来自所述GPS卫星的UTC时间包, 若判断所述UTC时间包接收正常则解析出UTC时间;将通过所述网络时钟计时的所述UTC 时间接收周期与解析出的所述UTC时间相加,作为本地时间值输出给所述本地时间模块;所述本地时间模块,用于保存输入的本地时间值;所述时间输出模块,用于定时向所述从系统设备广播输出所述本地时间模块保存的本 地时间值。
8.按照权利要求7所述的系统,其特征在于,所述从系统设备包括依次连接的时间输 入模块、本地时间模块以及网络时钟同步模块,其中所述时间输入模块,用于将接收的所述主系统设备的本地时间输出给所述本地时间模块;所述本地时间模块,用于保存输入的主系统设备的本地时间,在所述网络时钟同步模 块输出的本地网络同步时钟中断到达时,将保存的主系统设备的本地时间加一作为本地时 间值输出;所述网络时钟同步模块,用于将与所述主系统设备的网络同步时钟中断相位相同的所 述本地网络同步时钟中断输出给所述本地时间模块。
9.按照权利要求7所述的系统,其特征在于,所述外部时间模块若判断所述UTC时间包接收异常,则采用软件延时的方式暂时维护 本地时间输出给所述本地时间模块;或者,当长久地接收所述UTC时间包异常,则将采用软 件延时方式模拟的UTC时间同步为本地时间输出给所述本地时间模块。
10.按照权利要求8所述的系统,其特征在于,所述外部时间模块将模拟的UTC时间同 步为本地时间,是指先保存所述UTC时间接收中断触发的上一次计时秒数,获取并保存当前计时秒数和毫 秒数;当不是初次模拟UTC时间,且若计算所述当前计时秒数和所述上一次计时秒数的差 大于所述UTC时间接收周期,则将所述当前计时秒数减一作为所述模拟的UTC时间的秒数 保存;若计算所述当前计时秒数和所述上一次计时秒数的差小于所述UTC时间接收周期, 则将所述当前计时秒数加一作为所述模拟的UTC时间的秒数保存;采用所述上一次计时毫 秒数作为所述模拟的UTC时间的当前毫秒数保存,将保存的所述模拟的UTC时间设定为本 地时间。
全文摘要
本发明披露了一种在局域网络中实现时间同步的方法及系统,涉及主系统设备和从系统设备,该方法包括配置在局域网络中的主系统设备根据正常接收的来自GPS卫星的UTC时间基准和与该UTC时间基准对齐的网络时钟同步本地时间,并定时向作为从系统设备的需要进行时间同步的各个网络节点广播本地时间;从系统设备根据接收的主系统设备的本地时间和与主系统设备的网络时钟对齐的本地网络时钟同步更新本地时间。本发明基于硬件的包括网络时钟同步芯片在内的具有较高精度的时间同步机制,提高了系统时间同步的准确性及可靠性,使网络各节点的时间保持高度的一致性。
文档编号H04L12/28GK102098194SQ20091025216
公开日2011年6月15日 申请日期2009年12月10日 优先权日2009年12月10日
发明者方彦彬, 梁涛 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1