伊小素陶聪凌曾华菘刘文莉(北京航空航天大学仪器科学与光电工程学院北京100191)
SpaceWire冗余热备份网络设计及分析
伊小素,陶聪凌,曾华菘,刘文莉
(北京航空航天大学仪器科学与光电工程学院,北京100191)
SpaceWire是由欧空局专门面向航天应用提出的新一代高速数据总线技术,在链路故障检测、故障恢复等方面得到了加强。为了解决链路拥堵和减少网络传输延时,SpaceWire⁃D提出了在网络中流通时间码、调度表的运作机制。由于航天领域对网络可靠性有着严格要求,路由器作为网络中不可缺少的组成部分,基于路由器的网络可靠性设计具有重要价值。本文通过对SpaceWire路由器和SpaceWire⁃D标准的研究,提出将SpaceWire⁃D标准时间码保留位的其中一位与路由器转发时间码模式切换有机结合的方法,实现SpaceWire网络冗余热备份功能,从而提高SpaceWire网络的可靠性。
SpaceWire路由器;时间码保留位;可靠性;热备份保留位;模式切换
SpaceWire总线技术具有高速(2MB/s~400MB/s)、全双工、点对点的串行数据通信链路和很好的EMC特性,在Rosetta航天器、火星快车等项目中得到应用[1⁃3]。在SpaceWire网络中,路由器是不可或缺的组成部分,设备可以通过路由器与其他设备进行通信[4]。随着SpaceWire网络的复杂程度不断提高,设备通过路由器通信极易引发通信链路的拥堵问题。针对这一问题,SpaceWire⁃D标准提出了在链路中流通时间码、调度表为各个设备分配时间槽的运作机制。这一运作机制的使用可减少网络链路拥堵问题,提高通信链路利用率[5]。在SpaceWire⁃D标准中,时间码并没有全部使用,留有两位时间码保留位,以备SpaceWire标准后续扩展使用。
由于航天领域应用背景特殊,对网络可靠性要求很高。本文通过研究SpaceWire⁃D标准,提出了一种通过SpaceWire路由器转发时间码模式切换结合SpaceWire⁃D时间码保留位中的一位,实现SpaceWire冗余网络热备份功能的方法,从而保证在链路发生故障时网络仍然保证正常的通信功能。
1.1 时间码
SpaceWire⁃D标准中对时间码做了定义,时间码的传输优先级最高,用来保证全网的时间同步。时间码由ESC字符(转义字符)+数据字符组成,如图1所示。
数据字符:T0~T5是时间码有效值,T6、T7是时间保留位,在SpaceWire⁃D标准中这两位没有任何功能。P是奇偶校验位,P后面的一位是标志位。
1.2 时间码与时间槽关系
SpaceWire⁃D标准中规定两个有效时间码之间的时间间隔定义为一个时间槽。
时间码与时间槽的关系如图2所示[6]。
网络工作时,主控节点向网络中发送时间码。路由器收到时间码后,更新内部的时间码计数器,并将刚收到的时间码发往与其相连的所有设备。设备接收到由路由器转发过来的时间码,该时间码意味着一个新时间槽的开始。如果调度表分配给设备的时间槽与现在的时间槽的数值相等,那么这个设备可以发送数据[7]。
在航天任务中由于对设备和网络可靠性要求严格,更适合采用对系统硬件资源利用率高的热备份[8]。
本文采用SpaceWire网络热备份方式进行备份冗余,使得SpaceWire网络的可靠性提高。热备份冗余方案的结构如图3所示[9]。
图3中,SpaceWire网络包含两个路由器1与2,接入网络的各个设备均带有两个SpaceWire接口A与B。其中,每个设备的A接口与路由器1连接构成子网络A,B接口与路由器2连接构成子网络B,工作时每个设备的两个接口以及两个路由器均开启全功能。
3.1 链路状态寄存器与时间码使能寄存器
路由器具有链路状态寄存器和时间码使能寄存器[10]。链路寄存器可以记录储存实时的链路状态,时间码使能寄存器可以控制路由器的时间码转发,使路由器可以转发指定的时间码。
工作时,链路状态被路由器链路状态寄存器记录。例如,路由器的某一个端口链路断开,该端口的链路状态寄存器记录这个信息,将这一链路状态寄存器读取出来即可实时掌握网络的链路状态。
路由器的时间码转发由时间码使能寄存器决定。文章提出的方法,路由器全部端口都可以转发指定的时间码,所以时间码使能寄存器拓展为两位用以实现此方法。
3.2 SOC系统的搭建
在对SpaceWire路由器和SpaceWire⁃D研究的基础上,本文提出通过搭建 SoC系统用以实现SpaceWire网络冗余热备份。SoC系统结构如图4所示,包括AXI⁃Lite总线、MicroBlaze处理器以及片上RAM等。将SpaceWire路由器链路寄存器和时间码使能寄存器即 SpaceWire接口通过SpaceWire接口控制器接入 AXI⁃Lite总线,通过AXI⁃Lite总线将数据信息传递进入MicroBlaze处理器。处理器通过读取链路寄存器上实时记录的链路状态,对链路故障进行实时判断。当链路发生故障时,处理器根据设计好的算法排除故障,保证SpaceWire网络系统正常工作。
3.3 SpaceWire冗余网络热备份的工作方式
SpaceWire⁃D协议中的 SpaceWire时间码T6、T7是保留位,没有使用。本文提出的方法只使用其中一位保留位即T6,T7仍是未启用状态,为系统后续拓展功能留下余地。
工作方式描述如下:按照各个设备之间是否有相互通信要求的情况,将SpaceWire网络上的设备分为两组。如图3所示,设备1、设备2、设备3和设备4编为子网络A,它们接收到T6为1的时间码视为有效;设备5、设备6和设备7编为子网络B,它们接收到T6为0的时间码视为有效;子网络A与子网络B之间没有通信要求。主控节点同时通过A与B两个接口向网络中广播时间码,每次广播一对时间码,其系统时间值(T0~T5)一样,但T6分别为1和0。此时,路由器1转发T6为1的时间码,驱动子网络A的运行;路由器2转发T6为0的时间码,驱动子网络B的运行。子网络A中的设备通过路由器1进行数据交换,子网络B中的设备通过路由器2进行数据交换。至此,通过时间码的保留位T6进行网络标识与划分的功能得以实现,两个路由器根据其模式的设定驱动子网络A或B,两个子网络均按照事先设定好的调度表独立工作。
若有特殊设备要在子网络A与子网络B间有通信要求,则可让该设备将两套时间码均视为有效。
3.4 故障产生及其解决方案
对网络中发生的3种典型故障状态进行分析:
1)同一子网络中的一条(或多条)有效链路故障,但只影响到从节点,未导致任何一套链路瘫痪。有效链路是指正常工作时与网络标识具有相同标号的链路,例如子网络A中的设备1的接口A链路。
2)路由器故障,或者同一路由器分别与两个子网络中多个设备之间的链路故障;主控节点与路由器连接的某条链路故障,导致某一套链路瘫痪。
3)同一子网络中出现有效链路与无效链路均发生故障的情况,但故障未同时发生在与同一节点相连的两条链路上。无效链路是指正常工作时与网络标识具有不同标号的链路,例如子网络A中的设备1的接口B链路。无效链路可以视为备份链路。
故障状态a如图5所示。假设设备1与路由器1之间的链路A发生了故障。
当故障状态a出现时,子网络A中设备1的有效链路出现故障,但是其与另一个路由器相连的备份链路正常。针对此类故障,可将两个路由器的工作模式进行对调,交换它们所负担的子网络。具体做法是:SoC系统通过路由器1对相应的链路寄存器读取链路状态,从而得知链路出现故障,将路由器1改为转发T6为0的时间码,驱动子网络B的运行;将路由器2改为转发T6为1的时间码,驱动子网络A的运行。此时,子网络A中的设备通过路由器2进行数据交换,子网络B中的设备通过路由器1进行数据交换。这样一来,数据流便绕开了故障链路,该故障就不再会对两个子网络造成影响。
故障状态b如图6所示。其中,假设路由器1出现故障,子网络A瘫痪。
当故障状态b出现时,路由器1故障导致子网络A瘫痪,故任何一个子网络均不能继续通过路由器1进行数据交换。针对此类故障,需要用路由器2承担起故障路由器1的工作,将两个子网络合并完成双网融合。具体做法是:SoC系统通过路由器1对相关的链路寄存器无法进行读取链路状态,从而得知路由器1发生故障。此时,路由器1工作将交由路由器2完成,路由器2将同时转发T6为0的时间码和T6为1的时间码,使得原本处于子网络A中的设备被移入了子网络B,所有设备均处于子网络B中,通过路由器2进行数据交换。这样一来,在子网络B中就有两套调度表在同时运行,若同一时间槽内有两个(或多个)设备被允许使用链路,则需要竞争链路的带宽,这将导致路由器负荷加重,降低整个网络的效率。
故障状态c如图7所示。其中,假设设备1与路由器1之间的接口A链路故障,设备4与路由器2之间的接口B链路故障。
当故障状态c出现时,处于同一子网络中的两个不同设备的有效链路和备份链路分别发生故障,此时将两个子网络进行交换与合并均无法使整个网络继续工作。此时,应将两个路由器网络打通,实现双网融合。处理方法是SoC系统通过对路由器1和路由器2的相关链路寄存器读取链路状态,从而得知链路发生故障。此时,路由器1和路由器2将同时转发T6为0的时间码和T6为1的时间码,打通整个网络。各个设备可以根据自身的调度表自由转发数据,从而使得SpaceWire网络能够维持正常工作。
综上所述,SpaceWire网络冗余热备份的工作流程图如图8所示。依据图8即可设计SoC系统中处理器算法,实现SpaceWire网络冗余热备份功能。
本文采用SpaceWire冗余热备份网络与时间码一位保留位联合使用的方法,提高了SpaceWire网络系统的可靠性。以下对可靠性的改善进行初步分析。
为方便分析,取SpaceWire网络共有6个设备,并只考虑链路发生故障的情形。假设系统中单条链路的故障率为P,Z代表热备份网络连接备份数,并假设热备份网络连接全部失效的概率为0,以此来分析热备份对系统内链路故障造成的系统工作异常的可靠性改善,具体分析如表1所示。
表1 可靠性分析Table 1 Reliability analysis
说明1:对于冷备份网络中发生两条链路故障有以下两种情形。1)故障都发生在工作链路或备用链路上;2)故障分别发生在工作链路和备用链路上。对于前者,网络不受影响可以正常工作。对于后者,网络不能正常工作。根据上文假定模式计算网络失效率:
说明2:对于热备份网络,系统中发生两条设备链路故障时存在以下两种情形。1)故障都发生在工作链路或备用链路上;2)故障分别发生在工作链路和备用链路上。对于前者,网络可以工作正常并且能工作在双网络模式下,不降低性能。对于后者,网络会出现两种情况。①故障发生在不同设备的链路上。此时,网络依然能够正常工作,但必须双网融合,导致性能降低。②故障发生在同一设备的两条链路上。此时,网络不能正常工作。根据上文假定模式计算网络失效率:
对比P1、P2,得出P1>P2,P由0~0.2变化时,P1与P2的对比如图9所示。由此得出:热备份网络可靠性高于冷备份网络可靠性。
说明3:与说明1类似,当故障发生在工作链路或备用链路上,网络能正常工作;否则,不能正常工作。此时,计算网络失效率:
说明4:与说明2类似,当故障发生在同一设备的两条链路上,网络不能正常工作;否则,都能正常工作。此时,计算网络失效率:
对比P3、P4,得出P3>P4,P由0~0.2变化时,P3与P4的对比如图10所示。由此得出:热备份网络可靠性高于冷备份网络可靠性。
综上所述,不论系统中有几条链路故障,对于冷备份网络能够保证正常工作的情形,热备份网络通过双网切换都能够保证正常工作。对于冷备份网络无法保证正常工作的故障分散在两个网络的情形,只要单个设备两条链路没有同时故障,热备份网络通过双网融合能够保证正常工作。由此,可以容易得出:热备份网络可靠性高于冷备份网络。
本文介绍了一种结合SpaceWire技术特点来提高 SpaceWire网络可靠性的方法。该方法基于SpaceWire网络冗余热备份结构,利用SpaceWire⁃D标准中的一位时间码保留位,实现在主链路连接出现故障时的网络工作模式的切换。研究分析表明,该种方法式能够在初始工作状态获得更高的网络使用效率。当网络中出现故障时,系统可以通过相应措施应对多种故障情况,保证SpaceWire网络能够准确、可靠地工作。
[1] ECSS⁃E⁃ST⁃50⁃12C,SpaceWire⁃links,nodes,routersand networks[S].Noordwijk,The Netherlands:European Co⁃operation for Space Standardization,2008.
[2] Steve P,Albert F,Stuart M,et al.SpaceWire⁃D:deter⁃ministic data delivery with SpaceWire[C].Proceedings of the 3rdInternational SpaceWire Conference,Dundee,UK: Space Technology Centre,University of Dundee,2010: 31⁃39..
[3] Paxson V,Mhdavi J,AdamsA,et al. An architecture for large scaleinternet measurement[J].IEEE Communications Magazine,1998,36(8):48⁃54.
[4] Parkes S.SpaceWire user's guide[Z].STAR⁃Dundee Limited,2012.
[5] Chen J,Yang S,Mei H.Study and implementation of SpaceWire network redundancy technology based on FPGA [C].Proceedings of the 6thInternational SpaceWire Confer⁃ence,Dundee,UK:Space Technology Centre,University of Dundee,2014:202⁃206.
[6] Mitsutaka T,Hiroaki T,Tang C,et al.Development of software platform supporting a protocol for guaranteeing the real⁃time property of SpaceWire[C].Proceedings of the 5thInternational SpaceWire Conference,Dundee,UK: Space Technology Centre,University of Dundee,2013: 80⁃87.
[7] 庄洪毅,伊小素,张昊.基于SpaceWire时间码备份路由器实现与分析[J].电子测量技术,2016,39(1): 151⁃156. ZHUANG Hong⁃yi,YI Xiao⁃su,ZHANG Hao.Implemen⁃tation and analysis of backup router based on SpaceWire time code[J].Electronic Measurement Technology,2016,39(1):151⁃156.
[8] 毛宁元.SpaceWire冗余网络关键技术研究[D].哈尔滨工业大学,2012. MAO Ning⁃yuan. Research of key techniques in SpaceWire redundant network[D].Harbin Institute of Technology,2012.
[9] 张昊,吴军,张春熹,等.星载SpaceWire网络容错备份协议设计[J].计算机测量与控制,2015,23(2): 633⁃636. ZHANG Hao,WU Jun,ZHANG Chun⁃xi,et al.Design of backup fault tolerant protocol for SpaceWire on⁃board net⁃work[J].Computer Measurement& Control,2015,23 (2):633⁃636.
[10] 牛跃华,赵文彦.一种星载强容错SpaceWire总线网络拓扑设计与分析[J].计算机应用,2014,34(9): 2497⁃2500+2504. NIU Yue⁃hua,ZHAO Wen⁃yan.Design and analysis of a strong fault⁃tolerant on⁃board SpaceWire bus network[J]. Journal of Computer Applications,2014,34(9):2497⁃2500+2504.
Design and Analysis of SpaceWire Hot Backup Redundant Network
YI Xiao⁃su,TAO Cong⁃ling,ZENG Hua⁃song,LIU Wen⁃li
(School of Instrumentation Science and Opto⁃electronics Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100191)
SpaceWire is a new bussing technique provided by European Space Agency.SpaceWire enhances the functions of error detection and error recover.In order to solve the problem of blocking in the net and reduce the SpaceWire delay,SpaceWire⁃D performs the time⁃code flowing in the net and schedule table.Aerospace has high requirements for the reliability of network.Router is the indispensable component in the net,the design of network reliability based on router is great value.This text based on research of the SpaceWire router and SpaceWire⁃D standard,a method for switching the SpaceWire⁃D standard time⁃code reservation bit with the router forwarding time⁃code mode is proposed to realize the SpaceWire network redundancy hot backup function and enhance the reliability of the SpaceWire network.
SpaceWire router;reserved bits of time⁃code;reliability;hot backup reservation bit;mode⁃shift
V443+.1
A
1674⁃5558(2017)01⁃01309
10.3969/j.issn.1674⁃5558.2017.02.002
伊小素,女,副教授,研究方向为光纤传输、传感技术。
2016⁃08⁃16