精确同步(共3篇)
精确同步 篇1
0 引言
永磁同步电机因具有高能量密度、大转矩惯量比、结构简单等优点,在对安全和性能有较高要求的航空航天、机器人、数控加工等领域得到了广泛的应用[1,2]。在永磁同步电机的机械方程中能够控制转速的只有电磁转矩,高性能的转矩控制是伺服系统控制的基础。电磁转矩控制的本质是电流的控制,电流控制作为永磁同步电机的核心吸引了众多学者的研究。经典的比例积分控制[3,4]、预测控制[5]、重复控制[6]、无差拍控制[7,8]、混合控制[9]等控制方法都有相关的应用研究。
永磁同步电机具有强耦合、非线性的特点,有许多因素影响电流控制的动态特性,其中最主要的是反电势的影响和电机的数学模型不准确。文献[10]用电压前馈的方法,近似抵消与转速相关的反电势耦合量简化控制模型,以磁通的标称值作为反馈的系数会影响补偿的精确性,模型仍存在一定的耦合。文献[11]把电流的偏差经过PI调节后作为dp轴电流的给定值,然后利用电阻、电感、磁通的标称值根据电压方程计算dq轴的电压作为控制输出,对标称值准确性的依赖影响控制的性能。控制器的设计和校正需要电阻、电感和磁通的准确数值,一种离线测量的方法是给定正弦电压使电机处于简单的运行模式,通过测量电流、电压和位置信息计算电阻和电感[12],测量值可以作为参数的初始值,不能反映参数时变的特点。为了辨识永磁同步电机的温度作为保护信息,文献[13]通过电流谐波注入的方法估计电阻。文献[14]把电感作为一个已知常量,利用反电势的关系通过求解2个二阶方程计算电阻和磁通,方程的求解过程也比较复杂,而且电感的变化和标称值的不准确会影响计算结果。
本文设计了一种面装式永磁同步电动机的电感、电阻和磁通的实时辨识方法:首先根据id=0的矢量控制特点,用统计均值的方法计算电感值;然后利用已知的电感值,建立电机的可调模型,用模型参考的方法辨识电阻和磁通。在此基础上,利用参数辨识值校正电流PI控制器的系数,同时利用速度和电流的反馈补偿反电势的影响。最后的仿真结果证明了参数辨识方法的有效性,并通过和PI电流控制、普通反电势补偿方法的比较,验证了设计的精确电流控制方法的优越性。
1 永磁同步电机数学模型
永磁同步电机的矢量控制以坐标旋转变换为基础,在和转子同步旋转的dq坐标系下实现了类似直流电机的控制性能。面装式永磁同步电机,d轴和q轴的电感相等,数学模型可以简化。在dq坐标系下,式(1)~(3)分别是永磁同步电机的电压、转矩和运动方程。式(4)是矢量控制坐标变换矩阵,S表示电压、电流和磁通,θe是电机的电角度。式(5)是由此得到的永磁同步电机状态方程。
上述各式中,ud、uq,id、iq分别是d轴、q轴的电压和电流;L是d、q轴的电感;Rs是电机的电阻;p=d/d t是微分算子;ωr是电机角速度;Pn是极对数;ψf是永磁体磁通;Te是电磁转矩;B是摩擦系数;TL是负载转矩;J是转子转动惯量。
2 电流精确控制方法
永磁同步电机的精确电流控制方法由2部分组成;一部分是经过系数校正的控制器输出,另一部分是反电势补偿,如图1所示。图中,PS是和转子同轴的位置传感器。控制方法的实现包括2个步骤,首先是参数辨识;然后是把辨识所得到的参数值应用于控制器的校正和反电势补偿。
设计电流控制器时可以忽略反电势的影响,电流控制器的控制对象是永磁同步电机和逆变器2个一阶惯性环节的串联[4]。忽略电流反馈环节的延时并且设反馈系数为1,式(6)是控制对象的传递函数,Kv是逆变器电压比例系数,τv是逆变器时间常数。
PI控制器的传递函数如式(7)所示,Kp和τi分别是比例系数和积分时间常数。把电流环校正为典型的I型系统,以控制器的零点对消大时间常数的极点,电流阶跃响应的超调量按照4.3%设计。带“”标记的符号表示参数的辨识值,式(8)~(1 1)给出了PI控制器的系数用电阻和电感的辨识值计算。
在id=0的矢量控制策略下,由式(1)推导出式(12)(13)所示的反电势补尝分量,电感和磁通用辨识值实时校正,保证反电势补偿值的精确。电流环控制输出的dq轴给定电压由控制器的输出和反电势补偿2个部分的和构成。
2.1 电感的辨识
电流选择id=0的控制策略时,式(1)中d轴的电压可以简化为式(14)和(15)的形式,其中ξ是电流反馈噪声,把id的乘积项也作为噪声处理,则ξ1是均值为0的噪声。
式(14)离散后表示为式(16)的形式,d轴的电
压是由ωr和iq决定的,其输出时间滞后于这2个信号。ωr和iq是矢量控制中从传感器获得的反馈量,因为没有电压传感器,ud的值不能实际测量。电流控制器送给SVPWM的输出信号就是d轴给定的电压值,可以用于计算。经过上述分析,只有电感是一个未知参数,可以通过其他几个参数计算得到。
因为永磁同步电机的电感值是一个慢时变信号,在辨识的计算时间内可以认为是一个定值,通过计算一组测量值的统计平均值的方法来辨识电感值。为了减小计算误差,选择采样数据为2000,通过每5个数据一组取中间值滤波后,再取平均值的方法计算电感值。
2.2 电阻和磁通的辨识
把电机的状态方程作为参考模型如式(17)所示,通过统计平均的方法辨识的电感值作为已知值,用需要辨识的参数表示可调模型如式(18)所示。
为了便于推导,把参考模型和可调模型做简化:
其中,
广义状态误差方程:
由式(19)减去式(20)得:
令w=-w1=[Ap(t)-Am]xp(t)+[Bp(t)-Bm]u(t),把误差方程表示为e(t)=Ame(t)+Iw1的形式,引入e(t)的线性补偿器:
根据波波夫超稳定性理论,这就构成了正向线性方框和等价非线性反馈方框。代入各个参量后w可以表示为
令
式(24)可以表示为
根据波波夫积分不等式,非线性反馈方框应该满足式(26),是一个任意的正值有限常数。
满足式(26)的解可以表示成比例积分的形式:
其中,
设计线性补偿器D的原则是使式(28)表示的前向方框的传递函数严格正实。
等价的判断条件是满足式(29)(30),其中P、Q是正定矩阵,P是李亚普诺夫方程的解:
为了简化设计,取正定矩阵D为对角阵时,可以解得,由式(23)推出:
电阻和磁通的辨识规律如式(32)(33)所示,辨识算法的结构如图2所示。电阻的辨识规律和d轴的电流相关,如果d轴的电流等于0,辨识值不能收敛于真值。电阻和磁通也是变化较慢的参数,不需要在整个控制过程中实时辨识,可以每隔一定的时间辨识,然后把辨识的参数值用于电流控制。辨识过程中,可以给定id一个较小的电流值,保证电阻的辨识严格收敛于真值。
3 仿真验证
在Matlab仿真环境下建立永磁同步电机伺服系统模型,选择永磁同步电机的标称参数如下:Rs=1.5Ω,L=10 mH,ψf=0.175 Wb,J=0.001 2 kg·m2,B=0,Pn=4。逆变器的参数选择τV=0.1 ms,KV=15。在这个系统上仿真分析电感、电阻和磁通的辨识方法,比较电流精确控制和PI控制、普通反电势补偿方法的控制性能。
3.1 电感辨识结果
电机的电感值设定为10~15 mH的整数值,图3(a)是利用式(16)统计平均后的辨识结果,辨识值(Lide及其倒数)和真实值(Lre)之间存在偏差,而且比例kL=1.267是一个定值。ωr和iq是实际测量的准确值,这个偏差来自于ud。dq轴电压在坐标变换后,由SVPWM调制为PWM信号控制逆变器,逆变器输出电压和给定电压是正比关系,比值由SVPWM的计算和逆变器的特性决定。这个比例关系不影响电流的控制,但是在电感辨识中是不允许的。辨识之前可以通过实验的方法得到这个比值固化在辨识算法中做修正。因为电感值较小,可以通过计算电感值的倒数减小量化误差,式(16)变为
经过校正后辨识的结果如图3(b)所示,辨识值等于实际电感值的倒数。
3.2 电阻和磁通的辨识结果
在电阻和磁通辨识过程中,设定d轴的电流为0.5 A。参数kp1和kp2的作用是加快广义误差趋于0的速度,ki1和ki2的作用是使可调模型快速收敛于参考模型。简化设计令kp1=0,kp2=0。仿真过程中使用的参数:ki1=0.25,ki2=0.01,辨识结果电阻收敛于1.5Ω,磁通收敛于0.175 Wb。设定电阻值在8 s时由1.5Ω阶跃变化为1.8Ω,磁通值在10s时由0.175 Wb阶跃变化为0.15 Wb,辨识结果如图4所示,电阻和磁通的辨识值能很好地跟随并收敛于真值。
3.3 电流控制性能比较
仿真中把下面3种方法的电流控制性能进行比较。方法1电流环PI控制;方法2 PI控制结合普通反电势补偿;方法3本文设计的电流精确控制。系统的速度PID控制器在输入量的单位是r/min,输出单位是A时,使用Simulink中的PID模块,设置比例、积分、微分系数分别为:0.8、1.7、0.001,限幅值为10 A,采样时间0.1 ms。电流控制器输出的限幅为30。速度给定为1 500 r/min。
当电机实际参数等于标称参数时,3种方法电流PI控制器的系数均为KP=3.3,τi=0.002 s,方法3和方法2控制效果相同,仿真结果如图5所示。对于方法3,速度控制器在0.021 5 s前饱和,相电流的幅值达到10 A,q轴电流输出为10 A,速度控制器恢复调节时,d轴电流偏离给定值0.08 A,速度调节时间是0.0245 s。对于方法1,速度控制器在0.0225 s前饱和,相电流幅值只能达到9.3 A,且跟随存在约0.0005 s的滞后,q轴电流随着转速的升高由10 A下降到9.3 A,在速度控制器恢复调节后,相电流的畸变比方法3严重,d轴电流偏离给定值达到0.4 A,速度调节时间是0.026 s。
以下分析当电机的参数不等于标称参数的情况,设实际的电机参数是Rs=2.5Ω,L=15 mH,ψf=0.2 Wb,其他条件相同。方法1和2的PI控制器是按照标称值设计,KP=3.3,τi=0.002 s,方法3由辨识的结果设计:Kp=5,τi=0.0012 s;在反电势补偿部分,方法2在式(12)(13)中L和ψf使用标称值,方法3使用辨识得到的值;仿真结果如图6所示。对于方法1,速度控制器在0.019 8 s前饱和,相电流幅值在速度升高后只能达到9A,q轴电流下降到9 A,d轴电流偏离给定值0.6 A,电流跟随滞后于方法3约0.001 s,速度调节时间0.024 s。对于方法2,速度控制器在0.018 5 s前饱和,反电势补偿可以缓解速度升高对电流跟随的影响,相电流幅值9.7 A,q轴随速度升高下降到9.7 A,d钠电流偏离0.35 A,电流跟随滞后于方法3有0.0004s,速度调节时间0.023 s。对于方法3,速度控制器在0.018s前饱和,相电流幅值和q轴电流不受速度影响,d轴电流偏离0.1A,电流跟随快于其他方法,速度调节时间0.0225 s。
4 结论
针对数学模型不准确和反电势这2个环节对电流环控制性能的影响,研究了基于电感、电阻和磁通辨识的面装式永磁步电机矢量控制系统的电流精确控制方法。根据id=0的控制方法的特点用统计平均方法辨识电感;用模型参考的方法辨识电阻和磁通;并把辨识得到的参数用于电流PI控制器系数的校正和反电势的补偿。仿真结果表明,电机参数辨识方法能够保证辨识过程参数的收敛性和无偏性,电流环的控制使用精确控制方法时,相对于没有校正的PI控制和普通的反电势补偿方法,速度响应和电流跟随性能有了明显的改善。
摘要:在永磁同步电机电流控制环节中,电阻、电感等参数的变化影响控制器的性能;随着转速的升高,反电势使电流跟随性能变差。针对这些问题,设计了一种利用参数辨识校正控制器的系数和实现反电势补偿的电流环精确控制方法:根据面装式永磁同步电机id=0的矢量控制特点,使用统计均值的方法辨识电机的电感,在此基础上根据波波夫超稳定理论设计了电阻和磁通的模型参考辨识方法。电阻和电感的辨识值校正PI控制器的系数,电感和磁通的辨识值用于反电势的补偿环节。仿真结果表明,该方法能够通过参数辨识对控制器系数的校正和反电势的补偿实现电流环的精确控制,电流环控制性能优于PI控制和普通反电势补偿的方法。
关键词:永磁同步电机,电流环,参数辨识,系数校正,反电势补偿
精确同步 篇2
欧洲航天局正在发展名为伽利略计划的全球卫星定位系统(GNSS)以与现有的GPS全球定位系统抗衡。伽利略计划采用的调制方法是BOC(二进制偏移载波)调制,而新一代GPS中也使用了BOC调制。BOC信号在性能上较BPSK信号有很多优点:如可通过调整参数实现信号间的频谱分离,信号抗噪声干扰和抗多径衰落能力强,跟踪精度高等。
然而,BOC信号相关函数的多峰性决定了其同步时的缺点,即存在错误捕获和歧异跟踪的可能。因此必须改进用于经典BPSK调制信号的传统同步技术以避免发生这种情况。对于要求高定位精度的伽利略系统来说,研究伽利略接收机设计中的BOC信号同步技术具有重要的意义。
本文研究的是BOC(n,n)信号的同步。之所以选择BOC(n,n),是因为伽利略民用的E2-L1-E1波段会很可能采用BOC(1,1)而E1波段会采用BOC(2,2),同时GPSIII民用信号的L1波段也在考虑采用这种BOC信号。需要特别指出的是,本文提出的新技术可能不适用于其他BOC调制信号。而为了简单起见,我们从BOC(1,1)入手研究BOC(n,n)。
1伽利略系统中的BOC调制技术
1.1 BOC信号
BOC调制广泛应用于伽利略系统以提供高精度定位[1]。伽利略导航数据首先通过PN序列(或测距码)扩频,然后用方波子载波调制以得到BOC码,再通过RF载波进行上变频。根据PN序列和子载波的不同频率,伽利略BOC信号可表示为BOC(k×n,n),k×n和n是相对的值,分别表示PN码率为fc=n×1.023 MHz,子载波频率为fsc=k×n×1.023 MHz。收到的BOC信号可以表示为:
P表示信号平均功率,d(t)是导航数据,P(t)是PN码,Sc(t)是子载波。N(t)是附加的高斯白噪声。由于子载波的调制,BOC信号的功率谱的主瓣分裂成两个边带,分裂频率等于子载波频率。此外,由于子载波的存在,BOC码的自相关函数的主峰变窄了,在主峰的两边都出现了副峰。
1.2经典跟踪环的歧异性
对于扩频通信系统,目前最广泛使用的非相干鉴别方法是早迟门鉴别器。即:
DEL=(I2E+Q2E)-(I2L+Q2L)(2)
式(2)也可表示为:
DEL=P2R2BOCετ-σ()2-R2BOCετ+σ()()2(3)
如图1所示结构,接收的信号首先进行下变频并采样,捕获模块大致估算出了码延迟和多普勒频移。基于这个码延迟,分别产生两个稍许左移和右移的两个本地码,并与接收码信号进行相关运算。把此相关结果用于估算码延迟的误差。跟踪环利用此结果来保持本地码/载波与接收的码/载波间的精确同步。
前端滤波器为20 MHz时,δ=0.1 和0.025个码片的鉴别器输出特性仿真如图2所示。可看到,除了在初始点之外,还有几个过零点。由于过零点就是跟踪环锁定点,所以BOC鉴相器可能锁定在几个不同的位置上。BOC信号的自相关函数的副峰造成了除初始点之外的锁定点。这个错误跟踪问题也称为歧异跟踪,将导致无法容忍的定位偏差。BOC(n, n)信号的自相关函数副峰导致的此偏差不仅仅影响码跟踪,也会影响信号捕获。捕获时,会通过对大致载波频率和码延迟的搜索来检测输入信号的能量,而由于某些误差,如高输入噪声、多径效应、短时间失锁等,副峰的能量值很可能高于BOC相关函数的主峰。因此错误的捕获也会导致DLL锁定在一个副峰上。综上,正确的跟踪步骤中,必须注意完全的消除这种歧异性。
1.3当前已有的方法
由于误锁点的存在,一旦BOC(1, 1)的延迟误差超过稳定区域的范围,就很容易锁定在错误位置,导致严重的测距误差。这对于高精度定位要求是不能容忍的,因此必须消除这种歧异性。现有的消除误锁定的技术有过采样方法、比较-跳转技术、仿BPSK技术、子载波相位消除(SCPC)技术、副峰消除技术(ASPeCT)等[2]。然而,这些技术或者对高码率信号不适用,或者会损失信噪比,或者消除副峰不完全,故都不尽如人意。
2新同步方法
鉴于以上所述方法的局限性,本文提出了一种新的同步方法,用以完全消除歧异跟踪,推导过程如下:
sinBOC(k×n,n)信号,S
S
C(t)为PRN码,d(t)为导航数据,Csc(t)是方波子载波。
本文假设有一个同步训练期,故在同步期间无数据,即d(t)=1(因为发射信号的数据调制的情况下,同步更快,全球卫星定位系统通常包括一个没有数据调制的初步训练期[3])。
理想情况下(无多径效应且理想PRN码),S
tc为码片长度,三角函数Tri(τ)定义为:
与R
和
通过以上方程,可知BOC自相关函数由三角函数的叠加构成。这是BOC自相关函数具有多副峰的原因。
为了找到解决误锁定问题的线索,对RsinBOC/PRN(τ)的特性进行研究。观察到R
R
式(9)对sinBOC(n,n)产生了一个没有副峰的相关函数。
如图3所示,可清楚地明白本文提出的跟踪结构。首先,接收的BOC信号乘以本地产生的±0.5码片延迟的PRN码,然后下变频至同相式(1)与正交(Q)信号。然后通过整合和跳转程序执行BOC信号和延迟PRN之间的相关算法。最后,结合延迟的相关结果,无副峰的新型相关函数为:
R
而对于CosBOC(n,n),不需要改变捕获和跟踪环,只需要把PRN延迟改为±0.75码片。可得到相同的跟踪结构:
R
和
R
这样构成的新鉴别函数只有一个主峰,没有副峰的存在,从而不存在误锁点,完全消除了歧异跟踪的可能。
3性能比较
3.1检测概率
捕获方法的特性是由误检概率(Pfa)和检测概率(Pd)来描述的[4]
Pfa=∫∞ThrPn(x)dx (13)
Pd=∫∞ThrPs(x)dx (14)
Pn(x)是无信号噪声的概率密度函数(PDF),平均值为0,而Ps(x)为带有信号的噪声的PDF,平均值非0。捕获门限Thr通常就是基于合适的虚警概率Pfa。
采用用于GPS和伽利略系统调制的sinBOC(n,n)作为例子。对不同的N和L,虚警概率固定为Pfa=10-6时,使用本文提出的技术和传统捕获技术的对于SNR的捕获概率的仿真结果如图4所示。和传统的捕获方法相比,使用本文提出技术的捕获步骤的敏感度稍有降低。然而,必须指出本文提出的技术的检测标准是无副峰的。这使此技术比传统捕获方法更可靠。通过非相干叠加,可加大本文提出的技术和传统方法间的性能差距。当多普勒不确定性足够小的时候,新技术适用于相干积分时间长度无限的少量数据通道的捕获。与其他改进方法相比,本文提出的技术使用带有窄峰的探测标准,可以提供足够的码片延迟精确度。因此,不需要像传统方法一样进行从捕获到跟踪的额外过渡。而对于较长的相干积分时间(>10 ms),本文提出的技术优于传统方法。
3.2多径衰落
假设多径环境为如下的两路径通道模型[5]:
Sm(t)=s(t)+αs(t-τ) (15)
α是第二条路径的衰减因子,τ是第二条路径相对第一条路径的延时,S(t)是直接BOC信号。本文中,α设定为0.5。
衡量相关性的多径特性的典型标准是计算其多径误差包络。它表示了带有相对振幅的镜面反射信号的影响(通常为0.5或0.25。此处选择的是0.5)。对面每个0到1.3个码片之间的相对延迟,计算反射信号引入的偏差(相对延迟大于1.5个码片的反射信号被过滤掉了)。图5比较了本文提出的技术和码片间距(早门和迟门之间)等于0.1的点鉴别器的窄相关技术对BOC(1,1)的多径包络。
本文提出的技术在码延时较短和较长的多径环境中与传统跟踪环几乎一样,但在中等码延时的多径环境中,其性能明显优于经典鉴别方法。
4结论
本文分析了经典早迟门跟踪环的歧异跟踪问题并比较了一些其他消除歧异性的方法。为了消除歧异性问题,对于GNSS中的SinBOC(1, 1)信号同步提出了一种新的相关函数。仿真结果表明,与其他相关函数和BOC自相关函数不同,对于BOC(1, 1)信号, 提出的相关函数没有任何副峰,故能完全消除误锁点。接着把此跟踪环的检测性能与传统捕获方法做了对比分析。数值结果表明提出的相关函数有更好的抗多径性和更高的检测概率。提出的跟踪环可以完美的消除误锁点,是伽利略BOC(1, 1)接收机的好选择。虽然本文提出的跟踪环是基于SinBOC(1, 1)的,但可方便的扩展至SinBOC(n, n)。
参考文献
[1] Lohan E S, Lakhzouri A, Renfors M. Binary-offset-carrier modulation techniques with applications in satellite navigation systems. Wireless Communications & Mobile Computing, 2007; 7(6): 767—779
[2] Julien O,Macabiau C,Cannon M E,et al.ASPeCT:Unambiguoussine-BOC(n,n)acquisition/tracking technique for navigation appli-cations.Aerospace and Electronic Systems,2007;43(1):150—162
[3] Tsui J B Y. Fundamentals of global positioning system receivers: a software approach. U.S.A: John Wiley & Sons, 2005
[4] Kaplan E,Hegarty C.Understanding GPS:Principles and Applica-tions Second Edition.U.S.A:Artech House,2006
精确同步 篇3
网络式仪器总线是一种基于M-LVDS技术、面向仪器应用的多主式结构仪器总线, 目前已经开始应用在多通道实时信号分析仪、分布式数据采集系统等仪器设备中[1]。网络式仪器总线在M-LVDS总线的线或机制的基础上, 引入了非破坏性逐位仲裁的媒体访问方法 (CSMA/BA) 。非破坏性逐位仲裁机制的引入, 使网络式仪器总线成为真正的多主式总线拓扑结构, 为分布式测试系统提供了一种有效的解决方案[2,3]。目前, 网络式仪器总线是基于消息触发方式的, 实时性已经满足大部分的应用需求。然而在实时性要求更高的应用场合中, 需要更为精确的时间同步和触发机制。
IEEE1588 标准定义了一种应用于分布式测量和控制系统的精确时间同步协议PTP (precise time protocol) , 该协议适用于任何满足多点通信的分布式控制系统。IEEE1588 时间同步协议是通过主从节点之间周期性交换带有时间戳的报文来测出节点间的时间偏差和频率偏差, 并采用适当的算法调整从节点的时间和频率, 从而达到时钟的同步[4]。
精确的时间标记方法和有效的从时钟补偿模型是提高总线同步精度的关键技术。在网络延时抖动小的总线环境下, 其同步精度可达到纳秒级[5]。
本研究提出了网络式仪器总线的精确时间同步协议模型, 并通过高精度时间戳生成方法提高了总线时钟同步精度。
1 网络式仪器总线时间同步
IEEE-1588标准定义了一种精确时间协议PTP (precision time protocol) , 规定了将分散在测量和控制系统内的分离节点上独立运行的时钟同步到一个高精度和准确度的协议。要求网络中的每个节点必须有一个硬件实时时钟, 以实现基于PTP协议栈的相关服务。从通信关系上把时钟分为主时钟和从时钟, 理论上任何时钟都能实现主时钟和从时钟的功能, 但一个PTP通信子网内只能有一个主时钟。主时钟要求具有高稳定性和精确性。
网络式仪器总线是一种多主式总线结构, 其各个节点之间不存在明显的主从关系。所有的节点都连在网络上, 消息和数据根据其优先级在总线上进行仲裁, 并从一个节点传送到另一个节点。因此在原来的网络式仪器总线中加入了一个时钟节点, 该节点不参与系统的任何测试和控制工作, 只是用于总线上每个节点提供一个时间基准。时钟节点中采用温控晶振OXCO作为标准时钟源, 其频率稳定度很好, 一般都优于0.1 ppm。总线上每个节点通过消息通道跟时钟节点进行同步, 从而实现网络上所有的节点之间的同步。
根据PTP协议原理, 时钟节点需要周期性的在总线上发布同步报文, 该报文通过广播的方式发送的总线上每个节点, 其同步过程如图1所示。
从图1看出, 整个同步过程可以分为两个部分, 偏移测量和延时测量[6]:
(1) 第一步, 主时钟在t1时刻往网络上各分支点发送同步报文 (Sync message) , 并记录t1时刻的时间值。当从时钟点收到同步报文后记录接收时刻t2的时间。随后主时钟向各分支点发送紧随报文 (Follow_Up message) , 紧随报文包含t1时刻的时间值。此时可以算出主时钟到从时钟的时钟偏差, 记为MS_difference, 这一偏差值相当于从时钟相对主时钟的偏移 (offset) 加上同步报文传输延迟时间 (MS delay) , 由此可以得到以下两个等式:
MS_difference=t2-t1 (1)
MS_difference=offset+MS_delay (2)
(2) 第二步, 从时钟在t3时刻向主时钟发送延迟请求报文 (Delay_Req message) , 并记录t3时刻的时间值。主时钟节点收到延迟请求报文后, 记录接收时刻t4的时间值, 并往从时钟节点发送延迟响应报文 (Delay_Resp message) , 延迟响应报文包含接收时刻t4的时间值。此时可以算出从时钟到主时钟的时钟偏差, 记为SM_difference, 这一偏差值相当于主时钟相对从时钟的偏移 (-offset) 加上延迟请求报文传输延迟时间 (SM delay) , 由此可以得到以下两个等式:
SM_difference=t4-t3 (3)
SM_differece=-offset+SM_delay (4)
由于同步报文和延迟请求报文在同一个物理介质中传输, 并且传输距离相同, 可以视两个传输延迟时间相同。即MS delay=SM delay。由此可以计算出主时钟和从时钟的偏移量 (offset) 和总线传输延迟时间 (delay) :
根据主时钟和从时钟的偏移量来校准从时钟节点的时钟, 从而达到主从节点的时间同步。理论上, 通过上述同步算法可以实现两个节点时间的绝对同步, 因为该算法是基于以下两个假设条件的[7]:
(1) 两个节点之间的网络延时在两个方向是对称的;
(2) 节点的计时晶振频率是相同的, 而且没有漂移。
消除延时抖动的最有效方式是, 把时间戳标记点设置在物理层和MAC层接入处。此时网络延时抖动主要取决于报文在物理层的传输延时抖动和时间戳精度。经过测试发现, M-LVDS总线的延时抖动只有皮秒级, 因此可以通过高精度的时间戳生成方法, 能够有效地消除总线延时抖动引起的同步误差。
从节点一般采用普通的晶振作为其计时时钟源, 由于通常使用的外部晶振的实际频率与标称频率有± (10~100) ×10-6 Hz的偏差。也就是在1 s的时间里晶振会产生± (10~100) μs的偏差。微秒级的误差在实时测试系统是不可取的, 在参考文献[8]中提出了一种从节点晶振频率补偿方法, 在一定程度上能够有效地补偿从节点的频率误差, 从而能够提高同步精度。本研究主要讨论精确时间戳生成方法, 从时钟频率补偿采用参考文献[8]中的方法, 因此在本研究中不再详细讨论。
2 精确时间戳生成方法
2.1 总线节点结构
网络式仪器总线协议一般采用简化的分层结构, 即由物理层、数据链路层和应用层组成。数据链路层又分为逻辑链路控制 (LLC) 子层和媒体访问控制 (MAC) 子层, LLC子层对具体的物理传输媒体和网络拓扑结构透明, 而MAC子层处于LLC子层和物理层之间, 向LLC子层提供一个信道访问服务界面。在实现时间同步算法时, 时间戳的加盖点选择在了MAC层和物理层的接入处, 如图2所示。
在物理层和MAC中间设计了一个帧鉴别器, 监视发送和接收报文。若发送的或接收的报文是同步报文 (Sync Message) 或延迟请求报文 (Delay_Req message) 时, 同步地产生时间戳标识脉冲, 该脉冲触发本地时间单元, 产生当前时间值并存入到时间戳缓存中。应用层可以直接读取缓存中的时间信息, 并计算从节点的时间偏差, 通过补偿算法调整从节点的时间, 实现从节点与主节点的时间同步。
时间在硬件中是由晶振驱动的计数器的形式描述的, 即在每个晶振周期, 时间值加T (晶振周期) 。因此时间的分辨率由晶振的频率决定。在网络式仪器总线中, 由FPGA内部的PLL器件产生的100 MHz的时钟作为计数器的驱动时钟, 因此时间的分辨率为10 ns。这也表明着时间戳的分辨率是10 ns。当时间戳标识脉冲触发计数器, 保存时间值时不可避免地引入量化误差, 其标准偏差可通过下式获得[9]:
在时钟周期为10 ns的情况下达到2.89 ns。消除量化误差的最直接的途径是提高计数时钟的频率, 然而在一般的FPGA期间中最高时钟频率只能达到300 MHz~500 MHz之间, 而且高速时钟对设计提出了更高的要求。针对这一问题, 下文中介绍了量化移相时钟的高精度时间戳生成电路。
2.2 时间戳标记电路
移相时钟时间测量方法 (phase shifted clock) 是由多个同频率的低频时钟实现等效的高频时钟计数的一种时间标记方法[10]。测量电路结构如图3所示。
由50 MHz时钟信号驱动FPGA芯片片内的锁相环, 倍频产生5个100 MHz的占空比为50%的时钟信号, 每个时钟的移相分别为0°、36°、72°、108°和144°。时间戳标记电路由一个64位计数器和采样/编码器组成。该电路工作原理如图4所示。
计数器在clk0的每个周期加1, 其分辨率是计数时钟的周期。其他4个移相时钟把计时时钟的一个周期平分为2 n=10个子区域, 每个子区域的时间间隔为:
式中 T—时钟周期, n—移相时钟数量。
当前的时间值由时间戳触发脉冲采样计数器和移相时钟的状态获得, 时间可以通过下式计算:
Time=counter×T+register×Δt (9)
式中 counter—计数器的值;register—由5个D触发器的输出通过编码转换获得。
在本设计中, 计时时钟周期T为10 ns。因此Δt=1 ns。通过公式 (9) 计算出的图4中的时间值为4 192×10+7×1=41 927 ns。
通过上述电路可获得分辨率为1 ns的时间值记录。该电路很容易在FPGA芯片中实现, 设计时通过约束条件, 保证时间戳触发脉冲到每个触发器的时间相等即可。设计中只有一个时钟参与计数, 简化了电路设计。该电路的时间记录不确定性只有1 ns, 而其标准偏差可通过下式获得:
上述电路能够为网络式仪器总线的时间同步算法, 提供精确的时间戳信息, 从而能够减少由传输延时抖动引起的同步误差。
3 实验验证
在实验室环境下对网络式仪器总线的时间同步算法进行了实验验证。为了实验分析方便, 实验中网络式仪器总线上只挂了两个节点, 即一个主节点和一个从节点。主节点用20 MHz的恒温晶振作为时钟源, 其频率稳定性为0.1 ppm;从节点采用50 MHz的普通晶振作时钟源, 频率稳定性为100 ppm。总线管理器和上文所述的时间单元在节点电路板上的FPGA内实现, 同步算法等应用层程序在电路板上DSP芯片内运行。
为了测试两个节点的同步误差, 两个节点均产生1 pps的测试脉冲信号接入到4 GS/s的示波器中进行测量, 以主节点的输出脉冲作为触发脉冲, 对从节点的输出脉冲与触发脉冲之间的偏差进行了测试。共采集了2 000个采样点, 从节点的偏差分布如图5所示。
测试结果表明, 从节点与主节点的时间偏移为-6 ns, 标准偏差5.97 ns。由于1 pps的测试脉冲信号是由100 MHz的时钟信号驱动的, 因此输出信号存在±10 n的相位噪声。
4 结束语
本研究以IEEE1588时间同步协议为基础, 实现了网络式仪器总线的时间同步。由于网络式仪器总线的传输延时比工业以太网小, 能够达到更高的精度。10 ns以内的同步精度能够满足大部分的应用要求, 然而对于更高精度的应用情况, 需要有更快的计时时钟或更好的从时钟补偿算法。
摘要:网络式仪器总线是一种基于M-LVDS技术的面向仪器应用的多主式仪器总线。由于仪器应用中对实时性的要求很高, 基于IEEE-1588时间同步协议实现了网络式仪器总线的时间同步机制。为了获得更高的同步精度, 设计了一种物理层时间标记的硬件电路。该电路采用移相时钟时间测量方法, 用低速的时钟信号实现了高分辨率的时间标记电路。最后, 采用Xilinx公司的Virtex5系列FPGA芯片研制了相应的测试平台。实验结果表明, 在此测试平台上, 网络式仪器总线的同步精度可达到10 ns。
关键词:网络式仪器总线,时间戳,时间同步协议,移相时钟
参考文献
[1]SONG K C, ZHU Z J, YE L Y, et al.Multi-DSP SignalAnalyzer based on Network Instrument Bus[C]//Proceed-ings of the 2006 IEEE/ASME International Conference onMechatronic and Embedded Systems and Applications, 2006.New York:IEEE, 2006:403-406.
[2]金小军.网络式仪器总线的研究[D].杭州:浙江大学机械与能源工程学院, 2003.
[3]陈静燕, 叶凌云, 宋开臣.水下捷联惯性组合导航数据处理系统测试平台[J].机电工程, 2009, 26 (3) :6-8.
[4]EIDSON J, LEE K.IEEE-1588 Standard for a PrecisionClock Synchronization Protocol for Networked Measurementand Control Systems[C]//Proceedings of the ISA/IEEESensors for Industry Conference.Houston:[s.n.], 2002:98-105.
[5]刘明哲, 徐皑冬, 赵伟.基于IEEE1588的时钟同步算法软件实现[J].仪器仪表学报, 2006 (z3) :2009-2011.
[6]宋波, 孙超, 姜守达.一种基于PTP协议的局域网高精度时钟同步方法[J].自动化技术与应用, 2010 (1) :67-70, 74.
[7]陈永标, 方兴其, 岑宗浩.IEEE1588-协议中时钟同步性能的影响因素以及时间戳的生成方式分析[J].微型电脑应用, 2009 (4) :1-4.
[8]NEAGOE T, HAMDI M, CRISTEA V.Frequency Compen-sated Hardware IEEE-1588 implementation[C]//IEEE In-ternational Symposium on Industrial Electronics.Montreal:[s.n.], 2006:240-245.
[9]LOSCHMIDTP, EXEL R, NAGY A, et al.Limits of Syn-chronization Accuracy using Hardware Support in IEEE 1588[C]//2008 IEEE International Symposium on PrecisionClock Synchronization for Measurement, Control and Com-munication.New York:IEEE, 2008:12-16.