胡延国, 范彦铭, 齐一帆, 杨淏天
(航空工业沈阳飞机设计研究所 飞行控制部,辽宁 沈阳 110035)
飞行控制计算机是飞行控制系统的核心部件之一,其发展经历了从简单到复杂、从低可靠性到高可靠性、从低性能到高性能的发展过程。随着计算机架构的更迭,不同的总线技术也随之诞生。采用不同的总线技术,可以实现不同的计算机方案,取得的效果也不尽相同。
追求高安全高可靠性是飞控系统设计亘古不变的首要目标,随着计算机和总线技术的发展,出现了几种典型的计算机背板总线,例如PI、VME、ARINC659总线等,对它们进行简要对比如表1所示。
表1 背板总线对比
由表1可以看出ARINC659总线在同步、时间确定性等方面具有出色的表现,同时,它具备的高可靠性、高完整性等特点使之在飞控计算机总线中占据优势,并以最小的代价实现了计算机内余度通道间的交叉增强能力,取代了传统的CPU之间的交叉传输数据线路,在发生故障时可以延缓故障降级速度,提高计算机的任务可靠性[1-4]。
ARINC659总线在国外已成功应用于MD-10、KC-130、波音777等飞机的控制系统,同时NASA也在下一代空间探测器的高可靠分层中进行了一系列的研究。反观国内,对ARINC659总线的研究起步较晚,尤其是该总线在高可靠多余度的飞行控制领域的研究和应用,与国外还存在着较大差距。
因此,根据分布式计算机余度配置及可靠性要求,简要对比分析了几类机载总线技术,立足于ARINC659背板总线协议,提出了一种时间规划方法,使应用软件、底层数据可以按照时间规划传输并保持同步。同时,针对双机箱同步问题,提出了2种基于ARINC659总线的双机箱同步计算机应用方案,采用信息流和时序分析等方式,对2种设计方案进行了分析与对比,并对方案二进行了信号同步仿真和时延测试。最后总结了ARINC659总线为高可靠多余度的飞行控制领域带来的优势,为后续该总线在我国航空领域的应用奠定了基础。
ARINC659总线最早由Honeywell公司提出,并在B777、MD-10、KC-130等飞机中应用,具有高可靠性的特点,是一个在时间(总线传输时间)上和空间(总线数据存储)上具有高容错和高完整性的背板总线,同时其时间触发的传输机制带来的确定性比较适用于强实时控制领域[5-8]。另外,ARINC659总线摆脱了传统总线的主-从结构(典型的以GJB289A总线为代表),无主化运行方式使得总线上的每个节点都可以成为一个“智能”的、平等的节点,这些优点可以有效地支撑计算机功能模块级的动态重构,比较适用于机载系统应用环境[9-12]。
ARINC659总线之所以能够在包括安全关键系统在内的众多场景中应用的主要原因在于其有以下几方面优秀的特性。
(1) 协议简单可靠。
每条总线采用独立时钟源,使消息可以不使用包头,通过锁相环定位时钟信息;使用4条冗余串行总线同时以不同的编码方式传输,采用总线信号对比的方法实现数据传输及交叉检验,使消息不用包含CRC或其他容错内容;采用时间触发的总线规划表驱动协议明确了消息的接收方使消息中不用包含地址字段、明确了消息的接收、发送时机使消息不用包含开始和结束符,以上物理层的这种设计极大地减少了消息结构的复杂性和开销,极大地提高了协议效率(高达98%),最大限度地降低了系统的传输时延[13-15]。
(2) 无主同步。
采用时间触发机制进行各个节点间的同步操作[16-18],通过周期性修正不同节点间的BIU之间的总线晶振偏差,以维持总线上各个节点的同步。这种同步是不以挂接在背板上的某个总线节点为主的,而是由各个节点共同“表决”产生,根据协议表决的结果并没有选择最快的时钟,也没有选择最慢的时钟,而是选择容差内最快BIUx和最快BIUy时钟中较慢的时钟,具有可靠的同步能力。同步脉冲综合示意图如图1所示。
图1 同步脉冲综合示意图
除此之外,ARINC659总线还具备时间确定性、时空隔离以及广播传输等特性,此处不再详述。
主要以余度通道间信息交叉增强的方法来解决传统集中式飞控计算机故障降级速度快的问题,方式不唯一。图2中的方案是通过增加余度通道间信息传递线路的方式来实现信息交叉增强,但由于增加了2倍的传递线路,一方面导致通道间耦合程度加深、隔离性差,可能会导致通道间故障相互影响,另一方面计算机设计复杂度增加,重量和体积也会付出较大的代价,因此,工程上基本不采用此方案。
图2 交叉增强的飞控计算机方案
通过第1节的总结归纳,可以发现ARINC659总线具备作为计算机背板总线的巨大优势,那就是以最小的代价实现了计算机内余度通道间的交叉增强能力,并且也取代了传统的CPU之间的交叉传输数据线路,在发生故障时可以延缓故障降级速度,提高计算机的任务可靠性。其计算机模型示意图如图3所示,当某通道输入采集、处理器、输出任一功能故障均不会导致整个通道功能丧失,该故障通道还可依靠其他通道相同功能的模块继续工作。此外,采用ARINC659背板总线的计算机利用其同步能力可以较容易实现通道间同步。
图3 功能分布的飞控计算机架构
为满足飞控系统的可靠性和安全性要求,有人机飞控计算机一般采用四余度配置,无人机的可靠性要求相对低一些,因此无人机飞控计算机一般采用三余度配置。对于三余度无人机飞控计算机,将三余度的输入信息采集、处理器功能板、输出板均放置在一个机箱内,从质量、体积、维修性等角度考虑是可接受的,通过采用标准ARINC659总线即可满足该需求。对于四余度飞控计算机,将四余度的输入信息采集、处理器功能板、输出板均放置在一个机箱内可能会带来两个问题,一是机箱过长导致质量、体积及维修性代价难以承受,二是机箱过长对阻抗特性、时钟特性有一定影响,BIU之间的信号偏离加大,影响同步效果。因此,如果在四余度飞控计算机中应用ARINC659总线,建议采用双机箱实现。
ARINC659总线协议中建议该总线在单机箱中应用且对机箱背板总线长度有限制(内部传输机制限制,例如消息间隔等对传输距离间接约束),没有给出在双(或多)机箱计算机环境中的应用指导。因此,本文主要针对双机箱计算机架构给出ARINC659总线的应用建议。
下面具体给出了ARINC659背板总线在双机箱四余度飞控计算机中应用的两个方案,并针对两种应用方案进行了具体的分析和说明。
在该方案中,机载计算机由双机箱(满足互换性要求)构成,采用基本四余度配置,每个机箱内部采用ARINC659总线作为背板总线,模拟/离散/总线输入模块、处理模块、输出模块均作为资源节点挂接在背板总线上,桥接模块是实现双机箱应用的核心,桥接模块用于实现机箱间信息校验及透明传输,不做其他同步要求。机载计算机原理框图如图4所示。
图4 机载计算机原理框图
采用ARINC659总线作为背板总线的计算机方案信息流基本模型如图5所示。
图5 计算机方案信息流基本模型图
在该方案中,在每个处理器解算周期(12.5 ms)中,处理器接收4余度模拟/离散/总线输入模块信号,然后完成对信号的表决与监控、控制律的解算,最后将结果输出给输出模块进行各种类型接口的输出。
该计算机方案设计中具有以下4个特点。
① 机箱内ARINC659总线传输周期(可以是能够满足带宽需求的最小周期)与处理器软件解算周期(12.5 ms)解耦设计,不存在同步关系。
② 双机箱之间的ARINC659总线不存在同步关系,按照各自机箱内ARINC659总线时间传输(周期足够小)。
③ 四余度处理器通过硬线双握手的形式实现余度处理器间应用软件的同步。
④ 余度计算机采用比较监控和自监控结合的方式实现对处理器故障的检测与隔离。
结合上述设计特点,从双机箱ARINC659总线数据传输和处理器应用软件从数据缓冲区搬移数据的时序关系(见图6)分析可知,在实际使用中,各处理器模块的输入可能存在不完全相同的情况。以图6中的模拟输入信号为例,A通道处理器软件输入为IAN-1、IBN-1、ICN-1、IDN-1,B通道处理器软件输入为IAN、IBN-1、ICN-1、IDN-1,C通道处理器软件输入为IAM-1、IBM-1、ICM-1、IDM-1,D通道处理器软件输入为IAM-1、IBM-2、ICM-1、IDM-1。这样即使采用相同的表决监控算法也会导致各余度通道处理器对输入信号的表决值存在差异,如果不做进一步处理会导致解算的控制指令存在差异。
图6 方案1时序关系示意图
在余度计算机中,处理器故障的检测与隔离是通过比较监控和自监控结合方式完成的,自监控主要以看门狗、任务超时等监控手段为主,比较监控主要以各余度处理器输出控制指令比较监控为主。故上述控制指令的差异大到一定幅值且持续一定时间时会导致余度处理器发生比较监控故障,进而将故障处理器隔离。
通过上述分析可知,将ARINC659总线数据传输与处理器软件运行异步处理,使总线数据规划与应用软件设计可以分别开展,且不存在耦合关系,使设计及验证工作变得相对容易;带来的副作用是可能会导致各处理器模块的输入可能存在不尽完全相同的情况,最终导致处理器被检测出故障并被隔离。这种副作用可以通过采用控制律中间变量(尤其是积分器)均衡的方式或二次表决的方式,同时将控制指令的余度故障监控门限适当放大,来解决可容忍的异步度带来的余度通道间误差增大的问题。
在该方案中,机载计算机硬件与方案1一致,不同的是桥接模块除了对接收的数据进行校验和透明传输,还要完成双机箱之间的握手与同步,从而使两个机箱内的ARINC659总线传输时间保持一定精度的同步关系。
方案2中的基本信息流基本模型与方案1一致,交叉增强能力及故障降级均与方案1一致。
在方案2中,在每个处理器解算周期(12.5 ms)中,处理器同样接收4余度模拟/离散/总线输入模块信号,然后完成对信号的表决与监控、控制律的解算,最后将结果输出给输出模块进行各种类型接口的输出。
该计算机方案设计具有以下3个特点。
① 双机箱之间ARINC659总线处于一定精度下的同步状态。首先各自机箱内ARINC659总线根据其协议内在机制,通过初始同步、长同步及短同步消息使各个节点保持周期同步,机箱内各个节点对背板上总线时间有着统一的认识;机箱之间的同步通过桥接模块采用类似硬线双握手的方法实现两个机箱之间ARINC659总线的同步运行。
② 机箱内ARINC659总线传输周期(12.5 ms)与处理器软件解算周期(12.5 ms)同步运行,并且通过ARINC659总线模块每12.5 ms提供的硬件中断使四余度处理器软件任务保持12.5 ms周期运行并且处于同步状态。
③ 余度计算机采用比较监控和自监控结合的方式实现对处理器故障的检测与隔离。
结合上述设计特点,经双机箱ARINC659总线数据传输和处理器软件从数据缓冲区搬移数据的时序关系(见图7)分析可知,在实际使用中,能够通过时间规划保证各处理器模块的输入信号一致。以图7中模拟输入信号为例,A、B、C、D通道处理器软件输入均为IAN、IBN、ICN、IDN,从而通过相同的表决监控算法得到相同的表决值,进而解算的控制指令基本相同。
图7 方案2时序关系示意图
针对信号同步性问题,以起落架收放信号为例,使用分析软件进行分析,结果如图8所示。
图8 起落架收放信号输入输出时序图
图8中软件横轴为时间,单位为s,8条曲线从上到下分别为4个通道起落架收放信号输入,以及4个通道的起落架收放信号表决结果。经分析可知,虽然各余度信号输入有一定的延迟,通过ARINC659总线数据传输与处理器软件运行同步设计,可以使余度计算机得到相同的数据输入进而得出相同的计算输出。
同时,在系统设计过程中需要考虑计算机应用软件与ARINC659总线数据传输的匹配性,即在使用数据前完成ARINC659总线数据传输,在完成信息解算处理后统一安排ARINC659总线时间窗口,将指令输出,通过时间规划设计确保数据的完整性和一致性。该设计方案将总线数据传输与软件设计紧密联系,存在紧耦合关系,应用软件模块化的行为需要与ARINC659总线数据传输行为匹配,故需要将底层ARINC659数据传输和应用软件模块设计得十分扎实。此外,由于数据传输需要与应用软件在时间上匹配,二者之间需要为总线数据传输时间或应用软件执行时间抖动留足时间裕量,故该设计方案在信息处理过程中的时延会相对增加,但对系统全局时延影响可控。
为了验证上述描述的时间规划设计方法,通过在控制前端施加传感器激励,观察控制指令开始变化的时刻,来进行时延分析,结果如图9所示。在偏航角速度传感器模拟输入接口施加阶跃信号,观察计算机采集到阶跃信号的时刻(信号3),以及方向舵伺服指令开始变化的时刻(信号1),时间差即为系统实现带来的时延。测试结果表明,时间规划设计方法合理可行,时延满足飞控系统控制需求。
图9 系统控制信号输入输出波形图
ARINC659总线具有简单、可靠、高效的优点,非常适合在机载航空电子系统中应用。ARINC659总线协议建议该总线在机箱内数据传输使用。笔者提出通过总线桥接模块进行数据透明传输,可以将ARINC659总线应用于双机箱设计方案中,使得四余度系统仍然可以采用ARINC659总线技术,从而满足机载控制系统高可靠、高安全需求。
随着对飞机系统功能、性能要求的提高,对机载系统信息传输能力、系统综合设计能力要求不断提升,ARINC659总线在未来机载系统中应用仍存在总线带宽低、应用限制多等问题。
近几年,IEEE1394总线[19-20]、RapidIO[21]等高速串行总线逐渐被应用于机载系统中,这些总线常用于余度通道间处理器交叉传输工作或者整个机载系统总线网络。一方面这些总线的传输速率有极大的提升,可以满足未来作战飞机机载系统数据传输需求;另一方面机载系统不仅实现功能分布,还将实现物理分布,模拟/离散/总线输入采集、输出与伺服控制模块均演变为独立的设备,传统的集中式计算机仅保留运算单元和总线数据收发功能,计算机内总线的概念逐渐被弱化乃至被取代。未来,分布式机载系统将采用统一机载信息网络,将真正实现将传统计算机内总线与外总线统一,所有的采集资源、运算资源、伺服控制单元将作为节点连接在统一机载网络中。