METHOD AND SYSTEM FOR IMPROVING SYNCHRONIZATION PRECISION BASED ON PRECISION TIME PROTOCOL

15-11-2012 дата публикации
Номер:
WO2012151808A1
Автор: WAN, Juan
Принадлежит: 中兴通讯股份有限公司
Контакты:
Номер заявки: CN89-07-201197
Дата заявки: 26-08-2011

[0001]

基于精确时钟协议提高同步精度的方法及系统 技术领域

[0002]

本发明涉及通信技术领域,具体而言,尤其涉及一种基于 IEEE1588 (网 络测量和控制系统的精确时钟同步协议标准) 的精确时钟协议 ( Precision Time Protocol, 精确时钟协议)提高同步精度的方法及系统。 背景技术

[0003]

精确时钟协议是以 IEEE1588 为标准定义的一种分布式以太网的精确 同步时钟协议, 它能利用应用广泛、 价格低廉的以太网, 实现各个系统之 间的同步, 大大降低系统时钟同步的成本, 其同步精度可以达到微秒级。

[0004]

精确时钟协议借鉴了 NTP技术, 具有容易配置、 快速收敛以及对网络 带宽和资源消耗少等特点。 它的主要同步原理是, 通过一个同步信号周期 性地对网络中所有节点的时钟进行同步校正, 从而可以使基于以太网的分 布式系统达到精确同步, 精确时钟协议时钟同步技术可以应用于任何组播 网络中。

[0005]

精确时钟协议同步的基本原理包括时间发出和接收时间信息的记录 (这类精确时钟协议时间信息帧又叫 1588报文或精确时钟协议报文), 并 且对每一条信息增加一个 "时间戳"。 系统的顶层时钟(grandmaster时钟) 给系统定义了整体参考源, 有了时间记录, 接收端的从时钟就可以计算出 自己在网络中的时钟误差和延时, 从而进行时钟调整, 将自身的时钟同步 到系统顶层时钟以达到同步的目的。

[0006]

由此可见, 精确时钟协议报文的同步精确度与时间戳和时间信息紧密 相关, 时间戳的时间越接近真实发送时间, 同步精度就越高。 时间戳的产 生应该尽可能地靠近物理层, 这样可以使得产生的时间戳能够更加准确地 反映报文的传递时间, 并将该时间戳添加到随后发送的跟随报文中。

[0007]

在基于精确时钟协议的系统实现同步的过程中, 可以根据实际情况, 选择不同的时间戳点, 例如可选择硬件层、 软件驱动层或软件应用层为时 间戳点。 其中最精确的方法是在硬件层检测精确时钟协议报文并加盖时间 戳, 因为软件层加盖时间戳的准确性还跟软件操作系统的计时特性和负载 相关, 软件计时不如硬件计时准确。 所以当前提高系统的同步精度的常见 做法为: 将介于 MAC 层和物理层芯片之间的媒体独立接口(Media Independent Interface , ΜΠ)作为时间戳点的加盖时间。 这种方法的同步精度 的准确性取决于物理层芯片的计时特性和传输延时特性。

[0008]

相对于软件层的延时来说, 硬件层的传输延时是比较固定的。 目前已 有的方案一般将硬件层传输延时当成固定值来计算。 但实际上, 硬件层的 传输延时也不是完全固定的, 这是因为硬件可能会升级或改动, 从而导致 变动之后的硬件延时与变动之前的延时不相同; 同时硬件本身内部也存在 纳秒级的延时波动, 所以硬件延时并不是完全固定的。 由于现有技术中忽 略了硬件层传输延时的波动, 所以对最后的同步精度会有一定的影响。 发明内容

[0009]

本发明要解决的主要技术问题是, 提供一种基于精确时钟协议提高同 步精度的方法及系统, 能够根据实时测量的延时值和提取的时间戳, 进行 相应地时延补偿, 从而提高精确时钟协议报文的同步精度。

[0010]

为达到上述目的, 本发明采用了以下技术方案:

[0011]

一种基于精确时钟协议提高同步精度的系统, 包括:

[0012]

延时测量模块, 用于实时测量报文经过硬件延时模块时的延时值并发 送给时延补偿模块;

[0013]

时钟提取模块, 用于在确定所述报文为精确时钟协议报文时, 提取所 述精确时钟协议报文进入所述硬件延时模块之前加盖的时间戳, 并发送给 所述时延补偿模块;

[0014]

时延补偿模块, 用于根据接收到的所述延时值和所述时间戳, 进行相 应的时延补偿。

[0015]

其中, 所述系统还包括物理层报文传输模块和媒体独立接口模块, 所 述物理层报文传输模块用于从以太网处接收所述报文, 并通过所述媒体独 立接口模块传输给所述硬件延时模块。

[0016]

其中, 所述时延补偿模块包括接口通信单元和时延补偿单元; 所述接 口通信单元分别与所述延时测量模块和时钟提取模块相连, 用于接收所述 延时值和所述时间戳; 所述时延补偿单元用于根据所述延时值和所述时间 戳, 进行相应的时延补偿。

[0017]

其中, 所述硬件延时模块、 时钟提取模块以及延时测量模块集成在同 一 FPGA中。

[0018]

其中, 所述硬件延时模块为先进先出模块。

[0019]

其中, 所述延时测量模块为计数器。

[0020]

其中 , 所述时钟提取模块为具有时间戳管理功能的媒体访问控制模块。 一种基于精确时钟协议提高同步精度的方法, 包括:

[0021]

实时测量报文经过硬件延时节点时的延时值; 当所述报文为精确时钟 协议报文时, 提取所述精确时钟协议报文进入所述硬件延时节点之前加盖 的时间戳;

[0022]

根据所述延时值和所述时间戳, 进行相应的时延补偿。

[0023]

其中, 在测量所述延时值之前, 还包括判断物理层是否接收到报文的 步驟。

[0024]

其中, 所述实时测量报文经过硬件延时节点时的延时值的过程包括: 在所述报文进入所述硬件延时节点时, 标记测量起点信号, 作为所述 延时值的测量起点; 以及, 在所述报文出所述硬件延时节点时, 标记测量 终点信号, 作为所述延时值的测量终点;

[0025]

根据所述测量起点和测量终点计算延时值。

[0026]

本发明的有益效果是: 通过实时测量精确时钟协议报文经过某个硬件 延时节点的延时值, 以及提取到的精确时钟协议报文进入该硬件延时节点 之前的时间戳, 来进行相应地延时补偿。 由于精确时钟协议报文经过不同 的硬件延时模块产生的延时值是动态变化的, 因此应用本发明测量得到的 延时值更加精确, 如此则能够根据测量得到的精确时钟协议报文经过某个 硬件延时节点的精确延时值和提取到的时间戳进行相应的时间戳的调整, 与现有技术相比, 提高了精确时钟协议报文的同步精度。 附图说明

[0027]

图 1为本发明的系统组成示意图;

[0028]

图 2为本发明一种实施例的系统组成示意图;

[0029]

图 3为本发明的方法流程图;

[0030]

图 4为本发明一种实施例的方法流程图。 具体实施方式

[0031]

下面通过具体实施方式结合附图对本发明作进一步详细说明。

[0032]

现有的基于精确时钟协议的系统在实现精确时钟协议报文( PTP报文 ) 同步时, 由于认为硬件层的传输延时是比较固定的, 因此在 PTP报文在媒 体独立接口加盖了时间戳后且在硬件层传输时, 就把硬件层的传输延时值 当成一个固定值来计算。

[0033]

但实际上, 由于硬件层的传输延时也有一定的波动, 并不是固定不变 的, 所以使得现有方案中 PTP报文的同步精度会受到一定的影响。 为尽可 能减少硬件层的传输延时波动对同步精度的影响, 本发明提出了一种基于 精确时钟协议提高同步精度的方法及系统。 本发明的主要构思是: 由于不同的 PTP报文经过同一个硬件节点的延 时值可能不一样, 而同一个 PTP报文经过不同的硬件节点的延时值也可能 不一样, 并且同一个硬件节点出现硬件延时波动的时间点不确定。 因此, 通过实时测量当前 PTP报文经过某个硬件延时节点时的延时值, 并同时提 取该 PTP报文经过该硬件节点之前的时间戳, 根据该延时值和提取得到的 时间戳, 就可以对出了硬件延时节点后的 PTP报文的当前时间戳进行动态 调整,从而使得 PTP报文的时钟偏差和延时计算更加精确,进而提高了 PTP 报文的同步精度。

[0034]

根据该构思, 本发明提出了一种基于精确时钟协议提高同步精度的系 统。 如图 1所示, 该系统 1包括硬件延时模块 11 , 延时测量模块 12, 时钟 提取模块 13以及时延补偿模块 14。 其中, 硬件延时模块 11用于传输报文 收发路径上的报文, 并对报文进行时钟域的转换, 保证本地获得的数据可 靠。 由于硬件延时模块是延时不确定模块, 因此报文经过硬件延时模块时, 产生的传输延时也是不确定的。

[0035]

延时测量模块 12的作用就是实时测量报文进入硬件延时模块 11和出 硬件延时模块 11所用的时间, 即延时值, 并将该延时值传输给时延补偿模 块 14。 而时钟提取模块 13的作用是在确定硬件延时模块 11上传输的报文 为 PTP报文时, 用来提取该 PTP报文进入硬件延时模块 11之前加盖的时 间戳等信息, 并将该时间戳传输给时延补偿模块 14。 时延补偿模块 14根据 接收到的延时值和时间戳等信息, 动态地调整硬件延时模块输出的 PTP报 文当前的时间戳, 进行相应的时延补偿。

[0036]

通过延时测量模块实时测量 PTP报文经过某个硬件延时模块的延时 值, 以及时钟提取模块提取的该 PTP报文进入该硬件延时模块之前的时间 戳, 来进行相应地延时补偿。 由于 PTP报文经过不同的硬件延时模块产生 的延时值是动态变化的, 因此, 采用本发明的系统来实时测量延时值, 可 以使得延时值的测量更加精确。 因此, 时延补偿模块能够根据 PTP报文经 过某个硬件延时模块的精确延时值进行相应的时间戳的调整, 与现有技术 相比, 提高了 PTP报文的同步精度。

[0037]

需要说明的一点是, 本发明测量得到的 PTP报文的延时值, 是 PTP报 文加盖时间戳后在硬件延时模块上传输时产生的延时值, 本发明的 PTP报 文在进入硬件延时模块之前, 刚刚被加盖上时间戳。 因此时钟提取模块提 取到的时间戳信息是 PTP报文进入硬件延时模块之前加盖的时间戳。

[0038]

需要说明的另一点是, 本发明的时延补偿模块, 可以采用软件语言来 实现, 并在 CPU上运行。 如此, CPU可以根据接收到的延时测量模块上报 的延时值以及时钟提取模块上报的时间戳, 就可以对延时测量模块输出的

[0039]

PTP报文的当前时间戳进行相应地调整, 从而提高 PTP报文的同步精度。

[0040]

如图 2所示, 在该系统的实际运用中, 硬件延时模块 11、 延时测量模 块 12 以及时钟提取模块 13 三者的功能可通过现场可编程门阵列 (Field Programmable Gate Array, FPGA ) 来实现, 即在同一个 FPGA上, 集成有 上述三个模块。 利用该 FPGA, 可以实现对以太网 ^艮文在硬件层传输延时的 实时测量, 并将测量得到的延时值以及提取的时间戳一起上报给时延补偿 模块, 如此则省去了传统的示波器等延迟测量仪器, 使用简单方便, 成本 低。 并且, 本发明的时延测量模块, 可以通过硬件语言来实现, 也可以通 过软件语言来实现, 通用性强。 本系统能自适应网口速率, 能实现 1000M、 100M、 10M网络情况下的动态时延补偿; 在 125M工作时钟下, 延时值的 测量精度为 8ns。 并且, 本系统还可以通过提高工作时钟速率来进一步提高 延时值的测量精度。

[0041]

如图 2所示, 在本发明实施例中, 该系统还包括物理层报文传输模块 ( PHY传输模块) 15和媒体独立接口 (ΜΠ接口)模块 16。 其中, 物理层 报文传输模块 15用于将从以太网处接收到的报文通过媒体独立接口 ΜΠ模 块 16传输给 FPGA中的硬件延时模块 11。采用物理层报文传输模块从物理 层接收报文, 并在媒体独立接口模块处加盖时间戳的方式, 使得报文时间 戳的产生尽可能地靠近物理层, 更加准确地反映报文的传递时间。

[0042]

在本发明实施例中, 如图 2所示, 时延补偿模块 14包括接口通信单元 141和时延补偿单元 142。 接口通信单元 141分别与延时测量模块 12和时 钟提取模块 13相连, 用于接收传来的延时值和时间戳, 并将其传输给时延 补偿单元 142。 时延补偿单元 142用于实现精确时钟协议, 完成同步过程, 具体是根据获取的延时值和时间戳, 根据精确时钟协议对这些数据进行相 应的处理, 动态调整硬件延时模块输出的 PTP报文的当前时间戳, 进行相 应的时延补偿, 实现时钟同步。 例如, 可以将提取得到的 PTP报文的时间 戳加上测量得到的延时值的和作为硬件延时模块输出的 PTP报文的当前时 间戳。

[0043]

在本发明实施例中, 如图 2所示, 硬件延时模块指的是有报文经过时, 会产生延时波动的模块,例如先进先出 FIFO模块,当然也还可以是其它的、 传输报文时会产生延时的硬件模块。时钟提取模块会对进入 FIFO模块的报 文做相应的标记, 即标记报文进入 FIFO模块时的测量起点信号, 以及标记 报文输出 FIFO模块时的测量终点信号,并将这两个信号传送给延时测量模 块。 延时测量模块可以为计数器, 具体地, 计数器将接收到的测量起点信 号作为延时值的测量起点, 将测量终点信号作为延时值的测量终点, 并通 过自身对这两个信号的相位差的计数, 来计算延时值。 如此计算得到的延 时值,精确地反映了 PTP报文经过 FIFO模块的传输时间,使得在后续的时 钟同步过程中, 能够得到精确的延时值。

[0044]

需要说明的是, 由于 FIFO模块带来的硬件延时波动通常在在几十到上 百 ns, 与 FIFO模块的深度相关, 因此, 采用本发明能够有效的提高 PTP 报文的同步精度。 如图 2所示, 在本发明实施例中, 时钟提取模块为具有时间戳管理功 能的媒体访问控制 MAC模块。 MAC模块用于实现 PTP报文的解析, 时间 戳的获取以及根据通信标准 IEEE802.3完成带时间戳的报文的发送和接收, 以及将提取到的时间戳传送给时延补偿模块。

[0045]

图 2所示的系统开始工作后,带时间戳管理功能的 MAC模块开始检测 FIFO模块是否收到报文。在确认收到报文后, 不但对应标记报文进入 FIFO 模块 /出 FIFO模块的测量起点信号 /测量终点信号。 同时, 还判断该报文为 是否 PTP报文, 若是, 那么该 MAC模块则需要对该报文进行处理, 提取 时间戳等信息。 将测量得到的延时值和提取的时间戳等信息通过通信接口 单元上报给时延补偿单元, 时延补偿单元根据实时测量得到的延时值和提 取到的时间戳, 调用 CPU的资源, 进而进行相应的时延补偿, 从而提高了 PTP报文的同步性能。

[0046]

同时, 如图 3 所示, 本发明还提供了一种基于精确时钟协议提高同步 精度的方法, 包括以下步驟:

[0047]

51、 实时测量报文经过硬件延时节点的延时值; 同时, 如果确定该报 文为精确时钟协议报文 ( PTP报文), 则提取该 PTP报文进入该硬件延时节 点之前加盖的时间戳;

[0048]

52、 根据该延时值和该时间戳, 进行相应的时延补偿。

[0049]

通过上述两个步驟, 即可以根据 PTP报文的时间戳和实时测量得到的 延时值, 对 PTP报文进行动态时延补偿。 与传统的 更件层的延时值当成 固定值的计算相比, 本发明得到的硬件层的延时值更能接近 PTP报文的真 实延时值, 从而使得后续进行时延补偿处理更加精确, 提高了 PTP报文的 同步精度。

[0050]

实际上, 在进行延时值的测量之前, 还有一个判断步驟, 即判断是否 有报文经过硬件延时节点, 也可以说判断物理层是否接收到报文。 若物理 层没有接收到报文, 即不需要进行后续的操作步驟, 并继续检测是否收到 报文。 只有在物理层接收到报文后, 才进行延时值的测量, 并在判断该报 文为 PTP报文时, 才提取时间戳等信息, 若不是 PTP报文, 则不用进行后 续的延时补偿操作。

[0051]

如图 4所示, 是本发明实施例的方法流程图, 具体为:

[0052]

首先, 检测物理层是否接收到报文, 若没有接收到报文, 则继续检测, 若接收到报文, 则对接收到的报文进行处理, 在报文进入硬件延时节点时 标记一个测量起点信号, 在报文出硬件延时节点时标记一个测量终点信号。

[0053]

其次, 进行延时值的计算, 具体是将该测量起点信号作为开始延时值 计算的测量起点, 将测量终点信号作为结束延时值计算的测量终点, 根据 测量起点和测量终点来计算延时值。 同时, 判断经过硬件延时节点的报文 是否为 PTP报文, 若为 PTP报文, 则提取 PTP报文的时间戳等信息。

[0054]

最后, 根据计算得到的延时值以及提取的时间戳等信息, 对 PTP报文 的当前时间戳进行调整。

[0055]

应用本发明, 能够实时测量 PTP报文经过某个硬件延时节点时所消耗 的时间, 即延时值, 与现有方案相比, 本发明测量得到的延时值更加精确; 根据提取得到的 PTP报文进入该硬件延时节点之前的时间戳以及实时测量 得到的延时值, 对硬件延时节点输出的 PTP报文进行动态时延补偿, 从而 能够提高 PTP报文的同步精度。 能认定本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的 普通技术人员来说, 在不脱离本发明构思的前提下, 还可以做出若干简单 推演或替换, 都应当视为属于本发明的保护范围。



[0000]

Disclosed are a system and a method for improving synchronization precision based on a precision time protocol, for measuring in real time a delay value when a packet passes through a hardware delay node. When the packet is a precision time protocol packet, a time stamp pressed before the precision time protocol packet enters the hardware delay node is extracted; and corresponding delay compensation is performed according to the delay value and the time stamp. Compared with the prior art, the delay value measured by using the technical solution of the present invention is more precise, so that the time stamp can be correspondingly adjusted according to the measured precise delay value when the precision time protocol packet passes through the hardware delay node and the extracted time stamp, thereby improving the synchronization precision of the precision time protocol packet.

[1]



权利要求书

1、 一种基于精确时钟协议提高同步精度的系统, 包括:

延时测量模块, 用于实时测量报文经过硬件延时模块时的延时值并发 送给时延补偿模块;

时钟提取模块, 用于在确定所述报文为精确时钟协议报文时, 提取所 述精确时钟协议报文进入所述硬件延时模块之前加盖的时间戳, 并发送给 所述时延补偿模块;

时延补偿模块, 用于根据接收到的所述延时值和所述时间戳, 进行相 应的时延补偿。

2、 如权利要求 1所述的系统, 其中, 所述系统还包括物理层报文传输 模块和媒体独立接口模块, 所述物理层报文传输模块用于从以太网处接收 所述报文, 并通过所述媒体独立接口模块传输给所述硬件延时模块。

3、 如权利要求 1所述的系统, 其中, 所述时延补偿模块包括接口通信 单元和时延补偿单元; 所述接口通信单元分别与所述延时测量模块和时钟 提取模块相连, 用于接收所述延时值和所述时间戳; 所述时延补偿单元用 于根据所述延时值和所述时间戳, 进行相应的时延补偿。

4、 如权利要求 1至 3任一项所述的系统, 其中, 所述硬件延时模块、 时钟提取模块以及延时测量模块集成在同一 FPGA中。

5、 如权利要求 1至 3任一项所述的系统, 其中, 所述硬件延时模块为 先进先出模块。

6、 如权利要求 1至 3任一项所述的系统, 其中, 所述延时测量模块为 计数器。

7、 如权利要求 1至 3任一项所述的系统, 其中, 所述时钟提耳 4莫块为 具有时间戳管理功能的媒体访问控制模块。

8、 一种基于精确时钟协议提高同步精度的方法, 包括: 实时测量报文经过硬件延时节点时的延时值; 当所述报文为精确时钟 协议报文时, 提取所述精确时钟协议报文进入所述硬件延时节点之前加盖 的时间戳;

根据所述延时值和所述时间戳, 进行相应的时延补偿。

9、 如权利要求 8所述的方法, 其中, 在测量所述延时值之前, 还包括 判断物理层是否接收到报文的步驟。

10、 如权利要求 8或 9所述的方法, 其中, 所述实时测量报文经过硬 件延时节点时的延时值的过程包括:

在所述报文进入所述硬件延时节点时, 标记测量起点信号, 作为所述 延时值的测量起点; 以及, 在所述报文出所述硬件延时节点时, 标记测量 终点信号, 作为所述延时值的测量终点;

根据所述测量起点和测量终点计算延时值。