CN106301656B - 一种提高时间戳测量精度的方法及装置 - Google Patents
一种提高时间戳测量精度的方法及装置 Download PDFInfo
- Publication number
- CN106301656B CN106301656B CN201610787322.4A CN201610787322A CN106301656B CN 106301656 B CN106301656 B CN 106301656B CN 201610787322 A CN201610787322 A CN 201610787322A CN 106301656 B CN106301656 B CN 106301656B
- Authority
- CN
- China
- Prior art keywords
- sampling clock
- tested
- cycle
- signal
- event
- 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.)
- Active
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Measuring Frequencies, Analyzing Spectra (AREA)
- Measurement Of Unknown Time Intervals (AREA)
Abstract
本发明提供了一种提高时间戳测量精度的方法及装置,所述方法包括:获取与被测周期信号具有预设频率偏差的采样时钟;被测周期信号的频率为f1,采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;利用采样时钟对被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为被测周期信号的周期T1的N倍;当在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及细计数器的计数值m,并根据n和m获取被测事件的时间戳[n+m*(1/N)]*T2。本发明提供的提高时间戳测量精度的方法及装置,实现起来较为方便,对器件性能要求较低,且根据需要能够达到优于传统时钟计数法的时间精度。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种提高时间戳测量精度的方法及装置。
背景技术
在测量、控制等应用中,越来越多的使用分布式***。各类设备(例如计算机、传感器、数控设备等)相互连接形成网络,并按照某种协议实现所有设备间的时间同步,从而使各台设备以高度的协调性共同执行任务。不同的应用对时间同步精度的要求不同,例如普通的音频网络仅要求ms级的同步,而工业总线则一般要求亚us级的同步。IEEE-1588精确时间同步协议(PTP)即是出于高精度时间同步的目的制定的,在该协议(包括任何类似的协议)中,对时间同步精度有最直接影响的即是“时间戳”。一个事件的“时间戳”指该事件发生的时刻与参考零时刻的时间间隔,决定“时间戳”精度的是其中的时间测量技术。
精确“时间戳”的给出通常位于协议的底层部分,例如在基于以太网的时间同步网络中,“时间戳”在数据链路层给出,有的PHY芯片具有测量“时间戳”的功能,或者可以在可编程数字逻辑器件(如FPGA)中实现时间测量。
在FPGA中实现时间测量,最简单的方法是时钟计数器,此方法的分辨率即是计数时钟的一个周期,例如对于100MHz时钟即是10ns;另一种方法是时间内插,它的分辨率取决于FPGA内延时链的单元延时,通常可以达到小于100ps。针对不同的应用需求,这两种方法都被广泛使用,时钟计数器方法实现简单,适用于一般的同步***;时间内插方法更复杂,可以达到非常高的分辨率,很多专用的高精度时间数字转换(TDC)芯片即是基于该原理实现的。
时钟计数器方法的分辨率取决于计数时钟的频率,通常来说对于10ns级别的分辨率是容易达到的,但若要实现更高的分辨率则会对器件(如FPGA)性能以及电路设计等方面都提出较高的要求,因此这是一种仅适用于对同步精度要求不高的网络的技术。而时间内插方法的缺点是实现复杂,需要FPGA内有可作为延时链使用的硬线资源,且要求这些延时单元的延时均匀稳定。这对器件工艺、稳定性和一致性等方面都提出较严苛的要求,因此这是一种相对高成本的方法。
发明内容
针对现有技术中的缺陷,本发明提供一种提高时间戳测量精度的方法及装置,实现起来较为方便,对器件性能要求较低,且根据需要能够达到优于传统时钟计数法的时间精度。
第一方面,本发明提供了一种提高时间戳测量精度的方法,包括:
获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;
利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍;
采用粗计数器对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数;
采用细计数器对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,该细计数器以所述周期性采样信号的一个周期为长度进行循环计数,统计被测事件中的不足一个采样时钟的周期的部分,细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2;
当在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m*(1/N)]*T2,其中,n+m*(1/N)为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
进一步地,所述获取与被测周期信号具有预设频率偏差的采样时钟,包括:
利用锁相环电路或可编程数字逻辑器件FPGA内的锁相环资源产生与被测周期信号具有预设频率偏差的采样时钟。
进一步地,N取值为2、4、8、16、32、64或128。
第二方面,本发明还提供了一种提高时间戳测量精度的装置,包括:
获取单元,用于获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;
采样单元,用于利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍;
第一计数单元,用于采用粗计数器对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数;
第二计数单元,用于采用细计数器对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,该细计数器以所述周期性采样信号的一个周期为长度进行循环计数,统计被测事件中的不足一个采样时钟的周期的部分;细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2;
时间戳获取单元,用于在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m/N]*T2,其中,n+m/N为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
进一步地,所述获取单元具体用于:
利用锁相环电路或可编程数字逻辑器件FPGA内的锁相环资源产生与被测周期信号具有预设频率偏差的采样时钟。
进一步地,N取值为2、4、8、16、32、64或128。
第三方面,本发明还提供了一种提高时间戳测量精度的装置,包括:锁相环电路、采样器、粗计数器、细计数器和处理器;
其中,所述锁相环电路用于获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;
所述采样器用于利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍;
所述粗计数器,用于对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数;
所述细计数器,用于对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,以所述周期性采样信号的一个周期为长度进行循环计数,用于统计被测事件中的不足一个采样时钟的周期的部分;细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2;
所述处理器,用于在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m*(1/N)]*T2,其中,n+m*(1/N)为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
进一步地,N取值为2、4、8、16、32、64或128。
由上述技术方案可知,本发明提供的提高时间戳测量精度的方法使用一个与被测周期信号存在微小频率偏差的采样时钟对所述被测周期信号进行采样,得到周期性采样信号,然后根据所述采样时钟、所述周期性采样信号以及被测事件发生的时刻,利用粗计数器统计的被测事件中包含的采样时钟的周期的个数,以及细计数器统计的被测事件中的不足一个采样时钟的周期的部分,共同获取被测事件的时间戳。本发明提供的提高时间戳测量精度的方法,实现起来较为方便,对器件性能要求较低,且根据需要能够达到优于传统时钟计数法的时间精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的提高时间戳测量精度的方法流程图;
图2是高精度时间测量的原理说明图;
图3是高精度时间测量示例图;
图4是本发明实施例二提供的提高时间戳测量精度的装置的结构示意图;
图5是本发明实施例三提供的提高时间戳测量精度的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一提供了一种提高时间戳测量精度的方法,参见图1,该方法包括如下步骤:
步骤101:获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数。
在本步骤中,可以利用锁相环电路PLL或可编程数字逻辑器件FPGA内的锁相环资源产生与被测周期信号具有预设频率偏差的采样时钟。其中,N的取值根据被测周期信号的频率以及对时间戳的精度要求而确定。理论上,在被测周期信号频率确定的情况下,N取值越大,采样时钟与被测周期信号的频率偏差越小,最终确定的待测事件的时间戳也越精确。例如,N取值可以为2、4、8、16、32、64或128。
例如,参见图3,clk_B为被测周期信号,clk_A为获取的与被测周期信号clk_B具有预设频率偏差的采样时钟,clk_A的频率f2为5Hz,clk_B的频率f1为4Hz,f2=(1+1/4)*f1,即N=4。在这种情况下,通过后续采样过程相当于将被测周期信号clk_B的周期T1细分为4份,从而可以达到0.05s的分辨率。又如,继续保持f2=5Hz,f1=4Hz,当N=64时,相当于将被测周期信号clk_B的周期T1细分为64份,从而可以达到3.9ms的分辨率。
又如,当f1为25MHz,f2=(1+1/64)*f1时,相当于将被测周期信号clk_B的周期T1细分为64份,从而可以达到6.25ns的分辨率。
又如,当f1为25MHz,f2=(1+1/128)*f1时,相当于将被测周期信号clk_B的周期T1细分为128份,从而可以达到3.125ns的分辨率。
步骤102:利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍。
在本步骤中,参见图3,用clk_A对clk_B采样,得到一个周期性采样信号samp,它的周期是被测周期信号clk_B的周期的N=4倍。
步骤103:采用粗计数器对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数。
在本步骤中,将clk_B在e时刻的上升沿作为被测事件,以0.05s的分辨率来测量该事件的时间戳。图3中,粗计数器rough按照clk_A上升沿连续计数,它指出被测时间中包含的clk_A周期的个数。
步骤104:采用细计数器对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,该细计数器以所述周期性采样信号的一个周期为长度进行循环计数,统计被测事件中的不足一个采样时钟的周期的部分,细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2。
在本步骤中,参见图3,细计数器fine也按照clk_A上升沿计数,但在samp的每次下降沿时被复位,即它以samp的一个周期为长度进行循环计数,利用细计数器fine可以计算被测时间中的不足一个clk_A周期的部分,则细计数器的分辨率为T1-T2=[(N+1)/N]*T2-T2=(1/N)*T2,即细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2。
步骤105:当在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m*(1/N)]*T2,其中,n+m*(1/N)为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
在本步骤中,参见图3,clk_A在c时刻的上升沿时检测到被测事件(clk_B在e时刻的上升沿),此时粗计数器rough=5,表示5个clk_A周期;细计数器fine=3,表示被测事件在clk_A的b沿之后3/4个clk_A周期。综合粗细计数,得到被测事件距离时间零点5.75个clk_A周期,即1.15s,此即被测事件的时间戳。
由上述描述可知,本发明实施例提供的提高时间戳测量精度的方法,使用一个与被测周期信号存在微小频率偏差的采样时钟对所述被测周期信号进行采样,得到周期性采样信号,然后根据所述采样时钟、所述周期性采样信号以及被测事件发生的时刻,利用粗计数器统计的被测事件中包含的采样时钟的周期的个数,以及细计数器统计的被测事件中的不足一个采样时钟的周期的部分,共同获取被测事件的时间戳。本发明实施例提供的提高时间戳测量精度的方法,实现起来较为方便,对器件性能要求较低,且根据需要能够达到优于传统时钟计数法的时间精度。
由于本发明实施例提供的提高时间戳测量精度的方法可以实现的分辨率取决于采样时钟与被测周期信号的频率偏差的精细程度,也即取决于N值的大小,当N取值越大时,获取的待测事件的时间戳就越为精细。即提高N的值可以使分辨率有更多的提高,但N的取值受限于锁相环以及时钟质量。
本发明实施例提供的提高时间戳测量精度的方法,基于类似游标卡尺的基本原理,即两个具有微小频率偏差的时钟的相位差会有规律地、周期性地变化。例如图2中,一个5Hz的时钟clk_A和一个4Hz的时钟clk_B在a时刻时相位对齐,经过1秒钟后clk_A走过了5个周期,clk_B走过了4个周期,则clk_A领先clk_B一个整周期即2π相位而重新达到相位对齐(d时刻)。从a时刻到d时刻的过程中,每经过一个周期二者对应上升沿的时间差依次为0s、0.05s、0.1s、0.15s、2s(0s),即对clk_A的一个周期做了1/4细分,从而可以达到0.05s的分辨率。
理论上,本发明实施例提供的提高时间戳测量精度的方法可以实现的分辨率取决于采样时钟与被测周期信号的频率偏差的精细程度。在设计中,可以利用锁相环电路(或者可编程数字逻辑器件FPGA内的锁相环资源)产生与被测周期信号具有某微小频率偏差的采样时钟。但是一方面,由于实际的锁相环电路无法任意地产生某精确频率的时钟,即无法使采样时钟在频率上任意接近被测周期信号,从这一点上说,本实施例提供的提高时间戳测量精度的方法可以达到的精度受到锁相环电路的频率生成能力的限制。另一方面,由于时钟源、信号线上干扰等因素,采样时钟或被测时钟总是存在边沿抖动(jitter),通常在亚ns量级。当采样时钟与被测信号的频率偏差十分微小,以致于达到的时间分辨率可以与时钟边沿抖动误差比拟时,就无法再由该方法继续提高时间精度了。因此,该方法可以达到的时间精度(分辨率)受到时钟信号质量的限制。在实际设计中,这往往是限制本方法可以达到的时间分辨率的主要因素。一般来说,它将本实施例提供的方法可以达到的时间分辨率限制在1ns以上。
图3展示了如何利用基本原理,将clk_B在e时刻的上升沿作为被测事件,以0.05s的分辨率来测量该事件的时间戳。图3中,clk_A的频率为5Hz,clk_B的频率为4Hz,以clk_A的第一个上升沿处为时间零点。用clk_A对clk_B采样,得到一个周期性采样信号samp,它的周期是clk_A的周期的5倍,是clk_B的周期的4倍。粗计数器rough按照clk_A上升沿连续计数,它指出被测时间中包含的clk_A周期的个数;细计数器fine也按照clk_A上升沿计数,但在samp的每次下降沿时被复位,即它以samp的一个周期为长度进行循环计数,利用细计数器fine可以计算被测时间中的不足一个clk_A周期的部分。图3中,clk_A在c时刻的上升沿时检测到被测事件(clk_B在e时刻的上升沿),此时粗计数器rough=5,表示5个clk_A周期;细计数器fine=3,表示被测事件在clk_A的b沿之后3/4个clk_A周期。综合粗细计数,得到被测事件距离时间零点5.75个clk_A周期,即1.15s,此即被测事件的时间戳。
在图3的示例中,被测事件是周期信号clk_B在e时刻的上升沿。凡具有该示例特点的数据传输应用,即凡是“根据数据时钟来同步传输数据”的情况都可使用本方法。例如以太网数据链路层中的MII子层接口,MII子层协议根据rx_clk来接收数据并根据tx_clk来发送数据,就是可以使用本方法来测量精确时间戳的典型情况。
本发明实施例的关键点在于使用一个与被测周期信号存在微小频率偏差的采样时钟,然后利用图2所示原理实现对一个时钟周期的细分,从而达到更精细的时间分辨率。
本发明实施例提供的提高时间戳测量精度的方法具有如下优势:
1)高分辨率;相对于传统的时钟计数法,本发明实施例提供的方法可以将时间分辨率提高数十倍。
2)低成本;本发明实施例提供的方法在普通的FPGA器件中即可实现,对器件性能没有更高的要求。相对于时间内插方法,本发明实施例可以使用更廉价的器件而到达足够的测量精度。
3)应用较广;本发明实施例所述的方法应用广泛,凡具有“按照数据时钟同步传输数据”特点的应用,都可以使用本发明实施例所述的方法来测量精确时间戳。
本发明实施例二提供了一种提高时间戳测量精度的装置,参见图4,包括:获取单元41、采样单元42、第一计数单元43、第二计数单元44和时间戳获取单元45;
获取单元41,用于获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;例如,N取值可以为2、4、8、16、32、64或128。
采样单元42,用于利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍;
第一计数单元43,用于采用粗计数器对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数;
第二计数单元44,用于采用细计数器对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,该细计数器以所述周期性采样信号的一个周期为长度进行循环计数,统计被测事件中的不足一个采样时钟的周期的部分;细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2;
时间戳获取单元45,用于在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m*(1/N)]*T2,其中,n+m*(1/N)为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
进一步地,所述获取单元41具体用于:
利用锁相环电路或可编程数字逻辑器件FPGA内的锁相环资源产生与被测周期信号具有预设频率偏差的采样时钟。
本发明实施例提供的提高时间戳测量精度的装置可以用于执行上述实施例所述的提高时间戳测量精度的方法,其实现原理和技术效果类似,此处不再详述。
本发明实施例三提供了一种提高时间戳测量精度的装置,参见图5,包括:锁相环电路51、采样器52、粗计数器53、细计数器54和处理器55;
其中,所述锁相环电路51用于获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;例如,N取值可以为2、4、8、16、32、64或128。
所述采样器52用于利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍;
所述粗计数器53,用于对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数;
所述细计数器54用于对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,以所述周期性采样信号的一个周期为长度进行循环计数,用于统计被测事件中的不足一个采样时钟的周期的部分;细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2;
所述处理器,用于在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m*(1/N)]*T2,其中,n+m*(1/N)为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
本发明实施例提供的提高时间戳测量精度的装置可以用于执行上述实施例所述的提高时间戳测量精度的方法,其实现原理和技术效果类似,此处不再详述。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种提高时间戳测量精度的方法,其特征在于,包括:
获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;
利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍;
采用粗计数器对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数;
采用细计数器对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,该细计数器以所述周期性采样信号的一个周期为长度进行循环计数,统计被测事件中的不足一个采样时钟的周期的部分,细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2;
当在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m*(1/N)]*T2,其中,n+m*(1/N)为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
2.根据权利要求1所述的方法,其特征在于,所述获取与被测周期信号具有预设频率偏差的采样时钟,包括:
利用锁相环电路或可编程数字逻辑器件FPGA内的锁相环资源产生与被测周期信号具有预设频率偏差的采样时钟。
3.根据权利要求1所述的方法,其特征在于,N取值为2、4、8、16、32、64或128。
4.一种提高时间戳测量精度的装置,其特征在于,包括:
获取单元,用于获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;
采样单元,用于利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍;
第一计数单元,用于采用粗计数器对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数;
第二计数单元,用于采用细计数器对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,该细计数器以所述周期性采样信号的一个周期为长度进行循环计数,统计被测事件中的不足一个采样时钟的周期的部分;细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2;
时间戳获取单元,用于在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m*(1/N)]*T2,其中n+m*(1/N)为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
5.根据权利要求4所述的装置,其特征在于,所述获取单元具体用于:
利用锁相环电路或可编程数字逻辑器件FPGA内的锁相环资源产生与被测周期信号具有预设频率偏差的采样时钟。
6.根据权利要求4所述的装置,其特征在于,N取值为2、4、8、16、32、64或128。
7.一种提高时间戳测量精度的装置,其特征在于,包括:锁相环电路、采样器、粗计数器、细计数器和处理器;
其中,所述锁相环电路用于获取与被测周期信号具有预设频率偏差的采样时钟;其中所述被测周期信号的频率为f1,所述采样时钟的频率为f2,f2=(1+1/N)*f1,N≥2,N为正整数;
所述采样器用于利用所述采样时钟对所述被测周期信号进行采样,获得一个周期性采样信号,该周期性采样信号的周期为所述被测周期信号的周期T1的N倍;
所述粗计数器,用于对所述采样时钟的上升沿从0开始连续计数,统计被测事件中包含的采样时钟的周期的个数;
所述细计数器,用于对所述采样时钟的上升沿从0开始连续计数,但在所述周期性采样信号的每个下降沿被复位,以所述周期性采样信号的一个周期为长度进行循环计数,用于统计被测事件中的不足一个采样时钟的周期的部分;细计数器的分辨率为采样时钟的周期T2的1/N倍,即(1/N)*T2;
所述处理器,用于在某时刻检测到被测事件时,获取与该时刻对应的粗计数器的计数值n,以及与该时刻对应的细计数器的计数值m,并根据所述n和所述m,获取被测事件的时间戳[n+m*(1/N)]*T2,其中,n+m*(1/N)为被测事件所在时刻距离时间零点所跨越的采样时钟的周期数,T2为采样时钟的周期;其中,时间零点为所述采样时钟的第一个上升沿处。
8.根据权利要求7所述的装置,其特征在于,N取值为2、4、8、16、32、64或128。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610787322.4A CN106301656B (zh) | 2016-08-30 | 2016-08-30 | 一种提高时间戳测量精度的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610787322.4A CN106301656B (zh) | 2016-08-30 | 2016-08-30 | 一种提高时间戳测量精度的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106301656A CN106301656A (zh) | 2017-01-04 |
CN106301656B true CN106301656B (zh) | 2018-04-13 |
Family
ID=57673165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610787322.4A Active CN106301656B (zh) | 2016-08-30 | 2016-08-30 | 一种提高时间戳测量精度的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106301656B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI632461B (zh) * | 2017-05-25 | 2018-08-11 | 緯穎科技服務股份有限公司 | 獲取時間戳記的方法以及使用該方法的電腦裝置 |
CN108390752B (zh) * | 2018-01-25 | 2020-12-22 | 固高科技(深圳)有限公司 | 信号接收方法 |
CN108564634B (zh) * | 2018-04-03 | 2021-10-15 | 东软医疗***股份有限公司 | 一种提高时间采样精度的方法及装置 |
CN108924461B (zh) * | 2018-06-20 | 2021-08-13 | 斑马网络技术有限公司 | 视频图像处理方法及装置 |
CN112994738B (zh) * | 2021-05-06 | 2021-08-03 | 成都瀚德科技有限公司 | 一种基于多站协同的小信号探测方法 |
CN114019857B (zh) * | 2021-10-28 | 2024-03-22 | 华中师范大学 | 一种基于相位内插的高精度相位调节与测量***及方法 |
WO2023220939A1 (zh) * | 2022-05-17 | 2023-11-23 | 北京小米移动软件有限公司 | 时延测量方法、装置、设备、***、存储介质及芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1729440A1 (en) * | 2005-06-01 | 2006-12-06 | AGILENT TECHNOLOGIES, INC. (A Delaware Corporation) | Determining synchronization error |
CN102474410A (zh) * | 2009-07-24 | 2012-05-23 | 阿尔卡特朗讯公司 | 高精度同步方法和*** |
CN102932084A (zh) * | 2012-10-17 | 2013-02-13 | 航天科工深圳(集团)有限公司 | 采样时钟同步的方法及*** |
CN104199276A (zh) * | 2014-09-23 | 2014-12-10 | 李亚锋 | 基于fpga的信号时差测量方法及时间数字转换器 |
-
2016
- 2016-08-30 CN CN201610787322.4A patent/CN106301656B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1729440A1 (en) * | 2005-06-01 | 2006-12-06 | AGILENT TECHNOLOGIES, INC. (A Delaware Corporation) | Determining synchronization error |
CN102474410A (zh) * | 2009-07-24 | 2012-05-23 | 阿尔卡特朗讯公司 | 高精度同步方法和*** |
CN102932084A (zh) * | 2012-10-17 | 2013-02-13 | 航天科工深圳(集团)有限公司 | 采样时钟同步的方法及*** |
CN104199276A (zh) * | 2014-09-23 | 2014-12-10 | 李亚锋 | 基于fpga的信号时差测量方法及时间数字转换器 |
Also Published As
Publication number | Publication date |
---|---|
CN106301656A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106301656B (zh) | 一种提高时间戳测量精度的方法及装置 | |
CN103257569B (zh) | 时间测量电路、方法和*** | |
CN103941622B (zh) | 基于fpga的高精度秒脉冲倍频出采样脉冲的方法 | |
CN105549379A (zh) | 一种基于高精度时间基准触发的同步测量装置及方法 | |
CN110442012A (zh) | 一种基于fpga的高精度时间间隔测量方法及*** | |
CN105245203B (zh) | 高精度低速时钟占空比检测***及方法 | |
CN102928677A (zh) | 一种纳米级脉冲信号采集方法 | |
CN106302014B (zh) | 宽量程高精度的信号测量方法 | |
CN103592843A (zh) | 一种时间戳电路和实现方法 | |
CN110445493A (zh) | 一种基于fpga tdc的数据采集同步装置及方法 | |
CN103558753B (zh) | 一种高分辨率时钟检测方法和装置 | |
KR20150056458A (ko) | 회로 지연 감시장치 및 방법 | |
CN111766771A (zh) | 一种基于压控晶振驯服的时间间隔测量方法及*** | |
CN102664701A (zh) | 一种动态调整多通道大范围时钟传输延迟的***和方法 | |
CN109709393A (zh) | 基于时域信号频率稳定度测量的装置 | |
JP5972450B2 (ja) | 信号処理装置 | |
US8294501B1 (en) | Multiphase clock generation and calibration | |
CN104391464B (zh) | 一种基于fpga的硬件等效同步采样装置 | |
CN106645780A (zh) | 一种基于dsp的转速检测方法及*** | |
CN207123716U (zh) | 一种脉冲信号时差测量装置 | |
CN103618501A (zh) | 基于fpga的交流采样同步倍频器 | |
CN110007144A (zh) | 一种输入信号的频率测量方法及相关组件 | |
CN108736885A (zh) | 锁相环时钟边沿触发的时钟分相法 | |
CN108732912A (zh) | 被测信号边沿触发的时钟分相法 | |
CN108768388A (zh) | 串联锁相环时钟边沿触发的时钟分相法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |