CN101888292A - 基于包交换的时钟同步方法及装置 - Google Patents
基于包交换的时钟同步方法及装置 Download PDFInfo
- Publication number
- CN101888292A CN101888292A CN2009100839561A CN200910083956A CN101888292A CN 101888292 A CN101888292 A CN 101888292A CN 2009100839561 A CN2009100839561 A CN 2009100839561A CN 200910083956 A CN200910083956 A CN 200910083956A CN 101888292 A CN101888292 A CN 101888292A
- Authority
- CN
- China
- Prior art keywords
- clock
- time deviation
- transmitting
- timestamp
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种基于包交换的时钟同步方法,包括:收集用于校正时钟的时间戳,并分别计算对应于同一时钟校正消息的收发时间戳差;从计算得到的收发时间戳差中选取时间偏差的下界和上界,并计算该下界、上界分别在时间偏差中所占的权重,并通过该下界、上界及其各自的权重来计算该时间偏差;利用时间偏差,校正从时钟。相应的,本发明还提供一种基于包交换的时钟同步装置,包括从时钟,该从时钟包括:时间戳收集模块、时间戳差计算模块、时间偏差计算模块和时钟校正模块。通过本发明能够准确计算主、从时钟之间的时间偏差,减小该时间偏差的计算误差。
Description
技术领域
本发明涉及时间同步领域,特别是涉及一种基于包交换的时钟同步方法及装置。
背景技术
在全球微波互联接入(WiMAX)***中,采用的是时分双工(TDD)模式,而且在上行链路采用时分多址(TDMA)与频分多址(FDMA)结合的方式,也就是说,每个客户端只有在分配给自己的时隙内发送数据,如果该客户端开始发送数据的时间落后于实际的时间,即该客户端所分配到的一秒钟比实际短,那么这个定时数据就失去了准确性,该客户端就会提前发送数据,随着误差的增加,该客户端就有可能在属于其他客户端的时隙内发送数据,进而导致冲突。因此,针对上述问题,需要一种能够精确同步时钟的方法。
目前,IEEE1588给出了一种基于包交换的时钟同步机制,即:能接收全球定位***(GPS)信号的时钟——主时钟,周期发送同步消息给其他精度低的时钟——从时钟,同步消息中包含有主时钟发送该同步消息的时间戳,从时钟收到该同步消息的时间戳后,为了准确调整自己的本地时间,便发送一个延迟测量消息给主时钟,主时钟把接收到该延迟测量消息的时间反馈给从时钟,这里,涉及到四个时间戳,利用这四个时间戳,从时钟算出其自身与主时钟的时间偏差。
然而,对于怎样计算时间偏差,IEEE1588并没有给与说明。而且,现有技术给出的对主、从时钟之间的时间偏差和频率偏差的估计,是基于假设的某一种主从时钟间随机路径延迟的概率分布函数,这样估计出的时间偏差、频率偏差的准确度很大程度上依赖于随机路径延迟的概率分布与实际路径延迟的吻合程度。或者说,如果假设的随机路径延迟的概率分布与实际路径延迟相差较大,则估计出来的时间偏差、频率偏差参数的可靠性会受到很大的影响。因此,在随机路径延迟的概率分布与实际路径延迟的吻合程度较低的情况下,现有技术对时间偏差的估计并不可靠,有时甚至误差很大,所以难以准确地使主从时钟同步。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于包交换的时钟同步方法及装置,能够准确地计算出主、从时钟之间的时间偏差,减小时间偏差的计算误差。
为达到上述目的,本发明公开了一种基于包交换的时钟同步方法,包括:收集用于校正时钟的时间戳,并分别计算对应于同一时钟校正消息的收发时间戳差;从计算得到的收发时间戳差中选取时间偏差的下界和上界,计算该下界、上界分别在时间偏差中所占的权重,并通过该下界、上界及其各自的权重来计算该时间偏差;利用时间偏差,校正从时钟。
上述方法中,所述选取时间偏差的下界和上界的步骤之前,该方法还包括:判断收发时间戳差的个数是否超过设定的上限;如果超过设定的上限,则从计算得到的收发时间戳差中选取时间偏差的下界和上界;如果未超过设定的上限,则继续收集用于校正时钟的时间戳。
其中,所述利用时间偏差,校正从时钟的步骤之前,该方法还包括:对本次时钟校正得到的时间偏差进行滤波;所述滤波具体为:判断本次时钟校正得到的时间偏差与上次时钟校正得到的时间偏差之差是否达到滤波门限,如果达到滤波门限,则保存本次时钟校正得到的时间偏差,但不用本次的时间偏差来校正从时钟;如果未达到滤波门限,则保存本次时钟校正得到的时间偏差,并采用本次的时间偏差校正从时钟;其中,所述校正从时钟为:将通过滤波的时间偏差加到从时钟的本地时间上;并且,如果本次时钟校正的时间偏差与上一次的时间偏差之差在频率校正门限范围内,则将本次时钟校正的时间偏差与上一次的时间偏差之差转换为频率偏差,来校正从时钟的频率。
上述方法中,所述分别计算对应于同一时钟校正消息的收发时间戳差为:分别计算同步消息的收发时间戳差和延迟测量消息的收发时间戳差;其中,该收发时间戳差的计算方式为:主时钟的时间戳减去从时钟的时间戳;或者,从时钟的时间戳减去主时钟的时间戳;计算对应于同一时钟校正消息的收发时间戳差的步骤之后,该方法还包括:分别保存计算得到的同步消息的收发时间戳差和延迟测量消息的收发时间戳差。
其中,所述从计算得到的收发时间戳差中选取时间偏差的下界和上界为:采用主时钟时间戳减去从时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最大值作为时间偏差的下界;从所述延迟测量消息的收发时间戳差中选出一个最小值作为时间偏差的上界;采用从时钟时间戳减去主时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最小值作为时间偏差的上界;从所述延迟测量消息的收发时间戳差中选出一个最大值作为时间偏差的下界。
上述方法中,所述通过该下界、上界及其各自的权重来计算该时间偏差为:该时间偏差的下界及其权重之积与上界及其权重之积的和;所述下界和上界在时间偏差中所占的权重取决于:该时间偏差分别与其下界和上界之间的趋近程度;该时间偏差离其下界越近,则该下界在时间偏差中所占的权重越大;反之,该时间偏差离其下界越远,则该下界在时间偏差中所占的权重越小;其中,所述上界的权重与下界的权重之和为1。
为实现上述方法,本发明提供一种基于包交换的时钟同步装置,包括:从时钟;该从时钟包括:时间戳收集模块、时间戳差计算模块、时间偏差计算模块和时钟校正模块,其中,时间戳收集模块,用于收集用来校正时钟的时间戳;时间戳差计算模块,用于计算对应于同一时钟校正消息的收发时间戳差、并从该收发时间戳差中选取时间偏差的下界和上界;时间偏差计算模块,用于计算该下界、上界分别在时间偏差中所占的权重,并通过该下界、上界及其各自的权重来计算该时间偏差;时钟校正模块,用于利用时间偏差来校正从时钟。
其中,该装置还包括:主时钟,用于将发送同步消息和接收延迟测量消息的时间戳发送给从时钟;所述时间戳收集模块,具体用于收集接收和发送同步消息、延迟测量消息的时间戳;所述时间戳差计算模块,具体用于分别计算同步消息的收发时间戳差和延迟测量消息的收发时间戳差,以及用于:当采用主时钟时间戳减去从时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最大值作为时间偏差的下界,从所述延迟测量消息的收发时间戳差中选出一个最小值作为时间偏差的上界;当采用从时钟时间戳减去主时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最小值作为时间偏差的上界;从所述延迟测量消息的收发时间戳差中选出一个最大值作为时间偏差的下界。
上述装置中,所述从时钟还包括:门限判断模块,用于判断收发时间戳差的个数是否超过设定的上限,然后通知所述时间戳差计算模块。所述从时钟还包括:滤波模块和频率校正判断模块,其中,滤波模块,用于对本次时钟校正中所述时间偏差计算模块计算得到的时间偏差进行滤波,并保存该时间偏差,然后将通过滤波的时间偏差转发给所述时钟校正模块;频率校正判断模块,用于判断本次时钟校正中通过滤波的时间偏差与上一次的时间偏差之差是否在频率校正门限范围内,并且当本次的时间偏差与上一次的时间偏差之差在频率校正门限范围内时,通知所述时钟校正模块;所述时钟校正模块,具体用于将通过滤的时间偏差加到从时钟的本地时间上,并在收到所述频率校正判断模块的通知时,将本次时钟校正的时间偏差与上一次的时间偏差之差转换为频率偏差,来校正从时钟的频率。
由以上技术方案可以看出,本发明实现了基于数据包的时钟同步,对具体的不对称路径延迟的时间偏差进行计算,并用该时间偏差来校正从时钟。
具体来讲,以主时钟的时间戳减去从时钟的时间戳来计算收发时间戳差的方式为例,本发明通过生成两组收发时间戳差,即同步消息收发时间戳差Diff1和延迟测量消息收发时间戳差Diff2,分别从Diff1中选出一个最大值作为时间偏差的下界LB、从Diff2中选出一个最小值作为时间偏差的上界UB,并统计分别计算N次同步过程中该下界LB、上界UB在时间偏差中所占的权重,进而计算主从时钟的时间偏差,然后对从时钟的校正,使得它与主时钟对齐。
在每次时钟校正过程中,本发明依据实际网络中的路径延迟来计算时间偏差,实现了根据实际网络中路径延迟的情况,来校正从时钟。如此,大大降低了对实际网络中路径延迟变化的依赖性,并且减小了时间偏差计算的误差,即提高了时间偏差计算的准确度。
可见,针对实际网络中的不对称路径延迟,本发明能够准确计算主、从时钟之间的时间偏差,减小该时间偏差的计算误差。
附图说明
图1为本发明基于包交换的时钟同步方法的实现流程示意图;
图2为本发明主时钟和从时钟同步通信的示意图;
图3为本发明时间戳的生成示意图;
图4为本发明基于包交换的时钟同步装置的结构示意图。
具体实施方式
本发明的基本思想在于:从时钟收集用于校正时钟的时间戳,并根据实际网络中不对称路径延迟的情况,从同一时钟校正消息的收发时间戳差中选取时间偏差的上界UB和下界LB,通过计算上界UB和下界LB在时间偏差中所占的权重,并通过该下界、上界及其各自的权重来计算该时间偏差,进而利用时间偏差对从时钟进行校正,使该从时钟与主时钟对齐。
需要说明的是,所述时钟校正消息包括:主时钟向从时钟周期性发送的同步消息,及从时钟收到该同步消息后向主时钟发送的延迟测量消息。一次时钟校正过程包括N次时钟同步过程,此处的N为进行时钟校正过程中设定收发时间戳差个数的上限。
另外,所述从同一时钟校正消息的收发时间戳差中选取时间偏差的上界UB和下界LB,具体为:
采用主时钟时间戳减去从时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最大值作为时间偏差的下界;从所述延迟测量消息的收发时间戳差中选出一个最小值作为时间偏差的上界;
采用从时钟时间戳减去主时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最小值作为时间偏差的上界;从所述延迟测量消息的收发时间戳差中选出一个最大值作为时间偏差的下界。
为使本发明上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施例对本发明作进一步详细的说明。参照图1,示出了本发明基于包交换的时钟同步方法的实现流程,本实施例中,以主时钟的时间戳减去从时钟的时间戳来计算收发时间戳差的方式为例,主要包括以下步骤:
步骤101,从时钟收集用于校正时钟的时间戳;
从时钟接入网络后,开始监听来自主时钟的同步消息,以收集该同步消息的数据包中的时间戳。其中,从时钟收集的用于校正时钟的时间戳包括:同步消息的收发时间戳和延迟测量消息的收发时间戳,这些时间戳包括从用于校正时钟的数据包中获取的、以及从时钟本地生成的。参照图3,示出了本发明时间戳的生成过程。下面结合图3举例说明一下收集时间戳的过程:
从时钟在其本地时间Ts时刻接入网络,而此时主时钟的本地时间为Tm时刻。主时钟周期性地生成同步消息,并在本地时钟的T1时刻发同步消息给从时钟,并在该同步消息中加入时间戳T1;从时钟在本地时钟的T2时刻收到同步消息,把时间戳T1和T2保存到本地;然后,从时钟在T3时刻向主时钟发延迟测量消息,从时钟发延迟测量消息的同时,把发送该延迟测量消息的时间戳T3保存到本地;主时钟在T4时刻收到延迟测量消息,并把该T4放到该主时钟生成的延迟响应消息中,在T5时刻发送延迟响应消息,以将收到延迟测量消息的时间戳T4反馈给从时钟。从时钟在T6时刻收到延迟响应消息。从时钟收到该延迟响应消息后,后续将利用所收集的T1、T2、T3、T4这四个时间戳来计算从时钟与主时钟的时间偏差。
这里,设定此时从时钟与主时钟的时间偏差为Toffset。下面先说明一下该时间偏差Toffset,之所以会存在该时间偏差Toffset,是因为主时钟与从时钟的时间是各自在本地维护的,如果开始上电的时间不同、和/或时钟频率不同,那么同一个时刻,主时钟与从时钟的时间是有偏差的。例如:主时钟上电一段时间之后,从时钟才上电,这无疑会增加主从时钟之间的时间偏差。另外,即便主从时钟同时上电,由于时钟频率因工作环境、及所采用时钟晶体的性质等差异,使时钟更新的周期不同,而导致主从时钟不同步。然而,为了保证通信数据的准确性,需要使主从时钟尽可能的同步。这里,如图2所示,为主时钟和从时钟进行同步通信的示意图,主时钟、从时钟通过以太网进行通信,它们的通信路径上可以有交换机和路由器,视主、从时钟之间距离的远近而定。在时钟同步过程中,主时钟周期性地发送打有主时钟本地时间戳的同步消息给从时钟,而从时钟则通过本发明的时钟同步方法,向主时钟发送打有从时钟本地时间戳的延迟测量消息,对其自身与主时钟之间的时间偏差进行校正,以达到主、从时钟同步的目的。主、从时钟均对用于校正时钟的数据包打上本地的时间戳,从时钟收集同步消息的收发时间戳、延迟测量消息的收发时间戳。
步骤102,从时钟计算对应于同一时钟校正消息的收发时间戳差;
其中,计算对应于同一时钟校正消息的收发时间戳差,该时钟校正消息包括:同步消息和延迟测量消息,对应于这两组时钟校正消息,分别产生两组收发时间戳差,对应于同一时钟校正消息的收发时间戳差的计算方式为:主时钟的时间戳减去从时钟的时间戳;或者,从时钟的时间戳减去主时钟的时间戳,只是在主从时钟同步的过程中,要选择其中一种方式来计算收发时间戳差。此处,所述主时钟的时间戳包括:发送同步消息的时间戳和接收延迟测量消息的时间戳;所述从时钟的时间戳包括:接收同步消息的时间戳和发送延迟测量消息的时间戳。当采取主时钟的时间戳与从时钟的时间戳作差的方式时,以一次同步为例,从时钟收集到四个时间戳,即T1、T2、T3、T4,于是,计算同步消息的收发时间戳差:T1-T2,延迟测量消息的收发时间戳差:T4-T3。
计算对应于同一时钟校正消息的收发时间戳差后,分别保存计算得到的同步消息的收发时间戳差和延迟测量消息的收发时间戳差,具体为:
设定从时钟收集连续N次时钟同步的时间戳,并且每次分别计算同步消息、延迟测量消息的收发时间戳差。也就说,每进行一次时钟同步,就会形成两组收发时间戳差。这里,将同步消息收发时间戳差记为Diff1;将延迟测量消息收发时间戳差记为Diff2。并且,将每次计算得到的同步消息的收发时间戳、延迟测量消息的收发时间戳差分别记录保存至Diff1和Diff2中。实际上,如果将主时钟向从时钟发送数据包所经过的路经称为下行路径、从时钟向主时钟发送数据包所经过的路经称为上行路径,而主、从时钟之间真实的时间偏差为Toffset,则有Diff1=Toffset-下行路径延迟,而Diff2=Toffset+上行路径延迟。由于上、下行路径延迟总是正数,因此,主、从时钟之间真实的时间偏差Toffset大于Diff1,并且小于Diff2。
这里,假设第k次时钟同步时从时钟收集的时间戳包括:TSYNC,mk、TSYNC,sk、TDELAY,sk、TDELAY,mk,其中,TSYNC,mk为主时钟发送同步消息时间戳、TSYNC,sk为接收同步消息时本地生成的时间戳、TDELAY,sk从时钟发送延迟测量消息的时间戳、TDELAY,mk为主时钟接收延迟测量消息的时间戳。另外,为了下面叙述方便,把主时钟到从时钟的路径延迟称为下行路径延迟,记为Df,把从时钟到主时钟的路径延迟称为上行路径延迟,记为Dr,那么第k次时钟同步的下行路径延迟为Dfk,上行路径延迟为Drk。
这里,由图2可以看出,下行路径的时间关系:TSYNC,mk+Dfk=TSYNC,sk+Toffset,即:
Toffset-Dfk=TSYNC,mk-TSYNC,sk (1)
将等式(1)左边的表达式记为Sk,Sk为第k次进行时钟同步的同步消息的收发时间戳差,则得到同步消息收发时间戳差Diff1={S1,…,Sk,…,SN};而上行路径的时间关系为:TDELAY,sk+Drk+Toffset=TDELAY,mk,即:
Drk+Toffset=TDELAY,mk-TDELAY,sk (2)
把等式(2)左边的表达式记为Rk,Rk为第k次进行时钟同步的延迟测量消息的收发时间戳差,则得到延迟测量消息收发时间戳差Diff2={R1,…,Rk,…,RN}。这里,计算收发时间戳差采用的是:主时钟的时间戳减去从时钟的时间戳的方式。
步骤103,从时钟判断收发时间戳差的个数是否超过设定的上限N,如果超过设定的上限N,则执行步骤104;如果未超过设定的上限N,则返回步骤101;
这里,上限N通常依据实际的网络情况和具体需要而定,因此上限N为经验值,也是一次时钟校正过程中进行时钟同步的次数。
步骤104,从时钟分别从Diff1、Diff2中选择出时间偏差的下界LB、上界UB;
由于采用主时钟时间戳减去从时钟时间戳的方式来计算收发时间戳差,所以主、从时钟之间真实的时间偏差Toffset大于Diff1,并且小于Diff2,于是取Diff1中的最大值、Diff2中的最小值,以缩小时间偏差Toffset存在的区间范围,以便更准确地计算时间偏差。于是,选择Diff1={S1,…,Sk,…,SN}中的最大值,记为时间偏差Toffset的下界LB;另外,选择Diff2={R1,…,Rk,…,RN}中的最小值,记为时间偏差Toffset的上界UB。
步骤105,从时钟计算时间偏差的下界LB和上界UB的权重,并结合该下界LB、上界UB及其各自的权重来计算时间偏差Toffset;
本步骤中,从时钟根据通信过程中路径延迟的实际情况,来计算时间偏差的下界LB和上界UB的权重。其中,所述路径延迟的实际情况主要包括:主从时钟之间的负载情况、通信信道是否拥塞及拥塞程度,以及主从时钟之间的距离。所述下界LB和上界UB在时间偏差中所占的权重取决于:该时间偏差分别与其下界和上界之间的趋近程度;该时间偏差离其下界越近,则该下界在时间偏差中所占的权重越大;反之,该时间偏差离其下界越远,则该下界在时间偏差中所占的权重越小;其中,所述上界的权重与下界的权重之和为1。
这里,所述时间偏差的下界LB和上界UB的权重的计算过程如下:
计算Diff1中所有元素与下界LB之差的和A1,即A1反映了时间偏差Toffset与下界LB的距离远近,即下行路径延迟的大小;另外,计算Diff2中所有元素与上界UB之差的和A2,即A2反映了时间偏差Toffset与上界UB的距离远近,即上行路径延迟的大小。事实上,A1、A2反映了时间偏差与其上、下界之间的一种波动趋势,因此,能够借助来计算下界LB和上界UB在时间偏差中所占的权重。具体的计算方法,通过针对具体的路径延迟情况进行实验拟合,进而根据拟合出来的经验公式,如下面的公式(3):
计算得到下界LB的权重,且1-w则为上界UB的权重。其中,A1=A2时,w=1-w,即此时下界LB与上界UB的权重相等。得到下界LB与上界UB的权重之后,通过下面的公式(4):
Toffset=w×LB+(1-w)×UB (4)
计算得到时间偏差Toffset。其中,由于时间偏差Toffset在下界LB和上界UB的连接线段上,因此,可以用下界LB和上界UB的加权平均作为时间偏差Toffset的计算。
如此,主从时钟之间每进行N次时钟同步,就会计算得到一次时间偏差Toffset。其中,每次获得的时间偏差Toffset会随着A1、A2的变化而变化,因此,在每次时钟校正过程中,本实施例依据实际网络中的路径延迟来计算时间偏差Toffset,即实现了根据实际网络中路径延迟的情况,来校正从时钟。
步骤106,从时钟对计算得到的时间偏差进行滤波,判断本次时钟校正得到的时间偏差Toffset与上次时钟校正得到的时间偏差之差是否达到滤波门限,如果达到滤波门限,则执行步骤107;如果未达到滤波门限,则执行步骤108;
从时钟对本次时钟校正得到的时间偏差Toffset进行滤波,滤波方法为:将每次时钟校正得到的时间偏差与上次计算的时间偏差相比较,即判断本次时钟校正得到的时间偏差与上次时钟校正得到的时间偏差是否相差太大,也就是判断本次时钟校正得到的时间偏差与上次得到的时间偏差之差是否达到滤波门限。这里,所述滤波门限为经验值,是判断本次时钟校正得到的时间偏差是否可靠的一个标准。而且,从时钟可根据网络及通信等实际状况对所述滤波门限进行调整,以满足时钟同步的具体要求。
步骤107,保存本次时钟校正得到的时间偏差Toffset,但该时间偏差Toffset不用于校正时钟。
本次时钟校正得到的时间偏差Toffset与上一次的时间偏差之差达到了滤波门限,即表明本次时钟校正得到的时间偏差Toffset与上一次的时间偏差相差很大,这可能是由于抖动等原因导致的本次的时间偏差的大小发生跳跃,即超出正常的范围;或者,这也可能是从时钟与主时钟的时间偏差确实发生这样的变化。因此,需要通过下一次时钟校正计算得到的时间偏差,来判断本次的时间偏差是否为正常,如果下一次时钟校正得到的时间偏差与本次相差不大,即下一次时钟校正得到的时间偏差与本次的时间偏差之差没有达到滤波门限,则用下一次时钟校正得到的时间偏差来校正从时钟。
步骤108,保存本次时钟校正得到的时间偏差Toffset,并采用该时间偏差Toffset校正从时钟。
如果与上次时钟校正得到的时间偏差相差不大即未达到滤波门限,该时间偏差Toffset通过滤波,则将该时间偏差Toffset直接加到从时钟的本地时间上,并且,如果本次时钟校正的时间偏差与上一次的时间偏差之差在频率校正门限范围内,利用该时间偏差生成频率偏差,来校正从时钟的频率,使得该从时钟与主时钟的频率、相位都保持同步,达到校正从时钟的目的。其中,所述频率校正门限为判断两次时钟校正过程中,是否需要校正从时钟频率的依据。
上述实现流程仅为一次主从时钟的校正过程,主从时钟之间在通信过程中,会周期性地进行时钟的校正,以使从时钟与主时钟的时间和频率在最大程度上保持同步。
对于上述的各实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
为实现上述方法,本发明还提供一种基于包交换的时钟同步装置,该装置包括:从时钟401,用于收集用来校正时钟的时间戳、计算收发时间戳差,并用于从该收发时间戳差中选取时间偏差的下界和上界、计算该下界和上界在时间偏差中所占的权重和该时间偏差,以及利用时间偏差来校正从时钟401的本地时间。
上述装置中,所述从时钟401包括:时间戳收集模块4011、时间戳差计算模块4012、时间偏差计算模块4014和时钟校正模块4017,其中,
时间戳收集模块4011,用于收集用来校正时钟的时间戳。
时间戳差计算模块4012,用于计算对应于同一时钟校正消息的收发时间戳差、并从该收发时间戳差中选取时间偏差的下界和上界。
时间偏差计算模块4014,用于计算该下界、上界分别在时间偏差中所占的权重,并通过该下界、上界及其各自的权重来计算该时间偏差。
时钟校正模块4017,用于利用时间偏差来校正从时钟401的本地时间,使得从时钟401与主时钟402同步。
该时钟校正模块4017具体用于将通过滤的时间偏差加到从时钟的本地时间上,达到利用时间偏差来校正从时钟401的本地时间的目的。并且,如果本次时钟校正的时间偏差与上一次的时间偏差之差在频率校正门限范围内,将该时间偏差转化为频率偏差,来校正从时钟401的频率。
上述装置还包括:主时钟402,用于将发送同步消息和接收延迟测量消息的时间戳发送给从时钟401。该主时钟402包括用以连接各种网络的若干接口,并与从时钟401进行数据通信,主时钟402能够实现对用于时钟校正的数据包打时间戳的功能。
其中,所述时间戳收集模块4011,具体用于收集接收和发送同步消息、延迟测量消息的时间戳。
所述时间戳差计算模块4012,具体用于分别计算同步消息的收发时间戳差和延迟测量消息的收发时间戳差,以及用于:
当采用主时钟时间戳减去从时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最大值作为时间偏差的下界,从所述延迟测量消息的收发时间戳差中选出一个最小值作为时间偏差的上界;
当采用从时钟时间戳减去主时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最小值作为时间偏差的上界;从所述延迟测量消息的收发时间戳差中选出一个最大值作为时间偏差的下界。
另外,所述从时钟401还包括:门限判断模块4013、滤波模块4015和频率校正判断模块4016,其中,
门限判断模块4013,用于判断收发时间戳差的个数是否超过设定的上限,然后通知所述时间戳差计算模块4014。
滤波模块4015,用于对本次时钟校正中所述时间偏差计算模块4014计算得到的时间偏差进行滤波,然后将通过滤波的时间偏差转发给所述时钟校正模块4017。
频率校正判断模块4016,用于判断本次时钟校正中通过滤波的时间偏差与上一次的时间偏差之差是否在频率校正门限范围内,并且当本次的时间偏差与上一次的时间偏差之差在频率校正门限范围内时,通知所述时钟校正模块4017。
此时,所述时钟校正模块4017在收到所述频率校正判断模块4016的通知,则将本次时钟校正中通过滤波的时间偏差与上一次的时间偏差之差转换为频率偏差,来校正从时钟401的频率。
可见,该时钟校正模块4017利用时间偏差来校正从时钟401包括:校正从时钟401的本地时间及其频率。即:将时间偏差直接加到从时钟401时间上,并且,当本次时钟校正的时间偏差与上一次的时间偏差之差在频率校正门限范围内,将该时间偏差转化为频率偏差来校正从时钟401的频率。如此,使得从时钟401与主时钟402在时间、频率从上实现同步。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述即可。以上所述,仅为本发明的较佳实施例而已,只是用来说明和解释本发明,并非用于限定本发明的保护范围。在本发明的精神和权利要求保护范围之内,对本发明所作的任何修改、等同替换,都落入本发明的保护范围。
Claims (10)
1.一种基于包交换的时钟同步方法,其特征在于,包括:
收集用于校正时钟的时间戳,并分别计算对应于同一时钟校正消息的收发时间戳差;
从计算得到的收发时间戳差中选取时间偏差的下界和上界,计算该下界、上界分别在时间偏差中所占的权重,并通过该下界、上界及其各自的权重来计算该时间偏差;
利用时间偏差,校正从时钟。
2.根据权利要求1所述的基于包交换的时钟同步方法,其特征在于,所述选取时间偏差的下界和上界的步骤之前,该方法还包括:
判断收发时间戳差的个数是否超过设定的上限;
如果超过设定的上限,则从计算得到的收发时间戳差中选取时间偏差的下界和上界;如果未超过设定的上限,则继续收集用于校正时钟的时间戳。
3.根据权利要求1所述的基于包交换的时钟同步方法,其特征在于,所述利用时间偏差,校正从时钟的步骤之前,该方法还包括:对本次时钟校正得到的时间偏差进行滤波;
所述滤波具体为:判断本次时钟校正得到的时间偏差与上次时钟校正得到的时间偏差之差是否达到滤波门限,如果达到滤波门限,则保存本次时钟校正得到的时间偏差,但不用本次的时间偏差来校正从时钟;如果未达到滤波门限则保存本次时钟校正得到的时间偏差,并采用本次的时间偏差校正从时钟;
其中,所述校正从时钟为:将通过滤波的时间偏差加到从时钟的本地时间上;并且,如果本次时钟校正的时间偏差与上一次的时间偏差之差在频率校正门限范围内,则将本次时钟校正的时间偏差与上一次的时间偏差之差转换为频率偏差,来校正从时钟的频率。
4.根据权利要求1、或2、或3所述的基于包交换的时钟同步方法,其特征在于,所述分别计算对应于同一时钟校正消息的收发时间戳差为:分别计算同步消息的收发时间戳差和延迟测量消息的收发时间戳差;
其中,该收发时间戳差的计算方式为:主时钟的时间戳减去从时钟的时间戳;或者,从时钟的时间戳减去主时钟的时间戳;
计算对应于同一时钟校正消息的收发时间戳差的步骤之后,该方法还包括:分别保存计算得到的同步消息的收发时间戳差和延迟测量消息的收发时间戳差。
5.根据权利要求4所述的基于包交换的时钟同步方法,其特征在于,所述从计算得到的收发时间戳差中选取时间偏差的下界和上界为:
采用主时钟时间戳减去从时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最大值作为时间偏差的下界;从所述延迟测量消息的收发时间戳差中选出一个最小值作为时间偏差的上界;
采用从时钟时间戳减去主时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最小值作为时间偏差的上界;从所述延迟测量消息的收发时间戳差中选出一个最大值作为时间偏差的下界。
6.根据权利要求5所述的基于包交换的时钟同步方法,其特征在于,所述通过该下界、上界及其各自的权重来计算该时间偏差为:该时间偏差的下界及其权重之积与上界及其权重之积的和;
所述下界和上界在时间偏差中所占的权重取决于:该时间偏差分别与其下界和上界之间的趋近程度;
该时间偏差离其下界越近,则该下界在时间偏差中所占的权重越大;反之该时间偏差离其下界越远,则该下界在时间偏差中所占的权重越小;
其中,所述上界的权重与下界的权重之和为1。
7.一种基于包交换的时钟同步装置,其特征在于,包括:从时钟;
该从时钟包括:时间戳收集模块、时间戳差计算模块、时间偏差计算模块和时钟校正模块,其中,
时间戳收集模块,用于收集用来校正时钟的时间戳;
时间戳差计算模块,用于计算对应于同一时钟校正消息的收发时间戳差、并从该收发时间戳差中选取时间偏差的下界和上界;
时间偏差计算模块,用于计算该下界、上界分别在时间偏差中所占的权重,并通过该下界、上界及其各自的权重来计算该时间偏差;
时钟校正模块,用于利用时间偏差来校正从时钟。
8.根据权利要求7所述的基于包交换的时钟同步装置,其特征在于,该装置还包括:主时钟,用于将发送同步消息和接收延迟测量消息的时间戳发送给从时钟;
所述时间戳收集模块,具体用于收集接收和发送同步消息、延迟测量消息的时间戳;
所述时间戳差计算模块,具体用于分别计算同步消息的收发时间戳差和延迟测量消息的收发时间戳差,以及用于:
当采用主时钟时间戳减去从时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最大值作为时间偏差的下界,从所述延迟测量消息的收发时间戳差中选出一个最小值作为时间偏差的上界;
当采用从时钟时间戳减去主时钟时间戳的方式来计算收发时间戳差时:从所述同步消息的收发时间戳差中选出一个最小值作为时间偏差的上界;从所述延迟测量消息的收发时间戳差中选出一个最大值作为时间偏差的下界。
9.根据权利要求7或8所述的基于包交换的时钟同步装置,其特征在于,所述从时钟还包括:
门限判断模块,用于判断收发时间戳差的个数是否超过设定的上限,然后通知所述时间戳差计算模块。
10.根据权利要求7或8所述的基于包交换的时钟同步装置,其特征在于,所述从时钟还包括:滤波模块和频率校正判断模块,其中,
滤波模块,用于对本次时钟校正中所述时间偏差计算模块计算得到的时间偏差进行滤波,并保存该时间偏差,然后将通过滤波的时间偏差转发给所述时钟校正模块;
频率校正判断模块,用于判断本次时钟校正中通过滤波的时间偏差与上一次的时间偏差之差是否在频率校正门限范围内,并且当本次的时间偏差与上一次的时间偏差之差在频率校正门限范围内时,通知所述时钟校正模块;
所述时钟校正模块,具体用于将通过滤的时间偏差加到从时钟的本地时间上,并在收到所述频率校正判断模块的通知时,将本次时钟校正的时间偏差与上一次的时间偏差之差转换为频率偏差,来校正从时钟的频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910083956.1A CN101888292B (zh) | 2009-05-13 | 2009-05-13 | 基于包交换的时钟同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910083956.1A CN101888292B (zh) | 2009-05-13 | 2009-05-13 | 基于包交换的时钟同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101888292A true CN101888292A (zh) | 2010-11-17 |
CN101888292B CN101888292B (zh) | 2014-07-16 |
Family
ID=43074027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910083956.1A Expired - Fee Related CN101888292B (zh) | 2009-05-13 | 2009-05-13 | 基于包交换的时钟同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101888292B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103001718A (zh) * | 2011-09-14 | 2013-03-27 | 中兴通讯股份有限公司 | 调整频率的方法及装置 |
CN103036833A (zh) * | 2011-09-30 | 2013-04-10 | 重庆重邮信科通信技术有限公司 | 一种ofdm ***定时同步控制方法及装置 |
CN103188064A (zh) * | 2011-12-28 | 2013-07-03 | 中兴通讯股份有限公司 | 时钟同步方法及装置 |
CN105379220A (zh) * | 2013-03-18 | 2016-03-02 | 吉林克斯公司 | 具有偏斜的多路通信链路中的时间戳修正 |
CN103001718B (zh) * | 2011-09-14 | 2016-12-14 | 中兴通讯股份有限公司 | 调整频率的方法及装置 |
CN106375055A (zh) * | 2016-08-30 | 2017-02-01 | 成都源知信息技术有限公司 | 一种网络设备时钟偏差测量方法及测量设备 |
CN107800529A (zh) * | 2017-11-07 | 2018-03-13 | 北京飞利信电子技术有限公司 | 一种网络节点的时钟频率同步方法 |
WO2019228221A1 (zh) * | 2018-05-31 | 2019-12-05 | 华为技术有限公司 | 时钟同步方法、装置、终端设备、芯片及可读存储介质 |
CN113390452A (zh) * | 2021-06-16 | 2021-09-14 | 北京康斯特仪表科技股份有限公司 | 一种开关型仪表校准方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217330B (zh) * | 2008-01-02 | 2012-07-25 | 中兴通讯股份有限公司 | 一种用于时间同步校正的方法和装置 |
CN101227246A (zh) * | 2008-01-28 | 2008-07-23 | 中兴通讯股份有限公司 | 一种主从时钟同步的方法及装置 |
-
2009
- 2009-05-13 CN CN200910083956.1A patent/CN101888292B/zh not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103001718A (zh) * | 2011-09-14 | 2013-03-27 | 中兴通讯股份有限公司 | 调整频率的方法及装置 |
CN103001718B (zh) * | 2011-09-14 | 2016-12-14 | 中兴通讯股份有限公司 | 调整频率的方法及装置 |
CN103036833B (zh) * | 2011-09-30 | 2017-10-13 | 锐迪科(重庆)微电子科技有限公司 | 一种ofdm***定时同步控制方法及装置 |
CN103036833A (zh) * | 2011-09-30 | 2013-04-10 | 重庆重邮信科通信技术有限公司 | 一种ofdm ***定时同步控制方法及装置 |
CN103188064A (zh) * | 2011-12-28 | 2013-07-03 | 中兴通讯股份有限公司 | 时钟同步方法及装置 |
CN105379220A (zh) * | 2013-03-18 | 2016-03-02 | 吉林克斯公司 | 具有偏斜的多路通信链路中的时间戳修正 |
CN105379220B (zh) * | 2013-03-18 | 2017-12-01 | 吉林克斯公司 | 用于修正多路通信链路中的时间戳的方法和相关集成电路 |
CN106375055A (zh) * | 2016-08-30 | 2017-02-01 | 成都源知信息技术有限公司 | 一种网络设备时钟偏差测量方法及测量设备 |
CN106375055B (zh) * | 2016-08-30 | 2018-09-21 | 成都源知信息技术有限公司 | 一种网络设备时钟偏差测量方法及测量设备 |
CN107800529A (zh) * | 2017-11-07 | 2018-03-13 | 北京飞利信电子技术有限公司 | 一种网络节点的时钟频率同步方法 |
CN107800529B (zh) * | 2017-11-07 | 2020-10-20 | 北京飞利信电子技术有限公司 | 一种网络节点的时钟频率同步方法 |
WO2019228221A1 (zh) * | 2018-05-31 | 2019-12-05 | 华为技术有限公司 | 时钟同步方法、装置、终端设备、芯片及可读存储介质 |
CN113390452A (zh) * | 2021-06-16 | 2021-09-14 | 北京康斯特仪表科技股份有限公司 | 一种开关型仪表校准方法及装置 |
CN113390452B (zh) * | 2021-06-16 | 2023-08-18 | 北京康斯特仪表科技股份有限公司 | 一种开关型仪表校准方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101888292B (zh) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101888292B (zh) | 基于包交换的时钟同步方法及装置 | |
EP3491753B1 (en) | System and methods for network synchronization | |
EP3382918B1 (en) | System and method of clock management in a packet data network | |
US8416812B2 (en) | Network timing synchronization systems | |
EP2374245B1 (en) | Controlling packet transmission using bandwidth estimation | |
CN102244572B (zh) | 一种实现时钟同步的方法及装置 | |
CN104836630B (zh) | Ieee1588时钟同步***及其实现方法 | |
CN101425865B (zh) | 传输网中的时钟同步方法、***和从时钟侧实体 | |
CN106603183B (zh) | 一种时间戳过滤方法及装置 | |
CN100561904C (zh) | 一种实现以太网链状网络节点间同步的装置和方法 | |
WO2018006686A1 (zh) | 一种通信网络设备间时间同步的优化方法、装置及设备 | |
CN105577309B (zh) | 一种卫星通信***全网时钟同步方法 | |
WO2002080440A1 (en) | Method for synchronizing a first clock to a second clock, processing unit and synchronization system | |
CN101895381A (zh) | 在分组网上的多输入定时恢复 | |
CN102577194A (zh) | 不访问实时时间而根据网络设备中驻留时间的实时数值的测量和调整 | |
CN107809295B (zh) | 一种跨平台时间同步装置及方法 | |
CN104158647A (zh) | 一种无线传感网络时钟同步方法 | |
CN103119872A (zh) | 用于修正延迟不对称的方法 | |
EP3216171B1 (en) | Network performance monitoring for optimal distribution of timing information | |
CN101895384A (zh) | 一种实现边界时钟的方法和装置 | |
CN106357362A (zh) | 一种时间同步方法、装置及ptp*** | |
CN103117829A (zh) | 一种不对称网络间的时间同步与补偿方法或者装置 | |
Kim et al. | Cluster-based hierarchical time synchronization for multi-hop wireless sensor networks | |
CN106162856A (zh) | 一种无线AdHoc网络中的节点同步方法 | |
WO2021018407A1 (en) | Clock synchronization in packet communications networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140716 Termination date: 20190513 |
|
CF01 | Termination of patent right due to non-payment of annual fee |