APP下载

基于分区操作系统的飞行控制软件开发与设计

2024-02-23何瑶

中国设备工程 2024年3期
关键词:余度飞控控系统

何瑶

(中国直升机设计研究所,四川 景德镇 333000)

1 前言

直升机飞行控制系统从三轴增稳控制系统发展而来,解决了最初直升机操纵困难、驾驶员驾驶负担重的问题。几十年来,经过自动驾驶仪、多余度、主动控制、光传操纵、电传操纵等技术的不断发展。现代直升机对于飞控系统有了高度综合化、高可靠性、更舒适智能的新要求。

随着飞控系统的不断发展,加载其中的飞控软件也越来越复杂,逐渐成为关系到飞控系统安全的重要因素。因此,要求飞控软件具有快速故障隔离、高响应速率的能力。传统的操作系统在实时性、安全性等方面并不能满足这些要求。分区操纵系统具有系统空间隔离和资源隔离的特点,通过模块化设计和软件构件化设计,能够有效提高飞控系统软件的安全性,保证通信和容错的透明性。在提高开发效率和降低维护成本上都有很大的优势。

本文提出了基于分区实时操作系统的飞控软件开发与设计方法。实现了系统调度、余度管理、同步和交叉传输等功能。

2 高安全分区操作系统

分区实时操作系统从时域和空间域上满足了资源可用性。在时间上,采用时间调度表调度不同的任务,确保分区的运行时刻在系统中是确定的。在空间上,分区间、分区空间与核心空间相互隔离,分区间的中断资源、故障相互隔离,分区空间域核心空间的访问相互隔离。这在设计上保证了系统可以按照需求将不同的任务或是部件分配给每个分区的固定存储区域,确保各个任务或部件的存储彼此独立,没有影响。分区实时操作系统支持分区间通信,它为开发者提供基于共享内存和服务中断的分区间通信。其中共享内存可以通过静态配置,并且可以指定共享内存的读写权限。满足了不同任务之间数据共享和访问的需求。系统对中断和异常全面接管,提供相应的处理机制,能够保证中断和异常的快速响应和正确处理。同时,系统还提供多处扩展接口,包括操作系统初始化前、操作系统初始化完成时开始分区调度前、分区被调度进入时、分区被调度换出时、时间调度表每个主帧开始时、时间调度表时间窗口切换时、空闲分区运行时、故障发生时。这些操作系统接口为不断向模块化、综合化发展的飞控软件开发提供了极大便利。

分区实时操作系统主要包括核心级板级支持包(KBSP)、目标机代理(TA)、运行时库(RTL)、系统服务管理(SSM)、安全虚拟机内核(SVMK)和分区级板级支持包(VBSP)。分区实时操作系统部件组成如图1 所示。分区操作系统各部件及功能见表1 所示。

表1 分区操作系统部件及功能

图1 分区操作系统组成部件

3 系统功能及软件需求

3.1 系统功能

飞控系统采用四余度设计,系统由飞控计算机、飞控操纵台、惯性测量组件、舵机等组成。主要功能包括人工操纵、比普操纵、三轴(俯仰、横滚、航向)增稳、控制增稳等功能。飞行员通过按压飞控操纵台上的速度保持、高度保持等功能按钮可以接通姿态保持、航向保持、气压高度保持、无线电高度保持、空速保持、自动悬停等相应的自动飞行控制功能。

飞控系统还与机上的综合显示系统相交联,通过状态指示灯、语音以及多功能显示器上的显示信息,为飞行员指示系统的工作和故障状态。在多功能显示器上显示总距、差动总距、周期变距(纵向和横向)、差动周期变距、尾推桨总距、升降舵偏转角、方向舵偏转角等重要操纵量信息。飞控软件实时监控综合系统状态及故障,通过综显画面向飞行员提示飞控故障信息。同时,应具有航前及航后提供飞控系统故障报告的功能,实时向其他系统(飞参记录仪、直升机飞行数据监控系统等)提供所需的数据。

飞控系统还具有飞行前自检测(PBIT)、飞行中自检测、维护自检测(MBIT)能力。

3.2 软件需求

飞控软件以T0为周期运行,软件共有三种状态,系统实时监控状态、飞行前自检测状态、维护自检测状态。飞控计算机上电后,根据外部开关信号如PBIT、MBIT、软件加载使能信号(GSE)进入相应的工作状态。各个工作状态软件功能要求如下。

(1)飞行前自检测。在直升机起飞前,地面维护人员或驾驶员可使飞控系统进入飞行前自检测状态,用以对飞行控制系统及相关交联设备进行自动、快速的检测,以保证系统无故障升空。

(2)维护自检测状态。维护检测状态是指在地面状态下,对飞控系统的故障读取功、飞控配置文件的烧写等功能。

(3)系统实时监控状态。系统实时监控状态是飞控系统系统软件运行的主状态,在此状态下,软件按预定的余度管理策略对飞控系统进行实时管理、监测与控制,以完成所需的飞行控制任务。

三种状态之间的进入条件如图2。飞控系统在上电后,飞控软件通过系统管理功能实现系统的加电引导功能,加电引导功能通过计算机相关资源的初始化、加电状态的识别完成系统三种工作方式的选择。

图2 飞控软件三种状态的进入条件

4 飞控系统软件架构

分区实时操作系统为本软件搭建应用平台,提供任务调度、设备驱动、中断管理等功能。飞控系统软件的功能模块的划分如图3 所示,通过模块化、层次化的设计将飞控系统软件划分为主要的功能模块和各速率组任务,设计了基于优先级调度的任务管理策略。

(1)模块化。通过分解需求中的功能,将飞控系统软件划分为采集、输入表决、控制律、输出表决、系统申报任务模块,通过这些任务模块的执行,完成飞控系统所需要的功能。

(2)层次化。任务模块中包含相同功能的任务组,根据实时性的需要以及任务的执行速率特点划分到不同的执行速率组任务中。对模块中的任务执行时间细分为固定速率组、动态速率组合后台任务组。如对于采集功能,飞控系统软件的采集任务模块包含T0、4T0速率采集任务、台总线采集任务。同样,对于系统申报,根据总线周期特点和数据量需要,将申报任务划分为不同速率组,如飞参4T0申报任务、综显4T0申报任务、综显12T0申报任务、综显36T0申报任务。

(3)优先级。根据飞行控制系统各任务执行特点,设计任务的优先级来调度各任务执行。软件上电开始运行任务调度函数,主要功能包括挂接时钟、上电同步、挂接看门狗等。该任务在上电只运行一次,具有最高的优先级。其余任务优先级从高到低依次为主周期任务、PBIT、后台采集、申报、调试打印任务。

4.1 同步及交叉传输(CCDL)

飞控系统为四余度设计,四余度计算机由两台飞控计算机组成,每台飞控计算机内包含两套完全相同的余度通道。包括CPU、RAM、NVRAM、定时器、总线接口板、D/A 模块、FLASH、电源模块。每个CPU 内存分配了数据交叉传输发送缓存区和数据交叉传输接收缓存区。通过CCDL 总线,每个通道可以收到来自其他三个通道的数据,组成四余度系统数据输入和输出。从而实现后续的余度表决和监控功能。CCDL 数据在软件时序上的数据流如图4 所示。可以看到,交叉传输数据至少经过一拍的延时,才能送入本机。这在软件设计时,需要进行考虑。

软件在上电运行时,四机之间需要初始上电同步,确保四通道之间同时开始工作。由于定时器存在硬件差异,随着时间积累,4 个通道之间的定时器差异不断增大。这时,由于四机采集的外部信号不同时,导致4个计算机的控制律输出会出现较大偏差。这属于严重的计算机输出故障。因此,在每个周期任务的开始,四机进行一次周期同步,这样会把定时器差异带来的错误缩小在一个周期内。故障不会因此蔓延。上电同步和周期同步采用握手的方式实现。即在周期时钟到来时,本机输出高电平至其他通道,当在规定时间等到其他通道回复的高电平。即认为本机同步成功,开始进入周期工作。

4.2 余度管理

余度管理是多余度设计中的关键所在。余度管理包括信号表决和余度降级策略。表决包括输入表决和输出表决。以输入表决为例,外部信号为冗余输入。对于一个典型的角速率信号来说,四余度惯性测量组件、四余度激光惯导、四余度光纤惯导均可以为飞控计算机提供输入信号。这是因为对于这些关系到安全的重要信号,设置多个备份可以确保在某个部件故障时切换到其余部件,以满足系统安全的要求。对于不同部件提供的同一信号,一般在软件中设置各信号的优先级。如优先使用惯性测量组件的角速率信号,当其发生故障时,依次使用备份设备的角速率信号。

对于某个四余度输入信号来说,飞控软件通过表决算法得到一致的输入。并将这些数据送入控制律进行计算。正常情况下,四机的输出值应该相差不大。但实际情况下的计算机计算故障和偏差也应该进行考虑。因此,在输出端也采用同样的表决算法,使四机得到一致的输出。常用的表决算法为多数一致法,即认为4 个余度的输入本身应是一致的。而余度某部件出现故障时,则该通道输入值偏离其余输入。则可以通过相应的表决算法,得到正确的输入值,并将故障通道进行隔离。以四余度离散量输入表决为例。记A 通道输入值为X0、B 通道输入值为X1、C 通道输入值为X2、D 通道输入值为X3。表决算法见表2。

表2 四余度表决算法

4.3 系统状态及控制设计

飞控系统具有主飞行控制功能和自动飞行控制功能。

主飞行控制功能是飞控系统的基本同时也是最主要的工作方式,主飞行控制功能包括人工操纵、比普操纵、三轴(俯仰、横滚、航向)增稳、控制增稳等功能。

自动飞控功能需要从主飞行控制功能进入,当飞控系统工作在主飞行控制时,通过按压飞控操纵台上的速度保持、高度保持等功能按钮接通相应的自动飞行控制功能。主要功能包括姿态保持、航向保持、气压高度保持、无线电高度保持、空速保持、自动悬停。这些功能通过俯仰、横滚、航向、高度四个通道间的舵机输出实现。

飞控系统控制状态和控制律流程见图5。

图5

当调用12.5ms 状态控制和控制律计算任务时,飞控系统软件根据当前的状态控制的结果调用相应的子模态的执行,然后进行相应的控制律计算。

4.4 故障监控及告警设计

飞控系统是关系到飞行安全的重要部件。因此,需要飞控系统在飞行中快速准确地识别系统出现的故障,合理地进行故障处理和安全降级并通过综显、指示灯等向外进行故障申报。

飞控系统故障按照部件分类可以分为飞控计算机故障、角位移传感器故障、惯性测量组件故障、操纵台故障、舵机故障、组合惯导故障、大气机故障。按照系统软件运行逻辑可以分为同步故障、采集故障、互比故障、输出故障。软件通过采集到的数据和状态,以及实时计算得到互比状态对各个部件进行监控。在软件中,我们将这些故障逐条进行梳理,对于一个四余度系统,系统软件需要监控的故障条数可达数百条。软件实时监控这些故障,当监测到某条故障持续出现,并达到一定的时间门限时,则需要通过综显、操纵台指示灯等方式进行故障告警。向飞行员的告警的故障一般申报至部件级、功能级。

当某个故障出现时,如何设计故障处理,既不影响飞行安全,又将故障对系统的影响减少到最小。这是故障监控及告警设计的关键。软件中需要综合考虑某个故※※障点出现故障时,对系统功能的影响、对软件功能的影响、对某个部件的影响。并对故障进行分类和相应的处理,例如,当由于故障出现导致某个部件不可用时,软件中需要考虑第二备份部件、第三备份部件的使用。合理的故障监控和告警设计是飞控软件正常工作和保证安全的重要方法和手段。

5 结语

本文介绍了一种基于分区操作系统的飞控软件开发方法。分区操作系统为飞控软件提供了具有空间隔离的安全的软件运行环境。本文分析了四余度飞控软件的需求,设计了一种多任务调度的飞控软件架构,实现了同步、周期任务、数据的输入输出、系统状态控制以及表决监控等软件功能,满足了系统的需求。

猜你喜欢

余度飞控控系统
关于DALI灯控系统的问答精选
余度计算机在无人机系统中的应用研究
联调联试中列控系统兼容性问题探讨
民用飞机飞控通电自检测安全性研究
无人机飞控软件架构设计初探
高空长航时无人机飞控机容错技术研究
新型操舵控制系统余度管理技术
02 飞控技术与机场安保引关注
飞控系统故障告警实时监控软件的设计与实现
一种新型列控系统方案探讨