CN105306159A - 一种时钟的时间戳补偿方法及装置 - Google Patents
一种时钟的时间戳补偿方法及装置 Download PDFInfo
- Publication number
- CN105306159A CN105306159A CN201410307725.5A CN201410307725A CN105306159A CN 105306159 A CN105306159 A CN 105306159A CN 201410307725 A CN201410307725 A CN 201410307725A CN 105306159 A CN105306159 A CN 105306159A
- Authority
- CN
- China
- Prior art keywords
- counter
- time
- whole
- value
- timestamp
- 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.)
- Pending
Links
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/067—Details of the timestamp structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
-
- 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)
- Synchronisation In Digital Transmission Systems (AREA)
- Measurement Of Unknown Time Intervals (AREA)
- Electric Clocks (AREA)
Abstract
本发明提供一种时钟的时间戳补偿方法及装置,其中方法包括:利用不同源的时钟分别设置第一时间计数器和第二时间计数器;利用一预设时刻的时戳记录信号,分别获取在所述第一时间计数器中读取的第一时间戳值和在所述第二时间计数器中读取的第二时间戳值;根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。本发明的方案可以提高本地系统的时间戳精度。
Description
技术领域
本发明涉及通信领域,尤其涉及一种时钟的时间戳补偿方法及装置。
背景技术
在现代移动通讯网络中,各通讯设备之间需要保持时间同步,以保证用户在移动过程中基站的切换不会出现掉线等故障,目前只有GPS和IEEE1588可以满足这一需求。GPS由于系统成本以及安全性的限制不方便全面推广。IEEE1588通常称为PrecisionTimeProtocol,即PTP协议,其全称是:网络测量和控制系统的精密时钟同步协议标准(aPrecisionClockSynchronizationProtocolforNetworkedMeasurementandControlSystems)。IEEE1588系统仅需要高精度时钟源输入承载网,就可以使各基站的时钟时间信息根据时钟质量、系统主从关系等自动实现全网亚微秒级时间精度的时间同步,减少了系统成本,增强了通信网络的安全性和稳定性。基于这些考虑,目前IEEE1588技术在传输领域正被广泛采用。
IEEE1588系统的时间精度主要是由主从节点的时间精度决定的。主从节点中对时消息的处理是基于本地时间计数器,该计数器的精度直接影响到整个系统的对时精度。
现有的系统时间计数器实现方法如下:若系统时钟为125M的精确时钟,对于1秒的时间正好是125MHz时钟计数器计数125000000个时钟周期,一个125M时钟周期为8ns,根据1588协议,时间戳是一个80位的时间偏差值,以1970年1月1日0时0分0秒为基准时间,给出当前时间和基准时间的时间偏差。在80位计数器中,高48位为秒的整数部分,而低32位为纳秒的整数部分。所以通过每周期的固定加法,得到当前的本地时间。
但是整个系统的时间精度受到时间计数器频率的限制,最高的精度只能是8ns,时间同步系统在通过不同的传输设备之后,误差也会不断累加,只有提高本地时间戳的精度才能减少系统误差。
发明内容
本发明要解决的技术问题是提供一种时钟的时间戳补偿方法,可以提高本地系统的时间戳精度。
为解决上述技术问题,本发明的实施例提供一种时钟的时间戳补偿方法,包括:
利用不同源的时钟分别设置第一时间计数器和第二时间计数器;
利用一预设时刻的时戳记录信号,分别获取在所述第一时间计数器中读取的第一时间戳值和在所述第二时间计数器中读取的第二时间戳值;
根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;
根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。
其中,所述第一时间计数器和所述第二时间计数器均为80位的计数器。
其中,所述第一时间计数器包括:完成整秒部分运算的第一整秒计数器和完成整纳秒部分运算及进位操作的第一整纳秒计数器;
所述第二时间计数器包括:完成整秒部分运算的第二整秒计数器、完成整纳秒部分运算及进位操作的第二整纳秒计数器,以及完成纳秒分数部分运算及进位操作的第二纳秒分数计数器。
其中,所述第一整秒计数器为48位的计数器,第一整纳秒计数器为32位的计数器;其中,所述48位的计数器的高16位数由CPU设置;
所述第二整秒计数器为32位的计数器,所述第二整纳秒计数器为32位的计数器,所述第二纳秒分数计数器为16位的计数器。5.根据权利要求3所述的时钟的时间戳补偿方法,其特征在于,利用一预设时刻的时戳记录信号,获取在第一时间计数器中读取第一时间戳值的步骤包括:
当遇到所述预设时刻的时戳记录信号时,获取在所述第一时间计数器中读取的所述第一整秒计数器的第一值以及所述第一整纳秒计数器的第二值;
将所述第一值与所述第二值组成所述第一时间戳值。
其中,利用一预设时刻的时戳记录信号,获取在第二时间计数器中读取的第二时间戳值的步骤包括:
当遇到所述预设时刻的时戳记录信号时,获取在所述第二时间计数器中读取的所述第二整秒计数器的第三值、所述第二整纳秒计数器的第四值以及所述第二纳秒分数计数器的第五值;
将所述第三值、第四值以及第五值组成所述第二时间戳值。
其中,根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值的步骤包括:
将所述第一时间计数器的低64位数和所述第二时间计数器的高64位数相加取平均值,得到所述补偿时间戳值;或者
分别将第一时间计数器和第二时间计数器的整秒和整纳秒部分分别相加求和,得到整秒部分的33位数和整纳秒部分的33位数,然后分别对这两部分数据分别移位平均操作,得到32位宽的整秒部分和32位宽的整纳秒部分,然后由CPU设置整秒部分的高16位,得到所述补偿时间戳值。
本发明的实施例还提供一种时钟的时间戳补偿装置,包括:
计时器模块,用于利用不同源的时钟分别设置第一时间计数器和第二时间计数器;
第一获取模块,用于利用一预设时刻的时戳记录信号,分别获取在所述第一时间计数器中读取的第一时间戳值以及在所述第二时间计数器中读取的第二时间戳值;
第二获取模块,用于根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;
补偿模块,用于根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。
其中,所述第一时间计数器和所述第二时间计数器均为80位的计数器。
其中,所述第一时间计数器包括:完成整秒部分运算的第一整秒计数器和完成整纳秒部分运算及进位操作的第一整纳秒计数器;
所述第二时间计数器包括:完成整秒部分运算的第二整秒计数器、完成整纳秒部分运算及进位操作的第二整纳秒计数器,以及完成纳秒分数部分运算及进位操作的第二纳秒分数计数器。
其中,所述第一整秒计数器为48位的计数器,第一整纳秒计数器为32位的计数器;其中,所述48位的计数器的高16位数由CPU设置;
所述第二整秒计数器为32位的计数器,所述第二整纳秒计数器为32位计数器,所述第二纳秒分数计数器为16位的计数器。
其中,所述第一获取模块包括:
第一获取子模块,用于当遇到所述预设时刻的时戳记录信号时,获取在第一时间计数器中读取的第一整秒计数器的第一值以及第一整纳秒计数器的第二值;将所述第一值与所述第二值组成所述第一时间戳值;
第二获取子模块,用于当遇到所述预设时刻的时戳记录信号时,获取在第二时间计数器中读取的第二整秒计数器的第三值、第二整纳秒计数器的第四值以及第二纳秒分数计数器的第五值;将所述第三值、第四值以及第五值组成所述第二时间戳值。
其中,所述第二获取模块包括:
判断子模块,用于判断第二整纳秒计数器以及第二纳秒分数计数器是否都有进位;
计算子模块,用于根据所述判断子模块的判断结果,对所述第一时间计数器的低64位数和所述第二时间计数器的高64位数之和求平均值,得到所述补偿时间戳值;或者先对所述第一时间计数器的低64位数和所述第二时间计数器的高64位数求和,再与第二纳秒分数计数器的16位数组成80位数,经过两拍数据后,对所述80位数移位计算平均值,得到所述补偿时间戳值。
本发明的上述技术方案的有益效果如下:
上述方案中,通过利用不同源的时钟分别设置第一时间计数器和第二时间计数器;利用一预设时刻的时戳记录信号,分别获取在所述第一时间计数器中读取的第一时间戳值以及在所述第二时间计数器中读取的第二时间戳值;根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。使得本地时钟与业务时钟两种时钟同时计数,建立起分别工作在两个时钟域的计时器,通过关键时刻的时戳记录信号分别在两个时间计数器中读取的时间戳值,并通过比较与平均,完成对于时间戳整数部分的补偿。能够较大程度的提高时间戳的精度。相比原来125M情况±8ns的偏差,通过双时钟采样和双边沿累加后,现在的偏差在±3.6ns之间,提升的精度为55%。
附图说明
图1为本发明的时钟的时间戳补偿方法的流程图;
图2为本发明的时间计数器的格式图;
图3为本发明的时间戳的补偿方法的一具体流程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明所要解决的技术问题是:提供一种提高传输系统中精确时间戳精度的实现方法,能在本地时戳记录的过程中,通过多时钟采样对时钟的整数部分进行补偿,从而提高系统的时间戳精度。
如图1所示,本发明的实施例提供一种时钟的时间戳补偿方法,包括:
步骤11,利用不同源的时钟分别设置第一时间计数器和第二时间计数器;
步骤12,利用一预设时刻的时戳记录信号,分别获取在所述第一时间计数器中读取的第一时间戳值以及在所述第二时间计数器中读取的第二时间戳值;
步骤13,根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;
步骤14,根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。该实施例通过利用不同源的时钟分别设置第一时间计数器以及第二时间计数器;其中,第一时间计数器如可以是本地系统对应的计数器,第二时间计数器如可以是业务时钟对应的计数器,利用一预设时刻的时戳记录信号,分别获取在第一时间计数器中读取的第一时间戳值以及在第二时间计数器中读取的第二时间戳值;根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。使得本地时钟与业务时钟两种时钟同时计数,建立起分别工作在两个时钟域的计时器,通过关键时刻的时戳记录信号分别在两个时间计数器中读取的时间戳值,并通过比较与平均,完成对于时间戳整数部分的补偿。能够较大程度的提高时间戳的精度。相比原来125M情况±8ns的偏差,通过双时钟采样和双边沿累加后,现在的偏差在±3.6ns之间,提升的精度为55%。
如图2和图3所示,所述第一时间计数器和第二时间计数器均为80位的计数器。
其中,所述第一时间计数器包括:完成整秒部分运算的第一整秒计数器和完成整纳秒部分运算及进位操作的第一整纳秒计数器;
所述第二时间计数器包括:完成整秒部分运算的第二整秒计数器、完成整纳秒部分运算及进位操作的第二整纳秒计数器以及完成纳秒分数部分运算及进位操作的第二纳秒分数计数器。
其中,所述第一整秒计数器为48位的计数器,第一整纳秒计数器为32位的计数器;其中,所述48位的计数器的高16位数由CPU设置;
所述第二整秒计数器为32位的计数器,所述第二整纳秒计数器为32位的计数器,所述第二纳秒分数计数器为16位的计数器。
在系统中,可以使用两个不同源的时钟分别构建时间计数器,第一个是系统时钟125M时钟,对应第一时间计数器;第二个是业务时钟(可以根据不同业务设置),对应第二时间计数器,假设某个业务时钟频率为155.52MHz,业务时钟是一个通过业务恢复的基准时钟,对于1秒的时间正好是155.52MHz时钟计数155520000个时钟周期。一个155.52MHz时钟的时钟周期为:T155.52M=(3125/486)ns=6+(209/486)ns;可以看到业务时钟周期是由整数部分和分数部分组成的。因此在设置精确时间计数器时可以将计数器分成整数计数和分数计数两部分计数器。整计数器主要完成整数部分的计算,分数计数器主要完成分数部分的计算以及进位操作。
由于1588精确时间戳的48位整秒部分可实现很宽范围的时间计数,因此时间戳的高位一般情况下很少变化,所以PTP精确计数器,即第一时间计数器的第一整数部分计数器取32位宽可以满足实际用途,所缺的高16位整秒部分可以由软件直接设置,该第一整数部分计数器为整秒部分对应的计数器;整纳秒部分采用32位宽来表示(1s=109ns=0x3B9A_CA00ns),另外,当时钟周期不是整纳秒时,累加时会出现小数部分,因此在这里引入16位的小数部分,也称为分数部分来完成小数部分的累加,如图2所示。
两个计数器都采用流水线方式将计数位宽分离,计数器可以分为三部分,整秒计数器(32bit),整纳秒计数器(32bit),纳秒分数部分计数器(16bit),其中对于基准时钟为125M的系统时钟不需要用到纳秒分数计数器。在系统复位的时候,第一时间计数器和第二时间计数器要使用同一个复位信号,保证在复位之后,第一时间计数器和第二时间计数器的计数值为一致的。整纳秒低位计数位中使用时钟上升沿下降沿同时计数,例如原来的125M时钟计数器只在每个上升沿计数一次,计数周期为8ns,如果计数器对于时钟上升沿和下降沿同时计数的,则计数周期为4ns,整纳秒部分在每个时钟沿进行加4操作,当纳秒整数部分超过0x3B9A_CA00时,对整秒部分产生一个进位操作,同时,纳秒部分也需要减掉0x3B9A_CA00。分数计数器也同理,将整数部分和分数部分的累加因子除2之后进行计算,一个155.52MHz时钟的时钟周期为:T155.52M=(3125/486)ns=6+(209/486)ns,则上升沿和下降沿同时计数的时候,计数周期则为T155.52M×2=(3125/(486×2))ns=3+(209/972)ns。通过一个16位的寄存器,缓存小数部分的分子,还需要两个16位的寄存器,缓存小数部分的分子常量和分母常量,这些常量的取值可以通过CPU进行配置,以适应不同时钟频率下的计数需要。在每个计数周期内完成对于分子的累加和分母的比较,分子部分每个周期累加209,如果分子部分在下一个周期累加之后大于分母部分,则需要在下一周期对整纳秒部分进行进位操作的同时,分子部分也需要减去分母部分(972)。这可以采用一个二选一的模块来完成,首先判断分子部分在下一个时钟沿是否需要进位,这可以与763(972-209=763)进行比较,如果大于或等于该数值,表示需要进位。当分子部分下一周期不需要进位时,采用与209进行累加得出结果,如果需要进位时,则采用与(209-972=-763)相加得出结果,同时产生进位。需要说明的是,只有整纳秒的低位计数位使用双沿计数,整纳秒高位计数器和整秒部分还是通过单沿计数,进位指示持续一个整周期,所以不会出现遗失进位的问题。
本发明的一具体实施例中,在对时间计数器进行读取的时候,上述步骤12包括:
步骤121,当遇到所述预设时刻的时戳记录信号时,获取在所述第一时间计数器中读取的所述第一整秒计数器的第一值以及所述第一整纳秒计数器的第二值;
步骤122,将所述第一值与所述第二值组成所述第一时间戳值;
步骤123,当遇到所述预设时刻的时戳记录信号时,获取在所述第二时间计数器中读取的所述第二整秒计数器的第三值、所述第二整纳秒计数器的第四值以及所述第二纳秒分数计数器的第五值;
步骤124,将所述第三值、第四值以及第五值组成所述第二时间戳值
相应的,步骤13可以包括:
将所述第一时间计数器的低64位数和所述第二时间计数器的高64位数相加取平均值,得到所述补偿时间戳值;或者
分别将第一时间计数器和第二时间计数器的整秒和整纳秒部分分别相加求和,得到整秒部分的33位数和整纳秒部分的33位数,然后分别对这两部分数据分别移位平均操作,得到32位宽的整秒部分和32位宽的整纳秒部分,然后由CPU设置整秒部分的高16位,得到1588的标准计数器,即所述补偿时间戳值。
在需要打时戳的时刻,同时采样两个计时器的结果,可以得到分别在两个时钟域下的精确时间值,在这个读取计数器的过程中,因为打时戳信号跟系统时钟或者业务时钟是一个时钟域的,在这个采样过程中一个为同步采样,另外一个计数器为异步采样。取时戳时,只需要取出PTP精确计数器的整秒部分(32bit)和整纳秒部分(32bit),这样共有64位时戳值,整秒的额外高16bit由CPU设置,组成标准80bit的1588精确时间戳。在数据处理过程中,首先以同步采样的时钟计数器读取数值为基准,将两个计数器的最低计数位计数值的整数部分相加取平均值,在相加之前,可以首先判断分数计数器和低位整数计数器是否有进位,如果都有进位则将所有的80bit数据相加,在相加完成两拍数据稳定之后再通过移位计算平均值。当然,也可以不用判断是否进位,直接取两个计数器的整数部分的平均值,取平均值的过程基本上可以在确定周期内完成,不会影响下游打时戳的过程。
本发明的上述实施例通过在打时戳过程中,通过本地时钟与业务时钟两种时钟同时计数,建立起分别工作在两个时钟域的计时器,通过关键时刻的时戳记录信号分别在两个时间计数器中读取的时间戳值,并通过比较与平均,完成对于时间戳整数部分的补偿。
系统通过在提高计数器低整数位计数器的计数器周期,而且同时采用双时钟采样的方式获取了精确时钟的范围,通过基准时间戳与业务时间戳值的平均算法,获取到最终的时间戳,能够较大程度的提高时间戳的精度。相比原来125M情况±8ns的偏差,通过双时钟采样和双边沿累加后,现在的偏差在±3.6ns之间,时间戳精度提高55%。
本发明的实施例还提供一种时钟的时间戳补偿装置,包括:
本发明的实施例还提供一种时钟的时间戳补偿装置,包括:
计时器模块,用于利用不同源的时钟分别设置第一时间计数器和第二时间计数器;
第一获取模块,用于利用一预设时刻的时戳记录信号,分别获取在所述第一时间计数器中读取的第一时间戳值以及在所述第二时间计数器中读取的第二时间戳值;
第二获取模块,用于根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;
补偿模块,用于根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。
该实施例通过利用不同源的时钟分别设置第一时间计数器以及第二时间计数器;其中,第一时间计数器如可以是本地系统对应的计数器,第二时间计数器如可以是业务时钟对应的计数器,利用一预设时刻的时戳记录信号,分别获取在第一时间计数器中读取的第一时间戳值以及在第二时间计数器中读取的第二时间戳值;根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。使得本地时钟与业务时钟两种时钟同时计数,建立起分别工作在两个时钟域的计时器,通过关键时刻的时戳记录信号分别在两个时间计数器中读取的时间戳值,并通过比较与平均,完成对于时间戳整数部分的补偿。能够较大程度的提高时间戳的精度。相比原来125M情况±8ns的偏差,通过双时钟采样和双边沿累加后,现在的偏差在±3.6ns之间,提升的精度为55%。
其中,所述第一时间计数器和所述第二时间计数器均为80位的计数器。
其中,所述第一时间计数器包括:完成整秒部分运算的第一整秒计数器和完成整纳秒部分运算及进位操作的第一整纳秒计数器;
所述第二时间计数器包括:完成整秒部分运算的第二整秒计数器、完成整纳秒部分运算及进位操作的第二整纳秒计数器,以及完成纳秒分数部分运算及进位操作的第二纳秒分数计数器。
其中,所述第一整秒计数器为48位的计数器,第一整纳秒计数器为32位的计数器;其中,所述48位的计数器的高16位数由CPU设置;
所述第二整秒计数器为32位的计数器,所述第二整纳秒计数器为32位计数器,所述第二纳秒分数计数器为16位的计数器。
其中,所述第一获取模块包括:
第一获取子模块,用于当遇到所述预设时刻的时戳记录信号时,获取在第一时间计数器中读取的第一整秒计数器的第一值以及第一整纳秒计数器的第二值;将所述第一值与所述第二值组成所述第一时间戳值。
第二获取子模块,用于当遇到所述预设时刻的时戳记录信号时,获取在第二时间计数器中读取的第二整秒计数器的第三值、第二整纳秒计数器的第四值以及第二纳秒分数计数器的第五值;将所述第三值、第四值以及第五值组成所述第二时间戳值。
其中,所述第二获取模块包括:
计算子模块,用于将所述第一时间计数器的低64位数和所述第二时间计数器的高64位数相加取平均值,得到所述补偿时间戳值;或者
分别将第一时间计数器和第二时间计数器的整秒和整纳秒部分分别相加求和,得到整秒部分的33位数和整纳秒部分的33位数,然后分别对这两部分数据分别移位平均操作,得到32位宽的整秒部分和32位宽的整纳秒部分,然后由CPU设置整秒部分的高16位,得到所述补偿时间戳值。
该装置的实施例与上述方法实施例相对应,上述方法实施例中的所有实现方式均适用于该装置的实施例,也能达到相同的技术效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种时钟的时间戳补偿方法,其特征在于,包括:
利用不同源的时钟分别设置第一时间计数器和第二时间计数器;
利用一预设时刻的时戳记录信号,分别获取在所述第一时间计数器中读取的第一时间戳值和在所述第二时间计数器中读取的第二时间戳值;
根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;
根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。
2.根据权利要求1所述的时钟的时间戳补偿方法,其特征在于,所述第一时间计数器和所述第二时间计数器均为80位的计数器。
3.根据权利要求2所述的时钟的时间戳补偿方法,其特征在于,所述第一时间计数器包括:完成整秒部分运算的第一整秒计数器和完成整纳秒部分运算及进位操作的第一整纳秒计数器;
所述第二时间计数器包括:完成整秒部分运算的第二整秒计数器、完成整纳秒部分运算及进位操作的第二整纳秒计数器,以及完成纳秒分数部分运算及进位操作的第二纳秒分数计数器。
4.根据权利要求3所述的时钟的时间戳补偿方法,其特征在于,所述第一整秒计数器为48位的计数器,第一整纳秒计数器为32位的计数器;其中,所述48位的计数器的高16位数由CPU设置;
所述第二整秒计数器为32位的计数器,所述第二整纳秒计数器为32位的计数器,所述第二纳秒分数计数器为16位的计数器。
5.根据权利要求3所述的时钟的时间戳补偿方法,其特征在于,利用一预设时刻的时戳记录信号,获取在第一时间计数器中读取第一时间戳值的步骤包括:
当遇到所述预设时刻的时戳记录信号时,获取在所述第一时间计数器中读取的所述第一整秒计数器的第一值以及所述第一整纳秒计数器的第二值;
将所述第一值与所述第二值组成所述第一时间戳值。
6.根据权利要求5所述的时钟的时间戳补偿方法,其特征在于,利用一预设时刻的时戳记录信号,获取在第二时间计数器中读取的第二时间戳值的步骤包括:
当遇到所述预设时刻的时戳记录信号时,获取在所述第二时间计数器中读取的所述第二整秒计数器的第三值、所述第二整纳秒计数器的第四值以及所述第二纳秒分数计数器的第五值;
将所述第三值、第四值以及第五值组成所述第二时间戳值。
7.根据权利要求6所述的时钟的时间戳补偿方法,其特征在于,根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值的步骤包括:
将所述第一时间计数器的低64位数和所述第二时间计数器的高64位数相加取平均值,得到所述补偿时间戳值;或者
分别将第一时间计数器和第二时间计数器的整秒和整纳秒部分分别相加求和,得到整秒部分的33位数和整纳秒部分的33位数,然后分别对这两部分数据分别移位平均操作,得到32位宽的整秒部分和32位宽的整纳秒部分,然后由CPU设置整秒部分的高16位,得到所述补偿时间戳值。
8.一种时钟的时间戳补偿装置,其特征在于,包括:
计时器模块,用于利用不同源的时钟分别设置第一时间计数器和第二时间计数器;
第一获取模块,用于利用一预设时刻的时戳记录信号,分别获取在所述第一时间计数器中读取的第一时间戳值以及在所述第二时间计数器中读取的第二时间戳值;
第二获取模块,用于根据所述第一时间戳值和第二时间戳值,得到补偿时间戳值;
补偿模块,用于根据所述补偿时间戳值对本地系统时钟的时间戳整数部分进行补偿。
9.根据权利要求8所述的时钟的时间戳补偿装置,其特征在于,所述第一时间计数器和所述第二时间计数器均为80位的计数器。
10.根据权利要求9所述的时钟的时间戳补偿装置,其特征在于,所述第一时间计数器包括:完成整秒部分运算的第一整秒计数器和完成整纳秒部分运算及进位操作的第一整纳秒计数器;
所述第二时间计数器包括:完成整秒部分运算的第二整秒计数器、完成整纳秒部分运算及进位操作的第二整纳秒计数器,以及完成纳秒分数部分运算及进位操作的第二纳秒分数计数器。
11.根据权利要求10所述的时钟的时间戳补偿装置,其特征在于,所述第一整秒计数器为48位的计数器,第一整纳秒计数器为32位的计数器;其中,所述48位的计数器的高16位数由CPU设置;
所述第二整秒计数器为32位的计数器,所述第二整纳秒计数器为32位计数器,所述第二纳秒分数计数器为16位的计数器。
12.根据权利要求10所述的时钟的时间戳补偿装置,其特征在于,所述第一获取模块包括:
第一获取子模块,用于当遇到所述预设时刻的时戳记录信号时,获取在第一时间计数器中读取的第一整秒计数器的第一值以及第一整纳秒计数器的第二值;将所述第一值与所述第二值组成所述第一时间戳值;
第二获取子模块,用于当遇到所述预设时刻的时戳记录信号时,获取在第二时间计数器中读取的第二整秒计数器的第三值、第二整纳秒计数器的第四值以及第二纳秒分数计数器的第五值;将所述第三值、第四值以及第五值组成所述第二时间戳值。
13.根据权利要求12所述的时钟的时间戳补偿装置,其特征在于,所述第二获取模块包括:
计算子模块,用于将所述第一时间计数器的低64位数和所述第二时间计数器的高64位数相加取平均值,得到所述补偿时间戳值;或者分别将第一时间计数器和第二时间计数器的整秒和整纳秒部分分别相加求和,得到整秒部分的33位数和整纳秒部分的33位数,然后分别对这两部分数据分别移位平均操作,得到32位宽的整秒部分和32位宽的整纳秒部分,然后由CPU设置整秒部分的高16位,得到所述补偿时间戳值。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307725.5A CN105306159A (zh) | 2014-06-30 | 2014-06-30 | 一种时钟的时间戳补偿方法及装置 |
EP14896822.5A EP3163787B1 (en) | 2014-06-30 | 2014-10-14 | Method and device for compensating time stamp of clock |
PCT/CN2014/088577 WO2016000352A1 (zh) | 2014-06-30 | 2014-10-14 | 一种时钟的时间戳补偿方法及装置 |
JP2016575784A JP6379230B2 (ja) | 2014-06-30 | 2014-10-14 | クロックのタイムスタンプ補償方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307725.5A CN105306159A (zh) | 2014-06-30 | 2014-06-30 | 一种时钟的时间戳补偿方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105306159A true CN105306159A (zh) | 2016-02-03 |
Family
ID=55018370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410307725.5A Pending CN105306159A (zh) | 2014-06-30 | 2014-06-30 | 一种时钟的时间戳补偿方法及装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3163787B1 (zh) |
JP (1) | JP6379230B2 (zh) |
CN (1) | CN105306159A (zh) |
WO (1) | WO2016000352A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107592193A (zh) * | 2016-07-08 | 2018-01-16 | 成都夸克光电技术有限公司 | 一种高精度外部串行时钟补偿方法 |
CN108255232A (zh) * | 2017-12-06 | 2018-07-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种ieee1588时码计时器的精度提升方法 |
CN109283864A (zh) * | 2017-07-21 | 2019-01-29 | 北京智云芯科技有限公司 | 一种数据采样的时间同步、校准方法和系统 |
CN110381343A (zh) * | 2018-04-13 | 2019-10-25 | 株式会社东芝 | 同步控制装置及同步控制方法 |
CN114461012A (zh) * | 2022-01-19 | 2022-05-10 | 许昌许继软件技术有限公司 | 一种嵌入式系统不同时钟域运行时戳获取方法及装置 |
WO2022160283A1 (zh) * | 2021-01-29 | 2022-08-04 | 华为技术有限公司 | 一种采样方法、采样电路及分布式网络的时钟同步方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105717979A (zh) * | 2016-01-29 | 2016-06-29 | 山东鲁能智能技术有限公司 | 基于时间戳和计数器的时钟装置及其实现方法 |
CN111757391B (zh) | 2019-03-29 | 2024-04-12 | 华为技术有限公司 | 一种通信方法及装置 |
CN111800212B (zh) * | 2020-06-12 | 2022-04-15 | 烽火通信科技股份有限公司 | 一种时间戳抖动补偿方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244304A1 (en) * | 2007-03-28 | 2008-10-02 | Microsoft Corporation | Deriving accurate media position information |
WO2011009707A1 (fr) * | 2009-07-24 | 2011-01-27 | Alcatel Lucent | Procede et systeme de synchronisation de haute precision |
CN102104475A (zh) * | 2011-01-31 | 2011-06-22 | 上海交通大学 | 基于ieee1588的同步系统及其同步方法 |
CN102231907A (zh) * | 2011-06-27 | 2011-11-02 | 中兴通讯股份有限公司 | 传输系统中的时钟同步方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030916A1 (en) * | 2008-08-04 | 2010-02-04 | Endace USA Limited | Method and system for distributing clock signals |
US8700805B2 (en) * | 2008-09-02 | 2014-04-15 | Unify Gmbh & Co. Kg | Method for synchronizing clocks in a communication network |
EP2695000B1 (en) * | 2011-04-05 | 2018-05-30 | Koninklijke Philips N.V. | Detector array with time-to-digital conversion having improved temporal accuracy |
CN103763055B (zh) * | 2013-10-18 | 2016-05-18 | 杭州联汇数字科技有限公司 | 一种精确同步时间的方法 |
-
2014
- 2014-06-30 CN CN201410307725.5A patent/CN105306159A/zh active Pending
- 2014-10-14 JP JP2016575784A patent/JP6379230B2/ja active Active
- 2014-10-14 WO PCT/CN2014/088577 patent/WO2016000352A1/zh active Application Filing
- 2014-10-14 EP EP14896822.5A patent/EP3163787B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244304A1 (en) * | 2007-03-28 | 2008-10-02 | Microsoft Corporation | Deriving accurate media position information |
WO2011009707A1 (fr) * | 2009-07-24 | 2011-01-27 | Alcatel Lucent | Procede et systeme de synchronisation de haute precision |
CN102104475A (zh) * | 2011-01-31 | 2011-06-22 | 上海交通大学 | 基于ieee1588的同步系统及其同步方法 |
CN102231907A (zh) * | 2011-06-27 | 2011-11-02 | 中兴通讯股份有限公司 | 传输系统中的时钟同步方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107592193A (zh) * | 2016-07-08 | 2018-01-16 | 成都夸克光电技术有限公司 | 一种高精度外部串行时钟补偿方法 |
CN109283864A (zh) * | 2017-07-21 | 2019-01-29 | 北京智云芯科技有限公司 | 一种数据采样的时间同步、校准方法和系统 |
CN109283864B (zh) * | 2017-07-21 | 2020-05-05 | 北京智云芯科技有限公司 | 一种数据采样的时间同步、校准方法和系统 |
CN108255232A (zh) * | 2017-12-06 | 2018-07-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种ieee1588时码计时器的精度提升方法 |
CN110381343A (zh) * | 2018-04-13 | 2019-10-25 | 株式会社东芝 | 同步控制装置及同步控制方法 |
CN110381343B (zh) * | 2018-04-13 | 2022-07-19 | 株式会社东芝 | 同步控制装置及同步控制方法 |
WO2022160283A1 (zh) * | 2021-01-29 | 2022-08-04 | 华为技术有限公司 | 一种采样方法、采样电路及分布式网络的时钟同步方法 |
CN114461012A (zh) * | 2022-01-19 | 2022-05-10 | 许昌许继软件技术有限公司 | 一种嵌入式系统不同时钟域运行时戳获取方法及装置 |
CN114461012B (zh) * | 2022-01-19 | 2024-05-10 | 许昌许继软件技术有限公司 | 一种嵌入式系统不同时钟域运行时戳获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3163787A4 (en) | 2017-08-02 |
WO2016000352A1 (zh) | 2016-01-07 |
EP3163787A1 (en) | 2017-05-03 |
JP2017521941A (ja) | 2017-08-03 |
EP3163787B1 (en) | 2020-06-17 |
JP6379230B2 (ja) | 2018-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105306159A (zh) | 一种时钟的时间戳补偿方法及装置 | |
US9671761B2 (en) | Method, time consumer system, and computer program product for maintaining accurate time on an ideal clock | |
CN110492965B (zh) | 一种主从系统内串行报文对时的方法和装置 | |
CN106603183B (zh) | 一种时间戳过滤方法及装置 | |
CN104836630B (zh) | Ieee1588时钟同步系统及其实现方法 | |
CN102231907B (zh) | 传输系统中的时钟同步方法和装置 | |
US9547332B1 (en) | Accurate time capture and transfer between clock domains | |
CN103563287B (zh) | 同步设备和同步方法 | |
CN111106894B (zh) | 一种时间同步方法和系统 | |
CN111385047A (zh) | 一种时间同步方法及电子设备 | |
CN102104475A (zh) | 基于ieee1588的同步系统及其同步方法 | |
JP5972450B2 (ja) | 信号処理装置 | |
CN109495203A (zh) | 一种ptp从钟的恢复系统 | |
CN110719135A (zh) | 时间校准方法、系统及电子装置 | |
CN112486246A (zh) | 时钟延时检测、补偿方法、装置、终端及可读存储介质 | |
Ronen et al. | Enhanced synchronization accuracy in IEEE1588 | |
CN105721095A (zh) | 一种变电站设备时钟同步的改进方法 | |
CN104144047A (zh) | 通信网络系统的同步方法、中间节点和从节点 | |
CN115801175A (zh) | 时间频率同步方法、系统、存储介质及电子设备 | |
CN102710359B (zh) | 一种基于ieee1588的精确时钟频率同步方法及装置 | |
CN114389735A (zh) | 一种基于ieee802.1as冗余主时钟的时钟同步方法 | |
US11349633B1 (en) | Using time protocol messages for passive time synchronization | |
CN105026938A (zh) | 信号处理装置 | |
CN113055113A (zh) | 时钟时间同步方法、装置、设备和存储介质 | |
CN101867431A (zh) | 一种网络时钟同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160203 |
|
WD01 | Invention patent application deemed withdrawn after publication |