一种时钟处理方法、装置和PTP设备与流程

文档序号:16198000发布日期:2018-12-08 06:19阅读:333来源:国知局
一种时钟处理方法、装置和PTP设备与流程

本发明涉及但不限于无线通信技术领域,尤指一种时钟处理方法、装置和ptp设备。

背景技术

ieee1588标准,即网络测量和控制系统的精密时钟同步协议标准(ieee1588precisionclocksynchronizationprotocol),简称为:ptp(precisiontimingprotocol),为目前进行时钟同步的主要技术。

移动回传网络越来越多地应用于长期演进技术升级版(longtermevolutionadvanced,简称为:lte-a)和时分双工(timedivisionduplexing,简称为:tdd)lte系统中,这对频率同步和相位同步提出了更高的要求。虽然全球定位系统(globalpositioningsystem,简称为:gps)可以作为时钟同步的基准,但是很难在所有基站中广泛使用,目前的运营商在移动回传网中更多的使用1588v2(ptp)技术实现时间信息的传递。基于lte技术的第四代移动通信技术(the4thgenerationmobilecommunication,简称为:4g)提出了全新的授时和时钟同步要求,该要求给包括语音会话和数据通信的网络单元注入全新的功能,为了确保网络运营商在可预测的范围内满足其时间误差的要求,国际电信联盟(internationaltelecommunicationunion,简称为:itu)颁布了itu-tg.8273.2标准,以满足网络单元严格的时间误差极限要求。itu-tg.8273.2标准中对时间误差进行了严格的要求,并且提出了一些针对时钟同步的测试项目。

然而,现有的1588时钟同步技术无法满足itu-tg.8273.2标准对时钟同步性能的要求,因此,目前亟需提出一种能够满足要求的时钟同步技术。



技术实现要素:

为了解决上述技术问题,本发明实施例提供了一种时钟处理方法、装置和ptp设备,以解决现有的1588时钟同步技术无法满足itu-tg.8273.2标准对时钟同步性能的要求的问题。

第一方面,本发明实施例提供一种时钟处理方法,包括:

根据提取的时间戳计算时间偏差;

通过所述时间偏差对从设备的系统时钟进行修正,并对提取的所述时间戳进行修正。

在第一方面的第一种可能的实现方式中,所述时间戳包括第一时间戳和第二时间戳,所述根据提取的所述时间戳计算时间偏差之前,所述方法还包括:

按照预设的提取周期提取第一时间戳和第二时间戳,将所述第一时间戳填入第一时间戳列表中,将所述第二时间戳填入第二时间戳列表中。

根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述从设备中设置有滤波器,所述根据提取的时间戳计算时间偏差,包括:

通过所述滤波器的系数分别对所述第一时间戳列表和所述第二时间戳列表中的时间戳进行卷积处理,得到第一卷积值和第二卷积值;

根据所述第一卷积值和所述第二卷积值,计算出所述时间偏差。

根据第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述通过所述时间偏差对提取的所述时间戳进行修正,包括:

通过所述时间偏差对所述第一时间戳列表和所述第二时间戳列表中的每个时间戳进行修正。

根据第一方面的第一种可能的实现方式,在第四种可能的实现方式中,所述通过所述时间偏差对提取的所述时间戳进行修正,包括:

对所述第一时间戳列表中的每个第一时间戳减所述时间偏差,对所述第二时间戳列表中的每个第二时间戳加所述时间偏差。

根据第一方面的第一种到第四种可能的实现方式中任意一种,在第五种可能的实现方式中,所述根据提取的时间戳计算时间偏差之后,所述方法还包括:

当所述时间偏差大于预设的偏差阈值时,将最后一次提取周期内填入所述第一时间戳列表和所述第二时间戳列表中的时间戳删除。

第二方面,本发明实施例提供一种时钟处理装置,设置于精密时钟同步协议ptp设备中,所述时钟处理装置包括:

计算模块,用于根据提取的时间戳计算时间偏差;

修正模块,用于通过所述计算模块计算的所述时间偏差对所述ptp设备的系统时钟进行修正,并对提取的所述时间戳进行修正。

在第二方面的第一种可能的实现方式中,所述时间戳包括第一时间戳和第二时间戳,所述装置还包括:

提取模块,用于在所述计算模块根据提取的所述时间戳计算时间偏差之前,按照预设的提取周期提取第一时间戳和第二时间戳;

填写模块,用于将所述提取模块提取的所述第一时间戳填入第一时间戳列表中,将所述提取模块提取的所述第二时间戳填入第二时间戳列表中。

根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述ptp设备中设置有滤波器,所述计算模块包括:

第一计算单元,用于通过所述滤波器的系数分别对所述第一时间戳列表和所述第二时间戳列表中的时间戳进行卷积处理,得到第一卷积值和第二卷积值;

第二计算单元,用于根据所述第一计算单元计算得到的所述第一卷积值和所述第二卷积值,计算出所述时间偏差。

根据第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述修正模块通过所述时间偏差对提取的所述时间戳进行修正,包括:

通过所述时间偏差对所述第一时间戳列表和所述第二时间戳列表中的每个时间戳进行修正;或者,

对所述第一时间戳列表中的每个第一时间戳减所述时间偏差,对所述第二时间戳列表中的每个第二时间戳加所述时间偏差。

根据第一方面的第一种到第三种可能的实现方式中任意一种,在第四种可能的实现方式中,所述装置还包括:

删除模块,用于在所述计算模块根据提取的时间戳计算时间偏差之后,当所述时间偏差大于预设的偏差阈值时,将所述填写模块在最后一次提取周期内填入所述第一时间戳列表和所述第二时间戳列表中的时间戳删除。

第三方面,本发明实施例提供一种精密时钟同步协议设备,所述精密时钟同步协议ptp设备包括:存储器和处理器;

所述存储器,用于保存可执行指令;

所述处理器,用于执行所述存储器保存的所述可执行指令,进行如下操作:

根据提取的时间戳计算时间偏差;

通过所述时间偏差对从设备的系统时钟进行修正,并对提取的所述时间戳进行修正。

在第三方面的第一种可能的实现方式中,所述时间戳包括第一时间戳和第二时间戳,所述处理器执行所述可执行指令,在所述根据提取的所述时间戳计算时间偏差之前,还进行如下操作:

按照预设的提取周期提取第一时间戳和第二时间戳,将所述第一时间戳填入第一时间戳列表中,将所述第二时间戳填入第二时间戳列表中。

根据第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述ptp设备中设置有滤波器,所述处理器执行所述可执行指令时,执行所述根据提取的时间戳计算时间偏差的步骤,包括:

通过所述滤波器的系数分别对所述第一时间戳列表和所述第二时间戳列表中的时间戳进行卷积处理,得到第一卷积值和第二卷积值;

根据所述第一卷积值和所述第二卷积值,计算出所述时间偏差。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述处理器执行所述计算机可执行指令时,进行如下操作:

根据提取的时间戳计算时间偏差;

通过所述时间偏差对从设备的系统时钟进行修正,并对提取的所述时间戳进行修正。

本发明实施例提供的时钟处理方法、装置和ptp设备,根据提取的时间戳计算时间偏差,通过计算出的时间偏差对从设备本地的系统时钟进行修正的同时,还对已提取的时间戳进行修正,由于提取的时间戳中包括从设备端的时钟信息和主设备端的时钟信息,因此,对提取的时间戳进行修正的方式可以解决后续提取的时间戳与从设备端已修正的系统时钟存在时间偏差的突变的问题,即提高了从设备端的时钟同步性能;本发明实施例提供的技术方案,解决了现有的1588时钟同步技术无法满足itu-tg.8273.2标准对时钟同步性能的要求的问题。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的一种时钟处理方法的流程图;

图2为本发明实施例提供的另一种时钟处理方法的流程图;

图3为本发明实施例提供的时钟处理方法中一种提取时间戳的流程图;

图4为本发明实施例提供的时钟处理方法中一种时间戳列表的示意图;

图5为采用现有技术中的时钟处理方法对本地系统时钟进行修正的示意图;

图6为采用本发明实施例提供的时钟处理方法对时间戳进行修正的示意图;

图7为本发明实施例提供的又一种时钟处理方法的流程图;

图8为本发明实施例提供的时钟处理方法中一种记录时间戳的示意图;

图9为本发明实施例提供的时钟处理方法中一种移除时间戳的示意图;

图10为本发明实施例提供的一种时钟处理装置的结构示意图;

图11为本发明实施例提供的另一种时钟处理装置的结构示意图;

图12为本发明实施例提供的又一种时钟处理装置的结构示意图;

图13为本发明实施例提供的一种ptp设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在描述本发明实施例提供的时钟处理方法之前,先简单介绍ieee1588标准中的相关技术,ptp系统是分布式的网络系统,其中包括ptp设备和非ptp设备,ptp设备包括普通时钟(ordinaryclocks,简称为:oc),边界时钟(boundaryclocks,简称为:bc),透传时钟(tc)等。主设备(master设备)和从设备(slave设备)。

虽然目前的运营商在移动回传网中通常使用1588v2(ptp)技术实现时间信息的传递,然而,使用互连网协议(internetprotocol,简称为:ip)议的虚拟互联网(即ip网)中存在太多通路延迟值(pathdelayvalue,简称为:pdv)和非对称性(asymmetry),为到达±1.5微秒(us)的相位预算差,需要在网络中使用边界时钟。边界时钟在ip网中起着承上启下的作用,用于恢复并重建时间与时钟,边界时钟的性能直接影响时间和时钟的传送质量。因此,itu-t提出了g.8273.2建议约束边界时钟的性能。itu-tg.8273.2标准中对时间误差进行了严格的要求,为两类不同的设备定制了具体的标准,包括a类设备最大静态时间偏差(cte)为50纳秒(ns),b类设备最大cte误差为20ns,itu-tg.8273.2标准中还提出了一些针对时钟同步的测试项目,例如包括:

(1)、静态时间偏差(cte)和动态时间偏差(dte);

(2)、瞬态响应和保持特性;

(3)、噪声容限;

(4)、噪声传递。

测试要求例如为:满足预设的cte和dte,以及瞬态响应和保持特性;在ptp设备、以太网上加噪声需要满足预设的增益阈值。

然而,目前的1588时钟同步技术无法满足itu-tg.8273.2标准的上述要求,即无法提供准确性更高的时钟同步要求,因此,目前亟需提出一种能够满足itu-tg.8273.2标准要求的时钟同步技术。

下面通过具体的实施例对本发明的技术方案进行详细说明,本发明以下各实施例中的从设备为ptp系统中位于从端口侧的设备,该从设备通过与主设备进行信息交互,获取时间偏差并对本地的时钟进行修正。本发明提供以下几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本发明实施例提供的一种时钟处理方法的流程图。本实施例提供的时钟处理方法适用于ptp系统中从设备对本地系统时钟进行修正的情况中,该方法可以由时钟处理装置执行,该时钟处理装置通过硬件和软件结合的方式来实现,该装置可以集成在从设备的处理器中,供处理器调用使用。如图1所示,本发明实施例的方法可以包括如下步骤:

s110,根据提取的时间戳计算时间偏差。

本发明实施例提供的时钟处理方法,为ptp系统中从设备对本地系统时钟进行修正的方法。在1588时钟同步技术的基础上,以满足itu-tg.8273.2标准的要求,例如时钟同步技术满足对响应噪声处理的要求。本发明实施例提供的方法主要针对ptp系统中的从设备,即从设备端口需要快速跟踪主设备端口,以实现时钟同步的准确性和实时性,因此,在计算时间偏差之前,本发明实施例提供的方法还可以包括:

步骤1,物理层时钟同步;该步骤是ptp系统的设备间进行时钟同步的前提条件,若缺少该步骤则无法进行时钟同步或时钟同步的偏差值非常大。

步骤2,设备检测其接收到的annouce报文和本地数据集,采用最佳主时钟算法(bestmasterclock,简称为:bmc)决策出设备的主从关系,通过对ptp报文的处理,从设备跟踪上游主设备;其中,本地数据集例如包括:priority1;clockidentity;clockclass;clockaccuracy;offsetscaledlogvariance;priority2等数据,设备通过对比annouce报文和本地数据集的内容,可以决策出设备的主从关系。

通过上述方式,ptp系统中的设备获知自身为主设备或从设备,本发明实施例提供的方法针对从设备执行时钟同步的方式,即执行本发明实施例提供的方法的设备为从设备。在确定主从关系后,从设备可以开始提取时间戳,并通过所提取的时间戳基数按时间偏差(offset),该时间偏差用于后续对从设备进行时钟同步处理。

s120,通过该时间偏差对从设备的系统时钟进行修正,并对提取的时间戳进行修正。

根据1588时钟同步技术可知,提取的时间戳包括从设备端的时钟信息和主设备端的时钟信息。现有1588时钟同步技术中,从设备可以根据已计算出的时间偏差对本地系统中的时钟进行修正,从而在从设备中获得较为准确的时钟数据,对本地系统中的时钟进行修正,意味着对提取的时间戳中从设备端的时间信息进行修正,并未对主设备端的时间信息进行修正,这样,会造成下一个提取周期内提取的时间戳与从设备端已修正的系统时钟存在时间偏差的突变,从而造成后续计算的时间偏差不准确的问题,从而无法满足itu-tg.8273.2标准对时钟同步性能的要求。

在本发明实施例中,不仅通过计算出的时间偏差对从设备的系统时钟进行修正,还可以对已提取的时间戳进行修正;其中,对从设备端的系统时钟的修正方式与现有技术中相同,在此不再赘述;对已提取的时间戳进行修正,是指对提取的时间戳中的所有时钟信息(包括从设备端的时钟信息和主设备端的时钟信息)进行修正。本发明实施例中修正时间戳的方式,可以解决现有技术中由于仅修正了从设备本地的系统时钟,而造成后续提取的时间戳与从设备端已修正的系统时钟存在时间偏差的突变的问题,即可以使得已修正的系统时钟与新提取的时间戳保持较高的同步性能,从而提高ptp系统中从设备的时钟同步性能,以满足itu-tg.8273.2标准对时钟同步性能的要求。

本发明实施例提供的时钟处理方法,根据提取的时间戳计算时间偏差,通过计算出的时间偏差对从设备本地的系统时钟进行修正的同时,还对已提取的时间戳进行修正,由于提取的时间戳中包括从设备端的时钟信息和主设备端的时钟信息,因此,对提取的时间戳进行修正的方式可以解决后续提取的时间戳与从设备端已修正的系统时钟存在时间偏差的突变的问题,即提高了从设备端的时钟同步性能;本发明实施例提供的方法,解决了现有的1588时钟同步技术无法满足itu-tg.8273.2标准对时钟同步性能的要求的问题。

图2为本发明实施例提供的另一种时钟处理方法的流程图。在上述实施例的基础上,本发明实施例中的时间戳包括第一时间戳和第二时间戳,s110之前,还可以包括:

s100,按照预设的提取周期提取第一时间戳和第二时间戳,将第一时间戳放入第一时间戳列表中,将第二时间戳放入第二时间戳列表中。

在本发明实施例中,第一时间戳可以为t2-t1-cf21,第二时间戳可以为t4-t3-cf43,第一时间戳列表可以为t1t2,第二时间戳列表可以为t3t4。需要说明的是,本发明实施例中提取时间戳的提取周期例如可以设置为30毫秒(ms),ptp设备决策出从端口后,设备间进行时钟同步处理,从设备按照收发包速率进行报文的收发包处理,并采用30ms定时器提取一组时间戳,这组时间戳就是计算时间偏差的原始数据。如图3所示,为本发明实施例提供的时钟处理方法中一种提取时间戳的流程图。从设备提取时间戳的方式可以包括:

s201,主设备发送sync报文,记录该报文的本地发送时间t1;

s202,从设备接收到sync报文后,记录其接收到该报文的本地时间t2;

s203,从设备发送delay_req报文,并记录该报文的本地发送时间t3;

s204,主设备接收到delay_req后,记录该报文的到达时间t4;

s205,主设备发送delay_resp报文告知从设备t4。

通过图3所示流程,从设备可以提取到时间信息t1、t2、t3和t4,根据提取的时间信息可以得到时间戳t2-t1-cf21和t4-t3-cf43,其中,cf21和cf43为修正域。随后,从设备将每个提取周期内提取的时间戳填写到时间戳列表中,即将t2-t1-cf21填入t1t2,将t4-t3-cf43填入t3t4。

如图4所示,为本发明实施例提供的时钟处理方法中一种时间戳列表的示意图。在实际应用中,本发明实施例中的两组时间戳列表在填满之后,若再次提取时间戳并将新提取的时间戳填入列表时,则最早填入时间戳列表中的时间戳从相应的列表中最先移除,移除的原则是填入数据量与移除数据量相等,以维持时间戳列表的长度为定值。

可选地,在本发明实施例中,从设备中设置有滤波器,该滤波器可以采用低通滤波器,根据提取的时间戳计算时间偏差的实现方式,即s110的实现方式可以包括:

s111,通过滤波器的系数分别对第一时间戳列表和第二时间戳列表中的时间戳进行卷积处理,得到第一卷积值和第二卷积值;

s112,根据第一卷积值和第二卷积值,计算出时间偏差。

在本发明实施例中,可以在两组时间戳列表填满之后,才对这两组列表中的时间戳进行滤波处理(即卷积处理),因卷积处理有平滑和展开效应,利用卷积处理对时间戳进行平滑;在时间戳填入列表的初期,列表并未填满,可以采用平均算法的进行处理,列表填满后再采用卷积处理,设定时间戳为x(n),滤波器的系数为h(n),则卷积处理后的结果为:

上述(1)式中,h(n)为定值,在确定滤波器后,滤波器的系数通常是不变的,但是对于本发明实施例提供的方法,若设计人员采用不同的滤波器对时间戳进行处理,则滤波器的系数是可以配置的。

上述(1)式中的y为x(n)和h(n)进行卷积处理得到的,再根据卷积处理后的到的第一卷积值(y′)和第二卷积值(y″)计算时间偏差为:

上述(2)式中,y′为对第一时间戳列表中的时间戳进行卷积处理后得到的第一卷积值,y″为对第二时间戳列表中的时间戳进行卷积处理后得到的第二卷积值。从(1)式中可以看出,滤波器的长度可以选择为与时间戳的长度一致,进行卷积处理后,使用公式(2)得到从滤波器输出数据的平均结果,即时间偏差(offset)。

可选地,本发明实施例中用于进行卷积处理的滤波器可以应用如下两部分:

第一,针对在ptp设备上加噪声(ptp-ptp)设计的软件低通滤波器,该滤波器的截止频率为0.02~0.2赫兹(hz),其系数是使用从设备提取的时间戳信息,然后在矩阵实验室(matrixlaboratory,简称为:matlab)进行仿真出来的。

第二,针对在物理层上加噪声(physicallayerfrequencytophysicallayerfrequency,synce-synce);在实际应用中,针对物理层加的噪声,最终也会影响ptp时间,即物理层频率到ptp(physciallayerfrequencytoptp,简称为:synce-ptp),物理层频率到ptp由逻辑设计的低通滤波器和软件设计的低通滤波器一起作用形成带通滤波器;逻辑设计的低通滤波器(该滤波器使用二阶环算法进行滤波处理),其截止频率为1~3赫兹(hz)。

需要说明的是,本发明实施例以在ptp设备上加噪声为例予以示出,itu-tg.8273.2标准要求低通滤波器的频率为0.05~0.1hz,并且在0.1hz位置增益小于-3db。

可选地,本发明实施例中时间戳列表的长度例如可以64个时间戳数据,即时间戳列表可以填入64个t2-t1-cf21或64个t4-t3-cf43,设置列表长度为64是从以下几方面考虑的:第一,如果列表长度设置太长,时间戳填入列表的时间会较长,从设备的时钟发生倒换后同步的时间就会加长,后续卷积处理的运算量也会增加,另外,太长的数据因卷积后数据被平滑必然会影响时钟同步性能。第二,如果列表长度设置太短,则无法完全存储itu-tg.8273.2标准中要求的测试高频噪声的整个周期的数据,因此就起不到过滤效果,另外,也可能提取的时间戳数据不能一次性填入列表,则时间精度会受到影响;因此从多个方面考虑并结合实验结果可以选择时间戳列表的长度为64。

需要说明的是,本发明实施例不限制时间戳列表的具体长度,上述列表长度为64仅是一个示意性说明,在满足时钟同步性能和标准要求的情况下,时间戳列表的长度可以选取其它数据。

可选地,在本发明实施例中,通过时间偏差对提取的所述时间戳进行修正的实现方式,即s120的实现方式,可以包括:

通过时间偏差对第一时间戳列表和第二时间戳列表中的每个时间戳进行修正。

在通过时间偏差进行修正时还可以考虑到实际情况,即时间戳中包括从设备的时间信息和主设备的时间信息,例如,滤波器对t2-t1-cf21和t4-t3-cf34进行卷积处理,计算出时间偏差(offset)后,会修正从设备端的系统时钟,即从设备端的t2和t3的值被调整了,而t1和t4为主设备端的时间信息,现有技术提供的时钟同步方式没有调整t1和t4,这样,新进入滤波器的t2-t1-cf21和t4-t3-cf43和原来在滤波器中的数据之间会有一个offset的突变,如果直接计算显然是有问题的,为了消除这个突变,本发明实施例提供的方法在用offset调整从设备端的系统时钟的同时,将原来在滤波器中的t2-t1-cf21和t4-t3-cf43也通过offset进行调整;具体地调整方式可以为:t2-t1-cf21减offset,t4-t3-cf43加offset。

以下通过一个示例说明现有技术和本发明实施例进行时钟同步处理的不同之处,为了便于计算,以1s定时器,时间戳列表长度为160为例予以说明,设定收发包速率为16个/s,那么滤波器每秒处理时间戳(t2-t1-cf21或t4-t3-cf43)均为16个。

如图5所示,为采用现有技术中的时钟处理方法对本地系统时钟进行修正的示意图。具体方式为:用前一秒的时间戳数据(16个点)和计算得到offset,其中,y′和y″为滤波后的时间戳数据。利用计算得到的offset调整系统时钟,得到下一秒的时间戳,然后再次计算offset,依次对下一秒的时间戳进行调整。

如图6所示,为采用本发明实施例提供的时钟处理方法对时间戳进行修正的示意图。设定某次计算时,已经提取到1~10s的时间戳数据,本次根据1~10s内的时间戳计算offset和修正方式可以为:这10s内每一秒的时间戳都是经过offset调整的,图中的箭头表示采用每次计算的offset修正列表中的时间戳,并且表示在前一秒的基础上有修正,但不代表修正的大小。

当提取到第11s的时间戳时,1s的时间戳数据已经移除列表,根据2~11s的时间戳计算offset,计算后对从设备的本地系统时钟和列表中的时间戳进行修正。

举例来说,采用本发明实施例提供的时钟处理方法对时间戳进行修正的方式如表1所示。设定时间戳列表中当前10s中每秒内调整的offset值依次为:+10、+20、-10、+20、-20、-30、+30、-20、-20、+10,时间戳列表例如为t2t1,则按照本发明实施例提供的方法对该10s的时间戳进行修正的计算方式为:

表1

从表1可以看出,由于当前第1s位置的数据进入列表时,在第10s位置,因此,对该第1s位置的数据进行了10次修正,修正值依次为:+10、+20、-10、+20、-20、-30、+30、-20、-20、+10;当前第10s位置的数据为最新进入列表的数据,对该第10s位置的数据仅进行了1次修正,修正值为+10;同理,对于当前第ns位置的数据,进行了10-n+1次修正。修正的原则为:每秒内的时间戳先减去本秒内修正的offset,再根据后续每次计算的offset值对之前的时间戳进行共同修正,用时间戳列表中该10s内的时间戳数据进行滤波处理。

需要说明的是,本发明实施例中对从设备本地的系统时钟进行修正的方式可以为:将计算出来的时间偏差下发给系统进行修正,修正从设备的系统时钟可以进行提速处理,理论上是越快越好,但是如果太快会占用大量的系统资源,因此在影响系统资源最小的情况下可以从现有技术中采用的1s定时器改变为30ms定时器,以确保进行时钟修正所用耗时尽可能的小,以保证从设备端可以快速跟踪主设备端。

本发明实施例提供的时钟处理方法,通过将现有技术中用于提取时间戳的1s定时器更改为30ms定时器,可以提高时钟同步的速度,有利于从设备端快速跟踪主设备端;通过对时间戳列表中的时间戳进行卷积处理得到时间偏差,以及采用时间偏差对本地系统时钟和时间戳列表中的时间戳数据进行修正,相对于现有1588时钟同步技术来说,提高了时钟同步性能,可以满足itu-tg.8273.2标准对时钟同步性能的高要求。例如,标准要求在ptp设备上加噪声,低通滤波器频率为0.05~0.1hz,并且在0.1位置的增益小于-3db,测量得出0.1位置的增益为-3.4db,在0.044hz位置的增益为-1.1db,符合标准要求。

可选地,图7为本发明实施例提供的又一种时钟处理方法的流程图。在上述实施例的基础上,本发明实施例提供的方法在s110之后还可以包括:

s113,当时间偏差大于预设的偏差阈值时,将最后一次提取周期内填入第一时间戳列表和第二时间戳列表中的时间戳删除。

在本发明实施例中,从设备根据计算出的时间偏差对本地的系统时钟进行修正,即完成本次ptp时钟同步。在通过时间偏差对本地的系统时钟进行修正之前,需要对该时间偏差(offset)进行预判断,以避免提取到异常的时间戳数据而导致系统时钟的跳变;其中,offset通常为几十或十几ns。

现有技术对offset进行预判断,得知提取到异常时间戳后的处理方式为:清空两组时间戳列表中的数据,这样,会造成offset的波动比较大。本发明实施例提供的时钟处理方法中,在计算offset之前,可以分别记录最后一个提取周期内填入第一时间戳列表和第二时间戳列表中的时间戳的数据并标记其数据量n,例如,填入t1t2中的数据量为n′,填入t3t4中的数据量为n″,如图8所示,为本发明实施例提供的时钟处理方法中一种记录时间戳的示意图,图8以时间戳列表的长度为64为例予以示出。

如果在时间锁定的情况下,offset出现不连续的波动,例如,若offset>|±700ns|,则认为offset有问题,也就是最后一次提取周期内填入列表的时间戳数据有问题,则可以分别移除最后一次提取周期内填入t1t2和t3t4中的时间戳数据。如图9所示,为本发明实施例提供的时钟处理方法中一种移除时间戳的示意图,图9同样以时间戳列表的长度为64为例予以示出。

需要说明的是,itu-tg.8273.2标准对在synce-synce和synce-ptp上加噪声也提出了要求,即在synce上加噪声影响ptp设备的时钟,其要求(0.05~0.1hz;1~10hz)的带通滤波器,并且要求低频部分-3db增益小于0.1hz,高频部分-3db增益大于1hz。为满足上述要求,可以运用两部分算法:一部分是上述实施例中采用低通滤波进行卷积处理的算法;另外一个部分是逻辑实现的滤波算法,该算法为使用二阶环进行滤波的,其设计为满足1~10hz低通滤波;在synce上加噪声影响ptp设备的时钟时,因为有两部分滤波器在起作用,当加入小于0.1hz低频噪声时,低通滤波器进行卷积处理,当频率大于1hz时,逻辑实现的低通滤波器起作用,因此,在两个不同截止频率的低通滤波器一起作用下最终形成了带通滤波效果。例如,在synce-ptp上加噪声,测试得出:低频部分,-3db增益小于0.1hz,高频部分,-3db增益测试结果位于1.57hz附近,大于1hz,符合要求。

图10为本发明实施例提供的一种时钟处理装置的结构示意图。本实施例提供的时钟处理装置适用于ptp系统中从设备对本地系统时钟进行修正的情况中,该时钟处理装置通过硬件和软件结合的方式来实现,该装置可以集成在从设备的处理器中,供处理器调用使用。如图10所示,本实施例的时钟处理装置10可以包括:计算模块11和修正模块12。

其中,计算模块11,用于根据提取的时间戳计算时间偏差。

本发明实施例提供的时钟处理装置,用于在ptp系统中执行对从设备的本地系统时钟进行修正的方式。在1588时钟同步技术的基础上,以满足itu-tg.8273.2标准的要求,例如时钟同步技术满足对响应噪声处理的要求。本发明实施例提供的装置设置于ptp系统中的从设备中,即从设备端口需要快速跟踪主设备端口,以实现时钟同步的准确性和实时性,因此,在计算模块11计算时间偏差之前,本发明实施例提供的装置还可以执行以下操作:物理层时钟同步,检测其接收到的annouce报文和本地数据集,采用bmc决策出设备的主从关系,通过对ptp报文的处理,从设备跟踪上游主设备。

通过上述方式,ptp系统中的设备获知自身为主设备或从设备,本发明实施例提供的装置设置于ptp系统中的从设备中,即该从设备用于执行本发明上述实施例提供的方法,以对本地的系统时钟进行修正。在确定主从关系后,从设备可以开始提取时间戳,并由计算模块11通过所提取的时间戳基数按时间偏差(offset),该时间偏差用于后续对从设备进行时钟同步处理。

修正模块12,用于通过计算模块11计算的时间偏差对ptp设备的系统时钟进行修正,并对提取的时间戳进行修正。

根据1588时钟同步技术可知,提取的时间戳包括从设备端的时钟信息和主设备端的时钟信息。现有1588时钟同步技术中,从设备可以根据已计算出的时间偏差对本地系统中的时钟进行修正,从而在从设备中获得较为准确的时钟数据,对本地系统中的时钟进行修正,意味着对提取的时间戳中从设备端的时间信息进行修正,并未对主设备端的时间信息进行修正,这样,会造成下一个提取周期内提取的时间戳与从设备端已修正的系统时钟存在时间偏差的突变,从而造成后续计算的时间偏差不准确的问题,从而无法满足itu-tg.8273.2标准对时钟同步性能的要求。

在本发明实施例中,不仅通过计算出的时间偏差对从设备的系统时钟进行修正,还可以对已提取的时间戳进行修正;其中,对从设备端的系统时钟的修正方式与现有技术中相同,在此不再赘述;对已提取的时间戳进行修正,是指对提取的时间戳中的所有时钟信息(包括从设备端的时钟信息和主设备端的时钟信息)进行修正。本发明实施例中修正时间戳的方式,可以解决现有技术中由于仅修正了从设备本地的系统时钟,而造成后续提取的时间戳与从设备端已修正的系统时钟存在时间偏差的突变的问题,即可以使得已修正的系统时钟与新提取的时间戳保持较高的同步性能,从而提高ptp系统中从设备的时钟同步性能,以满足itu-tg.8273.2标准对时钟同步性能的要求。

发明实施例提供的时钟处理装置用于执行本发明图1所示实施例提供的时钟处理方法,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。

图11为本发明实施例提供的另一种时钟处理装置的结构示意图。本发明实施例中的时间戳包括第一时间戳和第二时间戳,在上述实施例的结构基础上,本实施例提供的装置10还可以包括:

提取模块13,用于在计算模块11根据提取的时间戳计算时间偏差之前,按照预设的提取周期提取第一时间戳和第二时间戳;

填写模块14,用于将提取模块13提取的第一时间戳填入第一时间戳列表中,将提取模块13提取的第二时间戳填入第二时间戳列表中。

在本发明实施例中,第一时间戳可以为t2-t1-cf21,第二时间戳可以为t4-t3-cf43,第一时间戳列表可以为t1t2,第二时间戳列表可以为t3t4。需要说明的是,本发明实施例中提取时间戳的提取周期同样可以设置为30ms。提取模块13提取t2-t1-cf21和t4-t3-cf43的方式可以参照图3所示流程。

需要说明的是,参考图4所示时间戳列表,时间戳列表在填满之后,若在提取时间戳并将新提取的时间戳填入列表时,则最早填入时间戳列表中的时间戳从相应的列表中最先移除,移除的原则是填入数据量与移除数据量相等,以维持时间戳列表的长度为定值。

可选地,在本发明实施例中,ptp设备(指从设备)中设置有滤波器,该滤波器可以采用低通滤波器,计算模块11可以包括:

第一计算单元111,用于通过滤波器的系数分别对第一时间戳列表和第二时间戳列表中的时间戳进行卷积处理,得到第一卷积值和第二卷积值;

第二计算单元112,用于根据第一计算单元111计算得到的第一卷积值和第二卷积值,计算出时间偏差。

在本发明实施例中,计算第一卷积值、第二卷积值和时间偏差的实现方式和应用的具体公式,在上述实施例中已经详细说明,故在此不再赘述。另外,本发明实施例在ptp设备中设置的滤波器的类型,以及针对不同应用场景下itu-tg.8273.2标准对滤波器和测试的要求,在上述实施例中已经详细说明,故在此不再赘述。

可选地,本发明实施例中时间戳列表的长度例如可以64,然而,本发明实施例不限制时间戳列表的具体长度,上述64仅是一个示意性说明,在满足时钟同步性能和标准要求的情况下,时间戳列表的长度可以选取其它数据。

可选地,在本发明实施例中,修正模块12通过时间偏差对提取的时间戳进行修正的实现方式,可以包括:

通过时间偏差对第一时间戳列表和第二时间戳列表中的每个时间戳进行修正。

进一步地,具体的修正方式可以为:对第一时间戳列表中的每个第一时间戳减时间偏差,对第二时间戳列表中的每个第二时间戳加时间偏差;即t2-t1-cf21减offset,t4-t3-cf43加offset。

需要说明的是,本发明实施例中对ptp设备本地的系统时钟进行修正的方式可以为:将计算出来的时间偏差下发给系统进行修正,修正ptp设备的系统时钟可以进行提速处理,理论上是越快越好,但是如果太快会占用大量的系统资源,因此在影响系统资源最小的情况下可以从现有技术中采用的1s定时器改变为30ms定时器,以确保进行时钟修正所用耗时尽可能的小,以保证从设备端可以快速跟踪主设备端。

发明实施例提供的时钟处理装置用于执行本发明图2所示实施例提供的时钟处理方法,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。

可选地,图12为本发明实施例提供的又一种时钟处理装置的结构示意图。在上述实施例的结构基础上,本发明实施例提供的装置10还可以包括:

删除模块15,用于在计算模块11根据提取的时间戳计算时间偏差之后,当时间偏差大于预设的偏差阈值时,将填写模块14在最后一次提取周期内填入第一时间戳列表和第二时间戳列表中的时间戳删除。

在本发明实施例中,ptp设备根据计算出的时间偏差对本地的系统时钟进行修正,即完成本次ptp时钟同步。在通过时间偏差对本地的系统时钟进行修正之前,需要对该时间偏差(offset)进行预判断,以避免提取到异常的时间戳数据而导致系统时钟的跳变;其中,offset通常为几十或十几ns。

现有技术对offset进行预判断,得知提取到异常时间戳后的处理方式为:清空两组时间戳列表中的数据,这样,会造成offset的波动比较大。本发明实施例提供的时钟处理装置,在计算offset之前,可以分别记录最后一个提取周期内填入第一时间戳列表和第二时间戳列表中的时间戳的数据并标记其数据量n。如果在时间锁定的情况下,offset出现不连续的波动,例如,若offset>|±700ns|,则认为offset有问题,也就是最后一次提取周期内填入列表的时间戳数据有问题,则可以分别移除最后一次提取周期内填入t1t2和t3t4中的时间戳数据。可以参考图8和图9所示记录时间戳和删除时间戳的示意图。

发明实施例提供的时钟处理装置用于执行本发明图7所示实施例提供的时钟处理方法,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。

在实际应用中,本发明图10到12所示各实施例中的计算模块11、修正模块12、提取模块13、填写模块14和删除模块15可以通过ptp设备的处理器来实现,滤波器可以为设置于ptp设备中的低通滤波器,用于结合计算模块11进行滤波处理,该处理器例如可以是一个中央处理器(centralprocessingunit,简称为:cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称为:asic),或者是完成实施本发明实施例的一个或多个集成电路。

图13为本发明实施例提供的一种ptp设备的结构示意图。本发明实施例提供的ptp设备20可以包括:存储器21和处理器22。

其中,存储器21,用于保存可执行指令;

处理器22,用于执行存储器21保存的所述可执行指令,进行如下操作:

s31,根据提取的时间戳计算时间偏差;

s32,通过时间偏差对ptp设备的系统时钟进行修正,并对提取的所述时间戳进行修正。

可选地,在本发明实施例中,时间戳包括第一时间戳和第二时间戳,处理器22执行该可执行指令,在s31之前,还进行如下操作:

s30,按照预设的提取周期提取第一时间戳和第二时间戳,将第一时间戳填入第一时间戳列表中,将第二时间戳填入第二时间戳列表中。

可选地,在本发明实施例中,ptp设备20中设置有滤波器23,处理器22执行该可执行指令时,执行s31的实现方式,可以包括:

s311,通过滤波器23的系数分别对第一时间戳列表和第二时间戳列表中的时间戳进行卷积处理,得到第一卷积值和第二卷积值;

s312,根据第一卷积值和第二卷积值,计算出时间偏差。

可选地,在本发明实施例的一种实现方式中,处理器22执行该可执行指令时,执行对提取的时间戳进行修正的实现方式,可以包括:

通过时间偏差对第一时间戳列表和第二时间戳列表中的每个时间戳进行修正。

可选地,在本发明实施例的另一种实现方式中,处理器22执行该可执行指令时,执行对提取的时间戳进行修正的实现方式,可以包括:

对第一时间戳列表中的每个第一时间戳减时间偏差,对第二时间戳列表中的每个第二时间戳加时间偏差。

可选地,在本发明实施例中,处理器22执行该可执行指令,在s31之后,还进行如下操作:

当时间偏差大于预设的偏差阈值时,将最后一次提取周期内填入第一时间戳列表和第二时间戳列表中的时间戳删除。

本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该处理器执行该计算机可执行指令时,进行如下操作:

s41,根据提取的时间戳计算时间偏差;

s42,通过时间偏差对从设备的系统时钟进行修正,并对提取的所述时间戳进行修正。

可选地,在本发明实施例中,时间戳包括第一时间戳和第二时间戳,该处理器执行该计算机可执行指令,在s41之前,还进行如下操作:

s40,按照预设的提取周期提取第一时间戳和第二时间戳,将第一时间戳填入第一时间戳列表中,将第二时间戳填入第二时间戳列表中。

可选地,在本发明实施例中,从设备中设置有滤波器,该处理器执行该计算机可执行指令时,执行s41的实现方式,可以包括:

s411,通过滤波器的系数分别对第一时间戳列表和第二时间戳列表中的时间戳进行卷积处理,得到第一卷积值和第二卷积值;

s412,根据第一卷积值和第二卷积值,计算出时间偏差。

可选地,在本发明实施例的一种实现方式中,该处理器执行该计算机可执行指令时,执行对提取的时间戳进行修正的实现方式,可以包括:

通过时间偏差对第一时间戳列表和第二时间戳列表中的每个时间戳进行修正。

可选地,在本发明实施例的另一种实现方式中,该处理器执行该计算机可执行指令时,执行对提取的时间戳进行修正的实现方式,可以包括:

对第一时间戳列表中的每个第一时间戳减时间偏差,对第二时间戳列表中的每个第二时间戳加时间偏差。

可选地,在本发明实施例中,该处理器执行该计算机可执行指令,在s41之后,还进行如下操作:

当时间偏差大于预设的偏差阈值时,将最后一次提取周期内填入第一时间戳列表和第二时间戳列表中的时间戳删除。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可以通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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