时间戳生成方法、装置及系统的制作方法

文档序号:7998513阅读:409来源:国知局
时间戳生成方法、装置及系统的制作方法
【专利摘要】本发明提供一种时间戳生成方法、装置及系统,包括:通过数据包处理单元接收物理层收发单元或高层发送的数据包,识别数据包是否为精确时间同步协议PTP数据包,若是,则根据物理层时延获取单元提供的物理层时延和非物理层时延获取单元提供的非物理层时延生成精确时间戳并改写数据包中的时间戳字段,有效提高了时间戳的精确度,提高整个通信网络的时间同步精度。
【专利说明】时间戳生成方法、装置及系统

【技术领域】
[0001] 本发明涉及通信技术,尤其涉及一种时间戳生成方法、装置及系统。

【背景技术】
[0002] 随着通信技术的发展,通信网络对时间同步的要求越来越高。现有通信网络对时 间同步的要求已经达到亚微秒量级,在未来,有可能使用大规模的协作通信,因此,如多小 区、多天线的协作通信可能需要纳秒级甚至亚纳秒级别的时间同步。IEEE1588V2时间同步 协议(Precision Time Protocol,简称:PTP)通过在通信网络节点之间发送包含有时戳的 PTP数据包来实现整个网络的时间同步,是目前较为精确的一种时间同步方案。
[0003] 现有技术中,通信网络节点接收到一个PTP数据包后,会在物理层(Physical,简 称PHY)和媒体介入控制(Medium Access Control,简称:MAC)层之间识别PTP数据包,并为 该PTP数据包添加时戳。在添加时间戳的过程中基于识别PTP数据包的延迟而进行时延补 偿。然而,这种方法获得的时间戳精度不高,进而导致整个通信网络的时间同步精度不高。


【发明内容】

[0004] 本发明提供一种时间戳生成方法、装置及系统,用于避免在为PTP数据包添加时 间戳时,PHY层处理过程对时间戳精度的影响。
[0005] 本发明的第一个方面是提供一种网络节点,包括:物理层收发单元,数据包处理单 元,物理层时延获取单元,非物理层时延获取单元;
[0006] 所述物理层收发单元,用于向所述数据包处理单元发送数据包;
[0007] 所述数据包处理单元,用于接收所述物理层收发单元或高层发送的所述数据包, 并识别所述数据包是否为精确时间同步协议PTP数据包,若是,则所述数据包处理单元根 据所述物理层时延获取单元提供的物理层时延信息和所述非物理层时延获取单元提供的 非物理层时延信息生成精确时间戳并改写所述数据包中的时间戳字段;
[0008] 所述物理层时延获取单元,用于获取所述数据包经过所述物理层收发单元的物理 层时延信息,并将所述物理层时延信息提供给所述数据包处理单元;
[0009] 所述非物理层时延获取单元,用于获取所述数据包经过物理层-非物理层接口时 间点和所述数据包处理单元中精确时间戳生成时间点之间的非物理层时延信息,并将所述 非物理层时延信息提供给所述数据包处理单元。
[0010] 结合本发明第一方面,在第一种可能的实现方式中,所述数据包处理单元包括;数 据包识别子单元、时间戳生成改写子单元;
[0011] 所述数据包识别子单元,用于接收所述物理层收发单元或高层发送的所述数据 包,并识别所述数据包是否为精确时间同步协议PTP数据包;
[0012] 所述时间戳生成改写子单元,用于,在所述数据包识别子单元识别出所述数据包 为精确时间同步协议PTP数据包时,根据所述物理层时延获取单元和所述非物理层时延获 取单元生成精确时间戳并改写所述数据包中的时间戳字段。
[0013] 结合本发明第一方面的第一种可能的实现方式,在第二种可能的实现方式中所述 数据包识别子单元接收高层发送的所述数据包,则所述物理层时延获取单元获取所述数据 包经过所述物理层收发单元的物理层时延信息为历史物理层时延信息;所述非物理层时延 获取单元获取所述数据包经过物理层-非物理层接口时间点和所述数据包处理单元中精 确时间戳生成时间点之间的非物理层时延为历史非物理层时延信息;所述历史物理层时延 信息为所述数据包之前传输的数据包的物理层时延信息;所述非物理层时延信息为所述数 据包之前传输的数据包的非物理层时延信息;
[0014] 则所述时间戳生成改写单元,用于根据所述物理层时延获取单元获取的所述历史 物理层时延信息和所述非物理层时延获取单元获取的所述历史非物理层时延信息预测生 成所述精确时间戳并改写所述数据包中的时间戳字段。
[0015] 结合本发明第一方面的以及第一方面的前两种可能的实现方式,在第三种可能的 实现方式中,所述物理层时延获取单元获取的所述数据包经过所述物理层收发单元的物理 层时延信息包括以下任意一种或多种时延信息的组合:固定时延信息、恢复时钟与本地时 钟不匹配造成的动态细粒度时延信息、码组对齐时延信息、存储模块读写时延信息、数据速 率匹配模块时延信息。
[0016] 结合本发明第一方面的以及第一方面的前两种可能的实现方式,在第四种可能的 实现方式中,所述非物理层时延获取单元获取的所述数据包经过所述物理层-非物理层接 口时间点和所述数据包处理单元中时间戳生成时间点之间的非物理层时延信息包括所述 数据包在非物理层的以下任意一种或多种时延信息的组合:处理时延信息、队列时延信息、 时钟域不同造成的相差时延信息。
[0017] 结合本发明第一方面的以及第一方面的前四种可能的实现方式,在第五种可能的 实现方式中,所述数据包处理单元位于MAC层或者与MAC相连的队列区。
[0018] 本发明的第二方面是提供一种时间戳生成方法,包括:
[0019] 网络节点接收其他网络节点发送的数据包或接收所述网络节点的高层发送的数 据包;
[0020] 所述网络节点获取所述数据包的物理层时延信息和非物理层时延信息;
[0021] 所述网络节点识别所述数据包是否为精确时间同步协议PTP数据包,若是,则根 据所述物理层时延和所述非物理层时延生成精确时间戳并改写所述数据包中的时间戳字 段。
[0022] 结合本发明第二方面,在第一种可能的实现方式中,所述网络节点接收其他网络 节点发送的数据包;或者,接收所述网络节点的高层发送的数据包,包括:
[0023] 所述网络节点接收所述高层发送的数据包,则所述网络节点获取所述数据的物理 层时延信息为历史物理层时延信息;所述网络节点获取所述数据包经过物理层-非物理层 接口时间点和所述网络节点中精确时间戳生成时间点之间的非物理层时延信息为历史非 物理层时延信息;所述历史物理层时延信息为所述数据包之前传输的数据包的物理层时延 信息;所述非物理层时延信息为所述数据包之前传输的数据包的非物理层时延信息;
[0024] 对应,所述网络节点,根据所述物理层时延和所述非物理层时延生成精确时间戳 并改写所述数据包中的时间戳字段包括:根据所述历史物理层时延信息和所述历史非物理 层时延信息预测生成所述精确时间戳并改写所述数据包中的时间戳字段。
[0025] 结合本发明第二方面以及第二方面的第一种可能的实现方式中,在第二种可能的 实现方式中,所述物理层时延信息包括以下任意一种或多种时延信息的组合:固定时延信 息、恢复时钟与本地时钟不匹配造成的动态细粒度时延信息、码组对齐时延信息、存储模块 读写时延信息、数据速率匹配模块时延信息。
[0026] 所述非物理层时延信息为所述数据包经过物理层-非物理层接口时间点和所述 网络节点中精确时间戳生成时间点之间的时延信息,包括所述数据包在非物理层的以下任 意一种或多种时延信息的组合:处理时延信息、队列时延信息、时钟域不同造成的相差时延 信息。
[0027] 本发明的第三个方面是提供一种通信系统,包括上述第一方面以及第一方面各可 能的实现方式中任一一项所述的网络节点。
[0028] 本实施例提供的时间戳生成方法、装置及系统,通过物理层收发单元从数据包处 理单元接收数据包并发送至其它网络节点;或者,从其它网络节点接收数据包并发送至数 据包处理单元,物理层时延获取单元获取数据包经过物理层收发单元的物理层时延信息, 并将物理层时延信息提供给数据包处理单元;非物理层时延获取单元获取数据包经过物理 层-非物理层接口时间点和数据包处理单元中精确时间戳生成时间点之间的非物理层时 延信息,并将非物理层时延信息提供给数据包处理单元。同时数据包处理单元接收物理层 收发单元或高层发送的数据包,并识别数据包是否为精确时间同步协议PTP数据包,若是, 则数据包处理单元根据物理层时延获取单元和非物理层时延获取单元生成精确时间戳并 改写数据包中的时间戳字段。实现时间戳依据物理层时延信息以及非物理层时延信息对时 间戳进行补偿,有效提高了时间戳的精确度,提高整个通信网络的时间同步精度。

【专利附图】

【附图说明】
[0029] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。
[0030] 图1为本发明实施例一提供的网络节点结构示意图;
[0031] 图2为本发明实施例二提供的网络节点结构示意图;
[0032] 图3为本发明实施例二提供的网络节点的工作原理示意图;
[0033] 图4为本发明实施例二提供的网络节点接口应用示意图;
[0034] 图5为本发明实施例三提供的网络节点的工作原理示意图;
[0035] 图6为本发明实施例四提供的一种基于IEEE1588V2时间同步协议的精确时间时 间同步通信系统结构示意图;
[0036] 图7为本发明实施例五提供的时间戳生成方法的流程示意图。

【具体实施方式】
[0037] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038] 图1为本发明实施例一提供的网络节点结构示意图,如图1所示,该网络节点包 括:物理层收发单元10,数据包处理单元12,物理层时延获取单元11,非物理层时延获取单 元13 ;
[0039] 物理层收发单元10,用于向所述数据包处理单元发送数据包;
[0040] 具体地,用于从数据包处理单元12接收数据包并发送至其它网络节点;或者,用 于从其它网络节点接收数据包并发送至数据包处理单元12 ;
[0041] 数据包处理单元12,用于接收物理层收发单元10或高层发送的数据包,并识别数 据包是否为精确时间同步协议PTP数据包,若是,则数据包处理单元12根据物理层时延获 取单元11和非物理层时延获取单元13生成精确时间戳并改写数据包中的时间戳字段;
[0042] 物理层时延获取单元11,用于获取数据包经过物理层收发单元10的物理层时延 信息,并将物理层时延信息提供给数据包处理单元12 ;
[0043] 非物理层时延获取单元13,用于获取数据包经过物理层-非物理层接口时间点和 数据包处理单元12中精确时间戳生成时间点之间的非物理层时延信息,并将非物理层时 延信息提供给数据包处理单元12。
[0044] 参照图1,物理层收发单元10与数据包处理单元12可以通过现有介质无关接口 /媒体独立接口(Media Independent Interface,简称:MII)连接,即物理层-非物理层接 口。物理层收发单元10将数据包从物理层传送给数据包处理单元12,或者接收由高层发 送的数据包,例如,高层可以为该网络节点的媒体访问控制(Media Access Control,简称: MAC)层、操作(Operating System,简称0S)层以及应用层。物理层时延获取单元11则可 以通过一个独立的物理层-非物理层接口,与数据包处理单元12连接,将物理层时延获取 单元11获取到的数据包在物理层收发单元10的物理层时延信息通过该独立的物理层-非 物理层接口传送给数据包处理单元12。需要说明的是,该独立的物理层-非物理层接口可 以与原有用于传输数据包的MII接口配合和兼容,并且独立的物理层-非物理层接口与MII 传输的数据与网络节点的本地时钟同步,实现了独立的物理层-非物理层接口与MII接口 传输数据的同步。这样节省接口连线资源,以较小的代价即可实现物理层与MAC层的时延 信息传输。
[0045] 其中,数据包处理单元12以及非物理层时延获取单元13可以设置在物理层和MAC 层之间,或者,设置在MAC层。数据包处理单元12接收到物理层时延获取单元11发送的物 理层时延信息,又接收到非物理层时延获取单元13发送的非物理层时延信息,因此,同时 根据物理层时延信息和非物理层时延信息对PTP数据包进行时延补偿生成精确时间戳。需 要说明的是,物理层收发单元10接收的数据包均为以太网数据包,因此,物理层时延获取 单元11获取的物理层时延信息为以太网数据包的物理层时延信息,只有通过数据包处理 单元12识别到多个以太网数据包中某一个为PTP数据包时,数据包处理单元12根据确定 的PTP数据包以及与之对应的物理层时延信息和非物理层时延信息生成精确时间戳,并对 该PTP数据包进行时延补偿。
[0046] 另外,在一种实施场景下,网络节点作为发送节点,则该网络节点需要将高层,例 如MAC层,处理过的数据包经物理层提供给其他网络节点,在物理层将数据包发送之前,数 据包处理单元12若识别到某一以太网数据包为PTP数据包,则该网络节点需要对该PTP数 据包添加时间戳;另一种实施场景下,网络节点作为接收节点,则该网络节点接收其他网络 节点发送的以太网数据包,这些以太网数据包首先通过该网络节点的物理层处理,进而通 过该网络节点的其他高层,例如MAC层进行处理,在物理层处理后,数据包处理单元12会对 这些以太网数据包进行识别,若识别到某一以太网数据包为PTP数据包,则需要对该PTP数 据包添加时间戳。
[0047] 另外,上述物理层收发单元10、物理层时延获取单元11与数据包处理单元12,非 物理层延时获取单元13通过网络节点的本地时钟实现同步。
[0048] 本实施例提供的网络节点,通过物理层收发单元从数据包处理单元接收数据包并 发送至其它网络节点;或者,从其它网络节点接收数据包并发送至数据包处理单元,物理层 时延获取单元获取数据包经过物理层收发单元的物理层时延信息,并将物理层时延信息提 供给数据包处理单元;非物理层时延获取单元获取数据包经过物理层-非物理层接口时间 点和数据包处理单元中精确时间戳生成时间点之间的非物理层时延信息,并将非物理层时 延信息提供给数据包处理单元。同时数据包处理单元接收物理层收发单元或高层发送的数 据包,并识别数据包是否为精确时间同步协议PTP数据包,若是,则数据包处理单元根据物 理层时延获取单元和非物理层时延获取单元生成精确时间戳并改写数据包中的时间戳字 段。实现依据物理层时延信息以及非物理层时延信息对时间戳进行补偿,有效提高了时间 戳的精确度,提高整个通信网络的时间同步精度。
[0049] 进一步的,在图1提供的网络节点的基础上,图2为本发明实施例二提供的网络节 点结构示意图,如图2所示,数据包处理单元12包括;数据包识别子单元121、时间戳生成 改写子单元122 ;
[0050] 数据包识别子单元121,用于接收物理层收发单元10或高层发送的数据包,并识 别数据包是否为精确时间同步协议PTP数据包;
[0051] 若是,则时间戳生成改写子单元122,用于根据物理层时延获取单元11和非物理 层时延获取单元11生成精确时间戳并改写数据包中的时间戳字段。
[0052] 以下分别以网络节点作为接收节点、以及网络节点作为发送节点进行说明。
[0053] 在网络节点作为接收节点,接收其他网络节点发送的以太网数据包时,S卩,数据包 方向是该网络节点的物理层向该网络节点的高层,例如MAC层。图3为本发明实施例二提 供的网络节点的工作原理示意图,如图3所示,物理层收发单元10接收到的数据包由网络 中其他网络节点发送,而物理层时延获取单元11获取的物理层时延信息包括:物理层收发 单元10接收数据包中每个数据的时延信息。如图3所示,物理层时延获取单元11具体包 括:固定时延获取单元110、动态精确时延获取单元111、动态粗粒度时延获取单元112、物 理层时延获取子单元113。其中,固定时延获取单元110用于获取物理层收发单元10中相 关模块产生的固定时延信息;动态精确时延获取单元111用于获取物理层收发单元10中相 关模块产生的动态精确时延信息;动态粗粒度时延获取单元112用于获取物理层收发单元 10中相关模块产生的动态粗粒度时延信息。物理层时延获取子单元113接收上述固定时延 信息、动态精确时延信息以及动态粗粒度时延信息并将其加合为物理层时延信息,提供给 时间戳生成改写子单元122。时间戳生成改写子单元122可以根据数据包识别子单元121 提供的PTP确认指示信息以及时间戳生成改写子单元122接收到的物理层时延信息和非物 理层时延信息来生成PTP数据包的精确时间戳。对于固定时延信息、动态精确时延信息以 及动态粗粒度时延信息将在下文中的实施例中进行详细说明,此处不再赘述。
[0054] 具体的,图4为本发明实施例二提供的网络节点接口应用示意图,如图4所示,独 立的接口为物理层和非物理层之间传输物理层时延信息的接口,独立的物理层-非物理层 接口可以采用较为简单的方式来实现,例如,与MII接口数据配合使用,独立的物理层-非 物理层接口可以采用一根数据线来实现,如图4所示,MII接口中与本发明相关的包括:RX_ CLK表不接收时钟,RXD(receive data)表不接收数据。其中,SFD(Start Frame Delimiter) 表示巾贞起始,FCS(Frame Check Sequence)表示位于巾贞尾的巾贞校验,Preamble为用来辅助 PHY层接收数据的前导信号。
[0055] 进一步地,参照图3,在网络节点作为接收节点,接收其他网络节点发送的以太网 数据包时,网络节点通过非物理层时延获取单元13对以太网数据包中的每个帧的起始点 的时延信息进行实时测量获得物理层时延信息,物理层时延信息以lbit串行时延数据的 方式通过独立的物理层-非物理层接口提供给非物理层的时间戳生成改写子单元122。串 行时延数据与MII接口的数据和时钟是对齐的,其中,与SFD对应的物理层时延信息为比 特" 1",表示与每个数据帧对应的物理层时延信息的起始;与数据对应的比特"0"或" 1"表 示本数据帧起始点时刻(SFD)的接收时延信息的数据;与FCS和Preamble对应的物理层 时延信息为比特"〇",表示本帧物理层时延信息的终止。这种接口设计只需要一根物理数 据线,既和MII接口或lOGbps以太网连接单兀接口(lOGbps Ethernet Attachment Unit Interface,简称:XAUI接口)标准相兼容,又节省接口连线资源,以较小的代价即可实现物 理层到高层的时延信息传输,例如MAC层。进一步的,由于通过独立的物理层-非物理层接 口的物理层时延信息与MII接口的数据和时钟是对齐的,物理层收发单元10可以根据每一 个时钟周期内的数据包与物理层时延信息的对应关系,时间戳生成改写子单元122可以根 据数据包识别子单元121提供的PTP确认指示信息以及时间戳生成改写子单元122接收到 的物理层时延信息和非物理层时延信息来生成PTP数据包的精确时间戳。具体的,数据包 识别子单元121对每个以太网数据包进行判断是否为PTP数据包,判断过程会产生动态时 延,无论是不是PTP数据包,物理层时延获取单元11会计算每个以太网数据包的物理层时 延信息,非物理层时延获取单元13获取以太网数据包经过物理层至非物理层接口时间点 和数据包处理单元12中精确时间戳生成时间点之间的非物理层时延信息,并由时间戳生 成改写子单元122将非物理层时延信息与物理层送来的物理层时延信息进行相加获得总 时延信息。当确定为PTP数据包时,数据包识别子单元121发送一个触发信息给时间戳生 成改写子单元122,时间戳生成改写子单元122利用这个触发信息,读取与之相对应的总时 延信息,并作为时间戳的基准生成精确时间戳,如果不是PTP数据包,则时间戳生成改写子 单元122对获得的总时延信息不予使用。例如,第6个周期为PTP数据包,则对应第6个周 期内的接收时延信息为该PTP数据包的物理层时延信息,最后时间戳生成单元根据PTP数 据包的物理层时延信息和非物理层时延信息生成PTP数据包的精确时间戳。
[0056] 在网络节点作为发送节点,向其他网络节点发送数据包时,S卩,数据包方向是该网 页节点的高层,例如MAC层向物理层。参照图2,数据包识别子单元121接收高层发送的数 据包,则物理层时延获取单元11获取数据包经过物理层收发单元10的物理层时延信息为 历史物理层时延信息;非物理层时延获取单元11获取数据包经过物理层-非物理层接口时 间点和数据包处理单元12中精确时间戳生成时间点之间的非物理层时延为历史非物理层 时延信息。则时间戳生成改写子单元122根据物理层时延获取单元11获取的历史物理层 时延信息和非物理层时延获取单元11获取的历史非物理层时延信息预测生成精确时间戳 并改写数据包中的时间戳字段。
[0057] 历史物理层时延信息为数据包之前传输的数据包的物理层时延信息;非物理层时 延信息为数据包之前传输的数据包的非物理层时延信息。
[0058] 具体的,图5为本发明实施例三提供的网络节点的工作原理示意图,如图5所示, 物理层收发单元10在物理层接收到的数据包由MAC层发送。与图2类似,物理层时延获取 单元11具体包括:固定时延获取单元110、动态精确时延获取单元111、动态粗粒度时延获 取单元112、物理层时延获取子单元113。上述单元功能也与实施例二中功能类似,此处不 再赘述。物理层时延获取单元11获取的物理层时延信息包括:物理层收发单元10接收数 据包中每个数据的时延信息。
[0059] 物理层收发单元10在物理层接收到的数据包由该网络节点的高层,例如MAC层 发送,则时间戳生成改写子单元122具体用于:物理层时延获取单元11会计算每个以太网 数据包的物理层时延信息,非物理层时延获取单元13获取以太网数据包经过物理层至非 物理层接口时间点和数据包处理单元12中精确时间戳生成时间点之间的非物理层时延信 息,由时间戳生成改写子单元122将非物理层时延信息与物理层送来的物理层时延信息进 行相加获得总时延信息。需要说明的是,本实施例中上述物理层时延信息为历史物理层时 延信息,上述非物理层时延信息为历史非物理层时延信息。携带有时间戳的PTP数据包提 供给物理层收发单元10,最终通过物理层提供给其他网络节点。
[0060] 具体的,例如,网络节点向其他网络节点发送10个数据包,其中,第6个数据包为 PTP数据包,当数据包识别子单元121对该PTP数据包进行识别时,前5个数据包已经由MAC 层提供给物理层收发单元10,此时物理层时延获取单元11可以根据上述5个数据包获得 物理层时延信息,并将该物理层时延信息提供给时间戳生成改写子单元122,时间戳生成改 写子单元122接收物理层时延信息、以及接收非物理层时延获取单元13获取到的PTP数据 包非物理层时延信息。进一步的,时间戳生成改写子单元122根据PTP数据包之前传输的 数据包的时延信息(即历史物理层时延信息)和非物理层时延信息(即历史非物理层时延信 息),时间戳生成改写子单元122根据历史物理层时延信息以及历史非物理层时延信息生成 PTP数据包的精确时间戳。
[0061] 其中,网络节点的物理层收发单元10包含PMA子单元和PCS子单元:PMA子单元包 含输入缓存器(input buffer)、均衡器(Equalizer)、增益控制器(Gain Controller)、时钟 数据恢复器(CDR)、串并转换器(Deserializer)等模块;PCS子单元包含字符校准器(Word Aligner)、速率匹配 FIFO (Rate-Match FIFO)、解码器(如,10B/8B 解码器或 66B/64B 解码 器)、相位补偿FIFO (Phase Compensation FIFO)等模块。物理层时延获取单元11根据物 理层收发单元10提供的时延指示信息来计算物理层PMA子单元和PCS子单元的固定时延、 动态粗粒度时延以及动态细粒度时延,并通过独立的物理层-非物理层接口(Interface) 提供物理层时延信息给时间戳生成改写子单元122来计算精确时延并生成精确时间戳,时 间戳生成改写子单元122将生成的精确时间戳写入PTP数据包。首先,通过数据包识别子 单元121对PTP数据包的进行识别,同时,由非物理层时延获取单元11获取数据包经过物 理层-非物理层接口时间点和数据包处理单元12中精确时间戳生成时间点之间的非物理 层时延信息,并将非物理层时延信息提供给数据包处理单元12中的时间戳生成改写子单 元122,并找出PTP数据包中时间戳信息的位置。当数据包被判断是PTP数据包时,则时间 戳生成改写子单元122根据独立的物理层-非物理层接口(Interface)提供的物理层时延 信息(即历史物理层时延信息),以及非物理层时延获取单元13计算和测量的非物理层时延 信息(即历史非物理层时延信息)来进行时间戳生成,并由时间戳生成单元14将生成的时间 戳写入相应的PTP数据包。
[0062] 对于网络节点作为发送节点的场景,PTP数据包之前传输的数据包的时延信息为: PTP数据包之前传输的最后一个数据包的时延信息;或者,PTP数据包之前传输的所有数据 包的平均时延信息。需要说明的是,PTP数据包之前传输的数据包在经过物理层收发单元 10处理时产生的时延具有平滑性,即不同数据包之间其对应的时延变化差异较小,因此对 于PTP数据包的物理层时延信息,可以根据PTP数据包之前传输的数据包的时延信息获得, 即历史物理层时延信息,具体的,可以通过两种方式,即PTP数据包之前传输的最后一个数 据包的时延信息;或者,PTP数据包之前传输的所有数据包的平均时延信息。类似的,在网 络节点作为发送节点的场景,非物理层时延获取单元13获取数据包经过物理层-非物理层 接口时间点和数据包处理单元12中精确时间戳生成时间点之间的非物理层时延,也可以 是PTP数据包之前传输的数据包的非物理层时延信息,即历史非物理层时延信息。
[0063] 进一步的,参照图1、图2及图5,需要说明的是,该网络节点的高层,例如MAC层向 物理层发送数据包之前,首先,由数据包识别单元12进行PTP数据包识别和处理以及时间 戳信息位置判断,同时非物理层时延获取单元13获取数据包经过非物理层接口-物理层时 间点和数据包处理单元12中精确时间戳生成时间点之间的非物理层时延信息,并将非物 理层时延信息提供给数据包处理单元12中的时间戳生成改写子单元122,物理层的接收延 时信息由物理层时延获取单元11根据物理层收发单元10提供的物理层时延信息(即历史 物理层时延信息)来进行时延预测计算,并通过独立的物理层-非物理层接口提供给时间戳 生成改写子单元122,当数据包识别单元12确定该数据包是PTP数据包时,时间戳生成改 写子单元122根据物理层时延获取单元11测得的物理层时延信息和非物理层时延获取单 元13计算和测量的数据包非物理层时延信息生成精确时间戳,并由时间戳生成改写子单 元122将生成的精确时间戳写入相应的PTP数据包。
[0064] 对于上述各实施例,物理层时延获取单元11获取的数据包在物理层收发单元10 的物理层时延信息包括以下任意一种或多种时延信息的组合:固定时延信息、恢复时钟与 本地时钟不匹配造成的动态细粒度时延信息、码组对齐时延信息、存储模块读写时延信息、 数据速率匹配模块时延信息。
[0065] 通常来说,上述时延信息,是从物理层通道对所述数据包的处理过程得到的。
[0066] 需要说明的是,物理层产生的时延可分为固定时延、动态粗粒度时延和动态细粒 度时延。
[0067] 其中,固定延时信息是指网络节点的物理层收发单元10在处理过程中相对固定、 不随时间变化或变化可以忽略的时延,例如,接收信号进入器件的输入缓存器带来的固定 时延,以及信号经固定长度的乘加均衡滤波操作带来的固定处理时钟周期时延等。可根据 物理层中模块的器件特性或参数直接求得,例如,固定抽头的均衡器以及10B/8B解码器; 或采用仿真工具进行时延仿真或直接测量得到,例如,输入缓存器(Input Buffer)可通过 查询硬件参数或通过时延仿真信息得到。
[0068] 动态粗粒度时延包括:存储模块读写时延信息、数据速率匹配模块时延信息。动 态粗粒度时延是指信号在处理过程中使用的数倍处理时钟(如125MHz)周期数并不固定, 而是动态变化的,例如,由信号处理过程中先入先出缓存器(FIFO/Buf f er )读写操作造成的 非固定整数倍时钟周期时延,即存储模块读写时延信息;以及由于收发数据速率不匹配引 起的非固定整数倍处理时钟周期延时,即数据速率匹配模块时延信息等;并且,动态粗粒度 时延可以由物理层各引入动态延时的模块,输出的动态调整信息来计算,例如,在MII接口 中,在相邻数据包之间会发送空闲(IDLE)字段,来进行填充,收发通道中的Rate Match模 块会根据数据速率情况增加或删除部分IDLE字段,这时就会造成动态粗粒度时延(整数周 期)。
[0069] 动态精确时延是由于收发通道模块用到的不同时钟的相位差所引起的,具体指, 指由于处理时钟速率或相位不匹配造成的小于一个时钟处理周期的精细时延,例如,由于 字校准(Word Alignment)操作引入的随机比特滑动造成的动态分数倍时钟周期延时,即 串行数据滑码时延信息;物理层收发各模块的处理时钟有部分是使用时钟数据恢复(Clock and Data Recovery,简称:CDR)恢复时钟(Recover Clock),有部分是使用本地时钟(Local Clock),这两个时钟之间会造成不匹配,当⑶R恢复时钟进行FIFO数据写入操作,而用本 地时钟进行FIFO数据读出操作,此时读出的数据和写入的数据存在不固定的相位差,这些 相位差通常包含小于一个时钟处理周期(如处理时钟125MHz,一个周期为8纳秒)的动态 时延,即恢复时钟与本地时钟不匹配造成的动态细粒度时延信息。具体可以通过BangBang 鉴相器或双混频时差(Dual Mixer Time Difference,简称:DMTD)鉴相方法来测量。动态 细粒度延时可以利用产生动态延时的异步时钟进行鉴相计算来获得,或通过字校准(Word Align)模块在产生比特滑码时输出滑码指示信息来进行时延计算。
[0070] 进一步的,物理层时延信息以包括32个比特位的串行数据表示,其中,32个比特 位中的高16个比特位用于表示固定时延信息、存储模块读写时延信息、数据速率匹配模块 时延信息,32个比特位中的低16个比特位用于表示恢复时钟与本地时钟不匹配造成的动 态细粒度时延信息、串行数据滑码时延信息。并且,32个比特位中的高16个比特位用于表 示时延信息的整数倍纳秒(ns)部分,所述32个比特位中的低16个比特位用于表示时延信 息的整数倍皮秒(ps)部分,例如延时信息为8. 001ns,则可表示为(0000_0000_0000_1000_ 0000_0000_0000_0001) 2。
[0071] 进一步的,非物理层时延获取单元11获取的数据包经过物理层-非物理层接口时 间点和数据包处理单元12中时间戳生成时间点之间的时延信息,S卩非物理层时延信息包 括数据包在非物理层的以下任意一种或多种时延信息的组合:处理时延信息、队列时延信 息、时钟域不同造成的相差时延信息。
[0072] 需要说明的是,对于上述各实施例,数据包处理单元12位于MAC层或者与MAC相 连的队列区。其中MAC相连的队列区为该网络节点中与MAC相连的缓存器、寄存器等缓存 寄存操作区。
[0073] 本文上述实施例中描述的网络节点可用于各种采用1588协议进行时间同步的 通信系统,例如当前2G,3G通信系统和下一代通信系统,例如全球移动通信系统(GSM, Global System for Mobile communications),石马分多址(CDMA, Code Division Multiple Access)系统,时分多址(TDMA,Time Division Multiple Access)系统,宽带码分多 址(WCDMA, Wideband Code Division Multiple Access Wireless),频分多址(FDMA, Frequency Division Multiple Addressing)系统,正交频分多址(OFDMA,Orthogonal Frequency-Division Multiple Access)系统,单载波 FDMA (SC-FDMA)系统,通用分组无线 业务(GPRS,General Packet Radio Service)系统,长期演进(LTE,Long Term Evolution) 系统,以及其他此类通信系统或者需要精确时间同步的工业控制系统,交通控制系统时间 同步,雷达及航空网络的精确时间同步等领域。
[0074] 下面通过具体的实施例对采用上述实施例中描述的网络节点的通信系统进行说 明,图6为本发明实施例四提供的一种基于IEEE1588V2时间同步协议的精确时间时间同步 通信系统结构示意图。如图6所示,本发明的网络节点可以应用在需要精确时间戳的时间 同步系统,例如基于IEEE1588V2时间同步协议的精确时间时间同步通信系统,如图6所示, 其由控制中心1、核心交换机2、汇聚交换机3、接入交换机4、终端设备5组成。可实现每个 网络节点间的时间同步,以及整个网络系统的时间同步。控制中心1作为主时钟提供端,产 生精确的时间戳,时间戳通过PTP数据包经过各网络节点,如图6中所示:核心交换机2、汇 聚交换机3、接入交换机4。各网络节点通过上述实施例中的各个模块,根据接收到的精确 时间戳信息以及PTP数据包来使得本地时间(时钟)和主时钟端时间(时钟)精确同步。 作为中间节点的核心交换机2、汇聚交换机3、接入交换机1均记录进入本节点和离开本节 点的精确时间并生成精确时间戳信息,并且通过上述实施例有效地避免各网络节点在物理 层和MAC层处理时产生的时延,通信网络中每个网络节点都支持高精度时间戳生成,则整 个通信系统可实现高精度的时间同步。
[0075] 图7为本发明实施例五提供的时间戳生成方法的流程示意图,如图6所示,包括如 下步骤:
[0076] S100,网络节点接收其他网络节点发送的数据包或接收高层发送的数据包。
[0077] 具体的,本实施例中的网络节点,可以作为接收节点接收其他网络节点发送的数 据包,也可作为发送节点,向其他网络节点发送数据包。在作为发送节点时,该网络节点的 物理层首先需要接收该网络节点的高层,例如MAC层、0S层、应用层等,发送的需要发送给 其他网络节点的数据包。
[0078] S101,网络节点获取数据包的物理层时延信息和非物理层时延信息。
[0079] 具体的,网络节点获取数据包的物理层时延信息和非物理层时延信息,可以通过 在物理层设置物理层时延获取单元对物理层进行测量得到物理层时延信息,类似的,在非 物理层,设置非物理层时延获取单元获得非物理层时延信息。详细的方案可以参照本发明 网络节点的各实施例,此处不再赘述。
[0080] S102,网络节点识别数据包是否为精确时间同步协议PTP数据包,若是,则根据物 理层时延和非物理层时延生成精确时间戳并改写数据包中的时间戳字段。
[0081] 本实施例提供的网络节点,通过网络节点接收其他网络节点发送的数据包;或者, 接收所述网络节点的高层发送的数据包。网络节点获取数据包的物理层时延信息和非物理 层时延信息。网络节点识别数据包是否为精确时间同步协议PTP数据包,若是,则根据物理 层时延和非物理层时延生成精确时间戳并改写数据包中的时间戳字段。实现时间戳依据物 理层接收时延以及PTP数据包识别时延信息对时间戳进行补偿,有效提高了时间戳的精确 度,提高整个通信网络的时间同步精度。
[0082] 进一步的,对于网络节点作为发送节点时,图7中S100具体包括:
[0083] 网络节点接收高层发送的数据包,则网络节点获取数据的物理层时延信息为历史 物理层时延信息;网络节点获取数据包经过物理层-非物理层接口时间点和网络节点中精 确时间戳生成时间点之间的非物理层时延信息为历史非物理层时延信息;
[0084] 则网络节点根据历史物理层时延信息和历史非物理层时延信息预测生成精确时 间戳并改写数据包中的时间戳字段。
[0085] 需要说明的是,PTP数据包之前传输的数据包在经过网络节点的物理层时产生的 时延具有平滑性,即不同数据包之间其对应的时延变化差异较小,因此对于PTP数据包的 物理层时延信息,可以根据PTP数据包之前传输的数据包的时延信息获得,即历史物理层 时延信息,具体的,可以通过两种方式,即PTP数据包之前传输的最后一个数据包的时延信 息;或者,PTP数据包之前传输的所有数据包的平均时延信息。类似的,在网络节点作为发 送节点的场景,网络节点获取数据包经过物理层-非物理层接口时间点和数据包处理单元 12中精确时间戳生成时间点之间的非物理层时延信息,也可以是PTP数据包之前传输的数 据包的非物理层时延信息,即历史非物理层时延信息。进一步的,对于上述实施例,物理层 时延信息包括以下任意一种或多种时延信息的组合:固定时延信息、恢复时钟与本地时钟 不匹配造成的动态细粒度时延信息、码组对齐时延信息、存储模块读写时延信息、数据速率 匹配模块时延信息。其具体含义已在上文中进行了详细说明,此处不再赘述。
[0086] 非物理层时延信息为所述数据包经过物理层-非物理层接口时间点和网络节点 中精确时间戳生成时间点之间的时延,包括数据包在非物理层的以下任意一种或多种时延 信息的组合:处理时延信息、队列时延信息、时钟域不同造成的相差时延信息。
[0087] 对于上述实施例,图7中S101、S102的功能是在网络节点的MAC层或者与MAC相 连的队列区实现的,其中MAC相连的队列区为该网络节点中与MAC相连的缓存器、寄存器等 缓存寄存操作区。
[0088] 进一步的,对于网络节点作为接收节点、发送节点这两种情况,下面通过具体的实 施例进行说明。
[0089] 在网络节点作为接收节点,接收其他网络节点发送的数据包时,网络节点物理层 时延信息中包括在物理层接收的数据包中每个数据的时延信息;网络节点在数据包中识别 出精确时间同步协议PTP数据包,并获取识别出PTP数据包的非物理层时延信息,网络节点 根据物理层时延信息和非物理层时延信息生成PTP数据包的精确时间戳,并将精确时间戳 写入PTP数据包中。
[0090] 具体的,可以参照上文图3所提供的技术方案,此处不再赘述。
[0091] 若在物理层接收到的数据包由网络中其他网络节点发送,则网络节点根据物理层 时延信息和非物理层时延信息生成PTP数据包的精确时间戳,具体为:
[0092] 网络节点根据数据包进行识别过程中产生的PTP确认指示信息以及物理层时延 信息和非物理层时延信息来生成PTP数据包的精确时间戳。
[0093] 在网络节点作为发送节点,向其他网络节点发送数据包时,网络节点物理层时延 信息中包括在物理层接收的数据包中每个数据的时延信息。
[0094] 若在物理层接收到的数据包由媒体接入MAC层发送,则网络节点根据物理层时延 信息和非物理层时延信息生成PTP数据包的时间戳,具体为:
[0095] 网络节点根据数据包进行识别过程中产生的ΡΤΡ确认指示信息以及物理层时延 信息和非物理层时延信息来生成ΡΤΡ数据包的精确时间戳。
[0096] 具体的,可以参照上文图5所提供的技术方案,此处不再赘述。
[0097] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通 过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程 序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟 或者光盘等各种可以存储程序代码的介质。
[〇〇98] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征 进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。
【权利要求】
1. 一种网络节点,其特征在于,包括:物理层收发单元,数据包处理单元,物理层时延 获取单元,非物理层时延获取单元; 所述物理层收发单元,用于向所述数据包处理单元发送数据包; 所述数据包处理单元,用于接收所述物理层收发单元或高层发送的所述数据包,并识 别所述数据包是否为精确时间同步协议PTP数据包,若是,则所述数据包处理单元根据所 述物理层时延获取单元提供的物理层时延信息和所述非物理层时延获取单元提供的非物 理层时延信息生成精确时间戳并改写所述数据包中的时间戳字段; 所述物理层时延获取单元,用于获取所述数据包经过所述物理层收发单元的所述物理 层时延信息,并将所述物理层时延信息提供给所述数据包处理单元; 所述非物理层时延获取单元,用于获取所述数据包经过物理层-非物理层接口时间点 和所述数据包处理单元中精确时间戳生成时间点之间的所述非物理层时延信息,并将所述 非物理层时延信息提供给所述数据包处理单元。
2. 根据权利要求1所述的网络节点,其特征在于,所述数据包处理单元包括;数据包识 别子单元、时间戳生成改写子单元; 所述数据包识别子单元,用于接收所述物理层收发单元或高层发送的所述数据包,并 识别所述数据包是否为精确时间同步协议PTP数据包; 所述时间戳生成改写子单元,用于,在所述数据包识别子单元识别出所述数据包为精 确时间同步协议PTP数据包时,根据所述物理层时延获取单元和所述非物理层时延获取单 元生成精确时间戳并改写所述数据包中的时间戳字段。
3. 根据权利要求2所述的网络节点,其特征在于,所述数据包识别子单元接收所述高 层发送的所述数据包,则所述物理层时延获取单元获取所述数据包经过所述物理层收发单 元的物理层时延信息为历史物理层时延信息;所述非物理层时延获取单元获取所述数据包 经过物理层-非物理层接口时间点和所述数据包处理单元中精确时间戳生成时间点之间 的非物理层时延为历史非物理层时延信息;所述历史物理层时延信息为所述数据包之前传 输的数据包的物理层时延信息;所述非物理层时延信息为所述数据包之前传输的数据包的 非物理层时延信息; 则所述时间戳生成改写单元,用于根据所述物理层时延获取单元获取的所述历史物理 层时延信息和所述非物理层时延获取单元获取的所述历史非物理层时延信息预测生成所 述精确时间戳并改写所述数据包中的时间戳字段。
4. 根据权利要求1?3任一一项所述的网络节点,其特征在于,所述物理层时延获取单 元获取的所述数据包经过所述物理层收发单元的所述物理层时延信息包括以下任意一种 或多种时延信息的组合:固定时延信息、恢复时钟与本地时钟不匹配造成的动态细粒度时 延信息、码组对齐时延信息、存储模块读写时延信息、数据速率匹配模块时延信息。
5. 根据权利要求1?3任一一项所述的网络节点,其特征在于,所述非物理层时延获取 单元获取的所述数据包经过所述物理层-非物理层接口时间点和所述数据包处理单元中 时间戳生成时间点之间的非物理层时延信息包括所述数据包在非物理层的以下任意一种 或多种时延信息的组合:处理时延信息、队列时延信息、时钟域不同造成的相差时延信息。
6. 根据权利要求1?5任一一项所述的网络节点,其特征在于,所述数据包处理单元 12位于MAC层或者与MAC相连的队列区。
7. -种时间戳生成方法,其特征在于,包括: 网络节点接收其他网络节点发送的数据包或接收所述网络节点的高层发送的数据 包; 所述网络节点获取所述数据包的物理层时延信息和非物理层时延信息; 所述网络节点识别所述数据包是否为精确时间同步协议PTP数据包,若是,则根据所 述物理层时延和所述非物理层时延生成精确时间戳并改写所述数据包中的时间戳字段。
8. 根据权利要求7所述的方法,其特征在于,所述网络节点接收其他网络节点发送的 数据包;或者,接收所述网络节点的高层发送的数据包,包括: 所述网络节点接收所述高层发送的数据包,则所述网络节点获取所述数据的物理层时 延信息为历史物理层时延信息;所述网络节点获取所述数据包经过物理层-非物理层接口 时间点和所述网络节点中精确时间戳生成时间点之间的非物理层时延信息为历史非物理 层时延信息;所述历史物理层时延信息为所述数据包之前传输的数据包的物理层时延信 息;所述非物理层时延信息为所述数据包之前传输的数据包的非物理层时延信息; 对应,所述网络节点,根据所述物理层时延和所述非物理层时延生成精确时间戳并改 写所述数据包中的时间戳字段包括:根据所述历史物理层时延信息和所述历史非物理层时 延信息预测生成所述精确时间戳并改写所述数据包中的时间戳字段。
9. 根据权利要求7或8所述的方法,其特征在于,所述物理层时延信息包括以下任意一 种或多种时延信息的组合:固定时延信息、恢复时钟与本地时钟不匹配造成的动态细粒度 时延信息、码组对齐时延信息、存储模块读写时延信息、数据速率匹配模块时延信息。 所述非物理层时延信息为所述数据包经过物理层-非物理层接口时间点和所述网络 节点中精确时间戳生成时间点之间的时延信息,包括所述数据包在非物理层的以下任意一 种或多种时延信息的组合:处理时延信息、队列时延信息、时钟域不同造成的相差时延信 肩、。
10. -种通信系统,其特征在于,包括权利要求1?6任一一项项所述的网络节点。
【文档编号】H04L29/06GK104113517SQ201310140394
【公开日】2014年10月22日 申请日期:2013年4月22日 优先权日:2013年4月22日
【发明者】赵国栋, 李波杰, 张锦芳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1