获取时间戳的方法、时间的同步系统与流程

文档序号:20999148发布日期:2020-06-05 22:29阅读:689来源:国知局
获取时间戳的方法、时间的同步系统与流程

本申请涉及通信领域,具体而言,涉及一种获取时间戳的方法、时间的同步系统。



背景技术:

在相关技术中,时间传递技术在承载网中由来已久,从2008年第一版1588v2标准面世以来,承载设备已经支持了时间传递的技术,但由于之前的标准对于时间传递的精度要求不高,所以承载网的时间传递技术一直没有大面积应用。

进入第5代移动通信系统5g技术之后,在承载网系统中,高精度的时间传递成为一个新的主流需求,近些年一些高精度时间传递技术方案的推出,使得承载网时间传递的技术可以得到大面积应用。各种不同的方式可以用以提高承载设备的时间精度。和普通高精度比较起来,高精度的一个显著变化就是打时间戳的位置尽量靠近与物理phy层,以减少设备内部的抖动引起的时延,从而增加时间戳的精度。但是如何提高这个精度,不同厂商提出了不同的技术方案。

flexe指灵活以太网技术(flexethernet),其目的是把eth业务和物理通道隔离开来,为此在传统eth的mac和pcs层之间增加了一个flexeshim层。图1是根据相关技术中的flexe的各部分之间的关系示意图,如图1所示:flexegroup包含1-n个以太网phy;flexeclient对应业务流,flexeshim实现了flexeclient和flexegroup之间的映射/解映射功能,从而client的速率不再需要和phy的速率一一对应。

图2是根据相关技术中的flexe复用结构图,图3是根据相关技术中的flexe解复用结构图,如图2和图3所示,802.3的eth层次结构和flexe层次结构的关系如图,flexeshim层进行64/66bit编码,idle帧插入,overhead插入,phy分发,pcs层进行扰码/lane分发,am码插入的处理。在flexe层面插入的开销用来携带一些控制信息,图4是根据相关技术中的flexe开销结构示意图,如图4所示,flexe开销结构由8*66bit的复帧结构组成,其中后面5个66bit块用来存放各种管理信息。

针对相关技术中确定时间戳的方案的精确度较低的问题,目前还没有有效的解决方案。



技术实现要素:

本申请实施例提供了一种获取时间戳的方法、时间的同步系统,以至少解决相关技术中确定时间戳的方案的精确度较低的问题。

根据本申请的一个实施例,提供了一种获取时间戳的方法,包括:第一设备为待发送至第二设备的第一报文设置第一标记;在所述第一设备的物理编码子层pcs层检测到所述第一标记时,获取当前时刻t1为发送所述第一报文的发送时间戳。

根据本申请文件的另一个实施例,还提供了第二设备接收第一设备发送的第一报文,其中所述第一报文为flexe开销块格式;记录所述第二设备的pcs层接收到所述第一报文第一个开销块的第一个66bit的时间t2,确定所述t2为接收所述第一报文的接收时间戳。

根据本申请文件的另一个实施例,还提供了一种时间的同步系统,包括:第一设备为待发送至第二设备的第一报文设置第一标记,在所述第一设备的pcs层检测到所述第一标记时,确定当前时刻t1,并反馈所述t1至所述第二设备;第二设备接收所述第一设备发送的第一报文,确定接收到所述第一报文的时刻为t2时刻;所述第二设备为待发送至所述第一设备的第二报文设置第二标记,在所述第二设备的pcs层检测到所述第二标记时,确定当前时刻t3;所述第一设备接收所述第二报文,确定接收到所述第二报文的时刻为t4时刻,并反馈至所述第二设备;所述第二设备依据所述t1、t2、t3、t4进行时间同步。

根据本申请的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本申请,第一设备为待发送至第二设备的第一报文设置第一标记;在所述第一设备的物理编码子层pcs层检测到所述第一标记时,获取当前时刻t1为发送所述第一报文的发送时间戳,采用上述技术方案,将第一报文的时间戳位置下沉到pcs层,通过在pcs层进行时间戳处理,后续不确定时延大大减少,解决了相关技术中确定时间戳的方案的精确度较低的问题,极大地提高了时戳处理的准确度,增加了系统的时间同步精度。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据相关技术中的flexe的各部分之间的关系示意图;

图2是根据相关技术中的flexe复用结构图;

图3是根据相关技术中的flexe解复用结构图;

图4是根据相关技术中的flexe开销结构示意图;

图5是本申请实施例的一种获取时间戳的方法的通信设备的硬件结构框图;

图6是根据本申请实施例的一种获取时间戳的方法的流程图;

图7是根据本申请文件的发送系统和接收系统的结构示意图;

图8是根据本申请文件的e2e的时间信息交互图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例一

本申请实施例一所提供的方法实施例可以在通信设备或者类似的运算装置中执行。以运行在通信设备上为例,图5是本申请实施例的一种获取时间戳的方法的通信设备的硬件结构框图,如图5所示,通信设备50可以包括一个或多个(图5中仅示出一个)处理器502(处理器502可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器504,可选地,上述通信设备还可以包括用于通信功能的传输装置506以及输入输出设备508。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述通信设备的结构造成限定。例如,通信设备50还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。

存储器504可用于存储应用软件的软件程序以及模块,如本申请实施例中的一种时间的同步方法对应的程序指令/模块,处理器502通过运行存储在存储器504内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器504可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器504可进一步包括相对于处理器502远程设置的存储器,这些远程存储器可以通过网络连接至通信设备50。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括通信设备50的通信供应商提供的无线网络。在一个实例中,传输装置506包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置506可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述通信设备的一种时间的同步方法,图6是根据本申请实施例的一种获取时间戳的方法的流程图,如图6所示,该流程包括如下步骤:

步骤s602,第一设备为待发送至第二设备的第一报文设置第一标记;

步骤s604,在所述第一设备的物理编码子层pcs层检测到所述第一标记时,获取当前时刻t1为发送所述第一报文的发送时间戳。

物理编码子层(physicalcodingsublayer,简称为pcs)。

本申请文件的第一报文和第二报文可以是点对点报文(pointtopoint,简称为ptp)。

通过上述步骤,第一设备为待发送至第二设备的第一报文设置第一标记;在所述第一设备的物理编码子层pcs层检测到所述第一标记时,获取当前时刻t1为发送所述第一报文的发送时间戳,采用上述技术方案,将第一报文的时间戳位置下沉到pcs层,通过在pcs层进行时间戳处理,后续不确定时延大大减少,解决了相关技术中确定时间戳的方案的精确度较低的问题,极大地提高了时戳处理的准确度,增加了系统的时间同步精度。

可选地,第一设备为待发送至第二设备的第一报文设置第一标记,包括:所述第一设备将所述第一报文构造为flexe开销块格式,其中,所述flexe开销块格式为8*66bit;将所述第一报文的第一开销块的第一个66bit打上第一标记。

可选地,将所述第一报文的第一开销块的第一个66bit打上第一标记之后,通过增加信号线的方式传输所述第一标记。

可选地,所述第一报文为followup报文。

可选地,在所述第一设备的物理编码子层pcs层检测到所述第一标记时,获取当前时刻为发送所述第一报文的发送时间戳之后,包括以下之一:将所述t1打入到sync报文发送至所述第二设备,其中,所述第一报文为所述sync报文;或者,在发送所述第一报文之后,将所述t1通过followup报文发送至所述第二设备。

根据本申请文件的另一个实施例,还提供了一种获取时间戳的方法,包括以下步骤:

步骤一,第二设备接收第一设备发送的第一报文,其中所述第一报文为flexe开销块格式;

步骤二,记录所述第二设备的pcs层接收到所述第一报文第一个开销块的第一个66bit的时间t2,确定所述t2为接收所述第一报文的接收时间戳。

通过上述步骤,将第一报文的时间戳位置下沉到pcs层,通过在pcs层进行时间戳处理,后续不确定时延大大减少,解决了相关技术中确定时间戳的方案的精确度较低的问题,极大地提高了时戳处理的准确度,增加了系统的时间同步精度。

可选地,第二设备接收第一设备发送的第一报文,还包括以下之一:

所述第二设备在所述第一报文中接收到所述第一报文的发送时间戳t1;所述第二设备在接收到所述第一报文之后,在followup报文中接收到所述第一报文的发送时间戳t1。

下面结合本申请文件的另一个实施例进行说明。

相关技术中的普通高精度的ptp报文在mac层生成并在mac层获取时间戳。由于mac之后的flexe和pcs层还进行了一系列的处理,引入了链路时延,链路相差,fifo缓存时延等不确定因素。如果打时戳的位置在这些不确定时延之上,则时戳的精确度会大大降低。

本申请提供了一种将flexe时间戳位置下沉到pcs层的方法。通过在pcs层进行时戳处理,极大的提高了时戳处理的准确度,增加了系统的时间同步精度。

本发明提供一种适用于flexe接口的高精度时间传递的方法,可以应用于如下系统:完整的最小系统由两个设备组成,每个设备由发送系统和接收系统组成,图7是根据本申请文件的发送系统和接收系统的结构示意图,如图7所示,发送系统和接收系统又分为ptp处理模块,flexe处理模块,pcs处理模块等几个关键模块。

ptp处理模块位于mac层之上,负责ptp报文的生成和终结;

flexe处理模块在flexe的shim层,负责flexe的业务和开销处理。

pcs处理模块位于pcs层,负责识别ptp报文并且生成时间戳。

发送方向处理:

步骤11、在发送侧,ptp处理模块负责构造完整的eth格式的ptp报文,并将其转换为图4所示8*66bit的flexe开销块格式,发送给flexe的开销处理模块。由于一个ptp报文长度可能在一个开销块中承载不下,所以一个ptp报文可能会分解到多个flexe的开销块中进行传递。每个开销块独立发送到flexe处理模块。

步骤12、flexe模块按照flexeshim层的标准处理原则,将ptp模块插入的8*66bit开销块分解为多个66bit块间插到phy上去。为了实现时戳的下沉处理,在标准的处理流程之外,flexe模块需要做一个特殊处理:flexe模块接收到ptp模块传递过来的携带ptp报文的第一个开销块时,对这个开销块的第一个66bit块进行标记,标记做为随路信号传递到phy的pcs层。这个标记可以通过增加信号线的方式进行传递,也可以采用其他方式进行传递。

步骤13、在pcs层检测到这个携带了随路标记的66bit块后,记录这个66bit块在pcs层发送时的时间戳信息,做为这个ptp报文的发送时间戳。如果使用的是一步法,直接将时间戳信息打入到对应的ptp报文体中;如果使用的是两步法,则pcs层返回时间戳信息给ptp处理模块做后续处理。此位置记录的时间戳信息是真正的靠近物理层的时间戳,其后续的处理基本没抖动时延存在。

步骤14、当采用一步法的时候,每一个ptp报文重复上述步骤独立发送并且在pcs层进行时间戳的采集和打入。

步骤15、当采用两步法的时候,ptp处理模块发送后续的followup报文的时候,将这个时间戳信息打入到followup报文体中,做为t1时间戳,再通过前述方式发送给对端设备。

步骤16、对端反馈的delay_req报文时,采用与上述步骤11-13相同的步骤,参见附图8。

步骤17、通过这种在flexe层面做标记,在pcs层记录时戳的方式,可以实现发送侧的时间戳下沉处理,提高时间戳的精度。

接收方向处理:

步骤21、接收侧在进行pcs层处理的时候,对每一个接收到的66bit块记录时间戳信息。

步骤22、66bit块的接收时间戳信息随路上传到flexe的处理模块。

步骤23、flexe处理模块终结开销信息中的ptp报文切片,并且携带ptp报文所在的第一个开销块的第一个66bit时间戳信息上传给ptp处理模块。

步骤24、ptp处理模块接收到完所有的ptp报文切片,完成ptp报文的组装,将ptp报文的第一个切片携带的时间戳信息做为此报文的接收时间戳信息。

步骤25、对于一步法,各个报文重复上述步骤21-23,对于两步法,接收端从followup报文中取出对应的时间戳信息做为t1的接收时间戳信息。

通过这种方式,可以在pcs层实现对报文的时间戳的插入和提取,从而提高了时间的处理精度。

下面讲解bc-bc模型下,按照e2e的两步法进行flexe高精度时间处理的例子,图8是根据本申请文件的e2e的时间信息交互图,如图8所示:

master端发送方向:

步骤31、ptp处理模块构造sync报文,并且把sync报文分解为多个flexe的8*66bit块结构发送到flexe处理模块。

步骤32、flexe处理模块检测到来自于ptp模块的开销插入信息,在收到携带sync报文的第一个开销块的第一个66bit的时候,对这个66bit块进行标记并且将这个66bit块以及随路标记发送到pcs层。

步骤33、在pcs层检测到携带随路标记的这个66bit块后,记录相应的发送时间戳信息t1,发送sync报文给slave设备,并返回记录的时间戳信息给ptp报文处理模块。可选地,如果是一步法,则直接在该sync报文中加入时间戳信息。

步骤34、ptp模块记录这个时间戳信息,在发送下一个followup报文的时候,将这个时间戳信息也就是t1时间打入到followup报文体中,再通过上述方式发送给对端接收设备。以实现两步法的发送处理;

slave端接收处理:

步骤41、slave接收设备在进行pcs层处理的时候,对每一个接收到的66bit块记录时间戳。

步骤42、66bit块的接收时间戳信息随路上传到flexe的开销处理模块。

步骤43、开销处理模块接收到8*66bit开销信息,也就是完整的flexe开销复帧后,上传给ptp处理模块,同时携带这个开销块的第一个66bit块的时间戳信息上送。

步骤44、ptp模块进行多个flexe开销的拼接处理,当识别到sync报文后,记录sync所在的第一个开销块的接收时间戳信息做为t2时间。当识别到followup报文后,记录followup所在的第一个开销块的接收时间戳信息作为t1时间。

步骤45、slave端发送应答报文delay_req报文,流程和master端发送sync报文类似,携带随路标记的delay_req报文的第一个开销块的第一个66bit块在pcs层被识别,pcs层记录发送的时间戳信息被返回给ptp模块。ptp报文记录这个时间戳信息作为t3时间。

master端接收处理

步骤51、master接收端在进行pcs层处理的时候,对每一个接收到的66bit块记录时间戳。

步骤52、66bit块的接收时间戳信息随路上传到flexe的开销处理模块。

步骤53、开销处理模块接收到8*66bit开销信息,也就是完整的flexe开销复帧后,上传给ptp处理模块,同时携带这个开销块的第一个66bit块的时间戳信息上送。

步骤54、ptp模块模块进行多个flexe开销的拼接处理,当识别到delay_req报文后,记录delay_req所在的第一个开销块的接收时间戳信息做为t4时间。

步骤55、master端发送应答报文delay_resp报文,将前面记录的t4时间戳信息打入到delay_resp报文体中,重复发送流程发送给slave端。

slave端接收处理

步骤61、slave端重复之前的接收流程,

步骤62、当ptp模块接收到delay_resp报文并且提取出其中的t4时间戳后,slave端就可以利用业界已知的公式来计算相对于master端的时间偏移,从而实现和master之间的时间精度的调整。

通过上述方式,单设备精度可以达到5ns,极大的提高设备的时间同步精度。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

实施例二

在本实施例中还提供了一种获取时间戳的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

根据本申请文件的另一个实施例,还提供了一种获取时间戳的装置,应用于第一设备,包括:

设置模块,用于为待发送至第二设备的第一报文设置第一标记;

获取模块,用于在所述第一设备的物理编码子层pcs层检测到所述第一标记时,获取当前时刻t1为发送所述第一报文的发送时间戳。

采用上述方案,解决了相关技术中确定时间戳的方案的精确度较低的问题,极大地提高了时戳处理的准确度,增加了系统的时间同步精度。

根据本申请的另一个实施例,还提供了一种获取时间戳的装置,应用于第二设备,包括:

接收模块,用于接收第一设备发送的第一报文,其中所述第一报文为flexe开销块格式;

记录模块,用于记录所述第二设备的pcs层接收到所述第一报文第一个开销块的第一个66bit的时间t2,确定所述t2为接收所述第一报文的接收时间戳。

采用上述方案,解决了相关技术中确定时间戳的方案的精确度较低的问题,极大地提高了时戳处理的准确度,增加了系统的时间同步精度。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例三

根据本申请文件的另一个实施例,还提供了一种时间的同步系统,包括:

第一设备为待发送至第二设备的第一报文设置第一标记,在所述第一设备的pcs层检测到所述第一标记时,确定当前时刻t1,并反馈所述t1至所述第二设备;

第二设备接收所述第一设备发送的第一报文,确定接收到所述第一报文的时刻为t2时刻;

所述第二设备为待发送至所述第一设备的第二报文设置第二标记,在所述第二设备的pcs层检测到所述第二标记时,确定当前时刻t3;

所述第一设备接收所述第二报文,确定接收到所述第二报文的时刻为t4时刻,并反馈至所述第二设备;

所述第二设备依据所述t1、t2、t3、t4进行时间同步。

可选地,设置所述第一标记或第二标记的方式包括:

将待发送至对端的第三报文构造为flexe开销块格式,其中,所述flexe开销块格式为8*66bit;

将所述第三报文的第一开销块的第一个66bit打上所述第一标记或所述第二标记。

实施例四

本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,第一设备为待发送至第二设备的第一报文设置第一标记;

s2,在所述第一设备的物理编码子层pcs层检测到所述第一标记时,获取当前时刻t1为发送所述第一报文的发送时间戳。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输装置以及输入输出设备,其中,该传输装置和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,第一设备为待发送至第二设备的第一报文设置第一标记;

s2,在所述第一设备的物理编码子层pcs层检测到所述第一标记时,获取当前时刻t1为发送所述第一报文的发送时间戳。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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