加精确时间戳的方法和系统

文档序号:1760289 发布日期:2019-11-29 浏览:26次 >En<

阅读说明:本技术 加精确时间戳的方法和系统 (The method and system for adding precise time to stab ) 是由 马修·查普曼 于 2017-10-17 设计创作,主要内容包括:公开了一种在数字处理系统中确定事件的时间戳的方法,该方法包括以下步骤:从时间戳计数器获得粗略时间戳;从该系统的一个或多个硬件部件获得定时校正数据;以及基于定时校正数据调整粗略时间戳值以提供精确时间戳值。(A kind of method of timestamp that event is determined in digital processing system is disclosed, method includes the following steps: obtaining rough time stamp from Time Stamp Counter;Correction of timing data are obtained from one or more hardware componenies of the system;And based on correction of timing data point reuse rough time timestamp value to provide precise time timestamp value.)

加精确时间戳的方法和系统

技术领域

本发明的领域涉及给计算系统中的事件和通信信号加时间戳。

背景技术

在计算系统中,常常期望记录事件发生的时间。这被称为给事件“加时间戳”。

在通信系统的上下文中,期望加时间戳的事件之一是消息的传输时间或接收时间。例如,在分析和调试通信系统时,知道消息何时被发送和接收与看到数据的内容同样重要。加时间戳对于财务数据处理系统尤其重要,其中法规需要详细的审计跟踪,包括消息被发送和接收的精确时间。

需要加时间戳的计算机系统通常将包括提供用于加时间戳的周期性脉冲(也称为时钟)的硬件。

一些通信设备,包括一些计算机网卡和网络交换机,包括可以在或者接收或者发送时或者在接收和发送时都执行这种加时间戳的硬件功能。在典型的实现中,硬件包含称为时间戳计数器的计数器。这个计数器可以是任何尺寸,但通常是32位或64位。计数器从晶体振荡器或锁相环(PLL)接收参考时钟。在参考时钟的每个循环,递增计数器。

当接收(或发送,在加发送时间戳的情况下)消息时,时间戳计数器的当前值与消息一起记录。因此,这些时间戳的分辨率限于计数器递增的速率。例如,如果计数器以200兆赫兹递增,那么以最佳5ns的分辨率提供时间戳。随着技术的改进和某些系统的执行速度的提高,这种时间戳周期可能太长以至于无法提供期望的时间戳准确度。例如,在一些系统中,可以在小于计数器增量周期的时间段内执行信号或事务。增加计数器频率有助于改善时间戳分辨率,但是,取决于硅技术,将计数器速率提高到期望的时间戳分辨率可能是不切实际的。

存在对于加更准确的时间戳的需要。

发明内容

根据第一方面,提供了一种在数字处理系统中确定事件的时间戳的方法,该方法包括以下步骤:

从时间戳计数器获得粗略时间戳;

从该系统的一个或多个硬件部件获得定时校正数据;以及

基于定时校正数据调整粗略时间戳值以提供精确时间戳值。

在该方法的实施例中,定时校正数据包括由比较器电路确定的参考时钟相位差,该方法包括以下步骤:

向比较器电路施加第一参考时钟信号,该第一参考时钟信号是用于事件处理部件的参考时钟;

向比较器电路施加第二参考时钟信号;

由比较器电路确定第一参考时钟信号与第二参考时钟信号之间的相位差;

其中粗略时间戳值基于第二参考时钟;并且

调整粗略时间戳值以提供精确时间戳值是基于所确定的相位差进行的。

在实施例中,通过比较器电路确定第一参考时钟信号的上升沿与第二参考时钟信号的上升沿之间的时间差来确定相位差。

在实施例中,调整粗略时间戳包括基于所确定的相位差将分数相位校正添加到粗略时间戳以导出精确时间戳。

在一些实施例中,第一参考时钟是用于通信系统的并行数据接收时钟并且第二参考时钟是时间戳计数器时钟。

在该方法的另一个实施例中,其中事件处理部件被配置为提供处理等待时间信息,该方法还包括以下步骤:

从每个事件处理部件获得处理等待时间信息;

基于所获得的等待时间信息计算等待时间时间戳调整;以及

调整粗略时间戳值以提供精确时间戳值的步骤包括应用等待时间时间戳调整。

在实施例中,应用等待时间时间戳调整包括对时间戳值进行分数校正。

在实施例中,计算等待时间时间戳值调整包括基于从每个事件处理部件接收的处理等待时间信息确定表示事件处理部件的总处理等待时间的累积等待时间值。

在实施例中,调整粗略时间戳的步骤包括从粗略时间戳值中减去累积等待时间值。

在一个实施例中,事件处理部件是数字接收链的部件,该数字接收链包括变速箱电路、对准器电路和解码器电路中的任何一个或多个。在这个实施例中,变速箱电路可以具有可变等待时间并且被配置为基于操作状态确定事件的等待时间信息。所确定的等待时间信息可以是事件的当前处理等待时间值。可替代地,所确定的等待时间信息代表事件的操作状态,从其能够导出等待时间值。

在这个实施例中,对准器电路被配置为基于移位的位数提供处理等待时间信息。在这个实施例中,解码器电路被配置为基于解码处理和协议提供处理等待时间信息。

根据另一方面,提供了一种被配置用于加精确时间戳的系统,该系统包括:

时间戳计数器;以及

时间戳调整部件,被配置为从该系统的一个或多个硬件部件接收定时校正数据,并基于定时校正数据调整时间戳计数器的粗略时间戳值以提供精确时间戳值。

在实施例中,该系统还包括:

比较器电路,被配置为从用于事件处理部件的参考时钟接收第一参考时钟信号,以及从用于时间戳计数器的参考时钟接收第二参考时钟信号,确定第一参考时钟信号与第二参考时钟信号之间的相位差,并将确定的相位差作为定时校正数据提供给定时调整部件,

由此,该时间戳调整部件基于所确定的相位差来调整时间戳计数器的粗略时间戳值,以计算精确时间戳值。

比较器电路可以被配置为确定第一参考时钟信号的上升沿与第二参考时钟信号的上升沿之间的时间差。

一个或多个事件处理部件可以被配置为提供处理等待时间信息,并且时间戳调整部件还被配置为基于所获得的等待时间信息来计算等待时间时间戳调整,并且还应用等待时间时间戳调整来计算精确时间戳值。

在实施例中,该系统还包括连接每个事件处理部件的定时信息总线,其被配置为向时间戳调整部件提供处理等待时间信息。

在实施例中,事件处理部件是数字接收链的部件,该数字接收链包括变速箱电路、对准器电路和解码器电路中的任何一个或多个。例如,变速箱电路可以具有可变的等待时间并且被配置为基于操作状态确定事件的等待时间信息。所确定的等待时间信息可以是事件的当前处理等待时间值。可替代地,所确定的等待时间信息可以代表事件的操作状态,从其能够导出等待时间值。在另一个示例中,对准器电路可以被配置为基于移位的位数提供处理等待时间信息。在另一个示例中,解码器电路可以被配置为基于解码处理和协议来提供处理等待时间信息。

在实施例中,时间戳调整部件被结合到时间戳计数器中。

在替代实施例中,时间戳调整部件被实现在下游处理部件中。在实施例中,时间戳调整以能由下游处理部件执行的指令集来实现。

附图说明

图1是图示本发明实施例的高级框图。

图2是示出用于通信网络的网络接收器的典型(现有技术)部件的框图。

图3是根据本发明实施例修改的图2的网络接收器的框图。

图4图示了时间戳时钟和并行接收时钟的时钟信号的示例。

具体实施方式

本发明的实施例提供了用于在数字处理系统中确定事件的时间戳的方法和系统。在本发明的实施例中,从时间戳计数器获得粗略时间戳,并且从系统的一个或多个硬件部件获得定时校正数据。基于定时校正数据调整粗略时间戳值,以提供精确时间戳值。

本发明的实施例提供了可以提供比参考时钟的速率更高分辨率的时间戳的方法和系统。

如上面在本发明的背景技术中所讨论的,时间戳分辨率传统上受时间戳计数器的时钟速率限制。在准备本文件时,市售的时间戳计数器最多可以提供大约3-6ns的时间戳分辨率。随着联网技术的发展,这种时间戳粒度可能不足以正确记录网络中发生的事情。例如,在一些操作模式下,Exablaze Fusion网络交换机可以在不到5ns的时间内转发消息。因此,当前可用的时间戳分辨率可能无法为期望的系统分析、审计、安全和调试功能提供足够的准确度。本发明的实施例可以通过获得基于硬件部件的定时校正数据来提供更准确的时间戳,由时间戳计数器提供的粗略时间戳的调整基于该定时校正数据,以提高时间戳的准确性。

结合本发明实施例的系统的示例在图1的高级框图中示出。在这个示例中,系统100总体上表示为用于处理事件的事件处理硬件系统,因为本发明的实施例可以在执行加时间戳的任何类型的系统中应用,所述系统诸如通信系统、金融交易系统、安全系统等。系统100包括事件处理硬件部件110、下游处理硬件部件120和加时间戳单元130。在这个系统中,触发事件150并且事件处理硬件处理事件以提取事件数据155以供下游处理系统120进行下游处理。由时间戳计数器生成时间戳以指示事件触发定时,但实际上可以在某个事件处理由事件处理硬件发生之后获取这个时间戳,因此时间戳计数器可能不提供事件触发时间的真实表示。应当认识到的是,用于事件处理硬件110和下游处理系统120的通用块代表适用于在其中应用本发明的操作上下文的任何具体系统硬件。例如,对于通信系统,事件处理硬件块110可以表示用于信号传输和接收的前端无线电收发器和数字处理部件及用于根据给定的通信协议处理和路由接收到的信号数据的下游系统120主数字系统,来自加时间戳单元130的时间戳与用于下游处理的信号数据组合。在这个示例中,出于说明性目的,加时间戳单元130已经与事件处理部件110分开表示,但是实际上,时间戳单元可以结合到事件处理硬件电路中。

本发明涉及系统的时间戳单元130。图1的时间戳单元130包括用于基于时间戳计数器时钟生成粗略时间戳135的时间戳计数器132,以及时间戳调整部件140。在本发明的系统中,由时间戳调整部件140从事件处理硬件部件110获得定时校正数据160。这个定时校正数据代表事件触发器150定时与由时间戳计数器生成的粗略时间戳的定时之间的定时偏移。应当认识到的是,时间戳校正数据取决于事件处理硬件,并且将在实施例之间变化。这个定时校正数据160被时间调整部件140用来调整粗略时间戳135并为事件提供精确时间戳145。例如,通过进行分数校正以提供具有比时间戳计数器更高分辨率的精确时间戳,可以提高粗略时间戳的准确度。

定时校正数据160从处理事件110的硬件导出。例如,用于事件处理硬件的参考时钟之间的偏移,和/或造成事件触发器150(诸如接收信号或事务)与事件已被处理(例如,解码信号)到时间戳可以应用于事件数据155的点之处之间的时间延迟的等待时间。

为了更清楚地解释本发明的实施例,我们将首先看一下当前如何在通信网络中执行加时间戳的示例。图2示出了现代高速通信网络(诸如1千兆以太网或10千兆以太网)的典型网络接收器中的关键部件的图。在这个示例中,接收器体系架构200包括用于信号接收的模拟前端部件210和用于根据网络协议处理和解码接收到的信号的多个数字部件。例如,数字部件可以包括串行输入并行输出部件220、变速箱230、对准器240、解码器250和加时间戳单元280。接收器串行时钟由时钟分频器215分频,并且接收器并行时钟信号用于同步数字接收器部件。附加的参考时钟270可以由时间戳计数器260用来输入到时间戳单元280,时间戳单元280将时间和数据戳应用于传递给下游处理系统的信号数据290。通常,在信号解码结束时执行用于信号接收的加时间戳,因为此时可以容易地确定信号的开始和结束。但是,在时间戳中不考虑信号处理和解码所花费的时间。

现在将参考图2讨论信号接收和加时间戳示例。在模拟收发器部件210之后,第一数字级通常是解串器220(也称为SIPO-串行输入并行输出-块)。这将高速串行数据转换到较低频率的并行总线,其可以被更容易地处理。

取决于协议,然后可以存在变速箱230,其将数据宽度转换成用于协议的更自然的尺寸。例如,10千兆以太网使用66位宽的块;如果解串器220每循环仅提供64位,那么可能期望在将数据传递到后续模块之前累加66位的块。

取决于协议,还可以存在对准器电路240,其对数据块进行重新对准,使得这些块与自然协议边界对齐。它通过检测输入中的特殊对准序列来执行这个操作,这些序列在协议中被定义为具有某种对准,然后移位输入数据,以使那些序列处于期望的对准。

最后,存在解码器块250,其对协议中使用的编码方案进行任何期望的解码,诸如解扰(在10千兆位以太网的情况下)或8b/10b解码(在1千兆位以太网的情况下)。

在解码器块250之后,易于识别消息的开始和停止位置,因此这是通常执行加时间戳的地方。在常规的接收加时间戳实现中,当检测到消息的开始时,时间戳计数器260的当前值被捕获并包括在传递给后续块290的数据中。时间戳的准确度取决于加时间戳计数器260的参考时钟循环270,例如大约6ns。另外,数字部件220、230、240、250中的每一个引入一些等待时间,因此基于在解码器块250之后确定的开始和停止时间的时间戳将不考虑这个等待时间。

应当认识到的是,取决于实现,消息的结尾可以代替地加时间戳。另外,取决于实现,输入数据的其它处理可以在加时间戳块280之前发生。

图3图示了根据本发明实施例扩展的接收器300的示例。在这个示例中,接收器体系架构等同于图2的接收器体系架构,并且接收器体系架构300包括用于信号接收的模拟前端部件310,并且数字部件可以包括串行输入并行输出部件320、变速箱330、对准器340、解码器350和加时间戳单元380。接收器串行时钟由时钟分频器315分频,并且接收器并行时钟信号用于同步数字接收器部件。附加的参考时钟365可以由时间戳计数器370用来输入到时间戳单元3,时间戳单元3将时间和数据戳应用于传递给下游处理系统的信号数据390。

在本发明的实施例中,对于可以具有可变等待时间(通过模块的延迟)330、340、350的模块,每个模块不仅提供数据325而且还提供允许确定模块的当前等待时间的信息335。每个部件被配置为确定其自己的等待时间信息以在等待时间信息中向前传递。例如,对准器340的等待时间将取决于对准器移位输入数据以获得期望对准所需的位数。

变速箱330的等待时间将取决于当前状态连续变化。对于每个输入数据字,变速箱前进通过不同的状态,每个状态导致不同的等待时间。例如,64位(输入)至66位(输出)变速箱前进通过33种不同的状态。在第一状态中,不产生输出,因为还没有足够的位来形成66个输出位。在第二状态中,前一个输入字的64位与2个新的输入位组合,导致64位的有效等待时间(如从输入66位中的第一位到其被输出时的时间所测得的)。在第三状态中,输入的先前剩余的62位与4个新的输入位组合,导致62位的有效等待时间。在第四状态中,输入的先前剩余的60位与6个新的输入位组合,导致60位的有效等待时间。这种模式继续,直到在第三十三状态中,前一个字的2位与新的64位输入组合,有效等待时间为2位。

取决于被解码的数据,解码器350可以具有变化的等待时间。例如,如果正在使用具有前向纠错的协议,那么可能需要在可以解码当前输入字之前累积附加数据。在这种情况下,为了确定等待时间,解码器将跟踪在输入编码字的时间与输出对应的解码字的时间之间的时钟循环数。以位表述的解码器的有效等待时间是它将数据延迟的循环乘以按位的字尺寸的数字。

应当认识到的是,等待时间信息335可以是明确指定部件的等待时间的信息,或者可以是可以例如通过在加时间戳单元380中处理或在下游处理期间而从中导出等待时间的信息。部件可以被配置为提供当前操作参数值和/或从中可以导出部件的等待时间作为等待时间信息的其它数据。例如,变速箱可以在等待时间信息中向前发送当前状态的状态号而不是实际等待时间,然后可以通过从状态号计算等待时间来确定实际等待时间。在这个实施例中,还需要配置接收等待时间信息的部件以执行所需的操作或处理等待时间信息,以确定所需的等待时间校正,该部件可以是时间戳单元380或具有以硬件、固件或软件实现的所需操作或处理的其它下游处理单元。在实施例中,利用下游处理部件中可执行的软件来处理等待时间信息。在如上面所讨论的变速箱330的示例中,等待时间可以被计算为68减去状态号的两倍。这种计算可以在时间戳单元380中执行或在稍后的处理期间执行。

当前等待时间信息335与数据路径325一起传递,使得它与数据325同时到达时间戳单元380。每个部件可以确定其自身的等待时间以作为等待时间信息传递。例如,这可以被表述为多个位等待时间。但是,可以使用其它测量,诸如时钟循环、实际时间延迟,或可以从中导出等待时间信息(例如,变速箱的当前状态)的数。在部件从先前部件接收等待时间信息的实施例中,更新等待时间信息以添加部件等待时间,因此累积等待时间测量由每个处理部件向前传递。在替代实施例中,分别提供来自每个部件的等待时间信息,并且时间戳调整部件被配置为确定用于时间戳调整的累积等待时间。

在图3所示的实施例中,修改每个硬件部件以与事件数据325并发地传递等待时间信息335。

可以包括在本发明的实施例中的另一部件是相位比较器电路360。相位比较器360用于确定驱动时间戳计数器370的参考时钟365的上升沿与提供接收数据的并行时钟(SIPO块320的并行时钟,或从那个时钟导出的时钟)的上升沿之间的时间延迟。图4中图示了一个示例,其示出了粗略时间戳参考时钟410和接收路径并行时钟420之间的相位差。相位比较器360比较时间戳参考时钟415的上升沿与接收路径并行时钟425的后续上升沿,以确定所需的时间校正430。在一个实施例中,相位比较器360可以是组合两个时钟的XOR门、接着是积分器,加上用另一个时钟的延迟版本对一个时钟进行采样以确定相位的符号的附加触发器。本领域技术人员将理解的是,在文献中可以找到许多其它相位比较器电路并且履行相似的目的。在参考时钟和接收时钟相同的一个简单实施例中,相位比较器简单地产生零作为输出。

在实施例中,系统可以仅使用相位比较器电路360来调整时间戳。在替代实施例中,可以省略相位比较器360,并且仅使用硬件部件等待时间335信息来调整时间戳。诸如图3中所示的其它实施例可以利用相位比较器360和硬件部件等待时间335来进行时间戳调整。

时间戳单元380将时间戳计数器370的当前值与由前面单元提供的等待时间数据335和来自相位比较器360的相位数据组合。通过从时间戳计数器的当前值减去先前单元的等待时间(一般而言,这些等待时间将是分数值),并加上来自相位比较器的分数相位偏移,可以获得高精度时间戳。在一个实施例中,这种计算可以在时间戳单元380内执行。在另一个实施例中,可以简单地将所需数据收集在一起以供稍后由另一个系统(例如,在软件中)390计算。可以使用任何合适的硬件、固件或软件实现来执行时间戳调整。

可以看出,类似的方法也可以应用于发送时间戳。在这种情况下,相位比较器被用于确定驱动时间戳计数器的参考时钟的上升沿与为并行输入串行输出(PISO)块提供数据的发送时钟的上升沿之间的时间延迟。如果输出路径中存在可变等待时间单元(诸如变速箱),那么这个数据也被馈送到时间戳单元。最后,时间戳单元通过添加单位等待时间和分数相位偏移来计算精确的发送时间戳。应当认识到的是,等待时间调整计算可以取决于应用本发明的系统的体系架构和事件的性质而变化。

以上示例使用通信系统的上下文来描述本发明的实施例,但是,技术人员应当清楚的是,实施例可以应用于任何事件处理系统硬件。例如,实施例可以适用于金融系统、安全系统、信息处理系统、防御系统、通信系统等。期望加准确时间戳的任何事务处理系统都可以受益于本发明实施例的应用。

本发明所属领域的技术人员将理解的是,在不脱离本发明的精神和范围的情况下,可以进行许多修改。

在以下的权利要求中和在本发明的前述描述中,除非上下文由于明确的语言或必要的暗示而要求,否则“包括”或诸如“包含”或“含有”之类的变体在包含性的意义上使用,即,指定所述特征的存在,但不排除在本发明的各种实施例中存在或添加其它特征。

应理解的是,如果本文提及任何现有技术出版物,那么此类引用并不构成承认该出版物在澳大利亚或任何其它国家形成本领域中众所周知常识的一部分。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于电子设备的浮动式橡胶支脚

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!