首页 > 新闻中心 > > 正文

基于VxWorks的飞机配电自动化主执行软件研究

更新时间: 2006-03-27 14:37:47来源: 粤嵌教育浏览量:1901

先进飞机正朝着多电、全电方向发展,供电系统成为了未来飞机发展的关键。按照功能飞机供电系统分为电源系统和配电系统两大部分。先进配电系统由电源系统处理机(PSP)、电气负载管理中心(ELMC)、固态功率控制器(SSPC)和远程终端(RT)组成,实现飞机配电的智能化,其中电源系统处理机是配电系统的核心。

目前我国飞机电源系统仍采用的是集中配电方式。随着航空技术的迅速发展,飞机性能有了大幅度提高,用电设备迅速增加,电源功率不断提高,这种配电方式已经不适应,而且严重影响了飞机整体性能的提高。

国外一些技术发达的国家,如美国、英国、法国等在航空航天领域已普遍使用了分布式配电和负载自动管理技术。美国近装备部队的F-22先进飞机就采用了可编程的固态开关、1553B总线、微处理机和负载自动管理技术。美国在P7-A反潜机上也使用了先进配电系统,系统控制功能达到了故障―工作、故障―容错、故障―保险的容错等级。我国对该课题的研究起步较晚,但是近来发展迅速,1553B数据总线、发电机控制器、固态功率控制器和电气负载管理中心的研究,以及某型飞机的NAMP系统,都是富有成果性的。不过,与世界上技术先进国家相比尚有一定差距,还有很多工作要做。先进飞机配电系统可以实现不中断供电和容错供电,提高供电系统的可靠性、维护性、灵活性,对于提高飞机的整体性能有重要的作用,已是第四代战斗机的必备技术。 配电系统控制分析

配电系统采用集散控制方式,由具有智能性的PSP、ELMC、RT和GCU(发电机控制器)来实现控制。其中,ELMC监视和控制SSPC,RT监视和控制EMPC(机电式功率控制器)、外部电源、蓄电池以及TRU(变压整流器)。GCU为发电机、主交流汇流条提供控制和保护。GCU在功能上是独立的,并不受PSP控制。PSP完成顶层级的系统控制任务,实现对配电系统集中管理。各智能终端与PSP通过MIL-STD-1553B数据总线进行通信。

由于受MIL-STD-1553B总线1MBPS位速率的限制,不能采用单一的综合结构,所以航空电子系统与配电系统控制采用了分层结构。航空电子系统提供配电系统控制所必需的飞行和任务数据,它采用自己单独的数据总线。由电源系统处理机 (PSP)担负航空电子系统和配电系统控制之间的信息传递任务。配电系统控制结构如图1所示。

图1 配电控制系统结构图 系统设计软件分析

根据对飞机配电系统的分析,电源系统处理机软件可分为下述模块:

a. 系统控制指令处理模块
b. 供电系统布局状态处理模块
c. MIL-STD-1553B 数据总线控制模块
d. 供电系统初始化模块
e. 电气系统监控模块
f. 处理机请求排序模块
g. 处理机请求处理模块

由于采用了VxWorks作为操作系统,必须将上述模块划分为具体的任务,提交给操作系统,由操作系统来调度、管理。任务调度一般采用RM和EDF方式,遵循的原则是:首先,要避免死锁。引起死锁的原因主要是资源的竞争,所以要保证资源的合理使用。其次,必须为每个任务合理分配CPU使用时间,对于那些I/O操作多的任务优先级要低一些,运算多的任务优先级要高一些。为保证CPU的充分利用,大量运算归为一个任务;功能耦合归为一个任务;对于周期时间,针对不同的频率处理不同任务。如果我们在具体分析一个系统的时候发生原则冲突,则要针对具体的系统为每一个原则设定“权重”,必要的时候可以通过计算“权重”来终确定如何去划分任务。为了系统的稳定和可扩展性,CPU不能全载工作,达到60~70%就可以了。 VxWorks介绍

VxWorks 是Wind River 公司开发的嵌入式实时操作系统软件,为程序员提供了高效的实时任务调度和中断管理,实时的系统资源以及实时的任务间通信。其核心功能主要有微内核,任务间通信机制,网络支持,文件系统和I/O管理,POSIX标准实时扩展,以及C++等其它标准支持。目前,VxWorks操作系统已经广泛应用于通信、国防、工业控制、医疗设备等嵌入式实时应用领域。 综合设计软件系统有严格的层次结构,如图2所示。

图2 主执行软件结构图 这样做的目的在于明确各个层面的功能,便于软件的工程化开发。 硬件构架:包括了处理机和总线接口部件。软件层对它的要求是适合于嵌入式开发。

BSP:这一层是连接硬件与VxWorks的,其功能是对上层屏蔽硬件操作,实现系统的配置,驱动的集成,硬件的初始化等等,其部分功能类似于PC机的BIOS。

VxWorks:这是操作系统层。VxWorks是一款出色的嵌入式实时操作系统,该操作系统采用抢占式优先级调度,并且根据应用可以配置和裁减以提高系统的效率、可靠性和实时性。其功能是对应用软件提供接口界面,进行实时任务调度,系统资源管理等。通过在Tornado开发环境下创建Bootable Project 来定制所需要的VxWorks image。用户一般要根据实际情况,适当地进行添加或裁减。

应用软件:这是用户层,关键在于根据飞机的负载特性和优先级分布来合理地划分任务。建立有限状态机和Petri网都能有效地帮助建立合理的应用程序模型,正确地使用相关辅助工具可以简化建模过程。

根据开发的需要,应用软件分为内核软件和外围集成软件两大块。其中内核软件实现PSP主执行软件的基本功能,外围集成软件实现参数输入、显示等调试过程的人机界面,所有的外围模块通过内核软件的指定接口模块与内核通信。

鉴于数据被各个任务频繁使用,所以建立一个嵌入式实时数据库来管理数据是安全而高效的。关于嵌入式实时数据库的建立,请参阅相关书籍。这里只是简单的采用内存数据库来实现,目的是消除一般数据库中I/O操作的时间不确定性。首先,要为相关的数据类型建立相应的结构体。在该系统中需要为模拟量、状态量、数字量、控制量建立数据结构。以数据中的模拟量为例,可定义如下: typedef struct AnalogEntity

{
int ID;
char Name[NAME_LEN];
char U[UNIT_LEN];
int PValue; /*前一周期值*/
float Value; /*模拟量值*/
int State;
int Node;
int Aisle; /* 通道 */
ATIME Time; /* 报警时间 */
float Uplimit; / * 报警上限 */
float Lowerlimit; /* 报警下限 */
float IncValue; /* 过载值*/
int ALevel; /* 报警等级 */
int Ratio; / * 比例系数 */
/* 向后兼容 */
float Res;
char Reserve[10];
} ANALOG;

其次,将所有的数据和方法封装在一起,完成数据库的定义而得到的数据库,在这里把它称为数据布局文件。对于本数据库重要的是要保证读写的时间限制,如果规定时间内未能完成读写操作,必须要终止操作,并且回滚到未操作状态。

内核软件的大致任务为:1553B通信处理任务,电源系统监测任务,与备份PSP通信任务,控制台处理任务,电源请求与执行任务,外围模块通信处理任务,系统自监测任务等。外围软件主要是航空电子模拟任务、模拟控制台任务、综合显示任务。 整个软件的简单流程如图3所示。

图3 数据流图(DFD)

内核软件:处理电源请求和执行任务,主要是解飞机负载逻辑方程,从而得出当前的控制方案,将结果通过1553B总线送给ELMC、RT等控制机构。系统自监测任务主要是监视当前软件系统工作情况,防止外界原因使得内部数据不稳定,导致错误控制的发生。外围软件主要是模拟PSP的工作环境和简单的人机接口,并不是PSP功能的组成部分。采用外围模块通信处理任务来管理外围的任务,可以方便地扩展外围开发中的模块,而不影响内核功能,便于软件的裁减。备份PSP通信任务通过RS422与备份PSP通信,达到双机热备份。电源系统监测任务主要是查看电源系统的工作状态,定期地修改数据布局文件中的状态量,得到当前的系统工作情况,对于历史数据布局文件可以写入历史数据库,以备查询。另外,任务之间如果需要同步,可以采用信号量来实现。 结语

本文简单讲述了基于VxWorks的飞机电源系统软件设计过程,在实际应用中还有许多问题需要解决。比如考虑到程序用途的特殊性,必须保证程序的正确运行,所以程序的健壮性是研究的另一个重点。比如,采用程序固化运行、冗余容错技术、程序互检验等技术都是为了保证程序准确无误地运行。另外,飞机逻辑负载方程库的建立和求解,以及相应日志文件系统的建立,都是必要的工作。

免费预约试听课