程俊强 林坚
摘要:Mil-1394b是在COTS技术IEEE 1394b的基础上进行相应的扩展和约束来进行增强,以达到满足安全关键/任务关键系统所需的鲁棒性和确定性。Mil-1394b总线采用SAE AS5643标准,其全称为用于军事和飞行器应用的1394b总线接口需求,目的是标准化Mil-1394b在军事和飞行器中的安全关键/任务关键应用中的方法途径。提高了总线的可靠性和确定性,使Mil-1394b总线相比IEEE 1394b总线更适合作为安全关键的航空总线等高可靠场合的应用。Mil-1394b总线在美F-35战机、X-45、X-47无人机等飞行器管理系统已经相继得到使用,而在我国Mil-1394b总线作为飞行器管理系统总线的应用仍处于起步阶段,该文拟就Mil-1394b总线在飞行器管理系统中的典型应用进行分析。
关键词: Mil-1394b总线;飞行器管理系统;容错
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)27-6504-05
Abstract: Mil-1394b is a corresponding expansion and constraint based on COTS technology IEEE 1394b to enhance the robustness and uncertainty, to meet the safety critical / mission critical system required. The Mil-1394b bus with SAE AS5643 standard, whose full name is used for 1394b bus interface and application requirements of military aircraft, the purpose is for safety critical / standardization of Mil-1394b in military and aircraft method for mission critical applications in the way. To improve the reliability and certainty of the bus, the Mil-1394b bus IEEE compared with 1394b bus is more suitable for the application as a safety critical avionics bus high reliability occasions. Mil-1394b bus in F-35, X-45, X-47 beauty aircraft unmanned aerial vehicle management system has been used, while in China the Mil-1394b bus as the application of vehicle management system bus is still at the starting stage, this paper intends to analyze the typical application of Mil-1394b bus in vehicle management system.
Key words: Mil-1394b bus; vehicle management system; fault tolerance
1987年Apple公司发布的一个高速、实时的串行总线标准,称之为FireWire(火线),也就是后来的IEEE 1394总线。IEEE 1394总线是一种与平台无关的串行通信协议。1995年的IEEE Std 1394-1995是第一个IEEE 1394标准的正式版本,其数据传输率分别为100/200/400Mbps(即S100/ S200/ S400) ,2000年发布了IEEE Std 1394a-2000标准又进一步对IEEE 1394总线的控制性能和可操作性进行了改进。2002年4月2日,IEEE标准协会( IEEE2SA) 在美国新泽西正式通过了高性能IEEE 1394b串行总线标准。IEEE Std 1394b总线物理拓扑支持环形结构,总线逻辑拓扑可构成树形或菊花链结构[1]。由于物理上可实现环形网络,因此总线自身具备“一次故障工作”的容错特性,IEEE 1394b总线的125μs等时循环传输功能适用于控制系统的实时性需求,而且IEEE 1394b总线节点间采用端间转发连接方式可对故障端口或节点实施隔离,有效抑制故障漫延,加上其物理层、链路层等的相关的确定特性和容错特性[2]使得IEEE 1394b总线应用到在安全关键系统上称为可能,而且IEEE 1394b总线作为商用货架产品(COTS),成本较低,容易购买,技术成熟,性能较高是其主要特点。但IEEE 1394b总线是为商用电子系统应用开发,其诸多的动态特性,并不适合安全关键的综合化飞行器管理应用不能提供安全关键系统(例如航空)应用所需的鲁棒性和确定性。
2004年由洛克希德马丁公司领导的SAE AS1A3 Mil-1394b任务组正式发布了该工业标准即SAE AS5643标准。SAE AS5643利用商用货架产品IEEE 1394B总线来创建一个高速、确定的实时数据网络。IEEE1394总线提供的必要的功能和架构,洛克希德马丁公司的JSF项目组是Mil-1394b总线在飞行器上的第一个重大应用,后续在美F-35战机、X-45、X-47无人机内已经得到使用。
在X47-B无人作战飞机内机载系统包括有VMC(vehicle management computers飞行器管理计算机)、EIU(Engine interface unit发动机接口单元)、ETA(Engine throttle actuators发动机节流阀控制器)、LGS(Land gear system起落架系统)、EPGS(Electrical power generation system电源系统)、HVDUS(High Voltage Distribution Units高压分配单元)、MMC(Mission management computers任务管理计算机)、GBDLC(Ground-based data link computer近地数据链计算机)、RIO(Remote input/output units远程输入/输出单元)。
X47-B无人作战飞机内的VMC计算机是机载电子设备系统的心脏,采用三余度体系结构,主控所有航空电子设备,实现飞行控制功能和设备公共管理功能(包括燃油测量与管理fuel measurement and management、指引guidance、导航navigation、飞行控制、以及其他有人机上飞行员执行的系统功能)。飞行器管理计算机采用Mil-1394b总线实现同9台RIO设备之间的互联,这种分布式的系统互联结构将是下一代有人及无人作战飞行器的标准。
1 网络结构
图1右图所示为SAE AS5643提供的使用一个控制计算机物理上形成闭环的网络结构,IEEE1394及IEEE1394b均不支持逻辑上的闭环结构,IEEE1394b总线的网络拓扑结构是菊花链型的实质上其仍是一种树状结构的,这也就是其本身不具备容错性的原因[4]。但是IEEE1394b允许物理上使用闭环,相应的,基于IEEE 1394b的SAE AS5643也具备该特性,在总线配置开始,环路侦测功能会检测到环路并断开环路,分别在port1和port2形成两条树结构。
在任一个节点出现故障时,总线会重新配置,启动原冗余链路,将故障节点作为树的端节点,其他节点位于数据网络中通讯正常。这样的结构特点提供的数据网络的第一级的冗余能力。
在总线网络配置过程中,也可以人为禁止port2端口,去掉该闭环,在某节点出现故障时,再启用该端口,对网络重新配置。
三个控制计算机之间有交叉通道链路(cross-channel linked),提供另一级的冗余。SAE AS5643并没有规定交叉通道链路的总线类型,交叉通道链路可以是其他的总线,也可以是另一条1394总线。
2 确定性机制
为JSF所设计的SAE AS5643 Mil-1394b提高了IEEE 1394b网络的确定性,主要的增强特性如下[6]:
预配置网络拓扑(Pre-configured network topology):网络拓扑由应用的需求进行配置,并且在整个飞机的生命周期内尽可能保持不变。
强制根节点(Forced root nodes):在预配置的网络拓扑中,根节点指定到控制计算机,不允许更改。
使用异步流(Use of Asynchronous Streams):大部分网络通讯使用异步流(异步流由IEEE1394a定义,一个异步流包是一个同步包,以公平间隔或异步时间帧发送。数据发送按照异步仲裁规则进行;然而接收节点不做响应的返回)。异步和等时交易不是必须的,但可以使用。使用异步包的例子将允许测试设备从配置ROM中读取数据,使用同步交易的例子可用于视频或音频流。
通过帧开始包进行同步(Synchronization Via Start of Frame Packets):一个STOF包由CC在每条总线上以周期帧速率(100Hz)发送,这个包通知总线上所有的节点一个新的帧的开始。
通道数量静态分配(Static Assignment of Channel Numbers):由于在现实中,异步流包是同步包,包的目的地由通道号指示。不像标准的1394,目的地节点的通道数不是由同步资源管理器IRM分配,而是总线上每个节点的通道数是预分配的,由应用确定不同,作为结构需求被定义。
带宽预分配(Pre-Assignment of Bandwidth):IRM的减少要求带宽的预分配,每个节点的发送和接收时间作为偏移量分配,最小单位为1ms,从每个帧的开始(STOF包)。总线上每个节点的偏移由应用规定,作为结构需求被定义。
TDMA类型的包传输(TDMA-style packet transmission):控制计算机每隔12.5ms(80Hz)发送STOF包,并为每个通道发送偏移信息,远端的网络节点只需要监听就能获得同步信息,以避免远端节点失去同步。
3 系统完整性和容错机制
SAE Mil-1394b相对于IEEE 1394b在系统完整性和容错能力方面进行了增强。
故障抑制增强(Enhanced Fault- Containment):
纵向奇偶检测(Vertical Parity Check):除了1394物理层完成的CRC校验外,每个包的数据区增加了纵向奇偶检查(VPC),VPC用于在物理层和软件之间提供附加的数据完整性信息处理。
健康状态字(Health status word):32位的健康状态字位于数据包有效载荷的word0,包含下列内容:包错误,子系统错误,节点错误,STOF偏移应答,节点的端口状态(已连接,接收OK,beta模式,端口速率等)。
心跳字(Heartbeat):32位的心跳字位于数据包有效载荷的word1,设置心跳字的是为了使控制计算机上的应用程序产生新的数据,心跳字必须由软件产生,而不是由固定的计时器产生。
控制计算机状态字(CC status word):32位的控制计算机状态字位于STOF包有效载荷的word1,记录每个网络中CC的故障状态。
数据传输完整性检测(Data transmission integrity detection):控制计算机监控来自远端节点的输入,已确认总线活动是否正常,产生消息的远端节点操作是否正确。主要包括:STOF包的发送定时间隔是否正常,STOF包是否有效,STOF包所指示控制计算机状态是否正常,数据有效性指示控制计算机状态是否正确,操作是否有效。
控制计算机的故障检测(CC failure detection):远端节点监控控制计算机来自的输入(包括STOF包),已确认总线活动是否正常,产生消息的控制计算机软件操作是否正确。主要包括:心跳字的值是否在递增,数据有效性指示(例如VPC)是否正确,1394CRC是否正确。
故障隔离和恢复增强。
交叉通道互联:三个控制计算机节点通过其它的数据总线或另外一条1394总线互联,同时处理数据,并通过交叉通道互联传输比较数据,以保证数据的完整性。
端口禁止与使能:节点可以对每个端口单独进行禁止和使能。该特性允许总线上的节点禁止连接到故障节点的端口,也可以启用备用(冗余)连接的端口以旁路故障节点。
物理层可以由电缆进行供电:可以允许链路层和主处理器下电而不会影响物理层转发数据,该特性可以用于故障恢复过程中,隔离故障处理器。
系统级冗余提供的故障保护。
闭环断开能力提供第一级冗余:SAE Mil-1394b的物理层基于IEEE-1394b-2002的信号标准,在总线初始化过程中,可以检测到环并断开环。物理上提供一个环连接,相当于增加一条冗余路径,当有节点故障时,启动原冗余链路,将故障节点作为树的端节点,其他节点位于数据网络中通讯正常。
三余度系统冗余:三个已互联的控制计算机提供了一个三余度的1394b网络,每个控制计算机都连接有三条1394b总线,每条总线都有三条物理端口。
4 时间特性分析
尽管Mil-1394b在确定性和实时性方面做了很多工作,但其作为IEEE 1394b的上层协议,其总线初始化和配置时间没有变化,最大约为477ms,大部分情况下,477ms的初始时间并不会带来影响,但在某些紧急情况下,比如飞机管理系统发生空中掉电再上电时,就飞控功能来说,每一ms都至关生死,更不要说477ms了,此时从Mil-1394b总线上已经找不到办法,需通过其他途径弥补,例如设计智能作动器控制器,使其实现部分控制律功能,对飞机姿态进行简单控制,确保安全;或者采用其他可快速启动的备用总线,作为紧急情况下的安全备份。
在控制计算机进入周期控制任务后,Mil-1394b总线操作需要控制计算机在帧开始发出帧起始包(STOF),各个远端节点按照各自STOF后的偏移量进行总线操作,如图4所示。
图中主要定义了STOF及相对STOF的发送偏移和接收偏移,STOF间隔等于周期任务的帧周期,在帧周期内部通过发送偏移和接收偏移将帧时间划分为若干小的时间窗口,每一个时间窗口对应一个通道号,通道号及其对应的发送偏移或接收偏移均存储在总线配置表中,每一个总线节点预定义通道号,并将配置表存储在本地,通过查询配置表得到自身的发送偏移或接收偏移。
5 容错特性分析
本节主要分析基于Mil-1394b总线的VMC结构的容错特性,为便于分析,构建简化的飞行器管理系统总线构型,系统采用3余度构型,同步工作方式,采用分布式IO(RIO)。
5.1 Layer1容错
1394b总线固有的错误检测和错误定位能力,主要包括以下几个方面:
1) 总线上所传递数据包的包头和数据块均有CRC校验;2) 总线应答包包含错误代码;3) 总线应答包含奇偶校验;4) 总线响应包包含错误代码;5) 可规定总线传输响应或应答的超时条件;6) 端口可禁止/使能,总线协议中提供了“端口禁止”功能,即当物理层的某一个端口被禁止时,则该端口不再产生和检测线缆上的信号[7]。
5.2 Layer2容错
SAE AS5643作为IEEE 1394b总线的增强集,主要提供了以下新的特性:
1) 固定帧速率:通过固定帧速率用于网络的同步。通过帧开始包进行同步,这个包通知总线上所有的节点一个新的帧的开始;
2) 通道数量静态分配:目的地节点的通道数不是由同步资源管理器IRM分配,而是总线上每个节点的通道数是预分配的,由应用确定不同,作为结构需求被定义;
3) 带宽预分配:IRM的减少要求带宽的预分配,每个节点的发送和接收时间作为偏移量分配,最小单位为1ms,从每个帧的开始(STOF包)。总线上每个节点的偏移由应用规定,作为结构需求被定义;
4) 纵向奇偶检测:除了1394物理层完成的CRC校验外,每个包的数据区增加了纵向奇偶检查(VPC),VPC用于在物理层和软件之间提供附加的数据完整性信息处理;
5) 匿名用户消息ASM:ASM是一个上层协议,裁剪后在处理器、传感器、仪器仪表、显示器等任务关键的应用间,用于确定性、安全、低延迟通讯。ASM计划独立于低层次协议,同样地,不采用1394头标ASM的专用信息它使用信息标识符ID从物理地址方面降低网络通讯量,使得应用软件可以在不了解网络拓扑的情况下完成通讯。
5.3 Layer3容错
VMC设计中增加部分上层协议,以更好的对总线故障进行检测和定位,主要目的是避免故障蔓延。建议的附加上层协议如下:
1) 增加总线配置表的版本检查,以确保各个总线节点的配置表版本相同,检查方法可通过单向检查和双向检查,对故障节点进行禁止端口等操作,确保不会出现因总线配置表版本错误导致的总线操作冲突。
2) 增加总线连接管理功能,在STOF包增加端口使能/禁止命令字,根据总线拓扑,命令与故障节点相连的总线节点端口禁止,已达到将故障节点从总线断开,较少故障蔓延。
3) 链路层故障静默,在链路层检测到故障,但故障类型为未知,并且故障次数达到规定次数,链路层将不再对任何服务作出响应,以减少故障蔓延。
4) 增加总线活动看门狗,将总线活动作为看门狗的输入,看门狗的输出为禁止/使能1394b链路层,使链路层进入故障静默状态。
5) 增加冗余路径,如图6所示,每条1394总线均增加了一条冗余路径,在某一总线节点故障时,通过启用冗余路径,保证总线的完整性,确保数据对所有非故障节点可达。
5.4 Layer4容错
VMC为3余度系统,系统总线为3条Mil-1394b总线,3条总线间各自独立,不存在故障蔓延。VMC系统的冗余特性保证了1394b总线的冗余度,从系统结构上保证了系统级1394b总线的可靠性。
5.5 系统总线降级过程
6 结束语
Mil-1394b是在COTS产品IEEE Std 1394b的基础上进行相应的扩展和约束来进行增强,以达到满足安全关键/任务关键系统所需的鲁棒性和确定性。该文介绍了Mil-1394b总线的特性,并就其在飞机管理系统的应用了对确定性、完整性和容错特性等进行了分析,对飞机管理系统的总线选型和使用有一定的参考作用。
参考文献:
[1] IEEE Computer Society.IEEE standard for a high-performance serial bus amendment[S].USA:IEEE Computer Society,2002.
[2] 周庆瑞,孔辉先.IEEE1394总线容错性研究[J].空间科学学报,2009,29(1):107-111.
[3] Society of Automotive Engineers. IEEE 1394b interface requirements for military and aerospace vehicle applications[S].USA:SAE,2004.
[4] Potter.B.open source firewall alternatives[J].Network secyrity,2006,18(6):16-17.
[5] 王晓梅.基于AS5463协议的飞行管理仿真系统的设计[J].现代电子技术,2013,36(2):71-74.
[6] BAI Haowei.Analysis of a SAE AS5643 Mil-1394b basedhigh-speed avionics network architecture for space and defense application[C]. Proceedings of 2007 IEEE AerospaceConference.Minneapolis,USA:Honeywell Labs,2007:1-9.
[7] 白文君,翟正军.一种IEEE 1394B网络拓扑的容错设计[J].计算机测量与控制,2013,21(7): 1882-1884.