实现精确时间同步的方法和设备的制作方法

文档序号:7890047阅读:532来源:国知局
专利名称:实现精确时间同步的方法和设备的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种实现精确时间同步的方法和设备。
背景技术
IEEE1588是一种用于规定系统中设备的时间如何相互同步以实现时间同步的分布式同步协议,系统中各设备被组织成主从同步层级结构。其中,在层级顶层的设备的时间成为主时钟,其他设备的时间为从时钟,主时钟决定了整个系统的参考时间,主从设备之间通过交换精确时间协议(PTP)消息得到用于时间同步的T1、T2、T3和Τ4来实现时间同步。现有通过PTP消息进行交互的过程为1、从设备通过下行线路接收由主设备发送Sync报文,同时,通过下行线路接收由主设备发送的带有Sync报文的发送时间Tl的R)ll0WUp报文;2、从设备接收到Sync报文后,记录该Sync报文的到达时间T2,并从R)llomip报文中得到时间Tl,同时,在时间点T3,从设备通过上行线路向主设备发送Delay_Req报文;3、主设备接收到Delay_Req报文后,记录该Delay_Req报文的到达时间T4,并将T4携带在响应报文Delay_ReSp报文中通过下行线路发送给从设备;4、从设备从接收到的Delay_ReSp报文中得到时间T4。在得到了 Tl、T2、T3和"Γ4后,从设备即可根据公式Offset =((T2-T1) -(T4-T3)) /2得到主从设备之间的时间差。图1给出了现有时间同步系统中从设备的结构示意图。如图1所示,该从设备由软件部分和硬件部分两部分组成,软件部分包括报文处理单元、同步计算单元和时间管理单元,硬件部分包括时间计数单元、时间戳单元和时间戳FIFO。其中,报文处理单元,用于同主设备进行PTP消息的收发,并将收发时从时间戳单元或时间戳FIFO得到的T1、T2、T3、T4发送给同步计算单元,在进行PTP消息收发的同时,还用于根据ΙΕΕΕ1588协议定义添加时间戳(软件秒部分时间+硬件纳秒部分时间)与修正值(负的硬件纳秒部分时间);同步计算单元,用于根据公式Offset = ((Τ2-Τ1)-(Τ4-Τ3))/2对从报文处理单元得到的Τ1、Τ2、Τ3、Τ4进行计算,得到时间差Offset,将所述时间差Offset发送给时间管理单元;时间管理单元,用于将同步计算单元接收到的Offset发送给硬件部分中的时间计数单元,并为报文处理单元提供初始时间戳与修正值;时间计数单元,用于根据得到的Offset对时间进行校正,从而使得从设备时间同主设备时间进行同步。可以看出,现有在进行时间同步时,每当计算得到时间差Offset,都需要将该时间差发送给硬件部分中的时间计数单元,由时间计数单元根据时间差修改时间,以完成时间同步。对于时间同步系统中的主设备来说,与从设备不同之处在于,软件部分中没有同
4步计算单元,即无需计算时间差Offset,但与从设备一样,也需要进行时间同步,只不过这里的同步的是从外时钟接口接收到的时间,即硬件部分中的时间计数单元根据从时间管理单元接收到TOD和外部IPPS修改时间,完成同外部时间的同步。通过上述分析可见,不管是从设备还是主设备,在进行时间同步时,都需要由硬件部分中的时间计数单元来修改时间。由此,在完成时间同步之前,需要不断地通过时间计数单元来修改时间,而时间计数单元通常位于MAC,PHY等转发芯片中,不断地对这些转发芯片进行修改会严重影响其他业务的开展。同时,时间计数单元计数频率通常为125M,即一个计时脉冲为8ns,单个设备时间同步修改的精度也就为8ns,由此在对30台设备的典型应用中,理论上各设备已实现时间同步的情况下,依然会造成较大的误差。

发明内容
有鉴于此,本发明提供了一种实现精确时间同步的方法,能够实现精确的时间同步,且无需由硬件部分的时间计数单元来修改时间。本发明还提供了一种实现精确时间同步的设备,能够实现精确的时间同步,且无需由硬件部分的时间计数单元来修改时间。为了达到上述目的,本发明提出的技术方案为一种实现精确时间同步的方法,该方法包括为设备软件时间和硬件时间建立对应关系;当时间管理单元得到时间差时,根据所述时间差修改软件时间,使得修改后的软件时间与建立了对应关系的硬件时间保持匹配,以完成时间同步。其特征在于,所述为设备软件时间和硬件时间建立对应关系包括设备进行初始化时,时间计数单元将硬件时间清零;设备初始化完成后,时间管理单元从时间戳FIFO中获取时间计数单元中的硬件时间,并获取自身的软件时间;为所述获取的软件时间和硬件时间建立对应关系。当时间计数单元时间戳中断时,所述为设备软件时间和硬件时间建立对应关系包括时间管理单元从时间戳FIFO中重新获取时间计数单元中的硬件时间;计算与上次获取的硬件时间的增量,将所述获取的软件时间与增量之和作为重新获取的软件时间;为所述重新获取的软件时间和硬件时间建立对应关系。当所述设备为主设备时,所述时间管理单元得到时间差包括时间管理单元将从时间戳FIFO提取时间计数单元响应的IPPS信号的计数值作为硬件时间;将接收到的外部TOD描述时间与IPPS信号的线路传输时延和从IPPS信号提取计数值的时间的和作为软件时间;将所述硬件时间和软件时间分别与建立了对应关系的硬件时间和软件时间进行求差,得到硬件时间差和软件时间差;将所述硬件时间差和软件时间差求差得到时间差。
5
当所述设备为从设备时,所述时间管理单元得到时间差包括报文处理单元通过与主设备进行PTP消息交互,得到用于同步的时间Tl、T2、T3、T4,将所述Tl、T2、T3、T4发送给同步计算单元;所述同步计算单元,用于根据公式Offset = (012-11)-01413))/2对所述11、丁2、T3、T4进行计算;所述时间管理单元,从所述同步计算单元接收所述计算得到的Offset,即为时间差。一种实现精确时间同步的设备,该设备包括报文处理单元、时间管理单元、时间戳单元、时间戳FIFO和时间计数单元,该设备还包括对时单元,其中,所述时间管理单元,用于为设备软件时间和硬件时间建立对应关系;所述对时单元,用于根据所述时间管理单元得到的时间差修改软件时间,使得修改后的软件时间与所述时间管理单元中建立了对应关系的硬件时间保持匹配,以完成时间同步。所述为设备软件时间和硬件时间建立对应关系包括设备进行初始化时,时间计数单元将硬件时间清零;设备初始化完成后,时间管理单元从时间戳FIFO中获取时间计数单元中的硬件时间,并获取自身的软件时间;为所述获取的软件时间和硬件时间建立对应关系。当时间计数单元时间戳中断时,所述为设备软件时间和硬件时间建立对应关系包括时间管理单元从时间戳FIFO中重新获取时间计数单元中的硬件时间;计算与上次获取的硬件时间的增量,将所述获取的软件时间与增量之和作为重新获取的软件时间;为所述重新获取的软件时间和硬件时间建立对应关系。当所述设备为主设备时,所述时间管理单元得到时间差包括时间管理单元将从时间戳FIFO提取时间计数单元响应的IPPS信号的计数值作为硬件时间;将接收到的外部TOD描述时间与IPPS信号的线路传输时延和从IPPS信号提取计数值的时间的和作为软件时间;将所述硬件时间和软件时间分别与建立了对应关系的硬件时间和软件时间进行求差,得到硬件时间差和软件时间差;将所述硬件时间差和软件时间差求差得到时间差。当所述设备为从设备时,该设备还包括同步计算单元,所述时间管理单元得到时间差包括报文处理单元通过与主设备进行PTP消息交互,得到用于同步的时间Tl、T2、T3、T4,将所述Tl、T2、T3、T4发送给同步计算单元;所述同步计算单元,用于根据公式Offset = (012-11)-01413))/2对所述11、丁2、T3、T4进行计算;所述时间管理单元,从所述同步计算单元接收所述计算得到的Offset,即为时间差。综上所述,本发明所采用的实现精确时间同步的方法,是通过为设备的软件时间和硬件时间建立对应关系,从而当时间管理单元得到时间差时,即可根据所述时间差修改软件时间,使得修改后的软件时间与建立了对应关系的硬件时间相同,以完成时间同步。由于本发明方法是根据时间差对软件时间进行修改的,并没有对硬件部分中的时间计数单元进行改动,因此也就避免了由于对转发芯片进行修改而带来的对其他业务的影响。


图1为现有时间同步系统中从设备的结构示意图;图2为本发明实现精确时间同步方法的工作流程图;图3为本发明实现精确时间同步设备的结构示意图。
具体实施例方式为了解决本发明提出的技术问题,本发明所述方案的具体实现包括为设备软件时间和硬件时间建立对应关系;当时间管理单元得到时间差时,根据所述时间差修改软件时间,使得修改后的软件时间与建立了对应关系的硬件时间保持匹配,以完成时间同步。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。图2为本发明实现精确时间同步方法的工作流程图。如图2所示,该流程包括步骤201 为设备软件时间和硬件时间建立对应关系。需要说明的是,在本步骤中,所述为设备软件时间和硬件时间建立对应关系包括设备进行初始化时,时间计数单元将硬件时间清零;设备初始化完成后,时间管理单元从时间戳FIFO中获取时间计数单元中的硬件时间,并获取自身的软件时间;为所述获取的软件时间和硬件时间建立对应关系。进一步地,当时间计数单元时间戳中断时,所述为设备软件时间和硬件时间建立对应关系包括时间管理单元从时间戳FIFO中重新获取时间计数单元中的硬件时间;计算与上次获取的硬件时间的增量,将所述获取的软件时间与增量之和作为重新获取的软件时间;为所述重新获取的软件时间和硬件时间建立对应关系。还需说明的是,在主设备与从设备进行PTP消息交互时,PTP消息交互中时间Tl、T2、T3、T4产生的方法有两种1)在产生PTP消息时,从时间管理单元获取软件时间,放在PTP消息的时间戳域,将与之对应的硬件时间值的负数放在CF(Correction Field)域,当PTP消息到达时间戳单元时,将当前硬件时间值加入CF,即PTP消息时间戳是由最接近发送PTP消息的一个时间取样点加上与这点的时间“增量”得到的;幻二步制Sync报文发送,DelayReq报文接收时,并不带直接时间戳,而是时间戳单元记录报文发送时硬件时间计数器值,并通过时间戳FIFO将其发送给时间管理单元,时间管理单元通过报文发送或接收时的硬件时间计数值,与对时单元记录的硬件时间计数值比较,确定出时间戳“增量”,由此计算报文发送的准确时间值,然后通过相应报文发送前一个Sync报文发送报文时间戳或DelayReq报文接收报文时间戳。
步骤202 当时间管理单元得到时间差时,根据所述时间差修改软件时间,使得修改后的软件时间与建立了对应关系的硬件时间保持匹配,以完成时间同步。在本步骤中,当所述设备为主设备时,所述时间管理单元得到时间差包括时间管理单元将从时间戳FIFO提取时间计数单元响应的IPPS信号的计数值作为硬件时间;将接收到的外部TOD描述时间与IPPS信号的线路传输时延和从IPPS信号提取计数值的时间的和作为软件时间;将所述硬件时间和软件时间分别与建立了对应关系的硬件时间和软件时间进行求差,得到硬件时间差和软件时间差;将所述硬件时间差和软件时间差求差得到时间差。当所述设备为从设备时,所述时间管理单元得到时间差包括报文处理单元通过与主设备进行PTP消息交互,得到用于同步的时间Tl、T2、T3、T4,将所述Tl、T2、T3、T4发送给同步计算单元;所述同步计算单元,用于根据公式Offset=((Τ2-Τ1)-(Τ4-Τ3))/2对所述Tl、Τ2、Τ3、Τ4进行计算;所述时间管理单元,从所述同步计算单元接收所述计算得到的Offset,即为时间差。需要说明的是,在本步骤中,具体如何得到Tl、T2、T3、T4已为现有技术,不再赘述。至此,即完成了本发明实现精确时间同步方法的整个工作流程。需要说明的是,由于本发明时间同步方法是对软件时间进行修改的,而软件时间由SObit组成,具体是由64bit纳秒数和16bit纳秒分位数组成,计时精度为2的负16次方;相对地,硬件时间通常由32bit纳秒值和16bit纳秒分位数组成,而且因计时频率精度有限,只有4-32位纳秒bit有效,计时粒度为8ns。因此,本方法通过对软件时间进行修改大大提高了时间同步的精确程度。基于上述方法,图3给出了本发明所采用的实现精确时间同步设备的结构示意图。如图3所示,同图1所示现有同步系统中设备的结构一样,该设备由软件部分和硬件部分两部分组成,软件部分包括报文处理单元和时间管理单元,硬件部分包括时间计数单元、时间戳单元和时间戳FIFO。与现有不同之处在于,该设备还包括对时单元,其中,所述时间管理单元,用于为设备软件时间和硬件时间建立对应关系。进一步地,所述时间管理单元,还用于为对时单元提供软件时间、硬件时间和时间差,从对时单元获取匹配的软件时间和硬件时间或发报文时间戳,为报文处理单元提供匹配的软件时间和硬件时间或发报文时间戳,接收IPPS信号与ToD描述时间,与对时单元配合实现外时间接口对时。所述报文处理单元,用于根据IEEE1588协议定义使用软件时间为报文添加发送时间戳,并将硬件时间的相反数写入CorrectionField。所述时间戳单元,用于在发送报文时将时间计数单元的数值加入CorrectionField或通过时间戳FIFO将硬件时间上报给时间管理单元。具体地,所述为设备软件时间和硬件时间建立对应关系包括设备进行初始化时,时间计数单元将硬件时间清零;设备初始化完成后,时间管理单元从时间戳FIFO中获取时间计数单元中的硬件时间,并获取自身的软件时间;为所述获取的软件时间和硬件时间建立对应关系。进一步地,当时间计数单元时间戳中断时,所述为设备软件时间和硬件时间建立对应关系包括时间管理单元从时间戳FIFO中重新获取时间计数单元中的硬件时间;计算与上次获取的硬件时间的增量,将所述获取的软件时间与增量之和作为重新获取的软件时间;为所述重新获取的软件时间和硬件时间建立对应关系。所述对时单元,用于根据时间管理单元得到的时间差修改软件时间,使得修改后的软件时间与所述时间管理单元中建立了对应关系的硬件时间保持匹配,以完成时间同

少ο具体地,当所述设备为主设备时,所述时间管理单元得到时间差包括时间管理单元将从时间戳FIFO提取时间计数单元响应的IPPS信号的计数值作为硬件时间;将接收到的外部TOD描述时间与IPPS信号的线路传输时延和从IPPS信号提取计数值的时间的和作为软件时间;将所述硬件时间和软件时间分别与建立了对应关系的硬件时间和软件时间进行求差,得到硬件时间差和软件时间差;将所述硬件时间差和软件时间差求差得到时间差。当所述设备为从设备时,该设备还包括同步计算单元,则,所述时间管理单元得到时间差包括报文处理单元通过与主设备进行PTP消息交互,得到用于同步的时间Tl、T2、T3、T4,将所述Tl、T2、T3、T4发送给同步计算单元;所述同步计算单元,用于根据公式Offset=((T2-T1) - (T4-T3)) /2对所述Tl、T2、T3、T4进行计算;所述时间管理单元,从所述同步计算单元接收所述计算得到的Offset,即为时间差。至此,即得到了本发明所采用的实现精确时间同步的设备。图3所示设备的具体工作流程可参见图2,这里不再赘述。总之,本发明所采用的实现精确时间同步的方法,通过为设备的软件时间和硬件时间建立对应关系,从而当时间管理单元得到时间差时,即可根据所述时间差修改软件时间,使得修改后的软件时间与建立了对应关系的硬件时间相同,以完成时间同步。由于本发明方法是根据时间差对软件时间进行修改的,并没有对硬件部分中的时间计数单元进行改动,因此也就避免了由于对转发芯片进行修改而带来的对其他业务的影响。进一步地,本发明所采用的实现精确时间同步的方法,由于是对软件时间进行修改的,而软件时间精度一般远远高于硬件时间,也就大大提高了时间同步的精确程度。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种实现精确时间同步的方法,其特征在于,该方法包括为设备软件时间和硬件时间建立对应关系;当时间管理单元得到时间差时,根据所述时间差修改软件时间,使得修改后的软件时间与建立了对应关系的硬件时间保持匹配,以完成时间同步。
2.根据权利要求1所述的方法,其特征在于,所述为设备软件时间和硬件时间建立对应关系包括设备进行初始化时,时间计数单元将硬件时间清零;设备初始化完成后,时间管理单元从时间戳FIFO中获取时间计数单元中的硬件时间,并获取自身的软件时间;为所述获取的软件时间和硬件时间建立对应关系。
3.根据权利要求2所述的方法,其特征在于,当时间计数单元时间戳中断时,所述为设备软件时间和硬件时间建立对应关系包括时间管理单元从时间戳FIFO中重新获取时间计数单元中的硬件时间;计算与上次获取的硬件时间的增量,将所述获取的软件时间与增量之和作为重新获取的软件时间;为所述重新获取的软件时间和硬件时间建立对应关系。
4.根据权利要求1所述的方法,其特征在于,当所述设备为主设备时,所述时间管理单元得到时间差包括时间管理单元将从时间戳FIFO提取时间计数单元响应的IPPS信号的计数值作为硬件时间;将接收到的外部TOD描述时间与IPPS信号的线路传输时延和从IPPS信号提取计数值的时间的和作为软件时间;将所述硬件时间和软件时间分别与建立了对应关系的硬件时间和软件时间进行求差,得到硬件时间差和软件时间差;将所述硬件时间差和软件时间差求差得到时间差。
5.根据权利要求1所述的方法,其特征在于,当所述设备为从设备时,所述时间管理单元得到时间差包括报文处理单元通过与主设备进行PTP消息交互,得到用于同步的时间T1、T2、T3、T4,将所述Tl、Τ2、Τ3、Τ4发送给同步计算单元;所述同步计算单元,用于根据公式Offset = ((Τ2-Τ1)-(Τ4-Τ3))/2对所述T1、T2、T3、Τ4进行计算;所述时间管理单元,从所述同步计算单元接收所述计算得到的Offset,即为时间差。
6.一种实现精确时间同步的设备,该设备包括报文处理单元、时间管理单元、时间戳单元、时间戳FIFO和时间计数单元,其特征在于,该设备还包括对时单元,其中,所述时间管理单元,用于为设备软件时间和硬件时间建立对应关系;所述对时单元,用于根据所述时间管理单元得到的时间差修改软件时间,使得修改后的软件时间与所述时间管理单元中建立了对应关系的硬件时间保持匹配,以完成时间同步ο
7.根据权利要求6所述的设备,其特征在于,所述为设备软件时间和硬件时间建立对应关系包括设备进行初始化时,时间计数单元将硬件时间清零;设备初始化完成后,时间管理单元从时间戳FIFO中获取时间计数单元中的硬件时间,并获取自身的软件时间;为所述获取的软件时间和硬件时间建立对应关系。
8.根据权利要求7所述的设备,其特征在于,当时间计数单元时间戳中断时,所述为设备软件时间和硬件时间建立对应关系包括时间管理单元从时间戳FIFO中重新获取时间计数单元中的硬件时间;计算与上次获取的硬件时间的增量,将所述获取的软件时间与增量之和作为重新获取的软件时间;为所述重新获取的软件时间和硬件时间建立对应关系。
9.根据权利要求6所述的设备,其特征在于,当所述设备为主设备时,所述时间管理单元得到时间差包括时间管理单元将从时间戳FIFO提取时间计数单元响应的IPPS信号的计数值作为硬件时间;将接收到的外部TOD描述时间与IPPS信号的线路传输时延和从IPPS信号提取计数值的时间的和作为软件时间;将所述硬件时间和软件时间分别与建立了对应关系的硬件时间和软件时间进行求差,得到硬件时间差和软件时间差;将所述硬件时间差和软件时间差求差得到时间差。
10.根据权利要求6所述的设备,其特征在于,当所述设备为从设备时,该设备还包括同步计算单元,所述时间管理单元得到时间差包括报文处理单元通过与主设备进行PTP消息交互,得到用于同步的时间T1、T2、T3、T4,将所述Tl、Τ2、Τ3、Τ4发送给同步计算单元;所述同步计算单元,用于根据公式Offset = ((Τ2-Τ1)-(Τ4-Τ3))/2对所述T1、T2、T3、Τ4进行计算;所述时间管理单元,从所述同步计算单元接收所述计算得到的Offset,即为时间差。
全文摘要
本发明公开了一种实现精确时间同步的方法,该方法包括为设备软件时间和硬件时间建立对应关系;当时间管理单元得到时间差时,根据所述时间差修改软件时间,使得修改后的软件时间与建立了对应关系的硬件时间保持匹配,以完成时间同步。本发明同时公开了一种实现精确时间同步的设备,应用本发明所述的实现时间同步的方法和设备,不仅能够实现精确的时间同步,而且无需由硬件部分的时间计数单元来修改时间。
文档编号H04J3/06GK102571253SQ20121004198
公开日2012年7月11日 申请日期2012年2月23日 优先权日2012年2月23日
发明者梁学伟 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1