一种时间戳处理方法及设备与流程

文档序号:14683742发布日期:2018-06-12 22:55阅读:246来源:国知局
一种时间戳处理方法及设备与流程

本发明涉及计算机网络领域,尤其涉及一种时间戳处理方法及设备。



背景技术:

IEEE 1588协议是用于网络测量和控制系统的精密时钟同步协议标准,简称精确时间同步协议(PTP,Precision Time Protocol),该协议时一种基于以太网的精准的时间同步的解决方案,可以精准地把传输网中各分散的、独立运行的时钟同步起来。时间同步网络主要有两部分组成,分别为高精度时间信息的获取以及时间的传递,如图1所示,高精度时间的获取主要是主设备通过卫星接收系统实现,时间的传递主要是从时间源位置将时间信息传递给需要时间同步的从设备。

IEEE 1588协议中时间同步主要分为两个阶段,第一阶段是主设备与从设备之间时间误差(Offset)的测量,第二阶段为主设备与从设备之间网络传输延时(Delay)的测量,而PTP报文类型主要分为事件报文和普通报文,事件报文属于时间概念报文,在进出设备端口时需要打上精准的时间戳,如图2中的Sync、Delay_Req报文等,而普通报文在进出设备端口时不会产生时间戳,如图2中的Follow_Up、Delay_Resq报文等。

如图2所示,PTP事件报文的时间同步包括三个步骤:第一步,链路中的主设备通过下行线路向从设备发送Sync报文,同时向从设备发送带有Sync报文发送时间T1的Follow_Up报文,使从设备获得主设备发送Sync报文时间戳T1,从设备记录接收到Sync报文的本地时间T2;第二步,从设备在T3时刻通过上行线路向主设备发送Delay_Req报文,主设备记录接收到Delay_Req的本第时间T4;第三步,主设备向从设备发送携带有T4时间信息的响应报文Delay_Resq,从设备接收到Delay_Resq报文时得到了T1、T2、T3、T4这四个时间戳值。

从设备根据获取到的T1、T2、T3、T4得到Offset和Delay的值:

其中,T1correction为PTP事件报文在主设备的修正域,表示的是PTP事件报文在下行方向传输过程中驻留的时间,T3correction为PTP事件报文在从设备的修正域,表示的是PTP事件报文在上行方向传输过程中驻留的时间。

IEEE 1588协议表明,当PTP报文穿越节点内的协议栈时,对于事件报文通过协议栈特定参考点时会产生时间戳,如图3中的A、B、C点,参考点越靠近实际的物理连接点,时间戳信息中的误差就越小,时间同步的精度也就越高。可以发现,图中的参考点A即为最佳时间戳信息参考点,因此IEEE 1588协议中指出,时间戳信息处理点最好是在介质访问控制层(MAC,Media Access Control)和物理编码子层(PCS,Physicial Coding Sublayer)层之间,这样可以避免数据链路中存在的频差及缓存等干扰因素。

目前,对10G以太网时间戳的处理方式如图4所示,对于MAC层接收到的PTP事件报文首先进行时间戳信息处理,之后再进行数据帧的处理及封装,最终将其转换为10Gb独立于媒体的接口(XGMII,10 Gigabit Media Independent Interface)传输至PCS层。

然而,在时间戳信息处理之前,由于MAC层和PCS层的带宽不匹配,需要先进行跨时钟域处理,在通过FIFO实现跨时钟域处理时会造成PTP事件报文的积压,且具体的缓存时间是一个随机值,由实际网络情况确定,导致PTP事件报文在FIFO中的缓存时间不能更新至修正域中,使得时间同步的精度降低。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种时间戳处理方法及设备,能够将PTP事件报文在FIFO中的缓存时间更新至修正域中,并提高时间同步的精度。

本发明实施例提供一种时间戳处理方法,应用于介质访问控制子层MAC层,包括:

接收第一报文,并从所述第一报文中获取数据帧和所述数据帧的时间戳控制信息,所述第一报文的类型为精确时间同步协议PTP事件报文;

将所述数据帧的工作频率从MAC时钟域切换至物理编码子层PCS时钟域,所述MAC时钟域为所述数据帧在所述MAC层工作的时钟域;

所述数据帧在所述PCS时钟域开始工作时,获取所述数据的当前本地时间;

根据所述时间戳控制信息和所述当前本地时间,对所述数据帧的当前修正域进行更新;

将更新后的所述当前修正域更新至所述数据帧中,并将所述更新后的数据帧发送至PCS层。

在上述方法中,所述时间戳控制信息包括所述数据帧类型信息,所述根据所述时间戳控制信息和所述当前本地时间,对所述数据帧的当前修正域进行更新,包括:

根据所述数据帧类型信息,判断所述数据帧是否需要进行当前修正域的更新;

当判断需要进行所述当前修正域的更新时,根据所述时间戳控制信息和所述当前本地时间计算当前修正域值;

当判断不需要进行所述当前修正域的更新时,将所述数据帧发送至所述PCS层。

在上述方法中,所述时间戳控制信息包括所述数据帧的初始时间和所述数据帧的初始修正域值,所述根据所述时间戳控制信息和所述当前本地时间计算当前修正域值,包括:

计算所述当前本地时间和所述初始时间之间的差值;

将所述差值累加至所述初始修正域值中,得到所述当前修正域值。

在上述方法中,所述接收第一报文,并从所述第一报文中获取数据帧和所述数据帧的时间戳控制信息之后,所述将所述数据帧的工作频率从MAC时钟域切换至PCS时钟域之前,所述方法还包括:

在所述数据帧的尾部预留了第一位置,所述第一位置用于记录对所述数据帧的校验结果。

在上述方法中,所述将更新后的所述当前修正域值更新至所述数据帧中之后,所述并将所述更新后的数据帧发送至PCS层之前,所述方法还包括:

对第一数据帧进行校验,生成第一校验信息,所述第一数据帧为更新了所述当前修正域值的数据帧;

将所述第一校验信息添加至所述第一位置,生成所述更新后的数据帧;

将所述更新后的数据帧的传输形式转换成标准10Gb独立于媒体的接口XGMII接口对应的传输形式。

在上述方法中,所述将所述数据帧的工作频率从MAC时钟域切换至PCS时钟域,包括:

通过异步FIFO实现将所述数据帧从所述MAC时钟域切换至所述PCS时钟域。

在上述方法中,所述将更新后的所述当前修正域值更新至所述数据帧中,并将所述更新后的数据帧发送至PCS层之后,所述方法还包括:

将所述时间戳控制信息释放。

本发明实施例提供一种时间戳处理设备,应用于介质访问控制子层MAC层,包括:

报文数据处理模块;

与所述报文数据处理模块连接的跨时钟域处理模块;

与所述跨时钟域处理模块连接的时间戳采集模块;

与所述时间戳采集模块连接的时间戳处理模块;

所述报文处理模块,用于接收第一报文,并从所述第一报文中获取数据帧和所述数据帧的时间戳控制信息,所述第一报文的类型为精确时间同步协议PTP事件报文;

所述跨时钟域处理模块,用于将所述数据帧的工作频率从MAC时钟域切换至物理编码子层PCS时钟域,所述MAC时钟域为所述数据帧在所述MAC层工作的时钟域;

所述时间戳采集模块,用于所述数据帧在所述PCS时钟域开始工作时,从本地时钟处获取将所述数据的当前本地时间;

所述时间戳处理模块,用于根据所述时间戳控制信息和所述当前本地时间,对所述数据帧的当前修正域进行更新。

在上述设备中,所述时间戳处理模块包括:时间戳判断模块、时间戳更新模块;

所述时间戳判断模块,用于根据所述时间戳控制信息,判断所述数据帧是否需要进行当前修正域的更新,并将判断的结果传输至所述时间戳更新模块;

所述时间戳更新模块,用于当判断需要进行所述当前修正域的更新时,根据所述时间戳控制信息和所述当前本地时间计算当前修正域值;当判断不需要进行所述当前修正域的更新时,将所述数据帧发送至所述PCS层。

在上述设备中,所述时间戳处理设备还包括与所述报文数据处理模块和所述跨时钟域处理模块连接的发送帧组织模块;

所述发送帧组织模块,用于从所述报文数据处理模块获取到所述数据帧和所述时间戳控制信息之后,在所述数据帧的尾部预留了第一位置,所述第一位置用于记录对所述数据帧的校验结果,并将预留了所述第一位置的所述数据帧和所述时间戳控制信息发送至所述跨时钟域处理模块。

在上述设备中,所述跨时钟域处理模块,具体用于通过异步FIFO实现将所述数据帧从所述MAC时钟域切换至所述PCS时钟域。

在上述设备中,所述时间戳更新模块,具体用于计算所述当前本地时间和所述初始时间之间的差值;并将所述差值累加至所述初始修正域值中,得到所述当前修正域值。

在上述设备中,所述时间戳处理设备还包括与所述时间戳处理模块连接的帧校验处理模块和与所述帧校验处理模块连接的10Gb独立于媒体的接口XGMII接口转换模块;

所述帧校验处理模块,用于从所述时间戳处理模块从所述时间戳处理模块获取第一数据帧,对所述第一数据帧进行校验,生成第一校验信息,所述第一数据帧为更新了所述当前修正域值的数据帧;并将所述第一校验信息添加至所述第一位置,生成所述更新后的数据帧,并将所述更新后的数据帧发送至所述XGMII接口转换模块;

所述XGMII接口转换模块,用于将所述更新后的数据帧转换成标准XGMII接口。

本发明实施例提供了一种时间戳处理方法及设备,应用于MAC层,通过接收第一报文,并从第一报文中获取数据帧和数据帧的时间戳控制信息,第一报文的类型为PTP事件报文;将数据帧的工作频率从MAC时钟域切换至PCS时钟域,MAC时钟域为数据帧在MAC层工作的时钟域;数据帧在PCS时钟域开始工作时,获取数据的当前本地时间;根据时间戳控制信息和当前本地时间,对数据帧的当前修正域进行更新;将更新后的当前修正域更新至数据帧中,并将更新后的数据帧发送至PCS层。采用上述技术实现方案,可以先对数据帧进行跨时钟域的处理,再进行修正域的更新,使得数据帧在进行跨时钟域处理时在FIFO内部的缓存时间更新至修正域中,提高时间同步的精度。

附图说明

图1为现有技术中时间同步的设备交互图;

图2为现有技术中PTP事件报文的时间同步的示意图;

图3为现有技术中产生时间戳的连接点示意图;

图4为现有技术中对10G以太网时间戳处理的结构示意图;

图5为本发明实施例提供的一种时间戳处理方法的流程图一;

图6为本发明实施例提供的一种时间戳处理方法的流程图二;

图7为本发明实施例提供的一种时间戳处理设备的结构示意图一;

图8为本发明实施例提供的一种时间戳处理设备的结构示意图二;

图9为本发明实施例提供的一种时间戳处理设备的结构示意图三;

图10为本发明实施例提供的一种时间戳处理设备的结构示意图四。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例一

本发明实施例提供一种时间戳处理方法,应用于MAC层,如图5所示,该方法可以包括:

S101、接收第一报文,并从第一报文中获取数据帧和所述数据帧的时间戳控制信息,第一报文的类型为PTP事件报文。

本发明实施例提供的时间戳处理方法是基于IEEE 1588协议应用于10G以太网的MAC层。

本发明实施例中,10G以太网MAC层的报文数据处理模块接收上层发送的第一报文,并获取第一报文的数据帧,数据帧的前32Byte存储的是数据帧的时间戳控制信息,此时,报文数据处理模块将时间戳控制信息从数据帧中剥离出来,形成一个随路信号,该随路信号随数据帧一直透传至时间戳处理模块,以供时间戳处理模块进行时间戳的更新操作。

进一步地,报文数据处理模块还对报文长度进行计算,对于报文长度不足预设字节长度的超短包,对超短包的数据段部分插入填充位(PAD),将报文填充到预设字节长度;对于报文长度大于预设字节长度的超长包,将大于预设字节长度的部分进行截断处理,丢弃超长部分,并将此部分打上错误标记。

第一报文的类型包括PTP事件报文和PTP普通报文,而PTP普通报文在进出设备端口时不会产生时间戳,因此,本发明实施例的第一报文的类型为PTP事件报文。

本发明实施例中,数据帧的时间戳控制信息和本地时钟的各接口信号如表1所示,包括:标明数据帧类型的字段、修正域在PTP事件报文的位置信息和值信息、PTP事件报文的时戳值信息、PTP事件报文的校验值信息和校验值在PTP事件报文的位置信息和本地时钟源信息。

表1

本发明实施例中,修正域为数据帧在TC设备上的驻留时间之和。

S102、将数据帧的工作频率从MAC时钟域切换至PCS时钟域,MAC时钟域为数据帧在MAC层工作的时钟域。

当从数据帧中分离出时间戳控制信息之后,由于需要将数据帧从MAC层发送至PCS层,所以跨时钟域处理模块就要对数据帧进行跨时钟处理了。

本发明实施例中,MAC侧的带宽大于PCS侧的带宽,因此,要将数据帧传输至PCS层之前,需要先对数据帧进行跨时钟域处理,具体的,本发明实施例通过异步FIFO进行数据帧的工作频率从MAC时钟域切换至PCS时钟域的操作。

S103、数据帧在PCS时钟域开始工作时,获取数据的当前本地时间。

将数据帧的工作频率从MAC时钟域切换至PCS时钟域之后,时间戳采集模块先从本地时钟处获取当前本地时间。

本发明实施例中,当数据帧的工作频率从MAC时钟域切换至PCS时钟域之后,时间戳采集模块就开始检测切换至PCS时钟域的数据帧了,当时间戳采集模块检测到数据帧的开端时,时间戳采集模块从本地时钟处获取当前本地时间,得到时间戳采集模块检测到数据帧开端时的当前本地时间,用于计算数据帧的修正域。

S104、根据时间戳控制信息和当前本地时间,对数据帧的当前修正域进行更新。

当时间戳处理模块获取到将数据帧的工作频率切换至PCS时钟域的当前本地时间之后,时间戳处理模块就要根据时间戳控制信息和当前本地时间计算数据帧在MAC层停留的时间,并将其更新至修正域中。

本发明实施例中,时间戳控制信息中包括表示数据帧类型的信息,时间戳处理模块先根据数据帧类型的信息判断该数据帧是否需要进行修正域的更新,当判断需要进行当前修正域的更新时,根据时间戳控制信息和当前本地时间计算当前修正域值;当判断不需要进行当前修正域的更新时,时间戳处理模块不对数据帧进行修正域的更新操作。

本发明实施例中,数据帧的类型包括以太网封装的PTP事件报文、IP封装的PTP事件报文和PTP普通报文。

本发明实施例中,当判断数据帧的类型为以太网封装的PTP事件报文时,需要对修正域的值进行更新并将更新后的修正域的值插入PTP事件报文的相关位置;当判断数据帧的类型为IP封装的PTP事件报文时,需要对修正域的值进行更新并将更新后的修正域的值插入PTP事件报文的相关位置的同时,还需要计算对数据帧的校验值。

示例性的,当时间戳控制信息中数据帧类型的信息字段tx_tim的值为3’b011时,表明该数据帧为以太网封装的PTP事件报文,根据如下公式,计算更新后的修正域的值,计算完修正域值之后,可根据tx_tim_offset值找到其在PTP事件报文中的起始位置并完成插入操作;当时间戳控制信息中数据帧类型的信息字段tx_tim的值为3’b100时,表明该数据帧为IP封装的PTP事件报文,需要根据如下公式计算更新后的修正域的值的同时,还需要计算check值,并根据tx_chksum_offset所指示的位置完成插入操作;当时间戳控制信息中数据帧类型的信息字段tx_tim的值为其他值时,表明不需要进行修正域的更新操作。correctionfield_new=correctionfield_old+((ptp_out_time-usertimestamp)<<16)

S105、将更新后的当前修正域值更新至数据帧中,并将更新后的数据帧发送至PCS层。

在对数据帧的修正域进行更新之后,就要将跟新后的数据帧发送至PCS层,完成PTP事件报文从MAC层向PCS层进行传输的操作。

本发明实施例中,帧校验模块首先先对更新了修正域的以太网帧进行CRC校验码的计算,并将CRC校验码添加至数据帧的指定位置中,XGMII接口转换模块再将数据帧的传输形式转换成可以通过XGMII标准接口进行传输的形式。

进一步地,在将数据帧的工作频率从MAC时钟域切换至PCS时钟域之前,发送帧组织模块在数据帧的尾部预留32bit的位置给CRC校验码。

可以理解的是,本发明实施例在对数据帧进行跨时钟切换之后,对修正域的值进行更新计算,可以将数据帧在FIFO内部积压的时间也更新至修正域中,提高了时间同步的精度。

实施例二

本发明实施例提供一种时间戳处理方法,如图6所示,该方法可以包括:

S201、报文数据处理模块接收第一报文,并从第一报文中获取数据帧和数据帧的时间戳控制信息,第一报文的类型为PTP事件报文。

本发明实施例提供的时间戳处理方法是基于IEEE 1588协议应用于10G以太网的MAC层。

本发明实施例中,10G以太网MAC层的报文数据处理模块接收上层发送的第一报文,并获取第一报文的数据帧,数据帧的前32Byte存储的是数据帧的时间戳控制信息,此时,报文数据处理模块将时间戳控制信息从数据帧中剥离出来,形成一个随路信号,该随路信号随数据帧一直透传至时间戳处理模块,以供时间戳处理模块进行时间戳的更新操作。

进一步地,报文数据处理模块还对报文长度进行计算,对于报文长度不足预设字节长度的超短包,对超短包的数据段部分插入填充位(PAD),将报文填充到预设字节长度;对于报文长度大于预设字节长度的超长包,将大于预设字节长度的部分进行截断处理,丢弃超长部分,并将此部分打上错误标记。

第一报文的类型包括PTP事件报文和PTP普通报文,而PTP普通报文在进出设备端口时不会产生时间戳,因此,本发明实施例的第一报文的类型为PTP事件报文。

本发明实施例中,数据帧的时间戳控制信息和本地时钟的各接口信号如表1所示,包括:标明数据帧类型的字段、修正域在PTP事件报文的位置信息和值信息、PTP事件报文的时戳值信息、PTP事件报文的校验值信息和校验值在PTP事件报文的位置信息和本地时钟源信息。

表1

本发明实施例中,修正域为数据帧在TC设备上的驻留时间之和。

S202、发送帧组织模块在数据帧的尾部预留了第一位置,第一位置用于记录对数据帧的校验结果。

当从数据帧中分离出时间戳控制信息之后,发送帧组织模块先将对数据帧进行校验的生成的校验结果的位置预留出来。

本发明实施例中,当从数据帧中分离出时间戳控制信息之后,发送帧组织模块完成以太网帧的封装过程,首先计算PTP事件报文尾部需要插入帧间隙(IFG,Inter Frame Gap)的个数,以提高以太网接口的有效传输带宽。然后在数据帧头部添加前导码、帧起始符,在数据帧尾部空出32bit的位置添加已计算出的IFG然后在帧尾部预留出第一位置用于记录对数据帧的校验结果。

可以理解的是,本发明实施例没有对数据帧进行校验,而是先预留出了校验结果的第一位置,待更新修正域之后,才对数据帧进行校验,这样可以减少计算量,增加校验的准确度。

S203、跨时钟域处理模块通过异步FIFO实现将数据帧从MAC时钟域切换至PCS时钟域。

当报文数据处理模块和发送帧组织模块对数据帧进行MAC层的一些功能处理并完成以太网帧的封装过程之后,由于需要将数据帧从MAC层发送至PCS层,所以跨时钟域处理模块就要对数据帧进行跨时钟处理了。

本发明实施例中,MAC侧的带宽大于PCS侧的带宽,因此,要将数据帧传输至PCS层之前,需要先对数据帧进行跨时钟域处理,具体的,本发明实施例通过异步FIFO进行数据帧的工作频率从MAC时钟域切换至PCS时钟域的操作。

S204、数据帧在PCS时钟域开始工作时,时间戳采集模块获取数据的当前本地时间。

将数据帧的工作频率从MAC时钟域切换至PCS时钟域之后,时间戳采集模块先从本地时钟处获取当前本地时间。

本发明实施例中,当数据帧的工作频率从MAC时钟域切换至PCS时钟域之后,时间戳采集模块就开始检测切换至PCS时钟域的数据帧了,当时间戳采集模块检测到数据帧的开端时,时间戳采集模块从本地时钟处获取当前本地时间,得到时间戳采集模块检测到数据帧开端时的当前本地时间,还用于计算数据帧的修正域。

可以理解的是,经过跨时钟域转换之后的数据带宽为10G,可以降低后面链路延时值的抖动,减少对IEEE1588时间同步精度的影响。

S205、时间戳判断模块根据数据帧类型信息,判断数据帧是否需要进行当前修正域的更新,时间戳控制信息包括数据帧类型信息。

当时间戳采集模块获取到当前本地时间之后,时间戳判断模块就要对数据帧类型信息进行判断,来确定是否需要进行修正域的更新。

本发明实施例中,时间戳控制信息包括数据帧类型信息,数据帧的类型包括以太网封装的PTP事件报文、IP封装的PTP事件报文和PTP普通报文。

本发明实施例中,当时间戳判断模块判断数据帧的类型为以太网封装的PTP事件报文和IP封装的PTP事件报文时,表征需要进行修正域的更新;当时间戳判断模块判断数据帧的类型为PTP普通报文时,表征不需要进行修正域的更新。

S206、当判断需要进行当前修正域的更新时,时间戳更新模块计算当前本地时间和初始时间之间的差值,时间戳控制信息包括数据帧的初始时间和数据帧的初始修正域值。

当时间戳判断模块判断数据帧的类型为以太网封装的PTP事件报文和IP封装的PTP事件报文时,表征需要进行修正域的更新,此时,时间戳更新模块开始计算PTP事件报文在MAC层停留的时间。

本发明实施例中,时间戳更新模块用通过高精度本地时钟源获取到的当前本地时间减去时间戳控制信息中的数据帧的初始时间值,得到数据帧在MAC层的停留时间,该停留时间包括数据帧进行跨时钟域处理的时间。

本发明实施例中,时间戳更新模块将当前本地时间和初始时间之间的差值的进制形式转化为与初始修正域值的进制相同的形式。

S207、时间戳更新模块将差值累加至初始修正域值中,得到当前修正域值。

时间戳更新模块计算出PTP事件报文在MAC层停留的时间之后,就要将PTP事件报文在MAC层停留的时间累加至初始修正域值中,得到当前修正域值。

本发明实施例中,时间戳更新模块将当前本地时间和初始时间之间的差值累加至初始修正域值中,得到当前修正域值。

示例性的,当时间戳控制信息中数据帧类型的信息字段tx_tim的值为3’b011时,表明该数据帧为以太网封装的PTP事件报文,根据如下公式,计算更新后的修正域的值,计算完修正域值之后,可根据tx_tim_offset值找到其在PTP事件报文中的起始位置并完成插入操作;当时间戳控制信息中数据帧类型的信息字段tx_tim的值为3’b100时,表明该数据帧为IP封装的PTP事件报文,需要根据如下公式计算更新后的修正域的值的同时,还需要计算check值,并根据tx_chksum_offset所指示的位置完成插入操作;当时间戳控制信息中数据帧类型的信息字段tx_tim的值为其他值时,表明不需要进行修正域的更新操作。correctionfield_new=correctionfield_old+((ptp_out_time-usertimestamp)<<16)

S208、时间戳更新模块将更新后的当前修正域更新至数据帧中。

时间戳更新模块计算出当前修正域值之后,将当前修正域值更新至当前修正域中,得到更新后的当前修正域值,时间戳更新模块将更新后的当前修正域插入指定位置中。

本发明实施例中,时间戳更新模块获取时间戳控制信息中的当前修正域在数据帧中的位置信息,然后将更新后的当前修正域更新至数据帧中的指定位置中去。

S209、当判断不需要进行当前修正域的更新时,时间戳更新模块不对数据帧进行修正域的更新操作。

当时间戳判断模块判断数据帧的类型为PTP普通报文时,表征不需要进行当前修正域的更新,此时,时间戳更新模块不对数据帧进行修正域的更新操作。

本发明实施例中,当时间戳判断模块判断数据帧的类型为PTP其他时间报文时,时间戳更新模块不对数据帧进行修正域的更新操作,直接将数据帧发送至帧校验模块。

步骤S206-S208和步骤S209为步骤S205之后的步骤,具体的根据实际的判定条件决定如何执行,本发明实施例不做具体的限定。

S210、帧校验处理模块对第一数据帧进行校验,生成第一校验信息,第一数据帧为更新了当前修正域值的数据帧。

当对当前修正域进行更新操作之后,帧校验处理模块对更新了当前修正域值的第一数据帧进行校验,生成第一校验信息。

本发明实施例中,帧校验处理模块对第一数据帧进行CRC校验,生成CRC校验值。

S211、帧校验处理模块将第一校验信息添加至第一位置,生成更新后的数据帧。

帧校验处理模块将第一校验结果添加至发送帧组织模块在数据帧的尾部预留的第一位置上,完成对第一数据帧的校验操作。

本发明实施例中,帧校验模块将CRC校验值插入发送帧组织模块在数据帧尾部预留的第一位置上。

S212、XGMII接口转换模块将更新后的数据帧的传输形式转换成标准XGMII接口对应的传输形式。

在生成了更新后的数据帧之后,XGMII接口转换模块就要对更新后的数据帧的传输形式转化为XGMII接口可以进行传输的模式。

本发明实施例中,XGMII接口转换模块将更新后的数据帧的传输模式转换成标准XGMII接口标准。

S213、XGMII接口转换模块将更新后的数据帧发送至PCS层。

XGMII接口转换模块将更新后的数据帧的传输形式转换成标准XGMII接口对应的传输形式之后,XGMII接口转换模块将更新后的数据帧发送至PCS层,完成将数据帧从MAC层传输至PCS层的操作。

本发明实施例中,在完成了对数据帧进行修正域的更新,并进行了CRC校验之后,XGMII接口转换模块将更新后的数据帧发送至PCS层进行64/66B编码等处理。

可以理解的是,本发明实施例在对数据帧进行跨时钟切换之后,对修正域的值进行更新计算,可以将数据帧在FIFO内部积压的时间也更新至修正域中,提高了时间同步的精度。

实施例三

本发明实施例提供一种时间戳处理设备1,如图7所示,该设备1包括:

报文数据处理模块10;

与所述报文数据处理模块10连接的跨时钟域处理模块11;

与所述跨时钟域处理模块11连接的时间戳采集模块12;

与所述时间戳采集模块12连接的时间戳处理模块13;

所述报文处理模块10,用于接收第一报文,并从所述第一报文中获取数据帧和所述数据帧的时间戳控制信息,所述第一报文的类型为PTP事件报文。

所述跨时钟域处理模块11,用于将所述数据帧的工作频率从MAC时钟域切换至PCS时钟域,所述MAC时钟域为所述数据帧在所述MAC层工作的时钟域。

所述时间戳采集模块12,用于所述数据帧在所述PCS时钟域开始工作时,从本地时钟14处获取将所述数据的当前本地时间。

所述时间戳处理模块13,用于并根据所述时间戳控制信息和所述当前本地时间,对所述数据帧的当前修正域进行更新。

本发明实施例中,报文处理模块10接收上层发送的第一报文,并获取第一报文的数据帧,数据帧的前32Byte存储的是数据帧的时间戳控制信息,此时,报文数据处理模块10将时间戳控制信息从数据帧中剥离出来,形成一个随路信号,该随路信号随数据帧一直透传至时间戳处理模块13,以供时间戳处理模块13进行时间戳的更新操作。

本发明实施例中,报文处理模块10还对报文长度进行计算,对于报文长度不足预设字节长度的超短包,对超短包的数据段部分插入填充位(PAD),将报文填充到预设字节长度;对于报文长度大于预设字节长度的超长包,将大于预设字节长度的部分进行截断处理,丢弃超长部分,并将此部分打上错误标记。

本发明实施例中,报文处理模块10将数据帧和时间戳控制信息发送给跨时钟处理模块11,跨时钟处理模块11通过异步FIFO进行将数据帧的工作频率从MAC时钟域切换至PCS时钟域的操作,跨时钟处理模块11将切换至PCS时钟域的数据帧和时间戳控制信息发送给时间戳采集模块12。

本发明实施例中,时间戳采集模块12检测切换至PCS时钟域的数据帧了,当时间戳采集模块检测到数据帧的开端时,时间戳采集模块从本地时钟14处获取当前本地时间,得到时间戳采集模块检测到数据帧开端时的当前本地时间,时间戳采集模块12将数据帧和时间戳控制信息发送给时间戳处理模块13。

本发明实施例中,时间戳处理模块13根据先根据数据帧类型的信息判断该数据帧是否需要进行修正域的更新,当判断需要进行当前修正域的更新时,根据时间戳控制信息和当前本地时间计算当前修正域值;当判断不需要进行当前修正域的更新时,时间戳处理模块13不对数据帧进行修正域的更新操作。

本发明实施例中,如图8所示,所述时间戳处理模块13包括:时间戳判断模块130、时间戳更新模块131。

所述时间戳判断模块130,用于根据所述时间戳控制信息,判断所述数据帧是否需要进行当前修正域的更新,并将判断的结果传输至所述时间戳更新模块131。

所述时间戳更新模块131,用于当判断需要进行所述当前修正域的更新时,根据所述时间戳控制信息和所述当前本地时间计算当前修正域值;当判断不需要进行所述当前修正域的更新时,时间戳更新模块不对数据帧进行修正域的更新操作。

本发明实施例中,时间戳判断模块130在接收到时间戳采集模块12的数据帧和时间戳控制信息之后,时间戳判断模块130从时间戳控制信息中获取数据帧类型信息,并根据数据帧类型信息判断是否需要进行修正域的更新,当时间戳判断模块130判断数据帧的类型为以太网封装的PTP事件报文和IP封装的PTP事件报文时,表征需要进行修正域的更新;当时间戳判断模块130判断数据帧的类型为PTP普通报文时,表征不需要进行修正域的更新,时间戳判断模块130将判断结果发送至时间戳更新模块131。

本发明实施例中,当时间戳判断模块130判断需要进行修正域的更新时,时间戳更新模块131获取时间戳控制信息中的数据帧的初始时间和数据帧的初始修正域值,时间戳更新模块131用当前本地时间减去数据帧的初始时间值,得到数据帧在MAC层的停留时间,并将该停留时间累加至初始修正域值中,得到当前修正域值,时间戳更新模块131将更新后的当前修正域插入数据帧的指定位置中。

本发明实施例中,如图9所示,所述时间戳处理设备1还包括与所述报文数据处理模块10和所述跨时钟域处理模块11连接的发送帧组织模块15。

所述发送帧组织模块15,用于从所述报文数据处理模块10获取到所述数据帧和所述时间戳控制信息之后,在所述数据帧的尾部预留了第一位置,所述第一位置用于记录对所述数据帧的校验结果,并将预留了所述第一位置的所述数据帧和所述时间戳控制信息发送至所述跨时钟域处理模块11。

本发明实施例中,报文数据处理模块10先将数据帧和时间戳控制信息发送至发送帧组织模块15中,发送帧组织模块15完成数据帧的封装工作,发送帧组织模块15首先计算PTP事件报文尾部需要插入帧间隙(IFG,Inter Frame Gap)的个数,以提高以太网接口的有效传输带宽。然后在数据帧头部添加前导码、帧起始符,在数据帧尾部空出32bit的位置添加已计算出的IFG然后在帧尾部预留出第一位置用于记录对数据帧的校验结果,发送帧组织模块15将预留了第一位置的数据帧和时间戳控制信息发送给跨时钟域处理模块11,以供跨时钟域处理模块11对数据帧进行跨时钟域的处理。

本发明实施例中,所述跨时钟域处理模块11,具体用于通过异步FIFO实现将所述数据帧从所述MAC时钟域切换至所述PCS时钟域。

本发明实施例中,所述时间戳更新模块131,具体用于计算所述当前本地时间和所述初始时间之间的差值;并将所述差值累加至所述初始修正域值中,得到所述当前修正域值。

本发明实施例中,如图10所示,所述时间戳处理设备1还包括与所述时间戳处理模块13连接的帧校验处理模块16和与所述帧校验处理模块16连接的XGMII接口转换模块17。

所述帧校验处理模块16,用于从所述时间戳处理模块13获取第一数据帧,对所述第一数据帧进行校验,生成第一校验信息,所述第一数据帧为更新了所述当前修正域值的数据帧;并将所述第一校验信息添加至所述第一位置,生成所述更新后的数据帧,并将所述更新后的数据帧发送至所述XGMII接口转换模块16。

所述XGMII接口转换模块17,用于将所述更新后的数据帧转换成标准XGMII接口。

本发明实施例中,帧校验处理模块16对第一数据帧进行CRC校验,生成CRC校验值,并将CRC校验值添加至发送帧组织模块15在数据帧的尾部预留的第一位置上,完成对第一数据帧的校验操作。

本发明实施例中,XGMII接口转换模块17将更新后的数据帧的传输模式转换成标准XGMII接口标准,并将更新后的数据帧发送至PCS层,完成将数据帧从MAC层传输至PCS层的操作。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1