半实物网络测试系统从时钟频率漂移影响分析

2022-03-24 09:09:30 | 浏览次数:

摘要 针对精确时钟协议(PTP用于半实物网络仿真测试时难以实现精确系统同步的问题,研究从时钟频率漂移对PTP仿真系统同步性能的影响。建立了半实物网络环境下PTP系统模型和时钟模型,解析性推导出单向传输链路中Slaven对主时钟的时延误差估计,得出从时钟模型时延误差表达式具有一致的加权结构,且各误差项都将累积并渗透到传输线路中,影响整个网络的同步精度。基于此,设计多种半实物网络仿真场景进行验证、分析和测试。仿真结果表明:单个从时钟频率漂移对系统同步精度影响甚微,但系统内从时钟均存在漂移或主时钟存在时间抖动的情况下,造成的同步误差是单个从时钟频率漂移时的10倍,会对系统同步精度产生严重的影响,研究成果能为半实物网络测试环境时钟部署策略提供重要参考。

关键词 半实物网络仿真;精确时钟协议;频率漂移;时钟同步;时延估计

中图分类号 TP391.9

文献标志码 A

0引言

网络测试和控制对仿真系统实时性要求日益严格,时钟同步成为系统首要指标,需要提供严格的时钟控制策略[1]。同实物仿真、传统纯软件仿真相比,半实物网络仿真 (Network Simulation 方法[2-4]在大规模网络设计、分析和测试方面具有显著优势。半实物网络仿真系统中,对于基于Socket通信的网络管理、安全等实时性要求不高的场合,可利用操作系统时钟函数、多媒体定时器等来保证系统实时性,但对基站同步、移动通信和网络硬件测试等只允许微秒级时钟同步误差的场合,需要专用的时钟协议加以保证。IEEE1588标准提供的精确时钟协议(Precision Time Protocol, PTP[5]既适用于时钟伺服、时间戳机制和协议栈等单模块系统,也适用于大型异构网络系统时钟同步。PTP主从时钟同步方案中,时钟偏差和漂移的精确测量是时钟同步的重要保证,时钟稳定性是影响系统同步精度的关键因素。近年来,诸多学者致力于PTP同步机制的研究,取得了不少成果。文献[6]研究了基于软件的PTP主从时钟同步方案研究和相对时钟漂移模型;Scheiterer等[7]研究时钟漂移现象对单向延迟的影响,提出平均时间差算法对主时钟抖动误差进行估计;文献[8-9]提出运用卡尔曼滤波方法对时钟偏差、频率偏差以及频率变化率同时进行估计;Ciuffoletti[10]提出同步时间标记方法降低从时钟请求消息碰撞率来提高主从节点之间时钟同步精度;Liu等[11]基于OMNeT++/INET Framework,运用仿真的方法实现了IEEE1588 PTP时钟协议。

在半实物网络测试环境中,主时钟可采取有效的温度补偿措施或恒温晶体振荡器来保证频率稳定性,而系统内从时钟均由仿真器进行模拟,由于数据时间戳获得、事件触发控制机制、消息队列处理、虚拟网络流量传输、软件操作和中央处理器(Central Processing Unit, CPU中断等因素,引起系统内从时钟频率产生漂移,进而引入不可忽略的同步误差。所以,本文在建立半实物环境下PTP系统模型和时钟模型的基础上,假设主时钟频率恒定,解析性分析从时钟频率漂移对系统同步性能的影响,推导一阶线性级联半实物网络系统从时钟频率漂移所引起的同步误差,并进行基于OMNeT++仿真器的网络仿真实验,探索影响同步过程质量的因素,为半实物网络测试环境时钟部署策略提供参考。

第3期

孙磊刚等:半实物网络测试系统从时钟频率漂移影响分析

计算机应用 第35卷

1模型建立

PTP1.0中采用边界时钟模型来解决网络连接设备对系统同步的影响问题,2.0版本引入透明时钟(Transparent Clock, TC[12] 的概念,网络连接设备被认为是具有已知延迟的网络组件,能够将端口的网络传输时延和端口间时延累加到时间修正域,以补偿数据通过网络连接设备时的时间延迟。本文基于点到点透明时钟模型[13],建立半实物网络环境下PTP系统模型,如图1所示。

图片

图1PTP半实物网络系统模型

模型由N+1个级联单元构成线性主从拓扑结构。Slave节点向Master节点的同步操作过程为:Slave节点向Master节点发送时钟同步请求信息;Master通过TC为Slave提供标准参考时间,主时钟同步消息发送时间间隔为T,同步消息携带有主时钟的计数器状态Mi和发送时间戳;Slave节点再根据获得的时钟信息以及测试的链路状态,对自身逻辑时钟进行修正和处理。同步消息传递机制如图2(a所示。

图片

图2PTP时钟模型

ti时刻与主时钟同步消息相关量标号为i,LDin表示Slaven与Slaven-1之间的传播时延,通过线路时延评估过程得到。同步消息通过网桥延迟BDin后转发,Slaven+1记录的BDin时延为同步消息接收时间戳与Slaven转发时间戳之间的差值,Slaven本地时钟测量时间为Sn。定义LBin为Slaven上第i个同步消息的线路时延与网桥时延总和,δi,nLB=LBin-LBi-1n表示Slaven上第i,i-1个同步消息线路时延差。Slaven上第i个同步消息到达n的传播时延记为Lin,对任何Slave节点,有Li0=0。估计值带上标表示,如S^n(BDin表示Slaven上第i个同步消息的TC时延估计量。

Slaven对接收到的同步消息进行时延扩展,将线路时延转化为主时钟时间,实现对消息内主时钟计数器的更新。频率补偿系数(Rate Compensation Factor, RCF,也称速率比(Rate Ratio,用来表示两个时钟的频率比值,时钟X和Y之间的频率比为RCFX/Y,理想状况下,RCFX/Y=fX/fY。每个Slave通过本地时间计算对Master的频率偏移,文献[6]中对主时钟的频率偏移通过同步消息时间间隔内主时钟计数器差值和Slaven本地计数器差值来计算:

RCFM/Sn=(M^in-1-M^i-1n-1/(Sin-Si-1n(1

Slaven将本地测量时延与RCFM/Sn乘积作为主时钟时间,根据接收到的主时钟计数器估计值M^in-1,更新自身计数器状态为:

M^in=M^in-1+(S^n(LDin+S^n(BDin·RCFM/Sn

M^i0=Mi=M(ti(2

更新过程中,需要对前向同步消息线路时延进行估计,估计流程如图2(b所示。用j表示线路时延估算过程,整个过程包含4个时间戳:Slaven以周期R向Slaven-1发送时延请求消息,记录消息发出时间戳Sjn,req_out(1st;Slaven-1收到后回复一个时延响应消息,并将接收消息时间戳记为Sjn-1,req_in(2nd,将时延响应消息发送时间戳记为Sjn-1,req_out(3th,Slaven-1绝对时间下响应时延为RDjn-1,本地响应时延为:

Sjn-1,respD

=Sjn-1,resp_out-Sjn-1,req_in(3

当时延响应消息到达Slaven时,记录到达时间戳Sjn,resp_in(4th,一个时延请求周期过后Slaven的时钟为:

Sjn,resqD

=Sjn,resp_in-Sjn,req_out(4

为计算式(3、(4之间的时间间隔,需要为每个Slave节点需保留一个RCF估计值,如节点n对节点n-1的RCF估计为:

RCFjSn/Sn-1=Sjn,req_out-Sj-1n,req_outSjn-1,req_in-Sj-1n-1,req_in(5

从而,计算节点n对n-1线路时延估计量为:

S^n(LDjn=(Sjn,reqD-Sjn-1,respD·RCFjSn/Sn-1/2(6

前文提到,对主时钟的频率进行人为控制,使其保持稳定。另外,进行轻微的理想化假设,认为系统运行时单向线路延迟零偏移,因为IEC6178453对线路延迟偏差提出了严格的要求,如用于PROFINET[14]网络的线路偏差不能超过20ns/100m。半实物网络环境下,期望得到的是从时钟频率对系统同步性能的影响,下节在模型基础上,运用隔离分析方法,忽略主时钟抖动情况下(消息随机的发送和接收时间噪声等,讨论从时钟频率偏移对系统同步精确度的影响。作为对比,主时钟抖动的影响会在第3章仿真中体现。

2从时钟频率漂移误差传播分析

2.1线路延迟影响分析

本节讨论单向线路线性延迟对同步精度的影响。对于频率非线性变化的情况,通常采取局部一阶线性近似分析方法[15]。所有节点在初始时刻t0频率均保持稳定,随着系统运行,事件处理频繁,仿真器CPU温度升高,处理性能降低,造成从时钟短期频率漂移呈线性增长。

根据前提假设,主时钟Master频率保持不变,即fM(ti=fM(ti-1=fM,Slaven频率线性增长,设斜率为Δn,则有:

fn(ti=fn(ti-1+Δn·(ti-ti-1; ti>ti-1>t0(7

fn(t2/fn(t1=1+Δn·(t2-t1/fn(t1(8

各Slave在时间间隔(ti-1,ti内计数器增量为时钟频率对时间的积分值,对于频率稳定的主时钟,有:

M(ti=M(ti-1+fM·(ti-ti-1(9

Slaven计数器增量为:

Sn(ti-Sn(ti-1=∫titi-1fn(t=fn(t·(ti-ti-1+(Δn/2·(ti-ti-12(10

由于从时钟频率线性变化,根据线性理论,计数器增量可以写成时间间隔中点频率值与时间间隔长度的乘积,即:

Sn(ti-Sn(ti-1=fnti+ti-12·(ti-ti-1(11

利用第1章中对时间延迟的定义,网桥时延也可计算为:

S^n(BDin=fn(mid Bridge Delay·BDin=fn(ti+Lin+BDin/2·BDin(12

2.2频率漂移对线路延迟估计精度影响

在式(10中,Slaven单向线性延迟估计值计算为:

S^n(LDjn≈fn(ti+Lin-Ai, j(in·LDjn+RDjn-1·R+RDjn-14·(Δn-Δn-1(13

其中:Ai, j(in表示线路延迟j对同步消息i的有效计算次数(文献[13]。所有时钟频率估计值均要在时间间隔中点处计算,直到当前同步消息的到达时间,计算次数的上界由同步请求消息发送周期R决定。

2.3从时钟同步误差估计

同步消息到达Slave节点时,根据TC时延,对主时钟时间进行修正,并将修正后的时间发送到其他端口,在获得修正时间值的过程中,也会产生相应的估计误差。所以,首先推导Slave对Master计数器的估计误差。根据式(9、(11得出Slave1的RCF值为:

RCFiM/Si=M(ti-M(ti-1S1(ti+LDi1-S1(ti-1+LDi-11=fM·Tf1ti+LDi1-T+δi,1LD2·(T+δi,1LD(14

前提假设主时钟抖动δi,1LD=0,所以:

RCFiM/Si=fMf1(ti+LDi1-T/2(15

Slave1在ti+LDi1时刻转发接收到的同步消息,根据式(2,得到Slave1对主时钟的计数器估计值:

M^i1=Mi+(S^1(LDi1+S^1(BDi1·RCFiM/S1=Mi+fM·f1(ti+LDi1-Ai, j(i1f1(ti+LDi1-T/2·LDj(i1+fM·Δ1f1(ti+LDi1-T/2·RDj(iM·R+RDj(iM4+fM·f1(ti+LDi1+BDi1/2f1(ti+LDi1-T/2·BDi1(16

利用式(8简化RCF系数,根据式(15、(13,得到:

M^i1=Mi+fM·(LDj(i1+BDi1+fM·Δ1f1(ti+LDi1-T/2·(LDj(i1·(T/2-Ai, j(i1+RDj(iM·R+RDj(iM4+BDi1·(BDi1+T/2(17

观察式(17分母项,有:

[fn(ti±τ]-1=[fn(ti±Δn·τ]-1≈[fn(ti]-1[1Δn·τ/fn(ti](18

其中:实际情况下, f的标称频率值约为100MHz,75Hz/s≤Δn≤300Hz/s,τ≈30ms,代入式(18中,可以计算出Δn·τ/fn(ti的实际值约为6×10-8,可忽略不计。所以,将式(17化简为:

M^i1=Mi+fM·(LDj(i1+BDi1+fM·Δ1f1(ti·(LDj(i1·(T/2-Ai, j(i1+RDj(iM·R+RDj(iM4+BDi1·(BDi1+T/2(19

根据式(9,此时主时钟计数器状态表示为:

Mti+LBi1=M(ti+fM·LBi1=Mi+(LBi1+BDi1(20

所以,Slave1对主时钟计数器的估计误差可由下式给出:

M-M^1ti+LBi1=fM·(LDi1-LDj(i1-fM·Δ1f1(ti·(-LDj(i1·(Ai, j(i1-T/2+RDj(iM·(R+RDj(iM/4+BDi1·(BDi1+T/2(21

式(21中第一项由线路延迟估计值和实际线路延迟误差导致,从时钟内若存在抖动时此误差不可避免。第二项中第一部分远小于后两部分,所以,Slave1时钟频率增长时,对主时钟的估计值会过高,相反,若频率下降则估计值过低。

Slave2的RCF系数计算为:

RCFiM/S2=M^(ti+LBi1-M^(ti-1+LBi-11S2(ti+LBi1+LDi2-S2(ti-1+LBi-11+LDi-12(22

根据式(11和式(19,重复上述推理过程,同样忽略时钟抖动δj(iLD,计算新的线路延迟估计:

RCFiM/S2=fM·T+fM·δi,1BD+fM·Δ1f1(ti-1·[δi,1BD2·(T+BDi1+BDi-11+LJ]·[f2(ti+LBi1+LDi2-(T+δi,1BD/2·(T+δi,1BD]-1=fMf2(ti+LBi1+LDi2-(T+δi,1BD/2·(1+Δ1f1(ti-1·[…](23

其中LJ为线路抖动的影响,计算为

LJ=-T·LDj(i1,忽略线路抖动

(R-T·LDj(i1+δj(iRDM4·(R+RDj(iM+RDj(i-1M,考虑线路抖动(24

式(23括号中第二项实际参数值小于10-8,所以,忽略第二项,对其进行如下近似处理:

RCFiM/S2fMf2(ti+LBi1+LDi2-(T+δi,1BD/2(25

Slave2在ti+LBi1+LDi2时刻转发收到的同步消息,根据式(2,得到Slave2对Master计数器估计值:

M^i2ti+LBi1+LBi2=M^i1+(S^2(LDi2+S^2(BDi2·RCFiM/S2≈M^i1+fM·f2(ti+LBi1+LDi2-Ai, j(i2f2(ti+LBi1+LDi2-(T+δi,1BD/2·LDj2+fM·Δ2-Δ1f2(ti+LBi1+LDi2-(T+δi,1BD/2·RDj(i14·(R+RDj(iM+fM·f2(ti+LBi1+LDi2+BDi2/2f2(ti+LBi1+LDi2-(T+δi,1BD/2·BDi2(26

同样,利用式(8简化频率系数,根据式(25、(13和(12,得:

M^i2=M^i1+fM·(LDj(i2+BDj2-

fM·Δ2f2(ti+LBi1+LDi2-(T+δi,1BD/2·RDj(i14·(R+RDj(i1+fM·Δ2f2(ti+LBi1+LDi2-(T+δi,1BD/2·

(LDj(i2·((T+δi,1BD/2-Ai, j(i2+RDj(i1·R+RDj(i14+BDi2·(BDi2+T+δi,1BD/2(27

此时实际主时钟计数器为:

Mti+LBi1+LBi2=Mti+LBi1+fM·(LDi2+BDi2(28

所以,Slave2对主时钟计数器的估计误差可通过式(29给出:

M-M^2ti+LBi1+LBi2=M-M^1ti+LBi1+fM·(LDi2-LDj(i2+

fM·Δ2f2(ti+LBi1+LDi2-(T+δi,1BD/2·RDj(i14·(R+RDj(i1-fM·Δ2f2(ti+LBi1+LDi2-(T+δi,1BD/2·(LDj(i2·((T+δi,1BD/2-Ai, j(i2+RDj(i1·R+RDj(i14+BDi2·(BDi2+T+δi,1BD/2(29

再利用式(18简化分母,运用数学归纳法推断SlaveN的时钟估计误差为:

M-M^Nti+LiN+BDiN=M-M^N-1ti+LiN-1+BDiN-1+fM·(LDiN-

LDj(iN+fM·ΔN-1fN(ti·RDj(iN-14·(R+RDj(iN-1-fM·ΔNfN(ti·(LDj(iN·((T+δi,NL/2-Ai, j(iN+RDj(iN-1·R+RDj(iN-14+BDiN·(BDiN+T+δi,NL/2(30

式(29中估计误差由4部分组成:第1部分通过前向Slave继承而来;第2部分由线路时延估计与实际线路时延不同所导致;第3部分是前向Slave在计算线路时延时的误差,导致该从时钟自身对主时钟计数器的计算产生误差,而与从时钟自身是否存在频率漂移无关;第4部分是包含线路时延估计误差时,Slave自身频率漂移所产生的同步误差。Slaven上的4部分估计误差可通过图3表示。

图片

可以看出,从时钟频率漂移将导致具有一致结构的加权误差,不会因为节点数增多,或同步消息在线路上的传输而改变。另外,线路时延估计会产生一个较小的误差,将对下一个从时钟误差计算产生一定影响。对于每个频率漂移从时钟,这些误差项都将影响到该时钟及其后继者的时钟同步精度,并且会将累积的误差渗透到整个同步网络中。

3仿真测试

笔者基于OMNeT++仿真器进行单向线路传输网络PTP的半实物网络仿真,仿真拓扑包含50个Slave仿真节点和一个真实Master节点,用来测试和分析串联网桥模式下IEEE1588同步性能,参照Siemens Automation & Drive部门发布的标准,设置仿真系统模型参数如表1所示。

表格(有表名

表1仿真参数设置

参数值参数值

节点个数50同步消息发送时间间隔32ms

标称频率100MHz延迟请求消息发送时间间隔8s

线路时延100ns系统同步周期20s

网桥时延Uniform [5 15]msRFC值计算周期200ms

温度变化速率3K/sRFC均值计算次数7

频率变化速率1ppm/K线路平均延时计算次数8

仿真中,定义仿真器CPU温度以3K/s的速度增长,仿真器内从时钟模型若存在自身频率漂移,随仿真器温度变化引起的频率增长速率为3ppm/s。仿真器CPU温度从仿真进行到20s时开始变化,在随后的20s内从25℃上涨到85℃,而后进行周期性的系统同步。设计多种半实物网络仿真场景来测试PTP的同步性能,并将仿真结果进行对比。

下列仿真结果为Slave1、Slave2、Slave32和Slave49上的同步误差。图4为仅有Slave1频率漂移时引起的同步误差;图5显示了Slave1、Slave2同时存在频率漂移时的结果;图6显示所有Slave均存在频率漂移的仿真结果;第1章提到,作为对比,将主时钟抖动的情况也进行仿真,测试结果如图7所示。

从各仿真结果可以看出:与单向同步线路上最初两个Slave漂移对系统同步性能影响相比,主时钟频率抖动情况下,会使线路尾部从时钟结点同步误差成10倍系数增长,此时系统同步精度较差,当所有从时钟表现出一致的非零频率漂移时,对系统同步性能的影响与主时钟抖动的情况相同。而且,无论从时钟自身频率漂移与否,误差的产生时间始终开始于仿真器CPU开始变化的时间20s,之后20s内误差在一个梯度范围内随机变化,链路尾部从时钟误差较大。所以,在进行PTP主从时钟同步的过程中,可采用周期性消息同步的策略,使系统运行一定时间后回到初始稳定状态来提高同步性能。

4结语

本文首先假设主机时钟模型为一次线性函数,在半实物网络环境下,忽略主时钟抖动的影响,推导出从时钟频率漂移对PTP半实物网络仿真系统同步性能影响表达式。设置多种仿真场景进行测试和分析,可得出如下结论:与其分配相应成本和代价去来提高每个从时钟模型的同步消息处理性能,不如配置成本较高、性能优越的外部主时钟和有较强并发事件处理能力的仿真器,且可采取周期性时钟同步的策略,来提高系统的同步精度和稳定性。下一步工作是在半实物环境下,分析具有双向不对称线路延迟的从时钟频率漂移同步误差表达式,并进一步研究同步精度量化误差所引起的短期频率偏移。

参考文献

[1]

MATAR M, KARIMI H, ETEMADI A, et al. A high performance realtime simulator for controllers hardwareintheloop testing [J]. Energies, 2012,5(61713-1733.

[2]SHAN J, MENG X, DING Y, et al. Hardwareintheloop simulation[M]. 2nd ed. BeijingNational Defense Industry Press, 20137-10.(单家元,孟秀云,丁艳,等.半实物仿真[M].2版.北京:国防工业出版社,2013-10.

推荐访问: 漂移 时钟 实物 频率 影响