引言
随着信息技术和微电子技术的迅猛发展,在电力系统、制造业、过程控制等领域中出现了越来越多的建立在网络环境下的分布式测控系统,时钟同步技术因而成为确保分布式系统性能的必要手段。IEEE 1588精确时钟同步协议(Precision Time Protocol,PTP)由于所具有的高精度(可实现亚微秒级时钟同步)、高可靠性以及基于以太网(UDP/IP)的同步方式,必将在分布式控制领域得到广泛的应用。但是在现有条件下,IEEE 1588协议还远未发挥其应用的潜能。由于该协议定义的时钟同步网络中,需要使用价格很高的透明时钟交换机作为网络连接设备。因此,IEEE 1588目前主要是在类似数字化变电站这样的重要设施中发挥作用。而对于大多数的分布式测控系统,如果都采用透明时钟交换机,势必导致系统成本大幅度提高,因而在很大程度上限制了该协议的应用。
事实上,不同的分布式系统对于时钟精度的要求有很大差别,只有少数对测量精度和控制性能要求很高的硬实时(Hard real time)系统才需要微秒级的时钟同步精度。以电力系统为例,IEC 61850标准定义了5个级别的时钟同步精度(T1~T5),只有最高的T5要求同步精度为1μs。而现有的支持IEEE 1588的微处理器器和物理层芯片,可以保证两个嵌入式智能电气设备(IED)的点对点同步精度达到微秒级。即使受到网络传输延迟的影响,仍有可能实现T1~T4级别的同步精度。在未来的分布式测控系统中,也将会出现越来越多的以嵌入式微控制器为核心的传感器、执行器和控制单元。因此,能够满足分布式系统中不同应用对于时钟同步要求的高性价比的技术方案,将具有非常广泛的应用价值。
为此,本文探讨了具有大量嵌入式设备的分布式系统中,在IEEE 1588时钟同步网络中采用普通交换机的应用方案。通过大量的实验数据来分析IEEE 1588系统中使用普通交换机所导致的同步报文延迟对于时钟同步精度的影响,以及使用不同性能交换机的IEEE 1588系统所能够实现的时钟同步效果。本文的工作可以为IEEE 1588协议在分布式测控系统中的进一步推广普及提供参考依据。
1 IEEE 1588时钟同步机制
IEEE 1588协议的时钟同步机制规定,系统工作于主从模式,由主时钟(Master)向从时钟提供时钟基准。具体实现方式为:主时钟周期性发送同步报文(Sync),从时钟根据收到Sync报文的时间来计算该报文传输的时间延迟以及主从时钟之间的偏差,并调整本地时间以保持与主时钟一致。
IEEE 1588系统的主从时钟偏移测量如图1所示,主从时钟偏差的计算方法为:
offsetFromMaster=[(TS1-TM1)-(TM2-TS2)]/2
2 时钟同步测试系统
本文所使用的支持IEEE 1588协议的IED控制器的硬件结构如图2所示。主控芯片选取的是配备以太网MAC层接口模块(MII)的ARM C0rtex —M3系列的STM32F107VC,与之相连的外设模块还有USB接口、串行口EEPROM和实时时钟等。PHY层以太网芯片选取的是DP83640,该芯片内配置有高精度IEEE 1588时钟,并配有硬件时标功能,能够在物理层为接收/发送的报文打上时间戳,因而能够消除由MAC层和IEEE 1588协议栈产生的延时和抖动,从而有效确保时钟同步的精度。
时钟同步测试系统的构成及实验装置分别如图3和图4所示。主时钟节点通过串行口接收来自GPS授时模块的基准时间信息,再通过普通交换机向从节点发送IEEE 1588协议的时钟同步报文。通过主、从节点所产生的秒脉冲的时间差来检验该系统的时钟同步精度。
3 实验结果及分析
本文的时钟同步测试实验分为两个环节:①由主时钟节点通过1000M以太网交换机与两个从节点相连;②主、从时钟分别通过100M和1000M交换机连接。
在IEEE 1588系统中,同步报文发送周期越短,时钟同步精度越高,但随着同步报文发送周期的减小,系统内网络流量随之增加,在实际应用中网络负担也会随之加重,在运行中可能会降低系统时钟同步性能。因此,本文的实验都选择主节点同步报文发送周期为2 s。
3.1 时钟同步测试数据
图5是实验1中两个从节点的时钟同步误差曲线(共计500次时钟同步),表1是相关的实验数据统计。实验数据表明,在同等测试条件下,两个从节点都能实现亚微秒级的同步精度(秒脉冲平均偏差约270 ns,最大偏差均为450 ns)。
实验2的时钟同步误差曲线如图6所示,相关的实验数据统计如表2所列。实验数据表明,当两个从节点通过同一个交换机与主节点连接,且没有其他网络流量时,采用100M以太网交换机的主从节点之间时钟同步平均误差约300纳秒,最大误差为500 ns,略低于1000M交换机的同步精度(平均误差273 ns,最大误差为450 ns)。
3.2 测试结果分析
为了对时钟同步测试的结果进行进一步分析,本文列出了以下数据进行对比:①两组实验测试结果的典型数据统计,分别如表1和表2所列;②实验2中使用100M和1000M以交换机得到的同步误差柱状图,如图7所示。
由表1和图5可见,在同等测试条件下(即两个从节点与主节点由同一个交换机连接,且没有其他网络流量),两个从节点的时钟同步效果基本相同,同步误差都能达到亚微秒级。由图6中的时钟同步误差曲线和图7中的同步误差柱状图对比可见,在没有其他网络流量的情况下,使用100M交换机和1000M交换机都可以实现亚微秒级的时钟同步精度,1000M交换机在同步精度方面略好于100M交换机。
本文所进行的时钟同步测试结果是基于以下网络条件进行的:①主从时钟节点之间通过简单的网络结构相连;②系统中没有其他网络流量。上述条件看似接近理想状态,但与实际的测控系统网络环境还是很接近的。其原因在于:①分布式测控系统中的传感器、控制器和执行器等IED节点通常都是通过拓扑结构简单的网络连接的,即节点之间通过单级网络连接设备(如交换机)就近连接;②分布式系统的通信网络中所传递的信息主要是各种测量数据和控制指令,数据内容很少,所以网络流量也很小。因此,这些数据传输过程中的网络延迟抖动很小,通过交换机时不会产生拥塞,而且交换机内部因不同端口之间数据流量不同而导致的传输延迟不对称问题也可忽略不计。
综上所述,对于通信网络拓扑结构相对简单(如节点之间采用单级交换机连接),且网络流量很小(通常只传输少量的测量信息、控制指令等数据)的分布式测控系统,使用普通的以太网交换机也可以实现较高的时钟同步精度。本文的研究结果可以为IEEE 1588协议在分布式测控系统中的进一步推广普及提供参考依据。
结语
探讨了通信网络结构相对简单的分布式测控系统中,采用普通以太网交换机实现IEEE 1588时钟同步应用方案。通过大量的实验数据来分析IEEE 1588系统中使用普通交换机所导致的同步报文延迟对于时钟同步精度的影响,以及使用不同性能交换机的IEEE 1588系统所能够实现的时钟同步效果。研究结果表明,在主从时钟节点通过交换机直接连接、以及网络流量很小的情况下,仍可以实现微秒级的时钟同步精度,由此验证了普通交换机的可行性。因此,本文的研究工作可以为IEEE1588协议在分布式测控系统中的进一步推广普及提供参考依据。