一种时间同步的方法、设备及存储介质与流程

文档序号:20838739发布日期:2020-05-22 17:12阅读:314来源:国知局
本申请涉及网络通信技术,涉及但不限于一种时间同步的方法、设备及存储介质。
背景技术
::基于高精度时间同步协议(precisiontimeprotocol,ptp)包处理的1588时间同步技术在4g通信网络中广泛应用。运营商第四代(4generation,4g)商用网络的时间同步精度指标为:基本业务正负几个微秒,相邻单点设备间在正负25纳秒范围。而第五代(5generation,5g)通信网络有更高要求:基本业务正负1微秒,协同业务正负100纳秒,相邻单点设备间正负15纳秒。特别地,在5g集中式接入网络中,高密度基站端到端时间同步精度要求正负100纳秒,其中从远端射频模块天线单元(remoteradiounit,rru)到分布单元(distributedunit,du)的前传承载网络,单点间要求小于正负10纳秒。5g前传业务通常使用以太网口接入,因此接入以太网业务的通信设备需要解决高精度时间同步问题。而4g通信网中的以太网1588技术,决定同步精度的主要因素是ptp包收发时间戳,ptp包获得时戳的参考平面为以太网物理层(portphysicallayer,phy)与媒体访问控制层(mediaaccesscontrol,mac)接口,这样得到的时戳由于参考平面与物理接口间路径上的延时抖动会影响同步精度,从而无法满足5g高精度需求。技术实现要素:有鉴于此,本申请实施例提供一种时间同步的方法、设备及存储介质。本申请实施例的技术方案是这样实现的:本申请实施例提供一种时间同步的方法,所述方法包括:在接口串并转换器(serializerdeserializer,serdes)并行接口中搜索数据流中的与预设码型相匹配的同步块;确定所述同步块在所述serdes并行接口中的比特位的位置为第一位置;确定所述同步块中经过所述serdes并行接口的时刻点为第一时刻点;在phy层与mac层接口中搜索所述同步块和所述数据流中的ptp包,并确定所述同步块与所述ptp包之间的距离;根据所述第一位置、所述第一时刻点和所述距离,确定第二时刻点,所述第二时刻点为所述ptp包经过serdes串行接口的时刻点。本申请实施例提供一种时间同步的设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:处理器配置为执行存储的可执行指令,所述可执行指令配置为执行上述的时间同步的方法。本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述的时间同步的方法。本申请实施例提供一种时间同步的方法、设备及存储介质,首先,在serdes并行接口中搜索数据流中的与预设码型相匹配的同步块;然后,确定所述同步块在所述serdes并行接口中的比特位的位置为第一位置;确定所述同步块中经过所述serdes并行接口的时刻点为第一时刻点;在phy层与mac层接口中搜索所述同步块和所述数据流中的ptp包,并确定所述同步块与所述ptp包之间的距离;最后,根据所述第一位置、所述第一时刻点和所述距离,确定第二时刻点,所述第二时刻点为所述ptp包经过serdes串行接口的时刻点;如此,通过一个间接的方式,在serdes串行接口到phy层与mac层接口业务处理过程中,首先,得到同步块中的第一个比特在serdes并行接口的时戳、同步块在并行接口上的偏移位置,和phy层与mac层接口包头和同步块之间的距离,然后,基于这些参数,确定ptp包经过serdes串行接口的时刻点,从而有效的提升了同步精度,满足5g高精度需求。附图说明在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。图1为本申请实施例时间同步的方法的实现流程示意图;图2为本申请实施例另一种时间同步的方法的实现流程示意图;图3为本申请实施例又一种时间同步的方法的实现流程示意图;图4为本申请实施例实现时间同步的方法的装置的组成结构示意图;图5为本申请实施例时间同步的设备的组成结构示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。设备可以以各种形式来实施。例如,本申请中描述的设备可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等移动设备,以及诸如数字tv、台式计算机等固定设备。后续描述中将以移动设备为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本申请的实施方式的构造也能够应用于固定类型的设备。本申请实施例提供一种时间同步的方法,图1为本申请实施例时间同步的方法的实现流程示意图,如图1所示,所述方法包括以下步骤:步骤s101,在serdes并行接口中搜索数据流中的与预设码型相匹配的同步块。这里,所述预设码型可以是ieee802.3协议中规定的码型。所述步骤s101可以理解为,在serdes并行接口中,当搜索到同步块时,先判断该同步块码型是否与预设码型相匹配,如果匹配,那么将该同步块确定为要搜索的同步块。步骤s102,确定所述同步块在所述serdes并行接口中的比特位的位置为第一位置。这里,所述第一位置即同步块中的第一个比特在所述serdes并行接口中对应的比特位的位置。比如,同步块的第一个比特位于serdes并行接口中的第8位比特处。步骤s103,确定所述同步块中经过所述serdes并行接口的时刻点为第一时刻点。这里,所述第一时刻点可以理解为是,同步块的第一个比特经过serdes并行接口的时刻点。即当同步块的第一个比特经过serdes并行接口时,打时戳,将该时戳作为第一时刻点。步骤s104,在phy层与mac层接口中搜索所述同步块和所述数据流中的ptp包,并确定所述同步块与所述ptp包之间的距离。这里,所述phy层与mac层接口为phy层与mac层接口。所述在phy层与mac层接口中搜索所述同步块的方法包括两种:一是:如果所述数据流传输到phy层与mac层接口时,数据流中仍然包含该同步块,那么直接搜索同步块码型,如果同步块码型与预设码型相匹配,即为搜索到了所述同步块。二是:如果所述数据流传输到phy层与mac层接口时,数据流中已经不存在该同步块(比如,在业务处理过程中,在数据流中删除了该同步块),那么为了保证能够确定到同步块的位置信息,所以在数据流中删除该同步块时,需要保存同步块的第一个比特在数据总线中的位置信息,然后将该位置信息随着数据流一起传输到phy层与mac层接口;如此,即便在传输的过程中,数据流中删除了该同步块,由于已经将同步块的第一个比特在数据总线中的位置信息保存在数据流中,所以仍然可以在phy层与mac层接口搜索到该同步块的位置信息。所述同步块与所述ptp包之间的距离,可以理解为是ptp包的包头第一个比特与同步块中的第一个比特间隔的比特数。步骤s105,根据所述第一位置、所述第一时刻点和所述距离,确定第二时刻点,所述第二时刻点为所述ptp包经过serdes串行接口的时刻点。这里,所述第二时刻点为所述ptp包的第一个比特经过serdes串行接口的时刻点;所述步骤s105可以理解为是,根据在serdes并行接口和phy层与mac层接口中得到的第一时刻点、第一位置、距离等参数,然后构建一个数据模型,通过构建的数学模型来计算所述ptp包的第一个比特经过serdes串行接口的时刻点;这样能够较为准确的得到ptp包在serdes串行接口的时戳。在本申请实施例中,通过得到同步块的第一个比特在serdes并行接口的时戳、同步块在并行接口上的偏移位置,和phy层与mac层接口包头和同步块之间的距离,然后基于这些参数,确定ptp包经过serdes串行接口的时刻点,从而在不牺牲搜索代价的基础上,通过间接的方式获取ptp包经过serdes串行接口的时刻点,从而提高同步精度。本申请实施例提供一种时间同步的方法,图2为本申请实施例另一种时间同步的方法的实现流程示意图,如图2所示,所述方法包括以下步骤:步骤s201,在serdes并行接口中搜索数据流中的与预设码型相匹配的同步块。步骤s202,确定所述同步块中的第一个比特在所述serdes并行接口中对应的比特位的位置为第一位置。这里,所述步骤s202可以理解为,当搜索到同步块之后,再确定同步块中的第一个比特经过serdes并行接口的时刻点,以及该同步块的第一个比特在serdes并行接口中的比特位的位置。步骤s203,确定所述同步块中的第一个比特经过所述serdes并行接口的时刻点为第一时刻点。步骤s204,确定所述同步块的第一个比特在所述phy层与mac层接口中对应的比特位的位置为第二位置。这里,首先在phy层与mac层接口中搜索到满足预设码型的同步块,然后再确定该同步块的第一个比特在所述phy层与mac层接口中对应的比特位的位置。步骤s205,确定所述ptp包的第一个比特在所述phy层与mac层接口中对应的比特位的位置为第三位置。这里,首先确定ptp包的包头,然后确定该ptp包的包头在所述phy层与mac层接口中对应的比特位的位置。步骤s206,根据所述第二位置和所述第三位置,确定所述同步块的第一个比特与所述ptp包的第一个比特之间间隔的比特数。这里,通过该同步块的第一个比特在所述phy层与mac层接口中对应的比特位的位置和该ptp包的包头ptp包的包头在所述phy层与mac层接口中对应的比特位的位置,确定同步块的第一个比特与ptp包的第一个比特之间间隔的比特数。步骤s207,将所述间隔的比特数确定为所述同步块与所述ptp包之间的距离。步骤s208,将所述距离对应的比特数分别按照m个预设比例调整,将得到的m个调整后的数值作为数值集。这里,m为大于1的整数,所述距离对应的比特数即是同步块的第一个比特与ptp包的第一个比特之间间隔的比特数,比如,在phy层与mac层接口的100ge介质无关接口(100gigabitmediaindependentinterface,cgmii)搜索包头的第一个比特,累加器计算ptp包头的第一个比特与同步块中的第一个比特间隔比特数。由于cgmii接口上是以64比特(bit)块为单位,所以将ptp包头的第一个比特与同步块中的第一个比特间隔比特数以64bit为单位进行表示,可以表示为n。所述数值集,可以包含多个数,比如,当mii(改为mii,mii表示介质无关接口,cg表示速率为100ge,gmii表示速率为1ge)接口的类型是cgmii接口,当serdes串行接口到phy层与mac层接口本身的业务的处理过程中包含里所码(reed-solomon,rs)(544,514)前向纠错码(forwarderrorcorrection,fec)编解码时,数值集中包含的参数可以是:将所述距离对应的比特数n按照预设比例调整,对于n/4=a的结果取整,得到a;对于nmod4=b的结果取余,得到b;然后,定义temp=257*a+64*b+1+(a/20)*300;对temp/40=c的结果取整,得到c,对tempmod40=d的结果取余,得到d;然后对于d/10=e的结果取整,得到e,对于dmod10=f的结果取余,得到f。步骤s209,从所述调整后的数值集中,确定与phy层与mac层接口中mii接口的类型相匹配的匹配比特数。这里,所述mii接口的类型是由ieee802.3协议规定的,比如,如cgmii,25gmii等。当mii接口的类型是cgmii接口时,从数值集中确定与cgmii接口匹配的匹配比特数,将数值集中的c和f确定出来,并且根据ieee802.3协议的规定,对c和f进行一定的数学的计算,比如,将(c*10+f)作为匹配比特数。步骤s210,根据所述匹配比特数、所述第一时刻点和所述第一位置,确定所述第二时刻点。在本申请实施中,通过一个间接的方式,在第一位置到phy层与mac层接口本身的业务处理过程中,将比特流的分发和变化的过程用数学模型表示出来,通过搜集到的信息,将同步块中的第一个比特在serdes并行接口的时戳、同步块在并行接口上的偏移位置,和phy层与mac层接口包头和同步块之间的距离,通过流量模型计算,间接的计算得到ptp包在serdes串行接口的时戳,最后得到的是ptp包头在serdes串行接口的时戳;如此,提高了以太网时戳的精度,满足相邻单点设备间对时精度满足5g高精度时间同步的需求。在其他实施例中,所步骤s203,确定所述同步块中的第一个比特经过所述serdes并行接口的时刻点为第一时刻点,可以通过以下过程实现:首先,将采用计时时钟的上升沿确定的所述同步块中的第一个比特经过所述serdes并行接口的时刻点,确定为第三时刻点。然后,将采用计时时钟的下升沿确定的所述同步块中的第一个比特经过所述serdes并行接口的时刻点,确定为第四时刻点。最后,将所述第三时刻点和第四时刻点中的较小值,作为所述同步块中的第一个比特经过所述serdes并行接口的时刻点。即,通过比较计时时钟的上升沿和下降沿分别得到的计时时刻点,取二者中的较小值,作为第一时刻点,这样使得到的第一时刻点更精确。在本实施例中,在确定同步块中的第一个比特经过所述serdes并行接口的时刻点时,分别采用计时时钟的上升沿和下降沿来进行计时,然后将其中的较小值,作为最终结果,这样能够有效降低由于时钟计时引起的时刻误差。在其他实施例中,所述步骤s210,可以通过以下步骤实现:步骤a,将预设比特数按照所述第一位置对应的比特数进行调整,得到第一比特数。这里,所述预设比特数为所述serdes并行接口的位宽;比如,根据ieee802.3协议的规定serdes并行接口对应的比特数为40bit,所述第一位置为m,那么匹配比特数可以是(40-m)。步骤b,根据所述匹配比特数和所述第一比特数,确定第二比特数。这里,所述第二比特数为在serdes串行接口中,同步块的第一个比特与所述ptp包的第一个比特之间间隔的比特数,所述第二比特数可以是,将匹配比特数与第一比特数进行相加,比如,当采用cgmii接口时,将数值集中的c和f确定出来,并且根据ieee802.3协议的规定,对c和f进行一定的数学的计算,比如,当数据流从serdes串行接口经过serdes并行接口流向phy层与mac层接口(即接收ptp包的方向)时,将(c*10+f)作为匹配比特数。然后将(c*10+f)与第一比特数(40-m)进行相加,得到(c*10+f)-(40-m)为第二比特数。步骤c,将serdes串行接口对应的标准速率按照速率偏差量进行调整,得到所述第二比特数在所述serdes串行接口中传输的实际速率。这里,所述速率偏差量为所述同步块在serdes串行接口中的实际比特速率与所述serdes串行接口的标准比特速率之间的差值。当业务类型为100gers(544,514)时,每条通道的标准比特速率为26.5625gbps,将该信号在所述通道中的实际比特速率与标准比特速率之间的偏差,表示为参数p。将(26.5625*p)作为同步块在serdes串行接口中传输的实际速率。步骤d,将所述第二比特数与所述实际速率相除,得到第一延时。这里,所述第一延时为,所述ptp的第一个比特经过serdes串行接口的时刻点与所述同步块经过serdes串行接口的时刻点之间的时间段,可以理解为,ptp的第一个比特经过serdes串行接口的时刻点与同步块的第一个比特经过serdes串行接口的时刻点,之间的差值;当数据流从serdes串行接口经过serdes并行接口流向phy层与mac层接口(即接收ptp包的方向)时,且业务类型为100gers(544,514)时,第二比特数为(c*10+f)-(40-m),实际速率为(26.5625*p),那么第一延时为[(c*10+f)-(40-m)]/(26.5625*p)。步骤e,根据所述第一延时、所述第一时刻点和所述同步块从serdes串行接口到所述serdes并行接口对应的延时,确定所述第二时刻点。这里,所述步骤e根据数据流的流向的不同,可以分为两种情况:一是:当所述数据流从所述serdes串行接口经过所述serdes并行接口流向所述phy层与mac层接口(即接收ptp包的方向),首先,将所述第一时刻点与所述同步块从serdes串行接口到所述serdes并行接口对应的延时相减,得到第五时刻点;而且,第五时刻点为所述同步块的第一个比特经过serdes串行接口的待校准的时刻点;然后,将所述第一延时与所述第五时刻点相加,得到所述第二时刻点。这里,将所述第一时刻点表示为tam,将所述同步块从serdes串行接口到所述serdes并行接口对应的延时,表示为tsds,那么第五时刻点即为:tam-tsds。那么当数据流从serdes串行接口经过serdes并行接口流向phy层与mac层接口(即接收ptp包的方向),ptp包经过serdes串行接口的时刻点,可以表示为:tam-tsds+[(c*10+f)-(40-m)]/(26.5625*p)。二是:当所述数据流从所述phy层与mac层接口经过所述serdes并行接口流向所述serdes串行接口时(即发送ptp包的方向),首先,将所述第一时刻点与所述同步块从serdes串行接口到所述serdes并行接口对应的延时相加,得到第六时刻点;这里,所述第六时刻点为所述同步块的第一个比特经过serdes串行接口的待校准的时刻点;然后,将所述第六时刻点与所述第一时延相加,得到所述第二时刻点。这里,将所述时间信息中包含的比特数表示为tam,将所述同步块从serdes串行接口到所述serdes并行接口对应的延时,表示为tsds,那么第六时刻点即为:tam+tsds。那么当所述数据流从所述phy层与mac层接口经过所述serdes并行接口流向所述serdes串行接口时(即发送ptp包的方向),所述ptp包经过serdes串行接口的时刻点,可以表示为:tam+tsds+[(c*10+f)+m]/(26.5625*p)。在本申请实施例中,无论数据流的流向如何,均能够通过将第一到phy层与mac层接口本身的业务的处理过程,得到同步块中的第一个比特在serdes并行接口的时戳、同步块在并行接口上的偏移位置,和phy层与mac层接口包头和同步块之间的距离,基于此,确定ptp包经过serdes串行接口的时刻点,从而提升同步精度。本申请实施例提供一种时间同步的方法,通过流量模型间接获得在以太网业务近传输介质物理接口的serdes串口为参考平面的ptp包时戳,从而实现高精度时间同步。图3为本申请实施例又一种时间同步的方法的实现流程示意图,如图3所示,所述方法包括以下步骤:步骤s301,数据流从serdes串行接口将传送到serdes并行接口。步骤s302,在serdes并行接口搜索以太网同步。步骤s303,确定该同步块中的第一个比特经过serdes并行接口的时刻点以及该同步块的第一个比特在serdes并行接口中的比特位的位置。这里,所述步骤s302中得到的时刻点即为第一时刻点,所述比特位的位置即为第一位置;在serdes并行接口(即serdes并行接口)上搜索同步块码型,并记录该同步块的第一个比特在serdes并行接口上的偏移位置。其中,同步块码型由以太网标准802.3系列协议所定义。步骤s304,在phy层与mac层接口搜索同步块位置和ptp包头的帧起始定界符(startofframedelimiter,sfd)字节,并确定ptp包中的第一个比特与同步块中的第一个比特的距离。这里,所述ptp包头的sfd字节即为ptp包的第一个比特,所述距离即是ptp包中的第一个比特与同步块中的第一个比特间隔的比特数。步骤s305,将所述距离对应的比特数按照m个预设比例调整,得到调整后的数值集。这里,所述调整后的数值集中可以不止是包含一个参数,在本实施例中,调整后的第一参数能够精确反映以太网业务从serdes串行接口到phy层与mac层接口过程中比特流的分发及比特数量变化情况。步骤s306,根据所述调整后的数值集、所述第一时刻点和所述第一位置,确定所述ptp包经过serdes串行接口的时刻点。本申请实施例中,以serdes串行接口为参考平面,获得ptp包时戳,图4为本申请实施例实现时间同步的方法的装置的组成结构示意图,如图4所示,所述装置400包括以下模块:serdes模块401、phy模块402、mac模块403、同步块搜索模块404、采时戳模块405、比特计数模块406、流量模型模块407及时戳处理器408,其中:serdes模块401,用于完成标准的以太网数据包处理。phy模块402,用于ptp包的接收和发送处理。mac模块403,用于实现以太网业务和1588协议中ptp包的承载功能,并将以太网业务类型通知流量模型模块407及时戳处理器408。同步块搜索模块404和采时戳模块405,用于实时获取同步块的第一个比特经过serdes并行接口的时戳。比特计数模块406,用于获取phy层与mac层接口包头中的第一个比特与同步块中的第一个比特之间间隔比特数,并将实时信息传送给流量模型模块407及时戳处理器408。流量模型模块407及时戳处理器408,用于由所获得的信息计算ptp包头经过serdes串行接口的时戳,并返回给mac模块403进行ptp包处理。在本实施例中,通过将第一到phy层与mac层接口本身的业务的处理过程,得到同步块中的第一个比特在serdes并行接口的时戳、同步块在并行接口上的偏移位置,和phy层与mac层接口包头和同步块之间的距离,然后基于这个参数,确定ptp包经过serdes串行接口的时刻点,取得了显著提高以太网1588协议时戳精度的进步,达到了相邻单点设备间对时精度满足5g高精度时间同步的效果。当采用以太网的cgmii时(即速率为100ge),确定ptp包经过serdes串行接口的时刻点,可以通过以下步骤实现:首先,在本实施例中使用的serdes并行接口为40bit。同步块码型参见ieee802.3ba协议。第一步,在serdes并行接口上搜索同步块,当同步块的码型预设码型匹配成功时,输出指示信号1,记录同步块的第一个比特在serdes并行接口上比特位的位置(第一位置),表示为m。第二步,使用计时时钟上升沿和下降沿分别采样所述指示信号1,分别得到两个时刻点,将所述两个时刻点中较小值作为同步块时戳(第一时刻点),表示为tam。其中,所述计时时钟为1吉赫兹(ghz),步进为1纳秒的时钟。所述同步块时戳即为所述同步块中的第一个比特经过所述serdes并行接口的时刻点。第三步,在phy层与mac层接口的cgmii接口上搜索同步块位置,锁定同步块中的第一个比特。这里,如果cgmii接口数据流中无同步块。当所述数据流从所述serdes串行接口经过所述serdes并行接口流向所述phy层与mac层接口时,由phy层内删除同步块逻辑给出同步块中的第一个比特在数据总线上的位置并传送到cgmii接口。当所述数据流从所述phy层与mac层接口经过所述serdes并行接口流向所述serdes串行接口时,由mac层内预先给出同步块插入位置指示并传送到cgmii接口。第四步,在phy层与mac层接口中的cgmii接口搜索ptp包头的第一个比特,累加器计算ptp包头中的第一个比特与同步块中的第一个比特间隔比特数,即同步块与ptp包之间的距离。这里,由于cgmii接口上是以64bit块为单位,所以ptp包头中的第一个比特与同步块中的第一个比特间隔比特数,可表示为以64bit为单位的数量n。第五步,建立流量模型(即得到调整后的数值集)。这里,建立流量模型是为了表明serdes串行接口到phy层与mac层接口比特流的分发和比特量变化情况,比如:根据ieee802.3协议中的规定,因为cgmii接口以16384*20个64bit块为周期,周期内前20个64bit块为同步块am0至am19,后16383*20个64b块为数据块。20个同步块转换为1285bitcm块,组成5个257bit块。每4个64bit数据块转换为1个257bit块。一个周期共有81920个257bit块。每20个257bit块组成1个5140bit前向纠错码(forwarderrorcorrection,fec)码字,一个周期共有4096个fec码字。在ieee802.3协议中,5140bitfec码字经过fec编码为5440ieee802.3协议中码字。编码后比特速率为106.25兆比特每秒(gbps)。将fec码字按10bit的信号分发给4条物理通道,对应4个serdes接口。每条通道的标准比特速率为26.5625gbps,将该信号在所述通道中的实际比特速率与标准比特速率之间的偏差,表示为参数p。将ptp包从serdes串口传输到serdes并口之间的延时,表示为参数tsds,基于此,采用预设参数对所述距离包含的比特数(n)进行调整,得到调整后的数值集,即流量模型:对于n/4=a的结果取整,得到a;对于nmod4=b的结果取余,得到b;然后,定义temp=257*a+64*b+1+(a/20)*300;对temp/40=c的结果取整,得到c,对tempmod40=d的结果取余,得到d;然后对于d/10=e的结果取整,得到e,对于dmod10=f的结果取余,得到f(特别地,当f等于0时取值10)。第六步,基于调整后的数值集(即流量模型)、所述第一时刻点和第一位置,确定所述ptp包中的第一个比特经过serdes串行接口的时刻点(即第二时刻点)。当所述数据流从所述serdes串行接口经过所述serdes并行接口流向所述phy层与mac层接口时,ptp包头经过serdes串行接口的时戳计算公式为:tam-tsds+[(c*10+f)-(40-m)]/(26.5625*p)=tam-tsds+[(c*10+f)-(40-m)]*[(32/34/25)*p](1);在上述公式(1)中,单位为纳秒。当所述数据流从所述phy层与mac层接口经过所述serdes并行接口流向所述serdes串行接口时,ptp包头经过serdes串行接口的时戳计算公式为:tam+tsds+[(c*10+f)+m]/(26.5625*p)=tam+tsds+[(c*10+f)+m]*[(32/34/25)*p](2);在上述公式(2)中,单位为纳秒。根据此公式确定时戳并返回给mac模块进行ptp包处理。当采用以太网的25gers(528,514)时,确定ptp包经过serdes串行接口的时刻点,可以通过以下步骤实现:首先,在本实施例中使用的serdes并行接口为40比特(bit)。第一步,在serdes并行接口上搜索同步块,当同步块的码型预设码型匹配成功时,输出指示信号1,记录同步块的第一个比特在serdes并行接口上比特位的位置(即第一位置),表示为m。第二步,使用计时时钟上升沿和下降沿分别采样所述指示信号1,分别得到两个时刻点,将所述两个时刻点中较小值作为同步块时戳(即第一时刻点),表示为tam。其中,所述计时时钟为1吉赫兹(ghz),步进为1纳秒的时钟。所述同步块时戳即为所述同步块中的第一个比特经过所述serdes并行接口的时刻点。第三步,在phy层与mac层接口的25gmii接口上搜索同步块位置,锁定同步块中的第一个比特。这里,如果25gmii接口数据流中无同步块。当所述数据流从所述serdes串行接口经过所述serdes并行接口流向所述phy层与mac层接口时,由phy层内删除同步块逻辑给出同步块中的第一个比特在数据总线上的位置并传送到15gmii接口。当所述数据流从所述phy层与mac层接口经过所述serdes并行接口流向所述serdes串行接口时,由mac层内预先给出同步块插入位置指示并传送到25gmii接口。第四步,在phy层与mac层接口cgmii接口搜索ptp包头的第一个比特,累加器计算ptp包头中的第一个比特与同步块中的第一个比特间隔比特数,即同步块与ptp包之间的距离。这里,由于25gmii接口上是以64bit块为单位,所以ptp包头中的第一个比特与同步块中的第一个比特间隔比特数,可表示为以64bit为单位的数量n。第五步,建立流量模型(即得到调整后的数值集)。这里,建立流量模型是为了表明serdes串行接口到phy层与mac层接口比特流分发和比特量变化情况,比如:根据ieee802.3协议中的规定,因为25gmii接口以81916个64bit块为周期,一个周期插一个257bit同步块,每4个64bit数据块转换为1个257bit块。一个周期共有20480个257bit块。每20个257bit块组成1个5140bitfec码字,一个周期共有1024个fec码字。在ieee802.3协议中,在25gmii接口中,5140bitfec码字经过fec编码为5280ieee802.3协议中码字。编码后比特速率为103.125gbps。将fec码字按10bit的信号分发给1条物理通道,对应1个serdes接口。该通道的标准比特速率为25.78125gbps,将该信号在所述通道中的实际比特速率与标准比特速率之间的偏差,表示为参数p。将ptp包从serdes串口传输到serdes并口之间的延时,表示为参数tsds,基于此,采用预设参数对所述距离包含的比特数(n)进行调整,得到调整后的数值集,即流量模型:对于n/4=a的结果取整,得到a;对于nmod4=b的结果取余,得到b;然后,定义temp=257*a+64*b+1+(a/20)*140。在本实施例中,基于这些调整后的数值集,来精确反映以太网业务从serdes串行接口到phy层与mac层接口过程中比特流的分发及比特数量变化情况。第六步,基于调整后的数值集(即流量模型)、所述第一时刻点和所述比特位的位置,确定所述ptp包经过serdes串行接口的时刻点(即第二时刻点)。当所述数据流从所述serdes串行接口经过所述serdes并行接口流向所述phy层与mac层接口时,ptp包头经过serdes串行接口的时戳计算公式为:tam-tsds+[(temp)-(40-m)]/(25.78125*p)=tam-tsds+[(temp)-(40-m)]*[(32/33/25)*p](3);在上述公式(3)中,单位为纳秒。当所述数据流从所述phy层与mac层接口经过所述serdes并行接口流向所述serdes串行接口时,ptp包头经过serdes串行接口的时戳计算公式为:在上述公式(4)中,单位为纳秒。根据此公式确定时戳并返回给mac模块进行ptp包处理。在本申请实施例中,通过一个间接的方式,将第一到phy层与mac层接口本身的业务的处理过程,比特流的分发和变化的过程用数学模型表示出来,通过搜集到的信息,同步块中的第一个比特在serdes并行接口的时戳、同步块在并行接口上的偏移位置,和phy层与mac层接口包头和同步块之间的距离,通过流量模型计算,间接的计算得到ptp包在serdes串行接口的时戳,最后得到的是ptp在serdes串行接口的时戳,如此,既不会增加搜索代价,还可以克服时戳从serdes串行接口到phy层与mac层接口路径上的延时抖动对精度的影响,从而提高以太网1588协议中时戳精度,达到了相邻单点设备间对时精度满足5g高精度时间同步的效果。本申请实施例提供一种时间同步的设备,图5为本申请实施例时间同步的设备的组成结构示意图,如图5所示,所述设备500至少包括:处理器501和配置为存储可执行指令的存储介质502,其中:处理器501配置为执行存储的可执行指令,所述可执行指令用于实现下面的步骤:在serdes并行接口中搜索数据流中的与预设码型相匹配的同步块;确定所述同步块在所述serdes并行接口中的比特位的位置为第一位置;确定所述同步块中经过所述serdes并行接口的时刻点为第一时刻点;在phy层与mac层接口中搜索所述同步块和所述数据流中的ptp包,并确定所述同步块与所述ptp包之间的距离;根据所述第一位置、所述第一时刻点和所述距离,确定第二时刻点,所述第二时刻点为所述ptp包经过serdes串行接口的时刻点需要说明的是,在本申请实施例中,如果以软件功能模块的形式实现上述的时间同步的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。对应地,本申请实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行本申请其他实施例提供的时间同步的方法。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1