一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于IEEE1588协议的模糊控制时钟伺服算法的制作方法

2022-07-09 21:32:48 来源:中国专利 TAG:

一种基于ieee 1588协议的模糊控制时钟伺服算法
技术领域
1.本发明涉及时钟伺服算法技术领域,具体为一种基于ieee 1588协议的模糊控制时钟伺服算法。


背景技术:

2.随着分布式系统对中央系统的替代,实时处理成为现有网络系统一个挑战。分布式网络中所有设备为了协同工作,需要所有设备都必须有一个“共同时间”或全局时间。一般情况下,嵌入式系统中的时间是使用晶体振荡器和计数器确定的。外部设备和网络模块也是使用锁相环和晶体频率技术共同建立的。但晶体是异质的,受温度、湿度、使用时间的影响,频率不稳定;因此,系统中的所有设备都保持不同的时间。在机器人、集成电路装配系统和计算机数控系统等系统中,很难准确地保持时间。此外,由于分布式系统通过网络共享信息,来自磁场或操作环境的噪声会导致数据包丢失,因此每个节点的数据交换安全需要一个“共同时间”概念。因为以太网具有高速率、大带宽和短周期时间特性,它在许多工业架构的所有层面都得到应用。使用以太网时,数据从高层顺利传输到低层且丢包最少,反之亦然。但是,周期信息和日程信息需要得到保证。换句话说,网络系统中的时间需要在每个联网设备中具有相同的值。因此,时间同步在实时系统中很重要。
3.在时间同步中,需要考虑两个问题,时间偏移和时间偏离。时间偏移量(或偏移量)是两个设备在特定时刻的时间值的相对差异。时间偏离(或速率偏移)是具有相同正常频率的时间系统之间的时钟漂移,可以称为时间偏移的“一阶导数”。相位同步补偿时间偏移,频率同步使时钟以相同的速率运行。因此,时间同步需要包括相位同步和频率同步。ieee 1588标准是一种有吸引力的新方法,可以在一两个步骤同步多个节点。精确时间协议(ptp)是用于精确同步的ieee 1588一个简要说明。它可以仅使用软件或辅助硬件和软件的组合来实现。当使用带时间戳的硬件时,ptp精确到纳秒级。
4.ieee 1588标准已经使用软件和硬件进行了研究和实现。因为ptp使用时间戳来校正从节点和主节点之间的时间,所以同步方法的准确性取决于时间戳位置。采用软件方式,触发时间接近操作系统,抖动时间比较大,时间偏移在100微秒以内。使用基于硬件的时间戳,触发时间在物理层内或附近执行,抖动时间小于软件方法,精度在纳秒级。
5.ieee 1588提出了时钟偏移补偿,但没有考虑频率补偿,因此无法提供全时同步。因此,提高其性能是一个重要的研究领域。


技术实现要素:

6.(一)解决的技术问题
7.针对现有技术的不足,本发明提供了一种基于ieee 1588协议的模糊控制时钟伺服算法来解决上述问题。
8.(二)技术方案
9.为实现上述目的,本发明提供如下技术方案:一种基于ieee1588协议的模糊控制
时钟伺服算法,包括具有模糊控制逻辑的pi伺服算法的引入:首先,使用加数寄存器的时钟同步模型传递函数可以表示为
10.gp(s)=ts(s)/u(s)=kc*t/s
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(a)
11.其中ts(s)为从节点时钟输出值,u(s)为时钟模块的输入值,t为时间同步周期,kc为时钟同步常量,s为复数。
12.pi时钟伺服器使用如下描述的补偿算法,即传递函数表示:
13.gc(s)=kp ki/s
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(b)
14.其中kp为比例项增益,ki为积分项增益,s为复数。
15.基于使用加数寄存器的时钟同步模型,结合通用pi时钟伺服器算法,再加上模糊控制逻辑得到增强算法。
16.通过(a)和(b)得到闭环回路的传递函数:
17.h(s)=(kp*s ki)/(s*s kp*s ki)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(c)
18.其中kp=kp kc t,ki=ki kc t。
19.优选的,该闭环回路时钟伺服系统可以表示为具有固有频率ωn和阻尼系数ζ的二阶系统,如(d)所示
20.h(s)=(2*ζ*ωn ωn*ωn)/(s*s 2*ζ*ωn ωn*ωn)
ꢀꢀꢀꢀ
(d)
21.其中ωn*ωn=ki,且2*ζ*ωn=kp。
22.优选的,以上传递函数中,响应时间、噪声消减、超调时间(也叫过冲时间)由ωn和ζ决定,传递函数的两个极点(p1,)会影响时钟伺服系统的稳定性ωn,响应时间为因此,当阻尼系数恒定时,固有频率将决定时钟伺服器质量,如果ωn小,响应时间则大,反之亦然,但是,当ωn较小时,噪声消减会增强,如果s=jω,则时钟伺服器的带宽bw可以由(e)表示。
[0023][0024]
优选的,所述等式(e)中,当阻尼系数固定时,时钟伺服的带宽与固有频率成正比,因此,改变固有频率值将改变时钟伺服的带宽,更大的带宽将等于更大的截止频率(反之亦然),此外,更大的带宽等于更快的获取时间,在初始阶段,系统需要较大的带宽才能在短时间内达到边界误差,此时偏移量包含更多的随机噪声,当系统稳定时,需要合适的带宽来抑制噪声,因此,模糊控制器pi时钟伺服来适应时钟伺服带宽,绝对时间偏移|e|和偏移导数de是模糊块控制器的两个输入,为了平滑时钟伺服的带宽bw,将增量带宽δbw添加到上一个带宽bwt-1以替换系统带宽。
[0025]
(三)有益效果
[0026]
与现有技术相比,本发明提供了一种基于ieee 1588协议的模糊控制时钟伺服算法,使用模糊控制技术在pi伺服器初始阶段很好解决了在短周期内到达边界误差,并尽可能减少噪声引入;当系统稳定时又能具有很好频率响应来抑制噪声,从而在基于ptp以太硬件时间戳传统pi伺服器算法上进一步提高了精度,在诸如机器人和精密机械使用的微系统或同步移动系统中可以提供足够的稳定性。
附图说明
[0027]
图1为简单时间校正算法的时钟模型示意图;
[0028]
图2为本发明基于ieee 1588协议的网络时间同步示意图;
[0029]
图3为本发明使用加数寄存器的时钟同步模型示意图;
[0030]
图4为本发明增强算法示意图。
具体实施方式
[0031]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]
请参阅图1,图1为一个简单时间校正算法的时钟模型,它使用了采样保持器和积分电路,该时钟模型传递函数表示如下:
[0033][0034]
其中,kc是时钟模型常数,ts(s)是从时钟输出值(本地时间),u(s)是时钟模块的输入值,t是时间同步周期。
[0035]
在此模型中,pi(比例积分)用于校正时间偏移和时钟速率,在传统的通用方法中介绍了一种仅使用软件来实现这种补偿(pi时钟伺服器)的方法,它是一种简单的线性补偿,提供的精度不足以满足精确系统的要求。
[0036]
另外,许多因素会影响其精度,包括操作系统中的延迟时间、时延(latency)和队列延迟等,改善方法有:
[0037]
1)可以通过使用温度补偿振荡器或恒温振荡器来提供本地时钟来优化同步,此外,一些应用程序在物理层使用具有高分辨率时间戳的超级主时钟,这样的系统可以改善网络中的同步,但它们也增加了成本。
[0038]
2)使用积分平方误差方法:设计了无差拍pi控制器(最佳pi伺服器)以最小化积分平方时间偏移,kp和ki参数是固定的,分别属于时间同步周期和时钟模型参数,使用这种方法,从时钟可以在1个时间同步周期内跟踪主时钟,但需要在覆盖时间和时间偏移之间进行权衡,时间偏移量大,时钟无法降低量化误差带来的噪声。
[0039]
3)一种基于主时钟和从时钟的分数的频率补偿:该方法看起来像比例补偿,并提供偏移和速率偏移校正,算法很好,但有些噪音无法减少。
[0040]
4)基于3)的改善:添加一个滤波器来抑制随机噪声和量化误差,提高同步性能的一种简单有效的方法是低通滤波器,但是,它将时间常数λ引入到时钟伺服器的响应(传递函数)之中。
[0041]
5)基于4)的改善:卡尔曼滤波器(kf)也可用于减少量化误差,在使用kf时需要清晰的确定过程噪声(q)和测量噪声(r),因为滤波器性能取决于正确的确定r和q的能力,kf提高了时间同步性能,但是时钟伺服器仍然需要很多周期才能到达偏移边界值,这使得它不适合含有许多设备的实时系统,因为实时系统中设备需要在短时间内同步进行处理,此外,kf需要脱机确定时钟伺服器参数,这对于嘈杂的网络系统是不利的。
[0042]
ieee1588协议在许多工业架构的信息传输中可确保高性能,在具有较高要求的控制底层设备,如执行器、传感器、驱动器、电机等,可以达到非常小的误差,因为当时间同步时,采样时间运动控制器也同步,消息调度任务被严格管理,概述总结上述改善方法,提出如下的模糊控制时钟伺服算法。
[0043]
请参阅图2,图2为精确时间协议(ptp)常见高精度实现方法的示意图,为了便于理解该增强算法,先简要阐述带有ethernetptp硬件时间戳支持环境下时间同步的工作原理与实现过程:
[0044]
ieee1588标准定义了一个协议,允许在使用网络通信、本地计算和分布式对象等技术实现的测量和控制系统中实现精确的时钟同步,该协议适用于通过支持多播消息的局域网进行通信的系统,包括(但不限于)以太网,该协议用于同步异构系统,包括具有不同固有精度、分辨率和稳定性的时钟,该协议以最少的网络和本地时钟计算资源支持亚微秒级的全系统同步精度,该基于消息的协议,也称为精确时间协议(ptp),是通过udp/ip传输,系统/网络分为主节点和从节点,用于分发时序/时钟信息,图2描述了该协议通过交换ptp消息将从节点与主节点同步的技术,其中:
[0045]
主节点向其所有节点广播ptpsync消息,sync消息包含主设备的参考时间信息,该消息离开主系统的时间是t1,对于以太网端口,这个时间必须在mii(mediaindependentinterface,下同)中捕获。
[0046]
从设备接收到同步消息,并使用其定时参考捕获准确的时间t2。
[0047]
master然后向slave发送一个follow_up消息,其中包含t1信息以供以后使用。
[0048]
从设备向主设备发送一个delay_req消息,注明该帧离开mii的确切时间t3。
[0049]
主节点接收到该消息并捕获它进入其系统的确切时间t4。
[0050]
master在delay_resp消息中将t4信息发送给slave。
[0051]
从设备使用t1、t2、t3和t4这四个值来将其本地时序参考时间同步到主设备的时序参考时间。
[0052]
大多数协议实现发生在软件中,在udp层之上,然而,如上所述,需要硬件支持来捕获特定ptp数据包进入或离开mii以太网端口的确切时间,必须捕获此时序信息并将其返回给软件,以正确、高精度地实现ptp。
[0053]
参考时间源:
[0054]
要获取时间快照,中央处理单元需要一个64位格式的参考时间(分为两个32位通道,高32位以秒为单位提供时间,低32位以纳秒为单位表示时间),该参考时间格式在ieee1588规范中有定义。
[0055]
ptp参考时钟输入用于在内部生成参考时间(也称为系统时间)并捕获时间戳,此参考时钟的频率必须大于或等于时间戳计数器的分辨率,主节点和从节点之间的同步精度目标约为100ns。
[0056]
系统时间的生成、更新和修改在“系统时间校正方法”中描述。
[0057]
获取时间戳(时间快照)的精度取决于ptp参考时钟输入周期、振荡器的特性(漂移)和同步过程的频率,由于从tx和rx时钟输入域到ptp参考时钟域的同步,时间戳锁存值的不确定性为1个参考时钟周期,如果由于分辨率我们增加了不确定性,我们将为时间戳增加一半的参考时钟周期。
[0058]
使用ptp特性的帧传输:
[0059]
在mii上输出帧的sfd时,会捕获时间戳,需要时间戳捕获的帧可以在每帧的基础上进行控制,换言之,可以标记每个传输的帧以指示是否必须为该帧捕获时间戳,正常传输的帧不会进行这样处理去识别ptp帧,帧控制通过发送描述符中的控制位进行,捕获的时间戳返回给应用程序的方式和给帧提供状态方式一样,该时间戳与帧的发送状态一起在相应的发送描述符中发送回来,从而将时间戳自动连接到特定的ptp帧,64位时间戳信息被写回tdes2和tdes3字段,其中tdes2保存时间戳的低32有效位,(tdes表示以太网mac(mediaacesscontrol,下同)层硬件相关的发送描述符号表)。
[0060]
使用ptp特性帧接收:
[0061]
启用ieee1588时间戳功能后,以太网mac会捕获mii上接收的所有帧的时间戳,mac会在帧接收完成后立即提供时间戳,捕获的时间戳以与提供帧状态相同的方式返回给应用程序,时间戳与帧的接收状态一起发回,放在相应的接收描述符中,64位时间戳信息被写回rdes2和rdes3字段,其中rdes2保存时间戳的低32有效位,(rdes表示以太网mac层硬件相关的接收描述符号表)。
[0062]
系统时间校正方法:
[0063]
使用ptp输入参考时钟hclk更新64位ptp时间,该ptp时间用作获取在mii传输或接收的以太网帧的快照(时间戳)的源,系统时间计数器可以使用粗略或精细校正方法进行初始化或校正。
[0064]
在粗校正方法中(时间偏移较大使用此方式),初始值或偏移值被写入时间戳更新寄存器,对于初始化,系统时间计数器将写入时间戳更新寄存器中的值,而对于系统时间校正,偏移值(时间戳更新寄存器)被增加到系统时间或从系统时间中减去。
[0065]
在精细校正方法中(时间偏移较小使用此方式),从时钟(参考时钟)相对于主时钟(如ieee1588中定义)的频率漂移在一段时间内被校正,这与在单个时钟周期中校正的粗校正方法不同,较长的校正时间有助于保持线性时间,并且不会在ptpsync消息间隔之间的参考时间中引入剧烈变化(或大抖动),在这种方法中,累加器将加数寄存器的内容相加,如图3所示,累加器生成的算术进位用作脉冲来递增系统时间计数器。
[0066]
累加器和加数寄存器是32位寄存器,在其中,累加器充当高精度的倍频器或分频器。
[0067]
请参阅图3,图3为显示了图2所表示的方式的模型,图3的时钟同步模型传递函数可以表示为
[0068]
gp(s)=ts(s)/u(s)=kc*t/s
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(a)
[0069]
其中ts(s)为从节点时钟输出值,u(s)为时钟模块的输入值,t为时间同步周期,kc为时钟同步常量,s为复数。
[0070]
根据前述我们知道ieee1588协议可以补偿较大的时间偏移,然而,它对于用于微型系统或同步运动系统(例如机器人或精确机械所使用的系统)来说不够稳定,我们的时钟伺服是按照ieee1588协议实现的,以实现纳秒级的高性能偏移补偿(校正),pi补偿用于时间偏移和速率偏移补偿,具有pi控制器滤波器可以减少噪声,但kp和ki参数在设计时是固定的,因此如果时间同步需要较高的频率,这样设计是无法达到需求的。
[0071]
请参阅图4,一种基于ieee1588协议的模糊控制时钟伺服算法,包括具有模糊控制
逻辑的pi伺服算法的引入:通常说来,一个pi时钟伺服器使用如下描述的补偿算法,即传递函数表示:
[0072]
gc(s)=kp ki/s
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(b)
[0073]
其中kp为比例项增益,ki为积分项增益,s为复数。
[0074]
基于图3时钟模型,结合通用pi时钟伺服器算法,再加上模糊控制逻辑得到增强算法,如图4。
[0075]
通过(a)和(b)得到闭环回路的传递函数:
[0076]
h(s)=(kp*s ki)/(s*s kp*s ki)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(c)
[0077]
其中kp=kp kc t,ki=ki kc t
[0078]
该闭环回路时钟伺服系统可以表示为具有固有频率ωn和阻尼系数ζ的二阶系统,如(d)所示
[0079]
h(s)=(2*ζ*ωn ωn*ωn)/(s*s 2*ζ*ωn ωn*ωn)
ꢀꢀꢀꢀ
(d)
[0080]
其中ωn*ωn=ki,且2*ζ*ωn=kp
[0081]
以上传递函数中,响应时间、噪声消减、超调时间(也叫过冲时间)由ωn和ζ决定,传递函数的两个极点(p1,)会影响时钟伺服系统的稳定性ωn,响应时间为因此,当阻尼系数恒定时,固有频率将决定时钟伺服器质量,如果ωn小,响应时间则大,反之亦然,但是,当ωn较小时,噪声消减会增强,如果s=jω,则时钟伺服器的带宽bw可以由(e)表示。
[0082][0083]
等式(e)中,当阻尼系数固定时,时钟伺服的带宽与固有频率成正比,因此,改变固有频率值将改变时钟伺服的带宽,更大的带宽将等于更大的截止频率(反之亦然),此外,更大的带宽等于更快的获取时间,在初始阶段,系统需要较大的带宽才能在短时间内达到边界误差,此时偏移量包含更多的随机噪声,当系统稳定时,需要合适的带宽来抑制噪声,因此,模糊控制器pi时钟伺服来适应时钟伺服带宽,绝对时间偏移|e|和偏移导数de是模糊块控制器的两个输入,为了平滑时钟伺服的带宽bw,将增量带宽δbw添加到上一个带宽bwt-1以替换系统带宽(如图4)。
[0084]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献