一种基于干扰观测反馈控制技术的IEEE1588时钟同步方法转让专利

申请号 : CN201610584030.0

文献号 : CN106160914B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张文安张鋆豪

申请人 : 浙江工业大学

摘要 :

一种基于干扰观测反馈控制技术的IEEE 1588时钟同步方法,采用基于扩张状态观测器的反馈控制方法,首先建立频率补偿时钟的状态空间模型,将影响时钟同步精度的晶振频率漂移和时间戳量化误差等不确定因素归结为"总和扰动"并扩张为新的状态变量,通过扩张状态观测器进行估计,并设计反馈控制律计算频率补偿值,从时钟根据频率补偿值调整自身频率,实现主从时钟同步的目的。本发明能显著提高时钟同步的精度和稳定性。

权利要求 :

1.一种基于干扰观测反馈控制技术的IEEE 1588时钟同步方法,其特征在于:所述方法包括如下步骤:步骤1)首先由最佳主时钟算法确定主从层次结构,主时钟节点的时间作为参考时间,其余时钟节点为从时钟节点;

步骤2)主从时钟之间周期性交换消息包,根据接收到消息包的时间戳之间的差值计算出主从时钟之间的时钟偏差,过程如下:所述的消息包包括同步消息包Sync、跟随消息包FollowUp、延迟测量请求消息包DelayReq和延迟测量响应消息包DelayResq,时间戳通过带时间戳管理功能的物理层收发器模块在消息包到达物理层时获得时间戳信息,包括主时钟发送同步消息包的时间戳tm1、从时钟收到同步消息包的时间戳ts1、从时钟发送延迟测量请求消息包的时间戳ts2、主时钟收到延迟测量请求消息包的时间戳tm2,时钟偏差Toffset通过以下公式获得:步骤3)选择从时钟的时间作为状态变量,建立频率补偿时钟的状态空间模型,其输入是根据时钟偏差计算得到的频率补偿值与频率补偿初值之和,输出是从时钟时间;频率补偿时钟内置晶体振荡器用于产生工作时钟,该时钟通过频率补偿值实现频率补偿功能,使得普通的晶振也能用于高精度的时钟同步,该频率补偿时钟包括32位加数寄存器、32位累加寄存器、32位亚秒寄存器、32秒寄存器和增量寄存器,频率补偿初值取决于从时钟晶振频率fPLL和标称频率f0,通过以下公式获得:步骤4)将影响时钟同步精度的不确定因素归结为"总和扰动"并扩张为新的状态变量,所述不确定因素包括晶振频率漂移和时间戳量化误差,建立频率补偿时钟的扩张状态空间模型;

所述的“总和扰动”为f=(kc-b0)u+w,f为扩张的状态变量,其中输入u为频率补偿初值与频率补偿值之和,(kc-b0)u为晶振频率漂移造成的“内部扰动”,w为时间戳量化误差造成的“外部扰动,b0≈kc是对不确定时钟常数kc的估计值;

步骤5)利用扩张状态观测器计算得到的从时钟时间估计值来设计反馈控制律,根据时钟偏差计算频率补偿值,从时钟根据频率补偿值实时调整自身的频率,最终达到主从时钟同步的目的。

2.如权利要求1所述的一种基于干扰观测反馈控制技术的IEEE 1588时钟同步方法,其特征在于:在步骤1)中,时间节点采用透明时钟。

3.如权利要求1或2所述的一种基于干扰观测反馈控制技术的IEEE 1588时钟同步方法,其特征在于:在步骤5)中,所述的扩张状态观测器能够对从时钟的时间和“总和扰动”同时进行估计,所设计的反馈控制律为比例控制律。

4.如权利要求3所述的一种基于干扰观测反馈控制技术的IEEE 1588时钟同步方法,其特征在于:所述步骤3)中,频率补偿时钟的模型由如下微分方程描述:其中,输入u为频率补偿初值与频率补偿值之和,输出y为从时钟时间,选择从时钟时间作为状态变量x,并考虑时间戳量化误差w,频率补偿时钟的状态空间模型如下:把方程(2)重新表示为:

其中b0≈kc,是对不确定时钟常数kc的估计值,f=(kc-b0)u+w为包含晶振频率漂移和时间戳量化误差在内的“总和扰动”,(kc-b0)u为晶振漂移造成的“内部扰动”,w为时间戳量化误差造成的“外部扰动;

所述步骤5)中,将“总和扰动”扩张为系统的状态变量x2=f,设总和扰动的变化率有界,并记为 令x1为原系统状态变量x,进而,由式(4)得到如下扩张状态空间模型:其中

对于二阶扩张状态空间模型(4),线性扩张状态观测器设计如下:

其中,L=[β1 β2]是待整定的观测器增益矩阵,β1和β2是观测器增益,z=[z1 z2],z1和z2分别是从时钟时间x1和“总和扰动”x2的估计值;

控制律设计如下:

u0=kp(r-z1)                              (7)u=(u0-z2)/b0                             (8)。

说明书 :

一种基于干扰观测反馈控制技术的IEEE1588时钟同步方法

技术领域

[0001] 本发明应用于网络信息传输技术领域,涉及一种适用于IEEE1588时钟同步系统的基于反馈控制技术的时钟同步方法。

背景技术

[0002] 在网络化分布式控制系统中存在大量的测量和控制节点,节点之间相互协调以完成相应的任务,因此,为保证系统正常运行,各节点之间需要一个统一的时钟节拍。系统中各节点由相互独立的时钟驱动,构成各时钟的晶体振荡器无法保持一致,导致各节点之间存在时钟偏差,因此需要设计时钟同步算法保持各节点时钟一致。
[0003] 目前,应用于时钟同步的协议有GPS协议(Global Positioning System Protocol,GPSP)、网络时钟协议(Network Time Protocol,NTP)和IEEE 1588协议。GPS协议具有高精度的优点,但是应用成本较高;NTP协议采用应用层的同步方法,同步精度只能达到毫秒级,不能够满足控制系统高速高精度的要求;IEEE 1588是一种物理层时钟同步协议,该协议能够使时钟同步精度达到亚微妙级,并且还能通过硬件辅助设备和时钟同步算法达到更高的同步精度。
[0004] 在网络化分布式控制系统中,各节点时钟之间晶振和电路的差异经时间积累产生时钟偏差。为了消除时钟偏差,在基于IEEE 1588的网络化分布式控制系统中,应用反馈控制的思想,设定其中一个节点的时钟为参考时钟,即主时钟,并基于主从节点消息包交换的时间戳信息得到时钟偏差,从时钟根据时钟偏差调整自身晶振频率,使从时钟的时间跟踪主时钟的时间,实现时钟同步。
[0005] 经过对现有技术文献的检索发现,许雄等人于2013年在期刊IEEE Transactions on Industrial Informatics上发表了一篇题为“A new time synchronization method for reducing quantization error accumulation over real-time networks:Theory and experiments”(一种新的解决实时网络中量化误差累积的时钟同步方法:原理和实验)的文章,提出了应用卡尔曼滤波方法实现时钟同步。但是,应用卡尔曼滤波方法的前提是假设噪声均是高斯分布的,然而在实际中,造成主从时钟之间时钟偏差的晶振频率漂移和时间戳量化误差这两种噪声并非完全是高斯分布的,因此卡尔曼滤波不一定适用。目前尚未有针对晶振频率漂移和时间戳量化误差是非高斯分布情况的时钟同步方法。

发明内容

[0006] 为了克服现有的IEEE 1588时钟同步方法中,无法很好地消除非高斯分布的晶振频率漂移和时间戳量化误差对时钟同步精度的影响,本发明提供一种适用于IEEE 1588时钟同步系统的基于干扰观测反馈控制技术的时钟同步方法,消除了非高斯分布的晶振频率漂移和时间戳量化误差对时钟同步精度的影响,使得时钟同步精度达到纳秒级。
[0007] 本发明的目的是通过以下技术方案实现的:
[0008] 一种基于干扰观测反馈控制技术的IEEE 1588时钟同步方法,所述方法包括如下步骤:
[0009] 步骤1)首先由最佳主时钟算法确定主从层次结构,主时钟节点的时间作为参考时间,其余时钟节点为从时钟节点;
[0010] 步骤2)主从时钟之间周期性交换消息包,根据接收到消息包的时间戳之间的差值计算出主从时钟之间的时钟偏差,过程如下:
[0011] 所述的消息包包括同步消息包Sync、跟随消息包FollowUp、延迟测量请求消息包DelayReq和延迟测量响应消息包DelayResq,时间戳通过带时间戳管理功能的物理层收发器模块在消息包到达物理层时获得时间戳信息,包括主时钟发送同步消息包的时间戳tm1、从时钟收到同步消息包的时间戳ts1、从时钟发送延迟测量请求消息包的时间戳ts2、主时钟收到延迟测量请求消息包的时间戳tm2,时钟偏差Toffset通过以下公式获得:
[0012]
[0013] 步骤3)选择从时钟的时间作为状态变量,建立频率补偿时钟的状态空间模型,其输入是根据时钟偏差计算得到的频率补偿值与频率补偿初值之和,输出是从时钟时间;
[0014] 步骤4)将影响时钟同步精度的不确定因素归结为"总和扰动"并扩张为新的状态变量,所述不确定因素包括晶振频率漂移和时间戳量化误差,建立频率补偿时钟的扩张状态空间模型;
[0015] 所述的“总和扰动”为f=(kc-b0)u+w,f为扩张的状态变量,其中(kc-b0)u为晶振频率漂移造成的“内部扰动”,w为时间戳量化误差造成的“外部扰动,b0≈kc是对不确定时钟常数kc的估计值;
[0016] 步骤5)利用扩张状态观测器计算得到的从时钟时间估计值来设计反馈控制律,根据时钟偏差计算频率补偿值,从时钟根据频率补偿值实时调整自身的频率,最终达到主从时钟同步的目的。
[0017] 进一步,在步骤1)中,时间节点采用透明时钟。在时钟偏差的测量过程中采用透明时钟可消除通信链路不对称对时钟偏差测量值的影响。
[0018] 更进一步,在步骤3)中,频率补偿时钟内置晶体振荡器用于产生工作时钟,该时钟通过频率补偿值实现频率补偿功能,使得普通的晶振也能用于高精度的时钟同步,该频率补偿时钟包括32位加数寄存器、32位累加寄存器、32位亚秒寄存器、32秒寄存器和增量寄存器,频率补偿初值取决于从时钟晶振频率fPLL和标称频率f0,通过以下公式获得:
[0019]
[0020] 在步骤5)中,所述的扩张状态观测器能够对从时钟的时间和“总和扰动”同时进行估计,所设计的反馈控制律为比例控制律。
[0021] 所述步骤3)中,频率补偿时钟的模型由如下微分方程描述:
[0022]
[0023] 其中,输入u为频率补偿初值与频率补偿值之和,输出y为从时钟时间。选择从时钟时间作为状态变量x,并考虑时间戳量化误差w,频率补偿时钟的状态空间模型如下:
[0024]
[0025] 把方程(2)重新表示为:
[0026]
[0027] 其中b0≈kc,是对不确定时钟常数kc的估计值,f=(kc-b0)u+w为包含晶振频率漂移和时间戳量化误差在内的“总和扰动”,(kc-b0)u为晶振漂移造成的“内部扰动”,w为时间戳量化误差造成的“外部扰动;
[0028] 所述步骤5)中,将“总和扰动”扩张为系统的状态变量x2=f,设总和扰动的变化率有界,并记为 令x1为原系统状态变量x,进而,由式(4)得到如下扩张状态空间模型:
[0029]
[0030] 其中
[0031]
[0032] 对于二阶扩张状态空间模型(4),线性扩张状态观测器设计如下:
[0033]
[0034] 其中,L=[β1 β2]是待整定的观测器增益矩阵,β1和β2是观测器增益,z=[z1 z2],z1和z2分别是从时钟时间x1和“总和扰动”x2的估计值;
[0035] 控制律设计如下:
[0036] u0=kp(r-z1)                 (7)
[0037] u=(u0-z2)/b0                (8)。
[0038] 与现有技术相比,本发明的优点在于:时钟同步过程中不需要假设晶振频率漂移和时间戳量化误差是高斯分布的,而是通过扩张状态观测器将两者扩张成“总和扰动”进行估计,通过设计反馈控制律消除非高斯分布的晶振频率漂移和时间戳量化误差对时钟同步精度的影响,克服了卡尔曼滤波只对高斯分布的噪声具有良好滤波效果的局限性。

附图说明

[0039] 图1是IEEE 1588时钟同步原理图。
[0040] 图2是频率调整时钟示意图。
[0041] 图3是基于干扰观测反馈控制技术的时钟同步系统结构图。
[0042] 图4是IEEE 1588同步方法的同步精度比较图,其中,(a)采用许雄等人提出的现有的时钟同步方法,(b)采用的是本发明提出的时钟同步方法。

具体实施方式

[0043] 为使本发明的目的、技术方案和优点更加清晰,下面结合附图对本发明的技术方案作进一步描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0044] 参照图1~图4,一种基于干扰观测反馈控制技术的IEEE 1588时钟同步方法,所述方法包括如下步骤:
[0045] 步骤1)首先由最佳主时钟算法确定主从层次结构,主时钟节点的时间作为参考时间,其余时钟节点为从时钟节点;
[0046] 步骤2)主从时钟之间周期性交换消息包,根据接收到消息包的时间戳之间的差值计算出主从时钟之间的时钟偏差,过程如下:
[0047] 所述的消息包包括同步消息包Sync、跟随消息包FollowUp、延迟测量请求消息包DelayReq和延迟测量响应消息包DelayResq,时间戳通过带时间戳管理功能的物理层收发器模块在消息包到达物理层时获得时间戳信息,包括主时钟发送同步消息包的时间戳tm1、从时钟收到同步消息包的时间戳ts1、从时钟发送延迟测量请求消息包的时间戳ts2、主时钟收到延迟测量请求消息包的时间戳tm2,时钟偏差Toffset通过以下公式获得:
[0048]
[0049] 步骤3)选择从时钟的时间作为状态变量,建立频率补偿时钟的状态空间模型,其输入是根据时钟偏差计算得到的频率补偿值与频率补偿初值之和,输出是从时钟时间;
[0050] 步骤4)将影响时钟同步精度的不确定因素归结为"总和扰动"并扩张为新的状态变量,所述不确定因素包括晶振频率漂移和时间戳量化误差,建立频率补偿时钟的扩张状态空间模型;
[0051] 所述的“总和扰动”为f=(kc-b0)u+w,f为扩张的状态变量,其中(kc-b0)u为晶振频率漂移造成的“内部扰动”,w为时间戳量化误差造成的“外部扰动,b0≈kc是对不确定时钟常数kc的估计值;
[0052] 步骤5)利用扩张状态观测器计算得到的从时钟时间估计值来设计反馈控制律,根据时钟偏差计算频率补偿值,从时钟根据频率补偿值实时调整自身的频率,最终达到主从时钟同步的目的。
[0053] 进一步,在步骤1)中,时间节点采用透明时钟。在时钟偏差的测量过程中采用透明时钟可消除通信链路不对称对时钟偏差测量值的影响。
[0054] 更进一步,在步骤3)中,频率补偿时钟内置晶体振荡器用于产生工作时钟,该时钟通过频率补偿值实现频率补偿功能,使得普通的晶振也能用于高精度的时钟同步,该频率补偿时钟包括32位加数寄存器、32位累加寄存器、32位亚秒寄存器、32秒寄存器和增量寄存器,频率补偿初值取决于从时钟晶振频率fPLL和标称频率f0,通过以下公式获得:
[0055]
[0056] 在步骤5)中,所述的扩张状态观测器能够对从时钟的时间和“总和扰动”同时进行估计,所设计的反馈控制律为比例控制律。
[0057] 所述步骤3)中,频率补偿时钟的模型由如下微分方程描述:
[0058]
[0059] 其中,输入u为频率补偿初值与频率补偿值之和,输出y为从时钟时间。选择从时钟时间作为状态变量x,并考虑时间戳量化误差w,频率补偿时钟的状态空间模型如下:
[0060]
[0061] 把方程(2)重新表示为:
[0062]
[0063] 其中b0≈kc,是对不确定时钟常数kc的估计值,f=(kc-b0)u+w为包含晶振频率漂移和时间戳量化误差在内的“总和扰动”,(kc-b0)u为晶振漂移造成的“内部扰动”,w为时间戳量化误差造成的“外部扰动;
[0064] 所述步骤5)中,将“总和扰动”扩张为系统的状态变量x2=f,设总和扰动的变化率有界,并记为 令x1为原系统状态变量x,进而,由式(4)得到如下扩张状态空间模型:
[0065]
[0066] 其中
[0067]
[0068] 对于二阶扩张状态空间模型(4),线性扩张状态观测器设计如下:
[0069]
[0070] 其中,L=[β1 β2]是待整定的观测器增益矩阵,β1和β2是观测器增益,z=[z1 z2],z1和z2分别是从时钟时间x1和“总和扰动”x2的估计值;
[0071] 控制律设计如下:
[0072] u0=kp(r-z1)                 (7)
[0073] u=(u0-z2)/b0                (8)。
[0074] 如图1所示,主时钟周期性发送同步消息包(Sync),在本实施例中,时钟同步周期Tsync=1s。tm1代表主时钟发送同步消息包的时间戳,ts1代表从时钟收到同步消息包的时间戳,同时主时钟发送跟随消息包(FollowUp),从时钟从跟随消息包中获得tm1。从时钟随后发送延迟测量请求消息包(DelayReq),发送时间戳记为ts2,主时钟收到消息包后发送延迟测量响应消息包(DelayResq),该消息包包含主时钟收到延迟测量请求消息包的时间戳tm2。时钟偏差具体通过以下公式获得:
[0075]
[0076] 如图2所示,从时钟除了有系统时间计数的功能以外,还要有频率补偿的功能。在本实施例中,从时钟实质为一个频率补偿时钟,主要由一个32位秒时钟计数器、一个32位亚秒寄存器、一个32位累加器、一个32位加数寄存器和一个增量寄存器构成。从时钟的时间是由读取秒寄存器和亚秒寄存器中数值得到的,增量寄存器中储存每次累加到亚秒寄存器的值。时钟源频率选择50MHz,与主时钟相同。在每个时钟周期内,加数寄存器中的值与累加寄存器中的值相加,结果储存在累加寄存器中,累加寄存器的算数进位脉冲使能亚秒寄存器累加增量寄存器中的值。增量寄存器中设定的值为107,大约要经过的108次累加,亚秒寄存器才会溢出,向秒寄存器进位,也就是系统时间增加了1s。驱动从时钟工作的晶振频率至少为40MHz,选择此频率为主从时钟的标称频率f0。单位时间内亚秒寄存器中增加的数值由加数寄存器和时钟信号共同决定,改变频率补偿值就可以改变储存在加数寄存器中的值,相当于调整了累加寄存器进位脉冲驱动亚秒寄存器累加增量寄存器中的值的频率,从而实现对晶振频率的补偿并使从时钟的时间跟踪主时钟的时间。在本实施例中,频率补偿初值设定为:
[0077]
[0078] 频率补偿时钟模型可由如下微分方程描述:
[0079]
[0080] 其中,输入u为频率补偿初值与频率补偿值之和,输出y为从时钟时间。选择从时钟时间作为状态变量x,并考虑时间戳量化误差w,频率补偿时钟的状态空间模型如下:
[0081]
[0082] 把方程(2)重新表示为:
[0083]
[0084] 其中b0≈kc,是对不确定时钟常数kc的估计值,f=(kc-b0)u+w为包含晶振频率漂移和时间戳量化误差在内的“总和扰动”,(kc-b0)u为晶振漂移造成的“内部扰动”,w为时间戳量化误差造成的“外部扰动。将“总和扰动”扩张为系统的状态变量x2=f,设总和扰动的变化率有界,并记为 令x1为原系统状态变量x,进而,可由式(4)得到如下扩张状态空间模型:
[0085]
[0086] 其中
[0087]
[0088] 对于二阶扩张状态空间模型(4),线性扩张状态观测器设计如下:
[0089]
[0090] 其中,L=[β1 β2]是待整定的观测器增益矩阵,β1和β2是观测器增益,z=[z1 z2],z1和z2分别是从时钟时间x1和“总和扰动”x2的估计值。
[0091] 控制律设计如下:
[0092] u0=kp(r-z1)                 (7)
[0093] u=(u0-z2)/b0                (8)
[0094] 基于干扰观测反馈控制技术的时钟同步系统根据式(5)-(8)进行设计,其结构图如图3所示。
[0095] 在本实施例中,kp=0.75,b0=0.035,β1=1.4,β2=0.4。
[0096] 图4为本实施例IEEE 1588时钟同步方法的同步精度比较图,其中横坐标为测量的时间轴,单位为秒,纵坐标为主从时钟偏差,单位为秒。图4(a)采用的是许雄等人提出的时钟同步方法,图4(b)采用的是本实施例提出的时钟同步方法。从仿真实验结果可知,采用本实施例提出的时钟同步方法可以显著提高时钟同步精度(时钟偏差抖动从±100ns提高到±50ns)。