一种实现时钟同步的方法及装置的制作方法

文档序号:7726886阅读:177来源:国知局
专利名称:一种实现时钟同步的方法及装置的制作方法
技术领域
本发明涉及通信技术领域,具体而言,尤其涉及一种基于IEEE1588(网络测量和控制系统的精确时钟同步协议标准)的精确时钟协议(Precision Time Protocol,精确时钟协议)的实现时钟同步的方法及装置。
背景技术
精确时钟协议是以IEEE1588为标准定义的一种分布式以太网的精确同步时钟协议,它能利用应用广泛、价格低廉的以太网,实现各个系统之间的同步,大大降低系统时钟同步的成本,其同步精度可以达到微秒级。精确时钟协议借鉴了 NTP技术,具有容易配置、快速收敛以及对网络带宽和资源消耗少等特点。它的主要同步原理是,通过一个同步信号周期性地对网络中所有节点的时钟进行同步校正,从而可以使基于以太网的分布式系统达到精确同步,精确时钟协议时钟同步技术可以应用于任何组播网络中。精确时钟协议同步的基本原理包括时间发出和接收时间信息的记录(这类精确时钟协议时间信息帧又叫1588报文或精确时钟协议报文),并且对每一条信息增加一个 “时间戳”。系统的顶层时钟(grandmaster时钟)给系统定义了整体参考源,有了时间记录,接收端的从时钟就可以计算出自己在网络中的时钟误差和延时,从而进行时钟调整,将自身的时钟同步到系统顶层时钟以达到同步的目的。由此可见,精确时钟协议报文的同步精确度与时间戳和时间信息紧密相关,时间戳的时间越接近真实发送时间,同步精度就越高。时间戳的产生应该尽可能地靠近物理层, 这样可以使得产生的时间戳能够更加准确地反映报文的传递时间,并将该时间戳添加到随后发送的跟随报文中。在基于精确时钟协议的系统实现同步的过程中,可以根据实际情况,选择不同的时间戳点,例如可选择硬件层、软件驱动层或软件应用层为时间戳点。其中最精确的方法是在硬件层检测精确时钟协议报文并加盖时间戳,因为软件层加盖时间戳的准确性还跟软件操作系统的计时特性和负载相关,软件计时不如硬件计时准确。所以当前提高系统的同步精度的常见做法为将介于MAC层和物理层芯片之间的媒体独立接口(Media Independent Interface, Mil)作为时间戳点的加盖时间。这种方法的同步精度的准确性取决于物理层芯片的计时特性和传输延时特性。相对于软件层的延时来说,硬件层的传输延时是比较固定的。目前已有的方案一般将硬件层传输延时当成固定值来计算。但实际上,硬件层的传输延时也不是完全固定的, 这是因为硬件可能会升级或改动,从而导致变动之后的硬件延时与变动之前的延时不相同;同时硬件本身内部也存在纳秒级的延时波动,所以硬件延时并不是完全固定的。由于现有技术中忽略了硬件层传输延时的波动,所以对最后的同步精度会有一定的影响
发明内容
本发明要解决的主要技术问题是,提供一种实现时钟同步的方法及装置,能够根据实时测量的延时值和提取的时间戳,进行相应地时延补偿,从而提高精确时钟协议报文的同步精度。为解决上述技术问题,本发明采用了以下技术方案一种实现时钟同步的装置,包括 延时测量模块,用于实时测量报文经过硬件延时节点时的延时值并发送给时延补偿模块;时钟提取模块,用于在确定所述报文为精确时钟协议报文时,提取所述精确时钟协议报文进入所述硬件延时节点之前加盖的时间戳,并发送给时延补偿模块;时延补偿模块,用于根据接收到的所述延时值和所述时间戳,相应进行时延补偿。在本发明的一种实施例中,所述装置还包括物理层报文传输模块,用于从以太网处接收所述精确时钟协议报文;媒体独立接口模块,用于为所述精确时钟协议报文加盖时间戳并传输给所述硬件延时节点。在本发明的一种实施例中,所述时延补偿模块包括接口通信单元,分别与所述延时测量模块和时钟提取模块相连,用于对应接收所述延时值和所述时间戳;时延补偿单元,用于根据所述延时值和所述时间戳,相应进行时延补偿。在本发明的一种实施例中,所述硬件延时节点、时钟提取模块以及延时测量模块集成在同一现场可编程门阵列FPGA中。在本发明的一种实施例中,所述硬件延时节点为先进先出模块。在本发明的一种实施例中,所述延时测量模块为计数器。在本发明的一种实施例中,所述时钟提取模块为具有时间戳管理功能的媒体访问控制模块。同时,本发明还提供了一种实现时钟同步的方法,包括以下步骤实时测量报文经过硬件延时节点时的延时值;确定所述报文是否为精确时钟协议报文,若确定所述报文为精确时钟协议报文, 则提取所述精确时钟协议报文进入所述硬件延时节点之前加盖的时间戳;根据所述延时值和所述时间戳,相应进行时延补偿。在本发明的一种实施例中,在测量所述延时值的步骤之前,还包括判断物理层是否接收到报文的步骤。在本发明的一种实施例中,所述实时测量报文经过硬件延时节点时的延时值的步骤包括在所述报文进入所述硬件延时节点时,标记测量起点信号,作为所述延时值的测
量起点;在所述报文出所述硬件延时节点时,标记测量终点信号,作为所述延时值的测量錄占.
广、;WN 根据所述测量起点和测量终点来计算所述延时值。本发明的有益效果是通过实时测量精确时钟协议报文经过某个硬件延时节点的延时值,以及根据提取到的精确时钟协议报文进入该硬件延时节点之前的时间戳,来进行相应地延时补偿。由于精确时钟协议报文经过不同的硬件延时节点产生的延时值是动态变化的。因此,与现有技术相比,本发明技术方案实时测量得到的精确时钟协议报文经过某个硬件延时节点的延时值更加精确,如此则能够根据测量得到的精确延时值和提取到的时间戳进行相应的时间戳的调整,与现有技术相比,提高了精确时钟协议报文的同步精度。


图1为本发明的装置组成示意图;图2为本发明一种实施例的装置组成示意图;图3为本发明的方法流程图;图4为本发明一种实施例的方法流程图。
具体实施例方式下面通过具体实施方式
结合附图对本发明作进一步详细说明。现有的基于精确时钟协议的系统在实现精确时钟协议报文(PTP报文)同步时,由于认为硬件层的传输延时是比较固定的,因此在PTP报文在媒体独立接口加盖了时间戳后且在硬件层传输时,就把硬件层的传输延时值当成一个固定值来计算。但实际上,由于硬件层的传输延时也有一定的波动,并不是固定不变的,所以使得现有方案中PTP报文的同步精度会受到一定的影响。为尽可能减少硬件层的传输延时波动对同步精度的影响,本发明提出了一种实现时钟同步的方法及装置。本发明的主要构思是由于不同的PTP报文经过同一个硬件节点的延时值可能不一样,而同一个PTP报文经过不同的硬件节点的延时值也可能不一样,并且同一个硬件节点出现硬件延时波动的时间点不确定。因此,通过实时测量当前PTP报文经过某个硬件延时节点时的延时值,并同时提取该PTP报文经过该硬件节点之前的时间戳,根据该延时值和提取得到的时间戳,就可以对出了硬件延时节点后的PTP报文的当前时间戳进行动态调整,从而使得PTP报文的时钟偏差和延时计算更加精确,进而提高了 PTP报文的同步精度。根据该构思,本发明提出了一种实现时钟同步的装置。如图1所示,该装置1包括硬件延时节点11,延时测量模块12,时钟提取模块13以及时延补偿模块14。其中,硬件延时节点11用于传输报文收发路径上的报文,并对报文进行时钟域的转换,保证本地获得的数据的可靠性。由于硬件延时节点是延时不确定节点,因此报文经过硬件延时节点时,产生的传输延时也是不确定的。延时测量模块12的作用就是实时测量报文进入硬件延时节点11和出硬件延时节点11所用的时间,即延时值,并将该延时值传输给时延补偿模块14。而时钟提取模块13的作用是在确定硬件延时节点11上传输的报文为PTP报文时,用来提取该PTP报文进入硬件延时节点11之前加盖的时间戳等信息,并将该时间戳传输给时延补偿模块14。时延补偿模块14根据接收到的延时值和时间戳等信息,动态地调整硬件延时节点输出的PTP报文当前的时间戳,进行相应的时延补偿。通过延时测量模块实时测量PTP报文经过某个硬件延时节点的延时值,以及时钟提取模块提取的该PTP报文进入该硬件延时节点之前的时间戳,来进行相应地延时补偿。由于PTP报文经过不同的硬件 延时节点产生的延时值是动态变化的。因此,与现有的把PTP 报文经过某个硬件延时节点的延时值当成固定值计算相比,采用本发明的装置来实时测量 PTP报文经过某个硬件延时节点的延时值,可以使得延时值的测量更加精确。因此,时延补偿模块能够根据PTP报文经过某个硬件延时节点的精确延时值进行相应的时间戳的调整, 与现有技术相比,提高了 PTP报文的同步精度。需要说明的一点是,本发明测量得到的PTP报文的延时值,是PTP报文加盖时间戳后在硬件延时节点上传输时产生的延时值,本发明的PTP报文在进入硬件延时节点之前, 刚刚被加盖上时间戳。因此时钟提取模块提取到的时间戳信息是PTP报文进入硬件延时节点之前加盖的时间戳。需要说明的另一点是,本发明的时延补偿模块,可以采用软件语言来实现,并在 CPU上运行。如此,CPU可以根据接收到的延时测量模块上报的延时值以及时钟提取模块上报的时间戳,就可以对延时测量模块输出的PTP报文的当前时间戳进行相应地调整,从而提高PTP报文的同步精度。如图2所示,在该装置的实际运用中,硬件延时节点11、延时测量模块12以及时钟提取模块13三者的功能可通过现场可编程门阵列FPGA来实现,即在同一个FPGA上,集成有硬件延时节点11、延时测量模块12以及时钟提取模块13。利用该FPGA,可以实现对以太网报文在硬件层传输延时的实时测量,并将测量得到的延时值以及提取的时间戳一起上报给时延补偿模块,如此则省去了传统的示波器等延迟测量仪器,使用简单方便,成本低。并且,本发明的时延测量模块,可以通过硬件语言来实现,也可以通过软件语言来实现,通用性强。本装置能自适应网口速率,能实现1000M、100M、10M网络情况下的动态时延补偿;在 125M工作时钟下,延时值的测量精度为8ns。并且,本装置还可以通过提高工作时钟速率来进一步提高延时值的测量精度。如图2所示,在本发明实施例中,该装置还包括物理层报文传输模块(PHY传输模块)15和媒体独立接口(Mil接口)模块16。其中,物理层报文传输模块15用于将从以太网处接收到的报文通过媒体独立接口 MII模块16传输给FPGA中的硬件延时节点11。若接收到的报文是PTP报文,则在媒体独立接口模块处给接收到的PTP报文加盖上时间戳。采用物理层报文传输模块从物理层接收PTP报文,并在媒体独立接口模块处加盖时间戳的方式,使得PTP报文时间戳的产生尽可能地靠近物理层,更加准确地反映PTP报文的传递时间。在本发明实施例中,如图2所示,时延补偿模块14包括接口通信单元141和时延补偿单元142。接口通信单元141分别与延时测量模块12和时钟提取模块13相连,用于对应接收传来的延时值和时间戳,并将其传输给时延补偿单元142。时延补偿单元142用于实现精确时钟协议,完成同步过程,具体是根据获取的延时值和时间戳,根据精确时钟协议对这些数据进行相应的处理,动态调整硬件延时节点输出的PTP报文的当前时间戳,进行相应的时延补偿,实现时钟同步。例如,可以将提取得到的PTP报文的时间戳加上测量得到的延时值的和作为硬件延时节点输出的PTP报文的当前时间戳。在本发明实施例中,如图2所示,硬件延时节点指的是有报文经过时,会产生延时波动的模块,例如先进先出FIFO模块,当然也还可以是其它的、传输报文时会产生延时的硬件模块。时钟提取模块会对进入FIFO模块的报文做相应的标记,即标记报文进入FIFO模块时的测量起点信号,以及标记报文输出FIFO模块时的测量终点信号,并将这两个信号传送给延时测量模块。延时测量模块可以为计数器。具体地,计数器将接收到的测量起点信号作为延时值的测量起点,将测量终点信号作为延时值的测量终点,并通过自身对这两个信号的相位差的计数,来计算延时值。如此计算得到的延时值,精确地反映了 PTP报文经过FIFO模块的传输时间,使得在后续的时钟同步过程中,能够得到精确的延时值。需要说明的是,由于FIFO模块带来的硬件延时波动通常在在几十到上百ns,与 FIFO模块的深度相关,因此,采用本发明能够有效的提高PTP报文的同步精度。如图2所示,在本发明实施例中,时钟提取模块为具有时间戳管理功能的媒体访问控制MAC模块。MAC模块用于实现PTP报文的解析,时间戳的获取以及根据通信标准 IEEE802. 3完成带时间戳的报文的发送和接收,以及将提取到的时间戳传送给时延补偿模块,当然,时钟提取模块也可能是带时间戳管理功能的物理层芯片(PHY芯片)。图2所示的装置开始工作后,带时间戳管理功能的MAC模块开始检测FIFO模块是否收到报文。在确认收到报文后,对应标记报文进入FIFO模块时的测量起点信号,出FIFO 模块时的测量终点信号。同时,还判断该报文为是否PTP报文,若是,那么该MAC模块则需要对该报文进行处理,提取时间戳等信息。将测量得到的延时值和提取的时间戳等信息通过通信接口单元上报给时延补偿单元,时延补偿单元根据实时测量得到的延时值和提取到的时间戳,调用CPU的资源,进而相应进行时延补偿,从而提高了 PTP报文的同步性能。同时,如图3所示,本发明还提供了一种实现时钟同步的方法,包括以下步骤Si、实时测量报文经过硬件延时节点的延时值;S2、同时,确定所述报文是否为精确时钟协议报文(PTP报文),如果确定该报文为 (PTP报文),则提取该PTP报文进入该硬件延时节点之前加盖的时间戳;S3、根据该延时值和该时间戳,相应进行时延补偿。通过上述两个步骤,即可以根据提取到的PTP报文的时间戳和实时测量得到的延时值,对PTP报文进行动态时延补偿。与传统的把硬件层的延时值当成固定值的计算相比, 本发明得到的硬件层的延时值更能接近PTP报文的真实延时值,从而使得后续进行时延补偿处理更加精确,提高了 PTP报文的同步精度。实际上,在进行延时值的测量之前,还有一个判断步骤,即判断是否有报文经过硬件延时节点,也可以说判断物理层是否接收到报文。若物理层没有接收到报文,即不需要进行后续的操作步骤,并继续检测是否收到报文。只有在物理层接收到报文后,才进行延时值的测量,并在判断该报文为PTP报文时,才提取时间戳等信息,若不是PTP报文,则不用进行后续的延时补偿操作。如图4所示,是本发明实施例的方法流程图,具体为首先,检测物理层是否接收到报文,若没有接收到报文,则继续检测,若接收到报文,则对接收到的报文进行处理,在报文进入硬件延时节点时标记一个测量起点信号,在报文出硬件延时节点时标记一个测量终点信号。其次,进行延时值的计算,具体是将该测量起点信号作为开始延时值计算的测量起点,将测量终点信号作为结束延时值计算的测量终点,根据测量起点和测量终点来计算延时值。同时,判断经过硬件延时节点的报文是否为PTP报文,若为PTP报文,则提取PTP 报文的时间戳等信息。
最后,根据计算得到的延时值以及提取的时间戳等信息,对PTP报文的当前时间戳进行调整。应用本发明,能够实时测量PTP报文经过某个硬件延时节点时所消耗的时间,即延时值,与现有方案相比,本发明测量得到的延时值更加精确;根据提取得到的PTP报文进入该硬件延时节点之前的时间戳以及实时测量得到的延时值,对硬件延时节点输出的PTP 报文进行动态时延补偿,从而能够提高PTP报文的同步精度。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种实现时钟同步的装置,其特征在于,包括延时测量模块,用于实时测量报文经过硬件延时节点时的延时值并发送给时延补偿模块;时钟提取模块,用于在确定所述报文为精确时钟协议报文时,提取所述精确时钟协议报文进入所述硬件延时节点之前加盖的时间戳,并发送给时延补偿模块;时延补偿模块,用于根据接收到的所述延时值和所述时间戳,相应进行时延补偿。
2.如权利要求1所述的装置,其特征在于,所述装置还包括 物理层报文传输模块,用于从以太网处接收所述精确时钟协议报文;媒体独立接口模块,用于为所述精确时钟协议报文加盖时间戳并传输给所述硬件延时节点。
3.如权利要求2所述的装置,其特征在于,所述时延补偿模块包括接口通信单元,分别与所述延时测量模块和时钟提取模块相连,用于对应接收所述延时值和所述时间戳;时延补偿单元,用于根据所述延时值和所述时间戳,相应进行时延补偿。
4.如权利要求1-3任一所述的装置,其特征在于,所述硬件延时节点、时钟提取模块以及延时测量模块集成在同一现场可编程门阵列FPGA中。
5.如权利要求1-3任一所述的装置,其特征在于,所述硬件延时节点为先进先出模块。
6.如权利要求1-3任一所述的装置,其特征在于,所述延时测量模块为计数器。
7.如权利要求1-3任一所述的装置,其特征在于,所述时钟提取模块为具有时间戳管理功能的媒体访问控制模块。
8.一种实现时钟同步的方法,其特征在于,包括以下步骤 实时测量报文经过硬件延时节点时的延时值;确定所述报文是否为精确时钟协议报文,若确定所述报文为精确时钟协议报文,则提取所述精确时钟协议报文进入所述硬件延时节点之前加盖的时间戳; 根据所述延时值和所述时间戳,相应进行时延补偿。
9.如权利要求8所述的方法,其特征在于,在测量所述延时值的步骤之前,还包括判断物理层是否接收到报文的步骤。
10.如权利要求8或9所述的方法,其特征在于,所述实时测量报文经过硬件延时节点时的延时值的步骤包括在所述报文进入所述硬件延时节点时,标记测量起点信号,作为所述延时值的测量起点在所述报文出所述硬件延时节点时,标记测量终点信号,作为所述延时值的测量终点根据所述测量起点和测量终点来计算延时值。
全文摘要
本发明公开了一种实现时钟同步的装置及方法,所述装置包括延时测量模块,用于实时测量报文经过硬件延时节点时的延时值并发送给时延补偿模块;时钟提取模块,用于在确定所述报文为精确时钟协议报文时,提取所述精确时钟协议报文进入所述硬件延时节点之前加盖的时间戳,并发送给时延补偿模块;时延补偿模块,用于根据接收到的所述延时值和所述时间戳,相应进行时延补偿。与把PTP报文经过某个硬件延时节点的延时值当成固定值计算相比,本发明实时测量得到的PTP报文经过某个硬件延时节点的延时值更加精确。如此则能够根据该精确的延时值和提取到的时间戳进行相应时间戳的调整,从而提高了精确时钟协议报文的同步精度。
文档编号H04L7/00GK102244572SQ20111020085
公开日2011年11月16日 申请日期2011年7月18日 优先权日2011年7月18日
发明者万娟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1