一种精确时间协议透明时钟两步模式的实现方法技术

技术编号:34772270 阅读:27 留言:0更新日期:2022-08-31 19:36
本发明专利技术提供一种精确时间协议透明时钟两步模式的实现方法,其包括:S1:在PHY/MAC上检测到PTP报文时,记录到达时间戳IngressTs,并进行至步骤S2;S2:通过交换芯片解析PTP报文,并判断是否是Sync或DelayReq报文,如果是,则将报文特征信息和驻留时间存储到交换芯片的FIFO中,且由出口PHY/MAC记录离开时间戳EgressTs到交换芯片的FIFO中,然后进行至步骤S4,否则进行至步骤S3;S3:通过交换芯片判断PTP报文是否是FollowUp或DelayResp报文,如果是,则根据报文特征信息查找FIFO以获取驻留时间,并将驻留时间修改到报文校正域,然后将处理后的PTP报文转发至PHY/MAC并进行至步骤S4,否则交换芯片直接将PTP报文转发至出口PHY/MAC,并进行至步骤S4;S4:通过出口PHY/MAC发送报文。报文。报文。

【技术实现步骤摘要】
一种精确时间协议透明时钟两步模式的实现方法


[0001]本专利技术涉及以太网时间同步领域,尤其涉及一种精确时间协议透明时钟两步模式的实现方法。

技术介绍

[0002]IEEE1588定义的PTP(Precision Time Protocol,精确时间协议)是目前被广泛使用的时间同步技术方案,用于满足测量和控制应用的分布网络时间同步的需要。网络时钟同步主要包括频率同步和时间同步,PTP通过记录特定PTP协议报文进入和离开设备的时间戳,来计算恢复出本地时钟和频率。通过硬件辅助可以实现高精度的时间同步,随着软硬件技术的进步,PTP的时间同步精度可以达到几十纳秒级别。
[0003]TC(Transparent Clock,透明时钟)是网络中的中间节点,通常不需要和主时钟(Master Clock)进行时钟同步,但是需要在主时钟和从时钟(Slave Clock)中间记录PTP事件报文经过TC设备的延时即驻留时间ResidenceTime,并记录到相应报文中的CorrectionField(CF校正域)字段中用于从时钟的精确时钟同步计算。
[0004]PTP的时间同步有两种方式:延时请求响应E2E(End to End)和对端延时P2P(Peer to Peer)机制,参见图1,前者根据主从时钟之间的整体路径延时时间计算时间差,而后者根据主从时钟之间的每一条链路延时时间计算时间差。所以透明时钟TC分为E2E TC和P2PTC,其中P2P TC除了记录PTP事件报文经过TC设备的驻留时间还需要记录TC相连的平均链路延时到相应报文中的CorrectionField字段中。
[0005]TC的实现方式分为一步方式和两步方式,其中以E2E TC为例,一步方式需要在PTP Sync(同步)和Delay Req(延迟请求)报文中的CorrectionField字段增加本地ResidenceTime(驻留时间),PTP报文在TC上的驻留时间的计算方法如下:
[0006]驻留时间ResidenceTime=离开时间戳EgressTs

到达时间戳IngressTs
[0007]报文到达和离开时间戳通常在物理层PHY或者数据链路层MAC上获取,一步方式需要报文在离开设备的时候在物理层PHY或者数据链路层MAC上计算驻留时间并实时修改报文,对于UDP类型的PTP报文还需要修改报文UDP头中的校验和Checksum字段,这对目前的物理层PHY或者数据链路层MAC的实现要求很高,特别是对于10Gbps速率以上的MAC和PHY在高速传输的过程中修改报文的实现难度更大。
[0008]如图2所示,目前实现PTP TC的两步方式,通常在物理层PHY或者数据链路层MAC上记录Sync和DelayReq报文到达和离开的时间戳后直接转发报文,不需要在物理层PHY或者数据链路层MAC上修改报文,由上层软件协议栈模块通过CPU获取并计算驻留时间之后,把驻留时间加入到Sync对应的FollowUp(同步跟随)报文或者DelayReq对应的DelayResp(延迟应答)报文中。这种方案相比一步模式,通过上层软件模块计算驻留时间并且修改到报文,简化了硬件物理层PHY或者数据链路层MAC上实时修改报文的实现难度,但是也带来了系统复杂度,特别是软件计算驻留时间并修改报文相比硬件实现有延后会引入误差,导致时间精度提升有限。

技术实现思路

[0009]为了解决上述技术问题,本专利技术公开了一种精确时间协议透明时钟两步模式的实现方法,其通过交换芯片实现了PTP TC的两步模式,使用交换芯片修改驻留时间到报文而不使用软件协议栈,简化了TC设备系统的设计,降低了PTP报文在TC设备的处理延时,提高了PTP系统时间同步精度。
[0010]在本专利技术的实施方式中,一种精确时间协议透明时钟两步模式的实现方法包括以下步骤:S1:在入口物理层PHY或者数据链路层MAC上检测到PTP报文时,记录到达时间戳IngressTs,然后进行至步骤S2;S2:通过交换芯片解析PTP报文,并判断是否是Sync或者DelayReq报文,如果是,则将报文特征信息和驻留时间存储到交换芯片的FIFO队列中,且由出口PHY/MAC记录离开时间戳EgressTs到交换芯片的FIFO队列中,然后进行至步骤S4,否则进行至步骤S3;S3:通过交换芯片判断PTP报文是否是FollowUp或者DelayResp报文,如果是,则根据报文特征信息查找FIFO以获取驻留时间,并将驻留时间修改到报文校正域,然后将处理后的PTP报文转发至PHY/MAC并进行至步骤S4,否则交换芯片直接将PTP报文转发至出口PHY/MAC,并进行至步骤S4;S4:通过出口PHY/MAC发送报文。
[0011]在进一步的技术方案中,在步骤S2中,解析PTP报文包括:根据PTP报文的特征,解析PTP报文的类型、域编号、源端口标识符以及序列号。
[0012]在进一步的技术方案中,在步骤S2中,如果是Sync或者Delay Req报文,则由交换芯片记录报文的域编号、源端口标识符、、序列号到FIFO队列中存储,在出口MAC/PHY记录报文离开时间戳EgressTs到FIFO队列,并由交换芯片计算驻留时间ResidenceTime=EgressTs

IngressTs,并存储到与报文特征信息相同的FIFO队列中。
[0013]在进一步的技术方案中,在步骤S3中,如果是FollowUp或者DelayResp报文,则根据解析的域编号、源端口标识符、序列号查找FIFO队列,找到匹配的报文特征信息并获取匹配条目的FIFO队列所存储的驻留时间,把驻留时间修改到报文的校正域。
[0014]在进一步的技术方案中,在步骤S3中,在把驻留时间修改到报文的校正域时,如果承载PTP的是UDP报文,还需要修正UDP头中的校验和字段。
[0015]在进一步的技术方案中,在步骤S3中,对于校正域的修正,除了驻留时间,还包括延迟不对称修正的参数。
[0016]在进一步的技术方案中,对于两步P2P透明时钟,在步骤S2中,仅需要判断和处理Sync报文,并且在步骤S3中,仅需要判断和处理FollowUp报文。
附图说明
[0017]图1是E2E TC时间同步方式的示意图;
[0018]图2是两步E2E TC软件修改报文实现方式的示意图;
[0019]图3是本专利技术的两步E2E TC芯片修改报文实现方式的示意图;
[0020]图4是本专利技术的两步E2E TC芯片修改报文处理流程的示意图。
具体实施方式
[0021]下面结合具体实施例对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。
[0022]本专利技术的主要解决的问题是如何通过交换芯片实现PTP TC的两步模式,在转发PTP报文的同时,把Sync和DelayReq报文的本地驻留时间修改到Sync对应的FollowUp和DelayReq对应的DelayResp报文的Corre本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种精确时间协议透明时钟两步模式的实现方法,其特征在于,包括以下步骤:S1:在入口物理层PHY或者数据链路层MAC上检测到PTP报文时,记录到达时间戳IngressTs,然后进行至步骤S2;S2:通过交换芯片解析PTP报文,并判断是否是Sync或者DelayReq报文,如果是,则将报文特征信息和驻留时间存储到交换芯片的FIFO队列中,且由出口PHY/MAC记录离开时间戳EgressTs到交换芯片的FIFO队列中,然后进行至步骤S4,否则进行至步骤S3;S3:通过交换芯片判断PTP报文是否是FollowUp或者DelayResp报文,如果是,则根据报文特征信息查找FIFO以获取驻留时间,并将驻留时间修改到报文校正域,然后将处理后的PTP报文转发至PHY/MAC并进行至步骤S4,否则交换芯片直接将PTP报文转发至出口PHY/MAC,并进行至步骤S4;S4:通过出口PHY/MAC发送报文。2.根据权利要求1所述的方法,其特征在于,在步骤S2中,解析PTP报文包括:根据PTP报文的特征,解析PTP报文的类型、域编号、源端口标识符以及序列号。3.根据权利要求1所述的方法,其特征在于,在步骤S2中,如果是Sync或者Dela...

【专利技术属性】
技术研发人员:蒋华李占斌
申请(专利权)人:昆高新芯微电子江苏有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1