时钟同步方法和装置与流程

未命名 07-14 阅读:132 评论:0


1.本发明涉及网络通信技术,特别是涉及一种时钟同步方法和装置。


背景技术:

2.当前芯片堆叠系统中精确时间协议(precision time protocol,ptp)tc的时钟同步机制有以下几种典型方案:
3.(1)分离式芯片的各个芯片无法保证统一上电,也不进行芯片间的内部时间同步。此时在每一个芯片内部各自维护各自的本地时间戳,每一个芯片根据本地的出方向时间戳减去入方向时间戳,得到本芯片内部的驻留时间δt,对于各个芯片内部互联的端口线上时延,在各个端口上静态配置(静态配置值可能另有机制得到,可能定期更新,但不可能实时准确)进行静态补偿。
4.这种方法各个芯片各自独立,因此配置简单。此方案芯片的时间戳仅需各自维护,保证各个芯片本地出口时间减去入口时间得到的驻留时间计量单位为ns即可。通常这种方法的老芯片不支持基于tod时间的堆叠系统内时间同步。其缺点在于,补偿值由于是静态配置,因而无法体现出端口上器件引起的抖动,时间精度相对会差一些。
5.(2)各个芯片无法保证统一上电,但会实时进行芯片间的内部时间同步。典型应用在背板框内,时钟卡通过背板走线,实时向各个业务芯片广播时钟信息,使得各个芯片间时间基本一致。
6.此时计算驻留时间只需要用原始cf值减去入口芯片的入方向时间戳,在出口芯片上再将出方向时间戳加进cf,就能完整得到出入整个堆叠系统的驻留时间了。
7.这种方法精度较好,其缺点在于,需要有统一的时钟卡进行芯片间的时钟同步,各个芯片间需要有统一的时钟同步线,或者内部同步机制,因此不便于扩展。


技术实现要素:

8.本发明实施例所要解决的技术问题是,如何解决现有ptp tc时钟同步机制存在的时间精度低,或者系统扩展差的问题。
9.为了解决上述的技术问题,本发明实施例提供了一种时钟同步方法,应用于芯片堆叠系统的堆叠端口,其中包括:于入方向端口表上,预设一第一字段;所述第一字段定义入方向连接的对端芯片是否是支持同步域的芯片;以及,于出方向端口表上,预设一第二字段;所述第二字段定义出方向连接的对端芯片是否是支持同步域的芯片;根据所述第一字段和所述第二字段的逻辑组合,选择对ptp报文的cf值进行更新,以适配同步域或非同步域的芯片堆叠系统。
10.上述的时钟同步方法中,所述根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新,包括:当所述第一字段和所述第二字段均为否,则计算本芯片的驻留时间,并加到ptp报文的cf值。
11.上述的时钟同步方法中,所述根据所述第一字段和所述第二字段,选择对ptp报文
的cf值进行更新,包括:当所述第一字段为否,且所述第二字段为是,则计算ptp报文的cf值减去入方向时间戳,并更新到ptp报文的cf值中。
12.上述的时钟同步方法中,所述根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新,包括:当所述第一字段为是,且所述第二字段为否,则计算ptp报文的cf值加上出方向时间戳,并更新到ptp报文的cf值中。
13.上述的时钟同步方法中,所述根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新,包括:当所述第一字段和所述第二字段均为是,则保持ptp报文的cf值不变。
14.为了解决上述的技术问题,本发明实施例还提供了一种时钟同步装置,应用于芯片堆叠系统的堆叠端口,包括:设置单元,用于于入方向端口表上,预设一第一字段;所述第一字段定义入方向连接的对端芯片是否是支持同步域的芯片;以及,于出方向端口表上,预设一第二字段;所述第二字段定义出方向连接的对端芯片是否是支持同步域的芯片;以及,处理单元,用于根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新。
15.上述的时钟同步装置中,所述处理单元用于:当所述第一字段和所述第二字段均为否,则计算本芯片的驻留时间,并加到ptp报文的cf值。
16.上述的时钟同步装置中,所述处理单元用于:当所述第一字段为否,且所述第二字段为是,则计算ptp报文的cf值减去入方向时间戳,并更新到ptp报文的cf值中。
17.上述的时钟同步装置中,所述处理单元用于:当所述第一字段为是,且所述第二字段为否,则计算ptp报文的cf值加上出方向时间戳,并更新到ptp报文的cf值中。
18.上述的时钟同步装置中,所述处理单元用于:当所述第一字段和所述第二字段均为是,则保持ptp报文的cf值不变。
19.本发明针对现有技术中的问题,通过对对端芯片进行角色定义,并在入方向端口和出方向进行端口配置,从而可以根据对应的预设字段的组合逻辑,选择对ptp报文的cf值进行更新,进而自适应实现对可实时进行芯片间内部时间同步的同步域的适配,或者对基于本地时间进行时延计算的非同步域的同步。本发明支持不同同步类型芯片的混合相连,配置简单,极大地提高了系统兼容性。
附图说明
20.图1是本实施例时钟同步方法的一种应用环境拓扑示意图。
具体实施方式
21.现有技术中,芯片堆叠系统中,ptp tc的时钟同步机制主要包括两种方式,一是在每一个芯片内部各自维护各自的本地时间戳,每一个芯片根据本地的出方向时间戳减去入方向时间戳,得到本芯片内部的驻留时间δt,对于各个芯片内部互联的端口线上时延,在各个端口上静态配置进行静态补偿;另一种是实时进行芯片间的内部时间同步,实时向各个业务芯片广播时钟信息,使得各个芯片间时间基本一致。
22.然而这两种方法各有缺陷。第一种方式时间精度相对较差,而第二种精度较好,但需要有统一的时钟卡进行芯片间的时钟同步,各个芯片间需要有统一的时钟同步线,或者内部同步机制,因此不便于扩展。
23.本发明针对现有技术中的问题,通过对对端芯片进行角色定义,并在入方向端口和出方向进行端口配置,从而可以根据对应的预设字段的组合逻辑,选择对ptp报文的cf值进行更新,进而自适应实现对可实时进行芯片间内部时间同步的同步域的适配,或者对基于本地时间进行时延计算的非同步域的同步。本发明支持不同同步类型芯片的混合相连,配置简单,使得交换芯片在堆叠环境下,可以支持统一的时间戳同步,并且还能和老式分离式芯片进行混合连接,极大地提高了兼容性。
24.为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
25.实施例1
26.本发明实施例的一种时钟同步方法,可应用于通过ptp进行时间同步的芯片堆叠系统中,芯片支持ptp 1-step透明时钟(transparent clock,tc),并可接收来自普通时钟(ordinary clock,oc)的sync同步报文。ptp sync报文中存在两个字段ts和cf。其中ts字段为tod(time-of-day)格式(s+ns),48位+32位,ns到达10^9会归0并向秒位进位。cf字段为纯ns格式(48位,取值区间[0,2^48-1])。具体来说,所述时钟同步方法包括:
[0027]
步骤s101,于入方向端口表上,预设一第一字段;
[0028]
所述入方向端口表以端口号为索引,可以是物理端口表,也可以是通过port结合报文vlan等信息映射出索引的逻辑端口表。所述第一字段s1定义入方向连接的对端芯片是否是支持同步域的芯片,所述支持同步域的芯片为本身即有支持同步域的功能,且启用了该功能的芯片;而不支持同步域的芯片可以是本身没有对同步域支持功能的芯片,或者具有该功能,但在实际应用中未启用该功能。所述支持同步域的功能,是指是否能够支持驻留时间更新,如果不能支持,则表明对端是背景技术中(1)的分离式芯片;如果能支持,则为背景技术中(2)的可实现各芯片间内部时间同步的芯片。如果入端口为堆叠端口且对端相连的是支持端到端驻留时间更新的芯片,则第一字段s1置为1,否则置为0。
[0029]
可以理解的是,本发明实施例芯片堆叠系统的堆叠端口,因此如果是非堆叠端口,则所述第一字段s1不置位。
[0030]
步骤s102,于出方向端口表上,预设一第二字段;
[0031]
所述出方向端口表以端口号为索引,可以是物理端口表,也可以是通过port结合报文vlan等信息映射出索引的逻辑端口表。所述第二字段s2定义出方向连接的对端芯片是否是支持驻留时间更新的芯片,也就是是否是支持且启用了同步域功能的芯片。如果出端口为堆叠端口且对端相连的是支持端到端驻留时间更新的芯片,则第二字段s2置为1,否则置为0。
[0032]
可以理解的是,本发明实施例芯片堆叠系统的堆叠端口,因此如果是非堆叠端口,则所述第二字段s2不置位。
[0033]
步骤s103,根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新。
[0034]
当ptp sync报文进入入方向芯片,并且若出口跨芯片,将进入另一芯片处理,则将s1携带在堆叠头中,并判断是否需要将驻留时间更新到ptp sync报文的cf字段中。
[0035]
此时,可以通过拼接操作符{s1,s2}的组合逻辑,确定cf值更新动作:(1)当{s1,s2}=2’b00,即第一字段s1和第二字段s2均等于0时,判定入方向连接的对端芯片以及出方向连接的对端芯片均为不支持同步域功能的芯片。由于不支持同步域功能的芯片,如分离
式芯片,是基于本地时间进行时延计算,无法跨设备计算cf应加时延,因此此时计算本芯片的驻留时间(tegress-tingress),并加到报文的cf值中,即cfnew=cfold+tegress-tingress。驻留时间以ns为单位计量。
[0036]
在实际应用中,实际部署会有端口上的path delay带正负的校正值,作为端口上的独立可配置项目,可将path delay带正负的校正值可选地加减进cf。
[0037]
(2){s1,s2}=2’b01,即第一字段s1为0,第二字段s2为1时,判定入方向连接的对端芯片为不支持同步域的芯片,而出方向连接的对端芯片为支持同步域的芯片,此时将本芯片的入方向时间戳tingress减到报文的cf值中(cfnew=cfold-tingress),此处tingress要基于tod格式转换为纯ns格式。如图1所示,chipa,b,c,d是支持驻留时间更新的芯片(图中示以“new chip”),连续的“new chip”连接为新的堆叠环,成为内部同步域内的端到端机制;chipe,f是不支持驻留时间更新的芯片(图中示以“old chip”),与chipa,b,c,d的连接成为非内部同步域间的逐跳机制。以chipc为例,本芯片为堆叠环的上环节点,当收到来自oc3的ptp sync报文时,以cfold-tingress更新到cfnew即可。
[0038]
(3){s1,s2}=2’b11,即第一字段s1和第二字段s2均为1时,则判定入方向和出方向对端的芯片均为支持同步域的芯片,此时保持cf值不变。如图1所示,当chipa接收到来自chipc的ptp sync报文,或者chipb接收到来自chipa的ptp sync报文并发往chipd时,由于均为同属一个同步域内的芯片,因此此时保持ptp报文中的cf不变即可。
[0039]
(4){s1,s2}=2’b10,即第一字段s1为1,第二字段s2为0时,判定入方向连接的对端芯片为支持同步域的芯片,而出方向连接的对端芯片为不支持同步域的芯片。此时将本芯片的入方向时间戳tegress加入报文的cf值中(cfnew=cfold+tegress)。如图1所示,chipd为下环节点,当接收到来自chipb的ptp sync报文,并发往oc4时,此时加上chipd出方向时间戳tegress,就能得到从同步域内chip c入口到chip d出口的时延,从而完成cf的更新。
[0040]
本实施例结合端口配置的role定义,和对应的{s1,s2}组合逻辑,提供内部同步域内的端到端计算机制,以及非内部同步域间的逐跳计算机制。通过本实施例,使得交换芯片在堆叠环境下,可以支持统一的时间戳同步,并且还能和老的分离式芯片进行混合连接,极大地提高了兼容性。
[0041]
实施例二
[0042]
为了解决现有技术中的问题,本实施例还公开了一种时钟同步装置,具体来说,包括:
[0043]
设置单元,用于于入方向端口表上,预设一第一字段;所述第一字段定义入方向连接的对端芯片是否是支持同步域的芯片;以及,于出方向端口表上,预设一第二字段;所述第二字段定义出方向连接的对端芯片是否是支持同步域的芯片;以及,处理单元,用于根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新。
[0044]
在具体实施中,所述处理单元用于:当所述第一字段和所述第二字段均为否,则计算本芯片的驻留时间,并加到ptp报文的cf值。
[0045]
在具体实施中,所述处理单元用于:当所述第一字段为否,且所述第二字段为是,则计算ptp报文的cf值减去入方向时间戳,并更新到ptp报文的cf值中。
[0046]
在具体实施中,所述处理单元用于:当所述第一字段为是,且所述第二字段为否,
则计算ptp报文的cf值加上出方向时间戳,并更新到ptp报文的cf值中。
[0047]
在具体实施中,所述处理单元用于:当所述第一字段和所述第二字段均为是,则保持ptp报文的cf值不变。
[0048]
本领域技术人员可以理解的是,本实施例的一种时钟同步装置与实施例一的时钟同步方法为基于同一发明构思,因此关于相关本实施例的内容可以参照前文相应内容处,此处不再赘述。
[0049]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。
[0050]
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

技术特征:
1.一种时钟同步方法,其特征在于,应用于芯片堆叠系统的堆叠端口,包括:于入方向端口表上,预设一第一字段;所述第一字段定义入方向连接的对端芯片是否是支持同步域的芯片;以及,于出方向端口表上,预设一第二字段;所述第二字段定义出方向连接的对端芯片是否是支持同步域的芯片;根据所述第一字段和所述第二字段的逻辑组合,选择对ptp报文的cf值进行更新,以适配同步域或非同步域的芯片堆叠系统。2.如权利要求1所述的时钟同步方法,其特征在于,所述根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新,包括:当所述第一字段和所述第二字段均为否,则计算本芯片的驻留时间,并加到ptp报文的cf值。3.如权利要求1所述的时钟同步方法,其特征在于,所述根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新,包括:当所述第一字段为否,且所述第二字段为是,则计算ptp报文的cf值减去入方向时间戳,并更新到ptp报文的cf值中。4.如权利要求1所述的时钟同步方法,其特征在于,所述根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新,包括:当所述第一字段为是,且所述第二字段为否,则计算ptp报文的cf值加上出方向时间戳,并更新到ptp报文的cf值中。5.如权利要求1所述的时钟同步方法,其特征在于,所述根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新,包括:当所述第一字段和所述第二字段均为是,则保持ptp报文的cf值不变。6.一种时钟同步装置,其特征在于,应用于芯片堆叠系统的堆叠端口,包括:设置单元,用于于入方向端口表上,预设一第一字段;所述第一字段定义入方向连接的对端芯片是否是支持同步域的芯片;以及,于出方向端口表上,预设一第二字段;所述第二字段定义出方向连接的对端芯片是否是支持同步域的芯片;以及,处理单元,用于根据所述第一字段和所述第二字段,选择对ptp报文的cf值进行更新。7.如权利要求6所述的时钟同步装置,其特征在于,所述处理单元用于:当所述第一字段和所述第二字段均为否,则计算本芯片的驻留时间,并加到ptp报文的cf值。8.如权利要求6所述的时钟同步装置,其特征在于,所述处理单元用于:当所述第一字段为否,且所述第二字段为是,则计算ptp报文的cf值减去入方向时间戳,并更新到ptp报文的cf值中。9.如权利要求6所述的时钟同步装置,其特征在于,所述处理单元用于:当所述第一字段为是,且所述第二字段为否,则计算ptp报文的cf值加上出方向时间戳,并更新到ptp报文的cf值中。10.如权利要求6所述的时钟同步装置,其特征在于,所述处理单元用于:当所述第一字段和所述第二字段均为是,则保持ptp报文的cf值不变。

技术总结
本发明公开了一种时钟同步方法和装置,其中,所述时钟同步方法包括:于入方向端口表上,预设一第一字段;所述第一字段定义入方向连接的对端芯片是否是支持同步域的芯片;以及,于出方向端口表上,预设一第二字段;所述第二字段定义出方向连接的对端芯片是否是支持同步域的芯片;根据所述第一字段和所述第二字段的逻辑组合,选择对PTP报文的CF值进行更新,以适配同步域或非同步域的芯片堆叠系统。通过所述装置和方法,可以解决现有PTP TC时钟同步机制存在的时间精度低,或者系统扩展差的问题。或者系统扩展差的问题。或者系统扩展差的问题。


技术研发人员:龚海东 蒋震 姚佳毅
受保护的技术使用者:苏州盛科通信股份有限公司
技术研发日:2021.12.30
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐