浅谈冗余飞控系统软件架构设计
2020-05-12孙刚
孙刚
(中国直升机设计研究所,江西 景德镇 333000)
飞控系统用于提高直升机飞行的稳定性并减轻飞行员的负担,通过硬件余度配置和软件的相应余度设计提高飞控系统的可靠性。本文设计了可使用于多余度硬件配置的冗余飞控系统的软件架构。
1 硬件配置
对于冗余飞控系统,硬件配置包括:传感器、飞控计算机、执行机构的余度:(1)传感器的余度:选用多余度传感器,提供多组直升机姿态及操纵信号,同时,可引入外围航电系统的信号作为飞控的信号输入。(2)飞控计算机:多余度飞控计算机,涉及计算机的输入、输出的余度,由系统设计要求的安全性等级等确定。(3)执行机构的余度:涉及到执行机构的电气及机械的余度。飞行系统软件驻留和运行在飞控计算机中,在多余度飞控计算机中同时运行,在系统软件的架构需要保证在多余度硬件的同步和一致性,由周期触发的多余度间时钟同步来保证,而软件运行的一致性需保证传感器信号选择,检测的系统内部的故障等都需进行交叉传输,判别故障类型,进行相应的故障隔离和处理,保证多余度硬件中的软件运行的一致性。
2 功能划分
飞控系统软件按功能可划分为硬件驱动功能、飞行控制功能、BIT功能。硬件驱动功能:对于飞控计算机硬件平台,软件需要设备驱动来调度和管理硬件资源,包括加电引导、中断管理、接口板卡驱动(散量接口板、模拟量接口板、数字量接口板)、通道数据传输驱动、存储器驱动等。在飞控计算机接通电源后,完成计算机相关硬件电路模块资源的初始化、加电状态的识别及系统工作方式的选择,并引导操作系统和系统软件的执行,系统软件在运行中处理和存储相应的数据,并调用驱动功能输入和输出相应的信号。飞行控制功能是系统应用软件的核心,负责控制信息的处理。按照功能的细分为不同的任务,主要包括系统管理任务和周期任务。
(1)系统管理任务:控制软件运行不同的功能模式。一般包括正常的控制模式,PBIT模式、MBIT模式等。
(2)周期任务在正常控制模式下运行,包含以下功能点:①数据采集,从各接口板卡更新数据。②状态监控:对传感器数据的有效性、状态和硬件本身的状态的监控。③信号表决:依据监控任务的的结果对输入数据进行表决,依据信号表决策略从多余度数据中选取合适的数据供控制律计算。④控制结算任务:控制律计算直升机需要的信号,来控制直升机达到预期的响应。⑤输出表决:对不同余度计算的控制输出进行表决,选取合适的数据进行输出。
BIT功能用于检测飞控系统的内部各部件的状态和外部传感器的信号,分为PBIT、PUBIT、MBIT、IFBIT。①PUBIT:上电自检测。飞控系统内各部件上电后所做的检测,检测各部件上电后的运行状态是否正常,并将检测结果上报给飞控计算机。②PBIT:飞行前自检测。飞控系统在飞行前所做的检测,检测系统及部件是否具备飞行的功能。③MBIT:维护自检测。飞控系统在地面所做的检测,用于测试系统内部状态。④IFBIT:飞行中自检测。在飞行中飞控系统所做的检测,当发现故障时,需断开与该故障相关联的功能。
3 运行
系统应用软件的运行需要考虑执行周期和优先级。周期运行依赖硬件时钟或中断,由高精度的时间寄存器硬件来确定,保证周期的准确度。由于多余度的硬件存在的时钟漂移和差异,在软件的周期运行开始后还需进行余度间的同步,同时,每个周期也需进行同步确保软件运行的一致性。软件运行的确定性是由软件的周期执行,在同一时刻的时间门限内进行相同的执行操作。按运行时间进行划分为1T(T为一个基本周期)周期任务、2T周期任务及后台任务,其执行过程如下图所示。在进行软件设计的时候,需要考虑各任务的速率周期,在同一速率组中进行优先级的设计。在周期任务的运行中,尽量避免后台任务等的交叉运行,会破坏软件运行的确定性。
图1
在运行中还需考虑软件的数据流,周期任务组产生传感器输入数据和监控状态数据的更新,在每个功能模块中处理内部数据。多余度需要考虑的是每个余度模块软件运行的内部数据,需要进行交叉传输。将每个余度的内部监控数据进行交叉传输,内部监控数据包括本余度采集传感器监控数据、本余度硬件状态数据,来保证每个余度间运行的状态一致。在多余度硬件配置中涉及多余度数据表决。在本余度及其他余度产生的数据不一致时,进行数据表决,对产生故障的情况要考虑到多数服从少数的表决原则。
4 结语
本文以多余度硬件配置的冗余飞控系统为软件的运行环境,软件架构以功能和运行状态的设计为主要的内容。该软件架构已应用在飞控系统产品中,结果表明,能有效的管理和协调系统的余度,提升飞控系统的可靠性。