基于计数值整体误差最小的从节点本地时钟频率调整方法与流程

文档序号:15402068发布日期:2018-09-11 17:46阅读:238来源:国知局

本发明属于通信技术领域,涉及一种时钟频率调整方法,具体涉及一种基于计数值整体误差最小的从节点本地时钟频率调整方法。



背景技术:

全ip化是未来网络和业务的发展趋势,分组网络将取代传统sdh网络成为统一的传输承载网络。同时,5g的到来也对传统基础网络的承载网提出了巨大挑战。其中很重要的一方面体现在超高精度的时间同步上,引入5g的超短帧、载波聚合和多点协作传输(comp)多点协同技术,驱动时间同步精度提升一个数量级,能够从4g的±1.5us提升到±130ns。这对现有的时间同步技术有很大的挑战。

另外,随着工业物联网的日新月异以及车载网络的发展,特别是当前大数据和云计算等进入工业控制领域、要求两化融合的背景下,不仅要保证大数据传输,而且要保证传输的实时性和确定性,这时现有的实时以太网协议就显得力不从心。其中最关键的问题,是网络中从节点本地时钟本精度有限,容易受到外部环境的影响,比如温度湿度等,节点上的时钟频率不可能一直维持恒定的值,并且未考虑在非调整时刻,从时钟读取的计数值与主时钟计数值的误差情况,这种误差对于实际中高精度、同步要求在ns级别甚至ps级别时的应用,不可忽视。为了保持从节点本地时钟频率精度,减小从节点本地时钟计数值与主节点之间的计算误差,满足网络中数据传输的实时性要求,需要不断对从节点本地时钟频率进行调整。现有最广泛时钟频率调整方式,是通过主节点定时发送带有发送时间信息的数据包,从接收该数据包,并对信息包的发出时间和接收时间信息进行记录,然后从节点计算出自己的本地时钟与主节点本地时钟的计数频率比,通过将频率比调整为1,来对从节点本地时钟进行调整。例如:申请公布号为cn107800529a,名称为“一种网络节点的时钟频率同步方法”的中国专利申请,公开了一种网络中从节点的频率调整方法,实现步骤为:基于上一次对时过程,获取本次对时过程的起始时间点;根据上一次对时过程的频率偏差,在本次对时过程的起始时间点处,调整从节点相对于主节点的频率偏差,并根据调整后的频率偏差,确定本次对时过程的终止时间点,以将所述本次对时过程的终止时间点作为下一次对时过程的起始时间点。虽然该方法中能消除网络中间节点的影响,提高从节点的频率调整精度,但是没有考虑在要求高精度时间同步的网络中,主从节点本地计数值的误差,影响数据传输的实时性。



技术实现要素:

本发明的目的在于克服上述现有技术不足之处,提出一种基于计数值整体误差最小的从节点本地时钟频率调整方法,在不影响时间敏感网络传输性能的情况下,通过减小从节点本地计数值与主节点本地计数值的误差,提高从节点本地时钟频率调整精度。

为实现上述目的,本发明的技术方案包括如下步骤:

(1)定时器模块发送上一个调整时刻t0、当前调整时刻t1和下一个调整时刻t2:

定时器模块设定的调整间隔向频率获取模块、计数值计算模块、频率估算模块和频率调整参数计算模块发送上一个调整时刻t0、当前调整时刻t1和下一个调整时刻t2;

(2)频率获取模块计算当前调整时刻t1主节点的本地时钟频率cm和从节点的本地时钟频率cs1:

(2a)频率获取模块接收主节点发送的同步报文中的当前调整时刻t1主节点本地时钟计数值tm1和上一个调整时刻t0主节点本地时钟计数值tm0,并根据t1、t0、tm1和tm0,计算当前调整时刻t1主节点本地时钟频率cm;

(2b)频率获取模块读取从节点本地时钟中当前调整时刻t1从节点本地时钟计数值ts1和上一个调整时刻t0从节点本地时钟计数值ts0,并根据t1、t0、ts1和ts0,计算当前时刻t1从节点本地时钟频率cs1;

(3)计数值计算模块计算下一个调整时刻t2主节点本地时钟预期能够达到的计数值tm2:

计数值计算模块接收当前调整时刻t1主节点的本地时钟频率cm,并根据cm和t2,计算下一个调整时刻t2主节点本地时钟预期能够达到的计数值tm2;

(4)频率估计模块计算当前时刻t1从节点本地时钟频率调整初始值cs2:

频率估计模块读取下一个调整时刻t2主节点本地时钟预期能够达到的计数值tm2和从节点本地时钟中当前调整时刻t1从节点本地时钟计数值ts1,并根据tm2、ts1、t1和t2,计算从节点本地时钟在当前调整时刻t1的频率调整初始值cs2;

(5)频率调整参数计算模块计算计数值整体误差最小时,当前调整时刻t1从节点本地时钟频率的调整期望值cs:

(5a)频率调整参数计算模块读取当前调整时刻t1主节点本地时钟计数值tm1和主节点本地时钟频率cm、当前调整时刻t1从节点本地时钟计数值ts1和从节点本地时钟频率cs1、下一个调整时刻t2从节点本地时钟频率调整初始值cs2,以及下一个调整时刻t2主节点本地时钟预期能够达到的计数值tm2;

(5b)频率调整参数计算模块根据t1、t2、tm1、ts1、cm、cs1、cs2、和tm2,计算计数值整体误差最小时,当前调整时刻t1从节点本地时钟频率调整期望值cs;

(6)频率调整模块对当前调整时刻t1从节点本地时钟频率进行调整:

频率调整模块读取当前调整时刻t1从节点本地时钟频率调整期望值cs,并将cs作为锁相环的输入,实现对当前调整时刻t1从节点本地时钟频率的调整,得到与当前调整时刻t1从节点本地时钟频率调整期望值cs相等的从节点本地时钟频率。

本发明与现有技术相比,具有以下优点:

本发明由于对从节点本地时钟频率进行调整,是通过计算从节点本地时钟计数值与主节点本地时钟计数值整体误差最小时得到从节点本地时钟频率调整期望值实现的,充分考虑了主、从节点本地时钟实际计数值的误差,避免了现有技术中只进行主、从节点本地时钟频率对齐对频率调整精度的影响,提高了在调整时刻之间从节点本地时钟计数值读取的准确性,能够在不影响网络数据传输可靠性、满足网络带宽的基础上,提高时间同步精度,进而提高网络中数据传输的实时性。

附图说明

图1为本发明适用的从节点本地时钟频率调整系统的结构示意图;

图2为本发明的实现流程图;

图3为本发明的频率获取模块接收主节点发送的同步报文的实现流程图;

图4为本发明中计数值整体误差最小原理示意图。

具体实施方式

下面结合附图和具体实施例,对本发明作进一步详细描述。

参照图1,本发明适用的从节点本地时钟频率调整系统,包括设置在从节点上依次连接的频率获取模块、计数值计算模块、频率估算模块、频率调整参数计算模块和频率调整模块,以及分别与频率获取模块、计数值计算模块、频率估算模块、频率调整参数计算模块连接的定时器模块,其中:

定时器模块为频率获取模块、计数值计算模块、频率估算模块以及频率调整参数计算模块提供调整时刻的时间信息;

频率获取模块根据接收到主节点发送的同步报文中的主节点本地时钟计数值信息,和读取到的从节点本地时钟计数值信息,计算当前调整时刻主、从节点本地时钟频率,并提供给计数值计算模块;

计数值计算模块根据频率获取模块提供的主、从节点本地时钟频率,计算主节点本地时钟在下个调整时刻预期能够达到的计数值,并提供给频率估算模块;

频率估算模块根据计数值计算模块提供的主节点本地时钟在下个调整时刻预期能够达到的计数值,计算当前调整时刻从节点本地时钟频率调整初始值,并提供给频率调整参数计算模块;

频率调整参数计算模块频率估算模块提供的从节点本地时钟频率调整初始值,计算当前调整时刻从节点本地时钟频率调整期望值,并提供给频率调整模块;

频率调整模块根据频率调整参数计算模块提供的从节点本地时钟频率调整期望值,调整从节点本地时钟。

参照图2,基于计数值整体误差最小的从节点本地时钟频率调整方法,包括如下步骤:

步骤1)定时器模块发送上一个调整时刻t0、当前调整时刻t1和下一个调整时刻t2:

定时器模块向频率获取模块、计数值计算模块、频率估算模块和频率调整参数计算模块发送上一个调整时刻t0、当前调整时刻t1和下一个调整时刻t2;

步骤2)频率获取模块计算当前调整时刻t1主节点的本地时钟频率cm和从节点的本地时钟频率cs1:

步骤2a)频率获取模块接收主节点发送的同步报文中的当前调整时刻t1主节点本地时钟计数值tm1和上一个调整时刻t0主节点本地时钟计数值tm0,并根据t1、t0、tm1和tm0,计算当前调整时刻t1主节点本地时钟频率cm,计算公式为:

其中,t1是当前调整时刻,t0是上一个调整时刻,tm1是当前调整时刻t1主节点本地时钟计数值,tm0是上一个调整时刻t0主节点本地时钟计数值,频率获取模块接收主节点发送的同步报文的实现流程如图3所示,步骤如下:主节点在每个调整时刻发送同步报文,其中报文中携带主节点在发送报文时的计数值信息tm0、tm1、tm2…tmn;设置在从节点上的频率获取模块在每个调整时刻到来时,接收主节点发送的同步报文获取其中主节点本地时钟计数值信息tm0、tm1、tm2…tmn;频率获取模块在每个调整时刻到来时,获取从节点本地时钟计数值信息ts0、ts1、ts2…tsn;

步骤2b)频率获取模块读取从节点本地时钟中当前调整时刻t1从节点本地时钟计数值ts1和上一个调整时刻t0从节点本地时钟计数值ts0,并根据t1、t0、ts1和ts0,计算当前时刻t1从节点本地时钟频率cs1,计算公式为:

其中,t1是当前调整时刻,t0是上一个调整时刻,ts1是当前调整时刻t1从节点本地时钟计数值,ts0是上一个调整时刻t0从节点本地时钟计数值;

步骤3)计数值计算模块计算下一个调整时刻t2主节点本地时钟预期能够达到的计数值tm2:

计数值计算模块根据接收到的当前调整时刻t1主节点的本地时钟频率cm,计算下一个调整时刻t2主节点本地时钟预期能够达到的计数值tm2,计算公式为:

tm2=cm·t2

其中,t2是当前调整时刻,cm是当前调整时刻t1主节点本地时钟频率;

步骤4)频率估计模块计算当前时刻t1从节点本地时钟频率调整初始值cs2:

频率估计模块读取下一个调整时刻t2主节点本地时钟预期能够达到的计数值tm2和从节点本地时钟中当前调整时刻t1从节点本地时钟计数值ts1,并根据tm2、ts1、t1和t2,计算从节点本地时钟在当前调整时刻t1的频率调整初始值cs2计算公式为:

其中,t2是下一个调整时刻,t1是当前调整时刻,tm2是下一个调整时刻t2主节点本地时钟预期能够达到的计数值,ts1是当前调整时刻t1从节点本地时钟计数值;

步骤5)频率调整参数计算模块计算计数值整体误差最小时,当前调整时刻t1从节点本地时钟频率的调整期望值:

步骤5a)频率调整参数计算模块读取当前调整时刻t1主节点本地时钟计数值tm1和主节点本地时钟频率cm、当前调整时刻t1从节点本地时钟计数值ts1和从节点本地时钟频率cs1、下一个调整时刻t2从节点本地时钟频率调整初始值cs2,以及下一个调整时刻t2主节点本地时钟预期能够达到的计数值tm2;

步骤5b)频率调整参数计算模块根据t1、t2、tm1、ts1、cm、cs1、cs2、和tm2,计算计数值整体误差最小时,当前调整时刻t1从节点本地时钟频率调整期望值cs,计数值整体误差最小原理示意图如图4所示,计算过程如下:

步骤5b1)频率调整参数计算模块在直角坐标系中,以t1为横坐标、以ts1为纵坐标构造点a,以t1为横坐标、以tm1为纵坐标构造点b,以t2为横坐标、以tm2的值为纵坐标构造点c,以t2为横坐标、以假设的从节点本地时钟期望计数值ts2为纵坐标构造点d,并连接点a与点d,以及点b与点c,得到直线ad与直线bc的交点m;

在t1到t2时刻之间,直线ad与直线bc之间的差值代表主从本地时钟计数值误差。为使误差整体最小,应使图中点a、点b、点c、点d和点m组成的阴影部分面积最小。

步骤5b2)频率调整参数计算模块连接点a、点b和点m,以及点c、点d和点m,得到三角形abm和三角形cdm;

步骤5b21)d点纵坐标代表的从节点本地时钟计数值的期望值,直线ad斜率值代表从节点本地时钟频率调整期望值,设直线ob方程:

y=cmx

设直线oa方程:

y=cs1x

得到点a(t1,cs1t1),点b(t1,cmt1),点c(t2,cmt2)。

步骤5b22)求交点m横坐标:

设使得阴影部分面积最小的d点坐标为(t2,a);

由a、b、c点坐标以及直线oa、ob方程,可得到交点m的横坐标为:

其中,tm=t2-t1;

步骤5b3)频率调整参数计算模块确定三角形abm与三角形cdm的面积之和为最小值时,点d在直角坐标系中的对应纵坐标ts2:

计算阴影部分面积:根据m点横坐标和点a、点b、点c和点d坐标计算得到阴影部分面积:

sδ阴=(sδabm+sδcdm)/2

即:

得到当阴影部分面积最小时:

即当点d坐标为时,阴影部分面积最小,即:

步骤5b4)频率调整参数计算模块根据点d在直角坐标系中的对应纵坐标ts2,计算从节点本地时钟计数值与主节点本地时钟计数值整体误差最小时,当前调整时刻t1从节点本地时钟频率调整期望值cs,计算公式为:

其中,t2是下一个调整时刻,t1是当前调整时刻,ts2是点d的纵坐标,表示下一个调整时刻t2从节点本地时钟期望的计数值,ts1是当前调整时刻t1从节点本地时钟计数值。

步骤6)频率调整模块对当前调整时刻t1从节点本地时钟频率进行调整:

频率调整模块读取当前调整时刻t1从节点本地时钟频率调整期望值cs,并将cs作为锁相环的输入,实现对当前调整时刻t1从节点本地时钟频率的调整,得到与当前调整时刻t1从节点本地时钟频率调整期望值cs相等的从节点本地时钟频率。

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