基于VxWorks的无人直升机飞控应用软件改进与实现

2018-12-12 10:50胡泽龙
直升机技术 2018年4期
关键词:飞控控系统直升机

胡泽龙,孙 刚,徐 智

(中国直升机设计研究所,江西 景德镇 333001)

0 引言

无人直升机从起步到如今,一直饱受关注。无人直升机重量轻,体积小,能够更有效地完成多种特殊任务。飞控系统作为无人直升机的飞行控制核心,对于飞行安全以及任务的顺利完成,起到十分关键的作用。飞控应用软件是飞控系统的关键软件,对于飞控系统能够顺利飞行更是起到决定性作用。

某型无人机飞控软件基于μC/OS-II操作系统编写,采取单一余度管理,对于整体飞控系统要求很高。而采用VxWorks作为操作系统,进行双余度设计,能够有效地避免单一余度失效导致的各种问题,在单机状态下依旧可以顺利地完成飞行任务,提高了飞控系统的可靠性。

本文通过对某型无人直升机进行改进,实现一款基于VxWorks操作系统的,采用双余度架构的无人直升机飞控系统应用软件,能够实现该型无人直升机飞行控制与管理系统的主要任务,稳定直升机姿态(俯仰、横滚)和航向,控制发动机风门和直升机飞行航迹(爬升、下降、巡航、左右盘旋、悬停等),完成从起飞到降落整个过程的飞行管理,包括对动力装置、机载电气设备和任务设备的管理、故障诊断及处理等多项任务。

1 系统概述

1.1 VxWorks 操作系统

VxWorks是专门为实时嵌入式系统而开发的操作系统,提供了高效的实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信等功能支持,并为应用与各种CPU平台提供了统一的编程接口和一致的运行特性,为程序开发提供了方便[1-3]。应用程序员可以将尽可能多的精力投入软件开发,而较少地关注系统资源的管理。

VxWorks的体系结构如图1所示,其中包括进程管理、存储管理、文件系统管理、网络协议及系统应用等几个部分[1][3]。本文实现软件仅采用部分VxWorks系统功能,集成开发环境采用Tornado II进行开发,采用C语言程序设计。

图1 VxWorks 体系结构

1.2 飞控计算机即软件平台

飞控计算机硬件设备作为飞控系统应用软件的开发、运行平台,采用了FreeScale公司PowerPC处理器MPC8245处理器作为CPU,其内核最高频率为300MHz;256MB的SDRAM;2个FLASH作为程序及数据的存储介质,容量分别为8M×8bit和32M×16bit;128K×8bit的NVRAM(非易失存储储器)作为系统事件和故障信息记录的存储介质;利用FPGA的片内存储资源,开辟出一片双口RAM作为飞控计算机双余度通道之间进行数据交叉传输的通讯介质。

计算机采用双通道设计,每个通道包括一块核心板和接口板。核心板负责运行操作系统进行软件运行;接口板负责具体执行模拟量输入输出、离散量输入输出、数字量输入输出。双通道通过使用背板完成数据信号交换以及输入输出,并且共用一个电源模块,电源模块实现电源滤波、转换。硬件平台结构如图2所示。

图2 硬件平台结构

2 总体设计与功能划分

2.1 总体设计方案

飞行控制系统软件包括实时多任务操作系统、底层功能软件和应用软件三大部分,系统总体结构如图3所示。

图3 系统软件总体架构

实时多任务操作系统即采用VxWorks操作系统,主要负责任务执行和驱动管理硬件资源。底层功能软件主要通过FPGA实现对硬件接口数据资源的输入、输出。应用软件作为系统软件核心,通过对各个程序块进行执行,完成数据采集、处理、运算、输出。此外,通过系统参数文件配置,可以对应用软件执行模拟量数据参数、故障综合信息进行配置。本文主要针对应用软件的设计与实现进行详细的描述。

2.2 功能结构划分

比较传统的某型飞控系统应用软件,该应用软件新增了一个大功能——系统管理功能,飞行控制与管理功能中增加了三个新功能,BIT功能增加了PUBIT、PBIT。具体功能分布如图4所示。

图4 飞控系统功能分布图

系统管理功能主要实现加电引导、设备驱动、中断管理、双机同步及周期任务调度五部分功能。通过系统管理功能将整个飞控系统运行起来,从而完成相应的飞行控制与管理功能。

飞行控制与管理功能分为9个功能模块,右侧三个功能模块是新增的功能模块,分别是:

1) 余度管理:包括飞控计算机双余度通道之间的同步和数据交叉传输、输入信号表决、飞控计算机输出指令表决;

2)故障综合功能:将整个飞行控制系统所发生的全部故障,逐一进行判别、分类、记录,对可恢复型故障提供恢复机制,并根据预先制定的综合准则,进行系统功能上的裁定,并为故障申报做准备;

3)实时记录功能:在系统运行过程中,将相关信息记录到飞控计算机的非易失存储器(NVRAM)中,包括飞控系统的故障信息记录、系统事件记录和掉电保护数据记录功能。

BIT功能增加PUBIT(上电BIT)、PBIT(飞行前BIT)。上电BIT在电源接通后会自动运行,对CPU、RAM、FLASH、NVRAM进行功能测试,并将结果记录在NVRAM中。飞行前BIT在系统上电完毕,对应用软件执行环境进行检查,作飞行前准备。

3 实现与验证

3.1 关键技术与创新

3.1.1 任务实时调度

任务实时调度,每个通道都能够自主地完成所有飞行功能。本文实现的飞控应用软件采用合理的优先级配置,采用信号量进行任务之间的调度控制,有效地完成整个系统的时间分配以及精准的运行周期。任务调度时序图如图5所示。

通过主程序挂接时钟中断处理程序,并且设置以20ms为周期的时钟中断。系统每20ms发生一次时钟中断,通过时钟中断处理程序释放采集信号量,系统开始执行数据采集,采集完毕,释放监控信号量,设备监控程序开始执行,依次完成余度管理、模态控制、系统输出。设备监控及余度管理会对数据进行监控并执行故障综合和实时记录,限于篇幅,未在图中画出。

图5 任务调度时序图

3.1.2 余度管理

传统的单一余度飞控应用软件,不需要余度管理功能。双余度飞控系统应用软件在余度管理上主要通过底层提供的双口RAM进行两个通道的数据交叉传输。首先,A、B机各自完成数据采集,并且结合相应的监控策略对单通道状态进行监控,通过故障综合记录相应的故障点及故障信息,然后通过交叉传输将双通道监控结果以及数据进行互比,从而使得监控状态正确并且数据结果有效的计算机拥有输出控制权,进行正常输出。如果A、B通道均状态正常,则系统采用A机输出数据进行输出。

单通道工作流程图如图6所示。

图6 单一通道工作流程图

底层功能软件通过判断A、B通道故障控制逻辑确定A、B通道之间哪个通道具备输出控制权,拥有输出控制权的输出通道将输出结果输出。无输出控制权通道的输出结果仅程序进行执行,不产生相应实际输出。

3.1.3 故障综合功能

故障综合功能与故障记录功能是搭配工作。故障综合功能能够实时监控整个飞控系统应用软件所设置的故障点,了解每一个故障点是否发生故障,何时故障,故障持续时间,故障是否恢复,然后执行故障记录功能,将故障信息记录于NVRAM中。当飞机出现故障并返航之后,NVRAM可以尽可能地还原出当时飞控系统应用软件的执行情况。

通过周期性的故障综合,每一个通道能够识别出自身的运行状态,从而对通道故障控制逻辑进行控制,确定通道是否进行真实输出,为双余度的有效控制提供依据。

本文实现的软件对全机共87个故障点进行监控,并且进行相应的故障综合,确保软件可靠有效地执行。

3.2 仿真飞行验证

本文软件执行的验证环境如图7所示。

图7 测试验证环境

通过仿真控制计算机给定仿真信号,飞控系统应用程序正常执行,双通道有效,可以观察飞机执行飞行任务的效果,如图8所示,飞机从1处控制飞行至图中位置,之后选择继续按照预定航线飞行,执行放飞。

此时,通过开发PC宿主机使单机失效,即出现单通道故障状态,测试双余度中某一余度失效时,单余度是否能够保证系统继续正常工作。测试结果如图9(a)、图9(b)所示,飞机继续完成航线任务并且不受任何影响。

图8 飞机执行航线任务

图9 飞行航线任务图

图9(c)、(d)中,此时飞机状态依旧正常,并未受到飞控计算机故障影响,正常响应新的航线飞行任务,并且顺利完成飞行任务,不出现返回或失效状态。

验证表明,基于VxWorks的某型无人直升机双余度飞控应用软件能够可靠有效地完成飞行任务,且发挥双余度功效,增加系统的可靠性。

4 总结

飞行控制系统对于软件的实时性和可靠性有非常高的要求。本文改进与实现的某型无人直升机飞控应用软件能够有效地克服该型机飞控应用软件的缺点,提高实时性、可靠性。采取VxWorks操作系统作为实时嵌入式操作系统,能够有效地保证软件的实时性。相比单余度而言,通过双余度进行的硬件、软件架构,能够很好地提高飞控系统的可靠性,并且具备一定的容错性。通过在模拟环境下的严格验证,该软件能够实现所设计的功能,并且能够使某型无人直升机正确有效地完成飞行任务。

猜你喜欢
飞控控系统直升机
直升机?
土耳其T-129攻击直升机
关于DALI灯控系统的问答精选
多型号车控系统统型设计实践
基于单片机的智能门控系统
数字电视播控系统关键技术探究
民用飞机飞控通电自检测安全性研究
中小型太阳能无人机航电系统设计
直升机很热等5则