P2P透明时钟驻留时间误差测试方法及其在时钟测试仪上的实现

(整期优先)网络出版时间:2022-11-25
/ 2

P2P透明时钟驻留时间误差测试方法及其在时钟测试仪上的实现

蔡雨澄,王妍,解天柱

云南电网有限责任公司昆明供电局 云南昆明  650000

摘要:在智能变电站自动化系统中,采用IEEE1588协议实现时间同步,其时钟模型一般选择P2P(对等)透明时钟,因此,对P2P透明时钟驻留时间误差的测试方法进行研究,对于评估交换机作为P2P透明时钟的性能有一定的参考价值。通过对P2P透明时钟驻留时间误差的定义,给出了P2P透明时钟驻留时间误差的检测方法,并给出了该方法在时钟测试仪上的具体实现。通过对开关型P2P透明时钟的测试,验证了该方法的可行性。

关键词:P2P透明时钟;IEEE1588;驻留时间误差测试

前言

在智能变电站自动化系统中,采用IEEE1588协议进行时间同步,其时钟模式必须选择P2P(对等)透明时钟,因此,对P2P透明时钟的检测方法进行深入的探讨,对评价P2P透明时钟的性能有一定的参考价值。但是P2P透明时钟的驻留时间误差检测技术还没有成熟的测试技术和相应的检测系统,本文对P2P透明时钟的驻留时间误差进行了研究,并在一台时钟测试仪上进行了实验。

1、P2P透明时钟驻留时间误差测试方法

1.1P2P透明时钟

IEEE1588-2008标准提出了两种透明时钟模式,分别是E2E透明时钟和P2P透明时钟,以改善网络交换机的串行时间。E2E透明时钟在同步报文经过透明时钟的同时,将所计算的停留时间累积到同步报文的校正区域。P2P透明时钟优化了协议流程,计算了交换器中的上段链路延迟,并将其累加到纠错区域;一次一次地传递一个累积的数值,直至最后一个从时钟装置。在接收到来自时钟装置(Slave)的同步报文时,所述同步报文的校正域内容是(DL1+DS1)+(DL2+DS2)+DL3(DL2+DS2)。由于从时钟装置已了解到在全部线路上的同步报文(也就是DL1+DL2+DL3)以及全部开关上的停留时间(也就是DS1+DS2),由此可以计算出其与主钟的偏离(offset),并且将其与主钟进行同步。如在图2中所示,当一个装置端口1(Port1)与它连接的时钟装置(Port2)进行交互时,它可以知道图2P2P透明时钟计算延迟原理图Fig.2P2P透明时钟计算延迟(pdelay_Req)和时延响应包(pdelay_Resp);链路时延delay可以用delay=【(t2-t1)+(t4-t3)】/2来计算。在图2中,Port1是图1中P2PTC1的同步包(点A),Port2是图1中主的同步包发送端口(点B),那么P2PTC1的同步包入口A能够从上面所描述的delay公式计算上段链路延时DL1。

3edcc022e68ff1cc78a90a0fec5eb72

图1 Sync报文通过P2P透明时钟

91eff1b4ab6d3e4be614d6c9181ca40

图2 P2P透明时钟计算时延原理图

1.2P2P透明时钟驻留时间误差的定义

为了对P2P透明时钟的驻留时间进行有效的检测,本文给出了以下驻留时间误差的计算公式:TRTE=Tresi-Tlat。

方程式中:TRTE代表停留时间错误;Tresi是P2P透明时钟所计算的实时消息在P2P透明时钟上的停留时间;Tlat是由时钟测试器测量的P2P透明时钟上的同步消息的延时。若TRTE为正值,则说明P2P透明时钟估计过长;相反,如果是负的,则说明P2P的透明时钟会被低估。若TRTE太大,则会导致从时钟到主钟的时间误差太大;若TRTE改变太大,此抖动会使下游的从时钟和主钟失去同步。TRTE的数值一般在数十纳秒以内,在以上所定义的停留时间误差公式中,Tresi是由P2P透明时钟计算出的同步报文通过P2P透明时钟的延时,即同步报文校正域CorrectionField的一部分。若用Tcorr表示同步报文校正域CorrectionField,Tcorr包含经过P2P的透明时钟的时间Tresi,并包含上段链路延时TL1,也就是Tcorr=TL1+Tresi。

1.3P2P透明时钟驻留时间误差的测试方法

通过自定义的时钟计数器,可以在透明时钟上测量每一个IEEE1588同步报文的真正延迟。在这里,Tart是从时钟测试器主钟端口向线传送同步报文的时刻(也就是准确的同步报文传输时标);Tend是从钟口(也就是准确地接收到同步报文)的时间;Tresi代表P2P透明时钟中的同步报文的停留时刻;开始和结束必须建立在相同的时间参考上。TL1为测试器主钟和被测时钟间的传输电缆的传输延时,TL2为测试器从钟口到被测时钟的接收电缆的传输。时钟测定器测量P2P透明时钟上的同步报文的延时latency,Tlat=Tend-Tstart,TL1-TL2。P2P透明时钟驻留时间错误检测的具体步骤是:1)将P2P透明时钟的一端与时钟测试器的主钟接口相连,而另一端与时钟测试器的从钟口相连。2)在设置状态下,使得时钟测试器将同步报文传送到主钟端口,并且在设置的时间内保持不变。3)主时钟端口传送每一帧的同步数据包,记录每一帧的同步数据包的准确传输时间点Tart,钟端口的每一帧同步数据包,记录每一帧的同步数据包的准确接收时间Tend;测试器从每一帧同步数据包中获得同步报文校正域Tcorr。4)将P2P透明时钟所计算的停留时间Tresi(Tresi=Tcorr-TL1)从前述的每个帧同步报文校正域Tcorr中提取。时钟测试器测量到的P2P透明时钟上的同步消息的延时Tlat,Tlat=TL1-TL2。TL1为主钟与P2P透明时钟输入间的链路延时,TL2为链路延时,TL2为P2P透明时钟输出端与P2P透明时钟输出的时延。5)为每一帧同步数据包的停留时间错误TRTE=Tresi-Tlat。6)对停留时间的错误和进一步的统计分析进行了研究。

2、测试方法在时钟测试仪上的实现

通常,基于对时间同步精度的测量,可以实现对被测装置的输出时间信号进行实时测量,如PPS(秒脉冲)、IRIG-B、NTP等。时钟测定器一般都是内建GPS卫星的输入信号,用来产生参考时间信号,通过将测量装置的输出信号与参考时间信号进行比较,就可以获得被测装置的输出时间信号的同步精度。在时钟端口和从时钟端口上的GPIO管脚DP83640输出的秒脉冲到FPGA芯片上,FPGA可以比较两秒的脉冲信号之间的延迟差异,从而确定主钟端口和从时钟端口的时间是否与相同的外部时钟相匹配。

第一步:时钟测试器的主时钟接口与P2P透明时钟的一端相连,而时钟测试器的从时钟端口与P2P透明时钟的另外一端相连,而设定时钟测试器的从时钟端口则可以接收到同步数据,不需要进行时间修正。启动时钟测试器,检查两台DP83640芯片输出的秒脉冲量是否已达到同步。可以向示波器输出2-秒级脉冲:如果两个端口的上边差小于某个阀值,则表示两个端口使用相同的外时钟(确保Tstart和Tend是以相同的时间参考为基础),并且在初始化之后已稳定。

第二步:当主时钟端口发出同步报文时,记录同步报文准确地传送时标Tstart;当该帧同步报文从钟端口收到时,该同步报文将准确地接收到Tend。

第三步:若所测P2P透明时钟为一步钟,则从所述钟端口所接收的该帧同步报文校正域Tcorr,若所述P2P透明时钟为二步钟,则从所述钟端口获得所述同步报文校正域Tcorr;Tend、Tcorr这3个时标与同步包序列相对应。

第四步,时钟测试器向电脑中的统计分析软件发送数据集(开始、开始、结束)。

第五步,统计分析软件按照第四步)中的一组数据执行该同步报文的停留时间错误。

第2步至第5步,重复N次,由统计分析软件获得N个数据集(同步报文准确发送时标,同步报文准确接收时标,同步报文校正域)。例如,在1秒的同步数据周期中,取样N是1001时,该测试程序大约是16.7分钟。

3、结论

综上所述,基于P2P透明时钟的驻留时间误差,给出了P2P透明时钟驻留时间误差的测量方法,并对其在时钟测试仪上的具体实现进行了讨论。实验结果表明,所提方法具有一定的可行性,能够应用于智能变电站的P2P透明时钟的检测。接下来,我们将着重探讨如何在真实的网络环境中,评估交换器P2P透明时钟的性能以及网络拓扑、VLAN设置和端口不对称等因素对P2P透明时钟性能的影响分析。

参考文献

[1]任懋华,蒋国涛,唐军,等.IEEE1588透明时钟驻留时间测量方法及其装置:,CN106877967B[P].2019.

[2]陆汭,严军,马敬川,等.基于多周期同步法的时钟精度测试仪的设计与实现[J].电子测量技术,2018,41(15):4.

[3]陈金凤,华宇,孙中尉.IEEE1588v2透明时钟研究与实现[J].宇航计测技术,2013.

[4]吴朝晖,曲立国.UART波特率检测电路的FPGA设计算法与实现[J].现代电子技术,2022,45(20):4.

[5]庾智兰,李智.IEEE1588精密时钟同步协议的分析与实现[J].电子测量技术,2009(4):4.

[6]董辰.基于缓冲器拓扑的低偏斜时钟树算法研究[J].集成电路应用,2022,39(8):4.