孔韵雯,李 峭,汤雪乾,熊华钢
TTE网络压缩功能计算开销的测量方法
孔韵雯,李 峭,汤雪乾,熊华钢
(北京航空航天大学电子信息工程学院,北京100191)
针对通过传递协议控制帧(PCF帧)实现分布式节点之间的时钟同步的时间触发以太网(TTE)的关键参数获取问题,通过剖析TTE时钟同步协议的原理,提出了不用访问同步主控器(SM)或压缩主控器(CM)的底层驱动,仅通过捕获并观测SM和CM之间的PCF帧,得到给定TTE网络压缩功能运行的计算开销的测量和计算方法。采用FPGA硬件实现了相应的捕帧测量装置,从理论分析和实际测试两个方面实现了关键参数计算开销的测量,通过共计13 724次实验得到的计算开销平均值为32 757 ns。
时钟同步;时间触发以太网;协议控制帧;计算开销;FPGA
Abstract: Clock Synchronization in Time-Triggered Ethernet(TTE) is implemented by exchanging Protocol Control Frames(PCF) among distributed network nodes.A measuring method was proposed to make the calculation overhead of compression function in the specified TTE network measured and calculated in each round of synchronization operation by capturing and observing PCF between Synchronization Master(SM) and Compress Master(CM) without extra accesses to the lowlevel drivers of the concerned SMs and CM.The PCF capturer and observer were implemented by FPGAs,by which the analytical and practical measurement of the calculation overhead were realized.The average calculation overhead of 13 724 experiments was 32 757 ns.
Key words:clock synchronization; time-triggered Ethernet; protocol control frame; calculation overhead;FPGA
随着载人航天飞行器电子系统复杂程度的提升,需要采用综合化互连技术替代飞行器内种类繁多的总线和网络,以降低布线的体积、重量和功耗。时间触发以太网(Time-Triggered Ethernet,TTE)不仅在全双工交换式以太网物理层上实现了可以精确到微秒乃至亚微秒量级的分布式时钟同步[1],成为安全关键性的时间触发(Time-Triggered,TT)通信的基础;而且剩余带宽还能容纳关键性等级较低的事件触发流量,支持既有设备的接入;有望成为未来载人航天电子系统的骨干互连网络[2]。TTE中的时间触发通信可以在安全关键性系统中代替普通以太网部分传统的事件触发通信方式,从而满足了严格的时间确定性,有效改善普通以太网的实时性、确定性和可靠性[3]。2011年,美国SAE组织发布了TTE标准[3]。
美国NASA已经将TTE网络作为猎户座(Orion)载人飞船的骨干网络,速率为1 Gbps。该网络替代了传统的多种总线,支持不同类型的数据和通信需求,并经过抗辐照加固以适应外层空间环境,形成一个高可靠、安全灵活的分布式综合化电子系统[4]。
TTE网络由端系统(End System,ES)、专用交换机和物理链路构成。图1给出猎户座载人飞船的TTE互连拓扑结构[5]。在该飞船的早期型号中,包含乘员舱8台交换机和服务舱3台交换机,其中交换机31和32是综合化互连的核心,接入两个VCM机架模块,形成热备份双冗余配置,另有一个备份飞行控制单元(BFCU)不对称地接入交换机22;在后续发展型号中,乘员舱增加了2台交换机(交换机7、8),获得了更充裕的冗余物理链路,便于实施更为复杂的多模冗余容错策略。
图1 猎户座载人飞船的TTE互连拓扑结构[5]Fig.1 Topology of TTE interconnections in Orion CEV[5]
分布式时钟同步是TTE网络的关键技术,网络中具有同步主控器(Synchronization Master,SM)、同步客户端(Synchronization Client,SC)和压缩主控器(Compression Master,CM)三种功能模块,分别嵌入于主机端系统或交换机[6]。同一个同步域的TTE网络节点通过传递协议控制帧(Protocol Control Frame,PCF帧)交换各自本地时钟信息,CM对接收到的PCF帧实施固化和压缩功能,求得平均的时间基准并发布,从而实现全局的时钟同步。
压缩功能中的关键参数对网络时钟同步的正常运行和精度保持有决定性作用。目前,TTTech公司拥有TTE网络控制器的主要知识产权,并曾经根据航天用户的需求对IP核进行专门优化(例如:产品目录上为Pegasus版本[7],而提供给ESA的为Phoenix版本),但细节不对一般用户公开。相应地,在规划配置软件TTE-Plan中,用户无法获知作为中间变量的部分关键参数,如CM运行压缩功能时的计算开销的取值并没有在软件或手册中给出[8],不仅给实验观测TTE网络时钟同步过程带来困难,而且对自主开发的TTE网络接口与COTS网络设备的互操作产生不利影响。
本文通过剖析TTE时钟同步协议,提出了通过捕获并观测SM和CM之间的PCF帧,实测获得关键参数计算开销数值的方法。首先简要介绍TTE网络时钟同步过程中的压缩功能;随后说明作为关键参数,计算开销对于压缩功能计算的作用,以及开发测量装置得到该值的具体过程;最后根据实际测量结果的统计分析,说明该测试方法的有效性。
在TTE网络中,利用PCF帧在每个综合循环(Integrated Cycle,IC)轮次交换同步信息建立并维持全局的时钟同步。PCF帧是类型为0x891d的以太网帧,PCF帧的数据载荷中包含4字节的IC轮次计数值和8字节的“透明时钟”(Transparent Clock,TC)字段。其中,TC字段存储从发送端口到当前端口的传输延迟累加值;当PCF帧经过支持透明时钟机制的转发或交换设备时,由硬件计算从输入到输出端口的时间,并累加入该字段。PCF帧的IC轮次计数值用于标记PCF帧被发送时所在的IC轮次[6]。
只有CM能运行压缩功能,CM对各个PCF帧的固化时刻[3]进行容错平均即“压缩”,得到的平均时刻被称为压缩时刻tcp。以tcp作为时间的基准值,修正CM和SM的本地时钟,从而实现全局的时钟同步。
CM在接收到的PCF帧的最小固化时刻tp,1开启固定长度的最大观察窗TOW,接收该IC轮次剩余节点发送的PCF帧并记录对应的固化时刻。如图2,CM对各个PCF帧的固化时刻与最早固化时刻的时间差进行执行容错平均算法[6],得到压缩修正值TCC,并考虑观察各个PCF帧的观察窗宽度TOW和计算开销时间TCO,压缩时刻的计算式为tcp=tp,1+TOW+TCC+TCO。
图2 压缩功能时序图Fig.2 Sequence diagram of compression function
根据容错平均算法计算压缩修正值TCC,当参与同步的SM数目小于4,则没有容错功能;当SM数目为2时,TCC的计算公式为式(1):
虽然容错平均算法的执行时间不一定是固定值,但为了使压缩操作具有时间确定性,要求计算开销时间TCO在相同配置的TTE网络中为固定值,意味着计算之后要等待相应的时间进行补足;而且CM的TCO值对于同步域中SM和SC应该是周知的。
利用FPGA器件自行开发核心逻辑,配合以太网物理层芯片硬件,构成关键参数计算开销TCO的测量装置(以下简称“测量装置”),实现了通过捕获PCF帧以及读取PCF帧内的透明时钟值获得TCO的测量方法。
如图3所示,本测量装置包含两个全双工以太网接口,被串联入一段全双工物理链路,构成双方向的数据帧过滤模块,记为F1和F2,对于普通数据帧它们只是简单地直通(cut-through)转发,而对于PCF帧则进行截获后转发,记录其到达时间,根据IC轮次计数值匹配上下行的PCF帧,读取相应的帧内容并计算得到关键参数TCO。
图3 测量装置模块图Fig.3 Measurement device module diagram
根据TTE网络压缩功能的原理,利用参与同步的SM数目为2时容错操作被屏蔽的作用,设计了含有2个SM(SM1和SM2)与1个CM的测试实验方案。
在SM1与CM之间的全双工物理链路中插入本测量装置,记为A1;同理,在SM2与CM之间插入测量装置,记为A2,其连接关系如图4。
图4 计算开销测量拓扑图Fig.4 Calculation overhead measurement topology
设从SM到CM数据帧所经过的通信链路为上行链路,从CM到SM数据帧经过的通信链路为下行链路。A1的F1模块在上行链路捕获的由SM1发送的PCF帧记为,其透明时钟记为;F2模块在下行链路捕获相同IC轮次由CM发送的 PCF帧记为,其透明时钟记为,测量装置捕获至捕获的时间间隔为Δt1;同理,针对同一IC轮次(两台测量装置分别记录PCF帧中的轮次信息,数据采集后进行匹配),A2获得一对和的内容,以及计时值Δt2;设最大传输延迟Dmax和技术时延2×thw已知;从PCF帧中可以获得透明时钟,加入了技术时延补偿之后得的透明时钟值为和=1,2。
不失一般性,假设SM1的本地时钟快于SM2,即SM1发送的在CM内的固化时刻tp,1早于SM2发送的的固化时刻,时间Δt1和Δt2内和被处理的过程如图5所示。
图5 测量计算开销的同步过程Fig.5 Synchronization process of calculation overheadmeasurement
由于只有两个被CM固化的时刻点被压缩,对照公式(1)和图5 可得式(2)、(3):
将式(2)和式(3)相加,对销掉 TCC,整理后得到计算开销TCO如式(4):
对于使用100BASE-T以太网物理层的TTE网络,采用FPGA实现了如前所述的PCF帧的捕获和计算功能,而且能够对非PCF帧直通透明传输,即:能够在不影响正常网络通信的条件下,测量获得TTE时钟同步压缩函数中计算开销TCO的数值。
同时,FPGA本身的技术时延已经通过透明时钟机制补偿至TC字段,从而保证了被测PCF帧TC字段表示的时延是客观的。
根据§2所述测量原理,实验设备的连接如图4所示,包含2个SM(SM1和SM2)和1个CM,以及测量装置A1和测量装置A2,测量得到Δt1和Δt2,根据式(4)可以得到当前TTE网络系统的CM计算开销TCO。目前实验室拥有4个商用货架产品构成的SM节点,为了增加实验的规模并尽量消除随机误差,将它们两两组合,配合含有CM的交换设备,共进行了6组实验。根据部分实测数据计算得到的每轮计算开销TCO原始结果和6组实验的统计结果分别如表1和表2所示。
例如,在第一组实验中,图6(a)和 6(b)显示了测量获得的Δt1和Δt2;从细部观察,图6(c)中可见同一轮次二者数值的差值远小于100 ns,说明TTE网络正常运行的时候,TCC的绝对值很小。正是由于双SM实验屏蔽了容错操作,才能在TCO的测量中消除虽然微小但未知的参量TCC的系统误差。图7为根据实测到的每轮Δt1和Δt2,计算获得的计算开销TCO;可以发现,将原始计算数据进行线性回归,拟合直线的斜率几乎0,说明统计平均消除了随机误差,统计结果符合TCO并不随同步轮次变化的特性。
表1 计算开销测量结果Table 1 Test results of calculation overhead
表2 计算开销统计结果Table 2 Statistical results of calculation overhead
图6 Δt1和Δt2的测量结果Fig.6 Measurement result of Δt1and Δt2
图7 计算开销TCO的测量结果Fig.7 Measurement result of calculation overheadTCO
根据共计13 724次实验得到的TCO平均值为32 757 ns,以95%的置信概率处在 (32 711,32 798)纳秒范围内。
本文研究了TTE时钟同步压缩功能中关键参数的测量方法,在毋需访问或影响被测网络硬件和底层驱动软件的前提下,利用自行设计的测量装置捕获PCF帧计算得到了给定TTE网络在CM运行压缩功能时的关键参数计算开销,并通过多组实验多次测量的统计平均消除了随机误差。
采用固定阈值的计数器对压缩功能进行定时,当实际的计算时间随着网络规模的不同而变化的情况下,应等待一小段时间,以保证TCO参数值为常量。值得说明的是,本测量结果在精度误差范围内接近32 768 ns,后者是二进制计数器经常采用的数值。我方正在利用多种渠道查证,力图进一步证实。
本测试方法的原理与实验设计适用于采用PCF帧进行的分布式时钟同步。在实验中应根据精度要求,合理选择实验硬件平台。例如,本测试装置的核心硬件采用Spartan-6 XC6SLX100T芯片,定时精度只能达到10 ns量级;对于定时精度需求更高的测试,则需要采用更精密的芯片,专业的布局布线,以面对更高主频和更完善信号完整性设计实现的挑战。
(References)
[ 1 ] Mezzalira L.Real-time systems[J].Journal of Systems Architecture, 1996, 42(6-7):387-390.
[2] Steiner W,Dutertre B.Layered diagnosis and clock-rate correction forthe TTEthernetclock synchronization protocol[C]//IEEE, Pacific Rim International Symposium on Dependable Computing.IEEE, 2011:201-207.
[3] 邱爱华,张涛,顾逸东.面向空间应用的时间触发以太网[J]. 国防科技大学学报,2014(5):117-123.QIU Aihua, ZHANG Tao, GU Yidong.Time-triggered Ethernet for space utilization[J].Journal of National University of Defense Technology, 2014(5):117-123.(in Chinese)
[4] Baggerman C,Mccabe M,Verma D.Avionics system architecture for the NASA Orion vehicle[R].JSC-CN-18906,09ATC-0118,2009.
[5] Alexander Zarov.Modeling and Simulation of the TTEthernet Communication Protocol[D].Technical University of Denmark,2013.
[6] Steinhammer K, Kopetz H.Time-triggered ethernet[R].SAE AS6802,2011.
[7] Steiner W,Bauer G,Jameux D.Ethernet for space applications: Ttethernet[C] //International SpaceWire Conference 2008, Nara, Japan, 2008.
[8] Plankensteiner M.TTEthernet: a powerful network solution for all purposes[J].Maxwell: Periodiek der Electrotechnische Vereeniging, 2010, 13(3): 1-15.
(责任编辑:龙晋伟)
Measuring Method for Calculation Overhead of Compression Function in TTE Network
KONG Yunwen, LI Qiao, TANG Xueqian, XIONG Huagang
(School of Electronics and Information Engineering, Beihang University, 100191)
V243;TP393
A
1674-5825(2017)05-0645-05
2016-09-19;
2017-04-21
中央高校基本科研业务(YWF-15-GJSYS-055)
孔韵雯,女,硕士研究生,研究方向为航空电子综合。E-mail:kongyw@buaa.edu.cn