CN110266422A - 中间时钟设备报文驻留时间处理方法、装置、设备及介质 - Google Patents
中间时钟设备报文驻留时间处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110266422A CN110266422A CN201910543107.3A CN201910543107A CN110266422A CN 110266422 A CN110266422 A CN 110266422A CN 201910543107 A CN201910543107 A CN 201910543107A CN 110266422 A CN110266422 A CN 110266422A
- Authority
- CN
- China
- Prior art keywords
- message
- time
- cpu
- mac
- event message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例公开了一种中间时钟设备报文驻留时间处理方法、装置、设备及介质。该方法包括:MAC接收事件报文并连同接收时间上报CPU,根据第一校准时间设置CPU处理事件报文校正域并向下游时钟设备发送,第一校准时间由MAC接收到CPU处理事件报文时间和CPU反馈的中间处理时间确定;MAC接收跟随报文上报至CPU,CPU根据第二校准时间对跟随报文校正域更新由MAC向下游时钟设备发送,使下游时钟设备根据事件报文和跟随报文校正域确定中间时钟设备累积报文驻留时间,第二校准时间由MAC接收到事件报文时间和中间处理时间确定。上述技术方案,减少了CPU访问硬件接口的时延,使整个网络各出口时间戳时间更精确。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种中间时钟设备报文驻留时间处理方法、装置、设备及介质。
背景技术
IEEE 1588协议汇总定义了一种精确时间协议(Precision Time Protocol,简称PTP),用于对网络中各网元设备的时间和频率进行同步。PTP定义了三种类型的基本时钟节点,分别是边界时钟(Boundary Clock,简称BC)、普通时钟(Ordinary Clock,简称OC)、透传时钟(Transparent Clock,简称TC)。
以TC设备为例,PTP协议报文经过TC设备时,硬件设备会记录该PTP协议报文进行MAC(Media Access Control,媒体介入控制)的时间戳和由MAC外发该PTP协议报文时的时间戳,两个时间戳的差值就是PTP协议报文在TC设备的报文驻留时间。
当GMC(Grandmaster Clock,主时钟)发送同步报文(Sync)时,打时间戳T1,TC设备收到同步报文后记时间戳T2,再发送同步报文时记时间戳T3,当从设备(Slave)收到TC设备发送的同步报文时记时间戳T4。后续与同步报文对应的跟随报文(Follow_Up)携带T1时间戳传送到TC设备,TC设备收到跟随报文解析其校正域(CorrectionField)报文值,与TC设备的报文驻留时间(T3-T2)进行累加后写入跟随报文的校正域中,并转发到从设备。
现有PTP中,收发sync的时间戳一般都打在交换芯片的寄存器中的,后续需要此时间戳时再通过访问相关寄存器从中读取,例如TC设备计算报文驻留时间时,就需要访问相关寄存器读取收发sync的时间戳,然而,CPU通过软件调度以实现读取相关寄存器中收发sync的时间戳的过程中会产生一些读取延时,虽然每台设备的读取速度很快,但随着组网内的设备增加,则会影响整个网络的时间精准度。
发明内容
本发明实施例提供一种中间时钟设备报文驻留时间处理方法、装置、设备及介质,以减少CPU访问硬件寄存器的时间开销,提高PTP网络的时间精准度。
第一方面,本发明实施例提供了一种中间时钟设备报文驻留时间处理方法,包括:
通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,并根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备;
其中,所述第一校准时间由MAC接收到所述CPU发送的所述事件报文的时间,以及所述CPU向所述MAC反馈的所述事件报文的中间处理时间确定;
通过所述MAC接收所述事件报文的跟随报文并上报至所述CPU;
通过所述CPU根据第二校准时间以及所述事件报文校正域的原始值对所述跟随报文的校正域进行更新后,经由所述MAC将所述跟随报文发送至所述下游时钟设备,以使所述下游时钟设备根据所述事件报文的校正域以及所述跟随报文的校正域计算所述中间时钟设备的累积报文驻留时间;
第二方面,本发明实施例还提供了一种中间时钟设备报文驻留时间处理装置,包括:
事件报文的校正域设置模块,用于通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,并根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备;
其中,所述第一校准时间由MAC接收到所述CPU发送的所述事件报文的时间,以及所述CPU向所述MAC反馈的所述事件报文的中间处理时间确定;
跟随报文上报模块,用于通过所述MAC接收所述事件报文的跟随报文并上报至所述CPU;
跟随报文的校正域更新模块,用于通过所述CPU根据第二校准时间以及所述事件报文校正域的原始值对所述跟随报文的校正域进行更新后,经由所述MAC将所述跟随报文发送至所述下游时钟设备,以使所述下游时钟设备根据所述事件报文的校正域以及所述跟随报文的校正域计算所述中间时钟设备的累积报文驻留时间;
其中,所述第二校准时间由所述MAC接收到所述上游时钟设备发送的事件报文的时间,以及所述中间处理时间确定。
第三方面,本发明实施例还提供了一种时钟设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任意实施例所述的中间时钟设备报文驻留时间处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的中间时钟设备报文驻留时间处理方法。
本发明实施例提供了一种中间时钟设备报文驻留时间处理方法、装置、设备及介质,在实现PTP功能时,将硬件发送事件报文的时间戳打在其自身报文的校正域字段中,具体为将上述报文在中间时钟设备中的驻留时间分为两部分(第一校准时间和第二校准时间),分别设置在自身报文的校正域字段中和跟随报文的校正域字段中,传输到下游时钟设备进行计算,下游时钟设备将根据事件报文和其跟随报文中的校正域值,计算出其上游时钟设备的累积报文驻留时间,大大省去了软件访问寄存器的时间,使PTP的精度更高,由此也降低了提高PTP精度对硬件的依赖。其中,在确定第二校准时间的过程中,CPU是接收MAC主动上报的其接收事件报文的时间,由此减少了CPU访问硬件接口的时延;在确定第一校准时间的过程中,中间处理时间是CPU反馈给MAC的,由此减少了MAC访问硬件接口的时延,使整个网络的各个出口时间戳时间更精确。
附图说明
图1是本发明实施例一中的一种中间时钟设备报文驻留时间处理方法的流程图;
图2是本发明实施例二中的一种报文驻留时间传递示意图;
图3是本发明实施例三中的一种报文驻留时间传递示意图;
图4是本发明实施例四中的一种中间时钟设备报文驻留时间处理装置的结构示意图;
图5是本发明实施例五中的一种时钟设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的中间时钟设备报文驻留时间处理方法的流程图,本实施例可适用于确定中间时钟设备的累积报文驻留时间的情况,该方法可以由本发明实施例提供的中间时钟设备报文驻留时间处理装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在中间时钟设备中。
本实施例提供的方法,适用于中间时钟设备,也即中间节点时钟设备,不适用于叶子节点时钟设备,其中,中间时钟设备可以是TC设备,可以是OC设备,也可以是BC设备。
如图1所示,本实施例的方法具体包括:
S110、通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,并根据第一校准时间对接收的CPU处理后的事件报文的校正域进行设置后,将事件报文发送至下游时钟设备。
其中,第一校准时间由MAC接收到CPU发送的所述事件报文的时间,以及CPU向MAC反馈的事件报文的中间处理时间确定。
PTP协议定义了事件(event)报文和普通(general)报文。事件报文是包含发送和接收的准确时间戳报文,而普通报文不需要准确的时间戳。事件报文包括同步报文(Sync),延时请求报文(Delay_Req),对等延时请求报文(Pdelay_Req),对等延时响应报文(PdelayResp)。
上游时钟设备,例如是GMC或上游中间时钟设备,向中间时钟设备发送事件报文,中间时钟设备MAC接收到事件报文,并将接收时间以及事件报文一同上报给中间时钟设备CPU,以减少CPU访问时间戳寄存器的时间。CPU识别到事件报文以及事件报文进入MAC的时间之后,首先通过软件保存事件报文进入MAC的时间,然后获取事件报文校正域的原始值,并对事件报文进行处理后将事件报文向MAC发送,以使MAC在接收到CPU发送的事件报文后,向下游时钟设备发送。其中,在接收的事件报文是GMC发送的情况下,事件报文校正域的原始值为0;在接收的事件报文是上游中间时钟设备发送的情况下,事件报文校正域的原始值不为0。
在CPU对事件报文进行处理后将事件报文向MAC发送之前,CPU向MAC反馈事件报文的一个中间处理时间,以使MAC根据这个中间处理时间以及MAC接收到CPU发送的事件报文的时间确定出第一校准时间,并根据第一校准时间对事件报文的校正域(CorrectionField)进行设置,将事件报文的校正域的值设置为第一校准时间,并将校正域设置完成的事件报文发送至下游时钟设备。
其中,中间处理时间可以是CPU识别到事件时至处理完成事件报文将其发出时之间的任一处理时间。
典型的,中间处理时间可以是CPU将处理完成的事件报文向MAC发送的时间。
具体的,第一校准时间为MAC接收到CPU发送的事件报文的时间与中间处理时间的差值。
S120、通过MAC接收事件报文的跟随报文并上报至CPU。
上游时钟设备向中间时钟设备发送事件报文之后,上游时钟设备随即向中间时钟设备发送事件报文的跟随报文。中间时钟设备的MAC接收到跟随报文之后,上报至CPU。
S130、通过CPU根据第二校准时间以及事件报文校正域的原始值对跟随报文的校正域进行更新后,经由MAC将跟随报文发送至下游时钟设备,以使下游时钟设备根据事件报文的校正域以及跟随报文的校正域计算中间时钟设备的累积报文驻留时间。
其中,第二校准时间由MAC接收到上游时钟设备发送的事件报文的时间,以及中间处理时间确定。
其中,中间时钟设备的累积报文驻留时间指的是,通信链路上截止到该中间时钟设备处累积的报文驻留时间。
CPU识别到跟随报文之后,根据第二校准时间以及获取的事件报文校正域的原始值对跟随报文的校正域进行更新,具体是将第二校准时间、事件报文校正域的原始值以及跟随报文校正域的原始值的累加和作为跟随报文校正域更新后的值。
其中,事件报文校正域的原始值,指的是上游时钟设备(非GMC)的第一校准时间;跟随报文校正域的原始值,指的是通信链路上截止到上游时钟设备处的累积报文驻留时间与上游时钟设备(非GMC)的第二校准时间的累加和。
具体的,第二校准时间为中间处理时间与上游时钟设备发送的事件报文的时间的差值。
下游时钟设备接收到中间时钟设备发送的事件报文和事件报文的跟随报文之后,读取事件报文校正域以及跟随报文校正域,根据事件报文校正域以及跟随报文校正域的值即可计算出中间时钟设备的累积报文驻留时间,具体的,事件报文校正域以及跟随报文校正域的值的累加和即为中间时钟设备的累积报文驻留时间。当下游时钟设备依旧为一个中间时钟设备时,仍需根据其第一校准时间对事件报文的校正域进行设置后,将事件报文继续向对应的下游时钟设备发送,根据其第二校准时间以及事件报文校正域的原始值(也即接收到的事件报文校正域的值)对跟随报文的校正域进行更新后,将跟随报文继续向对应的下游时钟设备发送。
上述技术方案,在实现PTP功能时,将硬件发送事件报文的时间戳打在其自身报文的校正域字段中,具体为将上述报文在中间时钟设备中的驻留时间分为两部分(第一校准时间和第二校准时间),分别设置在自身报文的校正域字段中和跟随报文的校正域字段中,传输到下游时钟设备进行计算,下游时钟设备将根据事件报文和其跟随报文中的校正域值,计算出其上游时钟设备的累积报文驻留时间,大大省去了软件访问寄存器的时间,使PTP的精度更高,由此也降低了提高PTP精度对硬件的依赖。其中,在确定第二校准时间的过程中,CPU是接收MAC主动上报的其接收事件报文的时间,由此减少了CPU访问硬件接口的时延;在确定第一校准时间的过程中,中间处理时间是CPU反馈给MAC的,由此减少了MAC访问硬件接口的时延,使整个网络的各个出口时间戳时间更精确。
实施例二
图2为本发明实施例二提供的一种报文驻留时间传递示意图。在上述实施例为基础上,本实施例提供一种具体的实施方式。其中,将通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,具体为:
通过MAC接收到上游时钟设备发送的事件报文,触发硬件打上时间戳tm1,并将添加时间戳tm1的事件报文上报至所述CPU;
在根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备之前,还包括:
通过所述CPU获取所述事件报文校正域的原始值,并将处理后的事件报文发送至MAC,触发所述硬件打上时间戳tm2,并将时间戳tm2作为中间处理时间向所述MAC反馈;
通过MAC接收到CPU发送的事件报文,触发硬件打上时间戳tm3;
其中,第一校准时间由时间戳tm3和时间戳tm2确定,第二校准时间由时间戳tm2和时间戳tm1确定。第一校准时间为时间戳tm3和时间戳tm2的差值,第二校准时间为时间戳tm2和时间戳tm1的差值。
如图2所示,以GMC向TC设备发送Sync报文,TC设备接收后向下游时钟设备(Slave)发送为例,其中,TC设备为中间时钟设备,Slave为叶子节点时钟设备。
当TC设备的MAC收到Sync报文时,MAC会打上一个硬件时间戳tm1,然后将添加时间戳tm1的Sync报文上送到CPU,CPU识别出Sync报文中的时间戳tm1,并获取Sync报文校正域字段(简称CF)的原始值,通过软件将时间戳tm1以及Sync报文校正域字段的原始值进行存储。由于,Sync报文是由GMC发送的,所以TC设备接收到的Sync报文校正域字段的原始值为0。
当TC设备的CPU调用软件发送函数转发Sync报文时,会触发硬件再次打一个时间戳tm2,并向mac下达目标指令,以告知MAC芯片时间戳tm2是此时Sync在CPU转出的时间戳,同时通过软件将时间戳tm2也进行存储,并计算出(tm2-tm1)的值。当Sync报文从CPU到达MAC时会再次触发硬件打一个时间戳tm3,然后MAC会根据标志位对Sync报文字段进行遍历,找到校正域字段,再将(tm3-tm2)的值填入Sync报文的此字段中,之后将Sync报文向Slave发送。
在GMC发送Sync报文后紧接着就会发送一个follow-up报文(跟随报文),当TC设备CPU接收到follow-up报文后会解析出follow-up报文的校正域字段,获取到follow-up报文校正域字段的原始值,同时,获取之前保存的事件报文校正域字段的原始值以及(tm2-tm1)的值,将follow-up报文校正域字段的原始值、事件报文校正域字段的原始值以及(tm2-tm1)的值的累加和,重新封装到follow-up报文的校正域字段中。由于,follow-up报文是由GMC发送的,所以TC设备接收到的follow-up报文校正域字段的原始值也为0。进而,此时follow-up报文的校正域字段的值为tm2-tm1。TC设备CPU将重新封装校正域字段的follow-up报文,向MAC发送,MAC接收到之后,向下Slave发送。
Slave先后接收到Sync报文和follow-up报文,在Sync报文和follow-up报文分别解析出Sync报文的校正域字段和follow-up报文的校正域字段,将两个字段的值进行累加,组成TC设备的累加报文驻留时间,至此完成了TC设备的累积报文驻留时间计算。
本实施例未尽详细解释之处,请参见前述实施例,在此不再赘述。
在组网中使用PTP时,主要计算数据的来源是由设备收发sync、delay_request、pdelay_resp、pdelay_response几种报文产生的时间戳。现有技术都是将这些时间戳打完之后放在寄存器中,后续再去访问寄存器来获取,但是在访问的过程中会产生访问延时,为了将此误差值降到最低,在上述技术方案中,将此类报文产生的报文驻留时间更改为两部分,分别写入到sync、delay_request、pdelay_resp、pdelay_response报文的CorrectionField字段和follow_up报文的CorrectionField字段中,这样就会省去了访问寄存器的时间,由下游设备从报文中取出值来进行计算,更好地提高了PTP功能的精度。
实施例三
图3为本发明实施例三提供的一种报文驻留时间传递示意图。在上述实施例为基础上,本实施例提供另一种具体的实施方式。如图3所示,以GMC向TC1设备发送Sync报文,TC1设备接收后经下游TC2设备,向Slave发送为例,其中,TC1设备、TC2设备为中间时钟设备,Slave为叶子节点时钟设备。
当TC1设备的MAC收到Sync报文时,MAC会打上一个硬件时间戳tm1,然后将添加时间戳tm1的Sync报文上送到CPU,CPU识别出Sync报文中的时间戳tm1,并获取Sync报文校正域字段的原始值,通过软件将时间戳tm1以及Sync报文校正域字段的原始值进行存储。由于,Sync报文是由GMC发送的,所以TC1设备接收到的Sync报文校正域字段的原始值为0。
当TC1设备的CPU调用软件发送函数转发Sync报文时,会触发硬件再次打一个时间戳tm2,并向mac下达目标指令,以告知MAC芯片时间戳tm2是此时Sync在CPU转出的时间戳,同时通过软件将时间戳tm2也进行存储,并计算出(tm2-tm1)的值。当Sync报文从CPU到达MAC时会再次触发硬件打一个时间戳tm3,然后MAC会根据标志位对Sync报文字段进行遍历,找到校正域字段,再将(tm3-tm2)的值填入Sync报文的此字段中,之后将Sync报文向TC2设备发送。
GMC发送Sync报文之后紧接着就会发送一个follow-up报文(跟随报文),当TC1设备CPU接收到follow-up报文后会解析出follow-up报文的校正域字段,获取到follow-up报文校正域字段的原始值,同时,获取之前保存的事件报文校正域字段的原始值以及(tm2-tm1)的值,将follow-up报文校正域字段的原始值、Sync报文校正域字段的原始值以及(tm2-tm1)的累加和,重新封装到follow-up报文的校正域字段中。由于,follow-up报文是由GMC发送的,所以TC1设备接收到的follow-up报文校正域字段的原始值也为0。进而,此时follow-up报文的校正域字段的值为(tm2-tm1)。TC1设备CPU将重新封装校正域字段的follow-up报文,向MAC发送,MAC接收到之后,向TC2设备发送。
当TC2设备的MAC收到Sync报文时,MAC会打上一个硬件时间戳tm1’,然后将添加时间戳tm1’的Sync报文上送到CPU,CPU识别出Sync报文中的时间戳tm1’,并获取Sync报文校正域字段的原始值,通过软件将时间戳tm1’以及Sync报文校正域字段的原始值进行存储。由于,Sync报文是由TS1设备发送的,所以TC2设备接收到的Sync报文校正域字段的原始值为(tm3-tm2)。
当TC2设备的CPU调用软件发送函数转发Sync报文时,会触发硬件再次打一个时间戳tm2’,并向mac下达目标指令,以告知MAC芯片时间戳tm2’是此时Sync报文在CPU转出的时间戳,同时通过软件将时间戳tm2’也进行存储,并计算出(tm2’-tm1’)的值。当Sync报文从CPU到达MAC时会再次触发硬件打一个时间戳tm3’,然后MAC会根据标志位对Sync报文字段进行遍历,找到校正域字段,再将(tm3’-tm2’)的值填入Sync报文的此字段中,之后将Sync报文向Slave发送。
TC1设备发送Sync报文之后紧接着就会发送一个follow-up报文,当TC2设备CPU接收到follow-up报文后会解析出follow-up报文的校正域字段,获取到follow-up报文校正域字段的原始值,同时,获取之前保存的事件报文校正域字段的原始值(tm3-tm2)以及(tm2’-tm1’)的值,将follow-up报文校正域字段的原始值(tm2-tm1)、Sync报文校正域字段的原始值(tm3-tm2)以及(tm2’-tm1’)的累加和,重新封装到follow-up报文的校正域字段中。由于,follow-up报文是由TC1设备发送的,所以TC2设备接收到的follow-up报文校正域字段的原始值为(tm2-tm1)。进而,此时follow-up报文的校正域字段的值为[(tm2-tm1)+(tm3-tm2)+(tm2’-tm1’)]。TC2设备CPU将重新封装校正域字段的follow-up报文,向MAC发送,MAC接收到之后,向Slave发送。
值得指出的是,TC2设备接收到Sync报文和follow-up报文之后,获取到Sync报文校正域字段的原始值(tm3-tm2)和follow-up报文校正域字段的原始值(tm2-tm1),二者的累加和即为通信链路上截止到TC1设备的累积报文驻留时间。
Slave先后接收到TC2设备发送的Sync报文和follow-up报文,在Sync报文和follow-up报文分别解析出Sync报文的校正域字段(tm3’-tm2’)和follow-up报文的校正域字段[(tm2-tm1)+(tm3-tm2)+(tm2’-tm1’)],将两个字段的值进行累加,组成TC2设备的累加报文驻留时间,也即如图3所示的通信链路上的累积报文驻留时间。
同理,在通信链路上包括多个中间时钟设备的情况下,也可根据上述技术方案计算通信链路上的累积报文驻留时间。
本实施例未尽详细解释之处,请参见前述实施例,在此不再赘述。
实施例四
图4为本发明实施例四提供的一种中间时钟设备报文驻留时间处理装置的结构示意图,本实施例可适用于确定中间时钟设备的累积报文驻留时间的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在中间时钟设备中。如图4所示,该装置具体包括:
事件报文的校正域设置模块410,用于通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,并根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备;
其中,所述第一校准时间由MAC接收到所述CPU发送的所述事件报文的时间,以及所述CPU向所述MAC反馈的所述事件报文的中间处理时间确定;
跟随报文上报模块420,用于通过所述MAC接收所述事件报文的跟随报文并上报至所述CPU;
跟随报文的校正域更新模块430,用于通过所述CPU根据第二校准时间以及所述事件报文校正域的原始值对所述跟随报文的校正域进行更新后,经由所述MAC将所述跟随报文发送至所述下游时钟设备,以使所述下游时钟设备根据所述事件报文的校正域以及所述跟随报文的校正域计算所述中间时钟设备的累积报文驻留时间;
其中,所述第二校准时间由所述MAC接收到所述上游时钟设备发送的事件报文的时间,以及所述中间处理时间确定。
上述技术方案,在实现PTP功能时,将硬件发送事件报文的时间戳打在其自身报文的校正域字段中,具体为将上述报文在中间时钟设备中的驻留时间分为两部分(第一校准时间和第二校准时间),分别打在自身报文的校正域字段中和跟随报文的校正域字段中,传输到下游时钟设备进行计算,下游时钟设备将根据事件报文和其跟随报文中的校正域值,计算出其上游时钟设备(也即上一个中间时钟设备)的累积驻留时间,大大省去了软件访问寄存器的时间,使PTP的精度更高,由此也降低了提高PTP精度对硬件的依赖。其中,在确定第二校准时间的过程中,CPU是接收MAC主动上报的其接收事件报文的时间,由此减少了CPU访问硬件接口的时延;在确定第一校准时间的过程中,中间处理事件是CPU反馈给MAC的,由此减少了MAC访问硬件接口的时延,使整个网络的各个出口时间戳时间更精确。
进一步的,所述中间处理时间为所述CPU将处理完成的所述事件报文向所述MAC发送的时间。
进一步的,事件报文的校正域设置模块410,还具体用于通过MAC接收到上游时钟设备发送的事件报文,触发硬件打上时间戳tm1,并将添加所述时间戳tm1的事件报文上报至所述CPU;通过所述CPU获取所述事件报文校正域的原始值,并将处理后的所述事件报文发送至所述MAC,触发所述硬件打上时间戳tm2,并将所述时间戳tm2作为所述中间处理时间向所述MAC反馈;通过所述MAC接收到所述CPU发送的所述事件报文,触发硬件打上时间戳tm3;根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备;其中,所述第一校准时间由时间戳tm3和时间戳tm2确定,所述第二校准时间由时间戳tm2和时间戳tm1确定。
进一步的,跟随报文的校正域更新模块430,具体用于通过所述CPU将第二校准时间、所述事件报文校正域的原始值以及所述跟随报文校正域的原始值的累加和,作为所述跟随报文校正域更新后的值。
进一步的,所述第一校准时间为MAC接收到所述CPU发送的所述事件报文的时间与所述中间处理时间的差值;
所述第二校准时间为所述中间处理时间与所述MAC接收到所述上游时钟设备发送的事件报文的时间的差值。
具体的,所述时钟设备包括:边界时钟设备、普通时钟设备或透传时钟设备。
上述中间时钟设备报文驻留时间处理装置可执行本发明任意实施例所提供的中间时钟设备报文驻留时间处理方法,具备执行的中间时钟设备报文驻留时间处理方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种时钟设备的硬件结构示意图,如图5所示,该设备包括:
一个或多个处理器510,图5中以一个处理器510为例;
存储器520;
所述设备中的处理器510和存储器520可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器520作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本发明实施例中的一种中间时钟设备报文驻留时间处理方法对应的程序指令,包括:
通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,并根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备;
其中,所述第一校准时间由MAC接收到所述CPU发送的所述事件报文的时间,以及所述CPU向所述MAC反馈的所述事件报文的中间处理时间确定;
通过所述MAC接收所述事件报文的跟随报文并上报至所述CPU;
通过所述CPU根据第二校准时间以及所述事件报文校正域的原始值对所述跟随报文的校正域进行更新后,经由所述MAC将所述跟随报文发送至所述下游时钟设备,以使所述下游时钟设备根据所述事件报文的校正域以及所述跟随报文的校正域计算所述中间时钟设备的累积报文驻留时间;
其中,所述第二校准时间由所述MAC接收到所述上游时钟设备发送的事件报文的时间,以及所述中间处理时间确定。
处理器510通过运行存储在存储器520中的软件程序指令,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种中间时钟设备报文驻留时间处理方法。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种中间时钟设备报文驻留时间处理方法,该方法包括:
通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,并根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备;
其中,所述第一校准时间由MAC接收到所述CPU发送的所述事件报文的时间,以及所述CPU向所述MAC反馈的所述事件报文的中间处理时间确定;
通过所述MAC接收所述事件报文的跟随报文并上报至所述CPU;
通过所述CPU根据第二校准时间以及所述事件报文校正域的原始值对所述跟随报文的校正域进行更新后,经由所述MAC将所述跟随报文发送至所述下游时钟设备,以使所述下游时钟设备根据所述事件报文的校正域以及所述跟随报文的校正域计算所述中间时钟设备的累积报文驻留时间;
其中,所述第二校准时间由所述MAC接收到所述上游时钟设备发送的事件报文的时间,以及所述中间处理时间确定。
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的一种中间时钟设备报文驻留时间处理方法的技术方案。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台时钟设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述中间时钟设备报文驻留时间处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种中间时钟设备报文驻留时间处理方法,其特征在于,包括:
通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,并根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备;
其中,所述第一校准时间由MAC接收到所述CPU发送的所述事件报文的时间,以及所述CPU向所述MAC反馈的所述事件报文的中间处理时间确定;
通过所述MAC接收所述事件报文的跟随报文并上报至所述CPU;
通过所述CPU根据第二校准时间以及所述事件报文校正域的原始值对所述跟随报文的校正域进行更新后,经由所述MAC将所述跟随报文发送至所述下游时钟设备,以使所述下游时钟设备根据所述事件报文的校正域以及所述跟随报文的校正域计算所述中间时钟设备的累积报文驻留时间;
其中,所述第二校准时间由所述MAC接收到所述上游时钟设备发送的事件报文的时间,以及所述中间处理时间确定。
2.根据权利要求1所述的方法,其特征在于,所述中间处理时间为所述CPU将处理完成的所述事件报文向所述MAC发送的时间。
3.根据权利要求2所述的方法,其特征在于,通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,包括:
通过MAC接收到上游时钟设备发送的事件报文,触发硬件打上时间戳tm1,并将添加所述时间戳tm1的事件报文上报至所述CPU;
在根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备之前,还包括:
通过所述CPU获取所述事件报文校正域的原始值,并将处理后的所述事件报文发送至所述MAC,触发所述硬件打上时间戳tm2,并将所述时间戳tm2作为所述中间处理时间向所述MAC反馈;
通过所述MAC接收到所述CPU发送的所述事件报文,触发硬件打上时间戳tm3;
其中,所述第一校准时间由时间戳tm3和时间戳tm2确定,所述第二校准时间由时间戳tm2和时间戳tm1确定。
4.根据权利要求1所述的方法,其特征在于,通过所述CPU根据第二校准时间以及所述事件报文校正域的原始值对所述跟随报文的校正域进行更新,包括:
通过所述CPU将第二校准时间、所述事件报文校正域的原始值以及所述跟随报文校正域的原始值的累加和,作为所述跟随报文校正域更新后的值。
5.根据权利要求1所述的方法,其特征在于,所述第一校准时间为MAC接收到所述CPU发送的所述事件报文的时间与所述中间处理时间的差值;
所述第二校准时间为所述中间处理时间与所述MAC接收到所述上游时钟设备发送的事件报文的时间的差值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述时钟设备包括:
边界时钟设备、普通时钟设备或透传时钟设备。
7.一种中间时钟设备报文驻留时间处理装置,其特征在于,包括:
事件报文的校正域设置模块,用于通过MAC接收上游时钟设备发送的事件报文并连同接收时间上报至CPU,并根据第一校准时间对接收的所述CPU处理后的所述事件报文的校正域进行设置后,将所述事件报文发送至下游时钟设备;
其中,所述第一校准时间由MAC接收到所述CPU发送的所述事件报文的时间,以及所述CPU向所述MAC反馈的所述事件报文的中间处理时间确定;
跟随报文上报模块,用于通过所述MAC接收所述事件报文的跟随报文并上报至所述CPU;
跟随报文的校正域更新模块,用于通过所述CPU根据第二校准时间以及所述事件报文校正域的原始值对所述跟随报文的校正域进行更新后,经由所述MAC将所述跟随报文发送至所述下游时钟设备,以使所述下游时钟设备根据所述事件报文的校正域以及所述跟随报文的校正域计算所述中间时钟设备的累积报文驻留时间;
其中,所述第二校准时间由所述MAC接收到所述上游时钟设备发送的事件报文的时间,以及所述中间处理时间确定。
8.根据权利要求7所述的装置,其特征在于,所述中间处理时间为所述CPU将处理完成的所述事件报文向所述MAC发送的时间。
9.一种时钟设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910543107.3A CN110266422B (zh) | 2019-06-21 | 2019-06-21 | 中间时钟设备报文驻留时间处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910543107.3A CN110266422B (zh) | 2019-06-21 | 2019-06-21 | 中间时钟设备报文驻留时间处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110266422A true CN110266422A (zh) | 2019-09-20 |
CN110266422B CN110266422B (zh) | 2020-12-29 |
Family
ID=67920324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910543107.3A Active CN110266422B (zh) | 2019-06-21 | 2019-06-21 | 中间时钟设备报文驻留时间处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110266422B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112865907A (zh) * | 2021-01-12 | 2021-05-28 | 昆高新芯微电子(江苏)有限公司 | 实现精确时间协议延迟请求报文的方法、装置及存储介质 |
CN114745774A (zh) * | 2022-03-16 | 2022-07-12 | 烽火通信科技股份有限公司 | 一种集中式时间同步方法、装置、设备及可读存储介质 |
WO2023130744A1 (zh) * | 2022-01-04 | 2023-07-13 | 中兴通讯股份有限公司 | 报文调度方法、网络设备、存储介质及计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070008993A1 (en) * | 2005-07-06 | 2007-01-11 | Samsung Electronics Co.; Ltd | Method for time synchronization in residential Ethernet system |
CN101615963A (zh) * | 2008-06-23 | 2009-12-30 | 华为技术有限公司 | 修正域信息的处理方法及系统 |
CN102447745A (zh) * | 2012-01-11 | 2012-05-09 | 中兴通讯股份有限公司 | Tc设备上的报文驻留时间的处理方法及装置 |
US20150071309A1 (en) * | 2013-09-11 | 2015-03-12 | Khalifa University of Science , Technology, and Research | Method and devices for frequency distribution |
-
2019
- 2019-06-21 CN CN201910543107.3A patent/CN110266422B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070008993A1 (en) * | 2005-07-06 | 2007-01-11 | Samsung Electronics Co.; Ltd | Method for time synchronization in residential Ethernet system |
CN101615963A (zh) * | 2008-06-23 | 2009-12-30 | 华为技术有限公司 | 修正域信息的处理方法及系统 |
CN102447745A (zh) * | 2012-01-11 | 2012-05-09 | 中兴通讯股份有限公司 | Tc设备上的报文驻留时间的处理方法及装置 |
US20150071309A1 (en) * | 2013-09-11 | 2015-03-12 | Khalifa University of Science , Technology, and Research | Method and devices for frequency distribution |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112865907A (zh) * | 2021-01-12 | 2021-05-28 | 昆高新芯微电子(江苏)有限公司 | 实现精确时间协议延迟请求报文的方法、装置及存储介质 |
CN112865907B (zh) * | 2021-01-12 | 2022-07-08 | 昆高新芯微电子(江苏)有限公司 | 实现精确时间协议延迟请求报文的方法、装置及存储介质 |
WO2023130744A1 (zh) * | 2022-01-04 | 2023-07-13 | 中兴通讯股份有限公司 | 报文调度方法、网络设备、存储介质及计算机程序产品 |
CN114745774A (zh) * | 2022-03-16 | 2022-07-12 | 烽火通信科技股份有限公司 | 一种集中式时间同步方法、装置、设备及可读存储介质 |
CN114745774B (zh) * | 2022-03-16 | 2023-05-12 | 烽火通信科技股份有限公司 | 一种集中式时间同步方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110266422B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110266422A (zh) | 中间时钟设备报文驻留时间处理方法、装置、设备及介质 | |
CN109818826B (zh) | 一种网络路径延迟测量方法及其装置与时间同步系统 | |
US8914662B2 (en) | Implementing transparent clock by correcting time information carried in data using residence time information | |
CN112838903B (zh) | 一种时钟同步方法、设备及存储介质 | |
CN111800213B (zh) | 面向高速tte级联网络1588同步方法、系统、装置 | |
CN107147467B (zh) | 一种tte终端系统内部时间同步系统及方法 | |
JP5518191B2 (ja) | 光伝送網が時刻同期プロトコルをキャリングする方法及びシステム | |
US20100302949A1 (en) | Frame loss measurement method, system, and apparatus | |
EP3163786B1 (en) | Clock synchronization method and apparatus | |
US8644352B1 (en) | System and method for accurate time sampling in presence of output delay | |
WO2015117501A1 (zh) | 一种时间同步方法、可编程逻辑器件、单板及网元 | |
EP2807785B1 (en) | Packet-based timing measurement | |
JP5127482B2 (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
US10063335B2 (en) | Method, apparatus and system for remotely configuring PTP service of optical network unit | |
EP3174237B1 (en) | Time synchronization method and apparatus for network devices and time synchronization server | |
US20180205477A1 (en) | Clock synchronizaton using codeword marker | |
CN110572230A (zh) | 一种用于实现时间同步的修正方法及装置 | |
US7848361B2 (en) | Time-triggered communication system and method for the synchronization of a dual-channel network | |
WO2023045881A1 (zh) | 时间同步装置、系统及方法 | |
CN102088397A (zh) | 通信网元、时钟频率校正系统及校正方法 | |
JP5675703B2 (ja) | 通信装置、制御装置及びプログラム | |
US20220149973A1 (en) | Service data transmission method and communication apparatus | |
US9442511B2 (en) | Method and a device for maintaining a synchronized local timer using a periodic signal | |
CN109257243B (zh) | 一种往返时延确定方法、装置及计算机可读存储介质 | |
CN102983959B (zh) | 在多个mac中实现ptp一步模式和两步模式的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |