摘要:文章从软件架构角度对航空电子系统进行了研究。首先介绍了航空电子系统的通用处理平台架构,接着研究了航空电子系统模块化软件架构,并分析了软件模块化中各层次的功能及组织结构。最后结合国内项目的应用情况,介绍了航电系统模块化软件技术在工程应用中的实施,为相关项目的研制工作提供了一些思路。
关键词:航电系统;模块化软件;通用处理平台
中图分类号:TP311.52 文献标识码:A 文章编号:1673-1131(2016)04-0130-02
引言
近些年来,随着航空电子技术的飞快发展,传统的航电系统软件设计方法无法满足新一代飞机系统研制需求,特别是复杂大规模的机载软件的研制过程中,一种新的航电系统软件研制技术诞生已迫在眉睫。于是航电系统软件的模块化设计技术应运而生,已经成为民用、军用航电系统软件研制的主要设计方法。本文主要从软件架构角度对航空电子系统(以下简称航电系统)进行了研究。从航电系统的运行平台架构入手,研究了航电系统软件架构,分析了航电系统软件模块化中各层次的功能及组织结构。探讨了航电系统模块化软件技术的重要意义。
1航空电子系统概述
航空电子系统是航空机载应用的电子设备和系统,是飞机的核心系统,其保证飞机完成预定任务达到的各项规定功能和性能。它是由相互联系、相互制约、并且具有特定功能的多种航空电子设备组成的有机整体。其功能和性能是决定飞机当前作战能力的关键因素之一。航空电子系统发展历史经历了4个阶段,分别是分立式阶段、联合式阶段、综合式阶段、先进综合式阶段。先进综合式是航电系统发展的最高阶段,其采用功能模块化设计、研发、集成和测试的思想,因此航电系统模块化软件设计势在必行,成为目前几乎所有机载复杂大规模软件的设计思想。
2航空电子系统的通用处理平台
随着航空电子系统的不断发展,航空电子系统的运行平台架构从最初的分布式结构一直演变到目前的综合模块式架构。在综合模块式结构中,航空电子系统的计算功能被最大限度集中在统一运算单元,这种运算单元可以是单个处理器,也可以是独立计算处理、输入输出单个模块。并以此为基础设计成高度综合化的通用处理平台-综合核心处理机(Integ-ratedCoreProcessor)。综合核心处理机将信号处理、数据处理以及其他计算性要求的任务处理等集中到共享的、容错的和高性能的综合核心处理区内完成。综合核心处理机内部硬件资源采用模块化封装,对不同模块的功能、性能、结构、对外接口及其供电等进行了详细的定义。同时将不同模块的相似功能单元的技术要求进行统一化。以通用处理模块为例,模块内部功能单元如下所示:(1)支持单元:由非易失存储(NVRAM、FLASH)、温控电路、授时电路、通信电路组成,用于支持监测板内自测试、时间管理、日志记录等功能。(2)处理单元:用于提供具体功能。由标准的商用处理器和大容量存储器构成。(3)路由单元:提供网络接口单元、处理单元和模块支持单元之间通信功能。(4)网络接口单元:用于处理单元对外网络的通信。主要实现光纤网络接口功能。(5)电源支持部件:提供内部的电压转化并正常供电功能。
3航电系统软件模块化设计
航电系统承担了监视、数据处理与数据融合、通信、火制、综合导航、攻击、防御、系统健康管理等任务,主要任务基本功能如下所示:(1)火控系统是使用航空武器(导弹)打击目标的火力控制系统。(2)通信系统完成机内和机外话音及数据通信。(3)综合导航系统作用于飞机起飞、巡航和着陆各个阶段,保障飞机安全航行。(4)监视系统主要完成飞机对周边环境的感知功能。航电系统软件采用分层模块化的系统结构,包括应用软件层、操作系统层和模块支持层,在不同软件层之间定义有开放式标准接口,以完成不同软件层之间交互通信。这种模块化结构软件驻留在每一个通用处理模块的处理单元上,使得不同单位开发的不同功能软件可以很方便地进行集成。如图1所示。各层软件功能定义如下:(1)应用软件层:涵盖了航电系统软件的所有功能模块,这些功能模块可以来自不同厂商,但运行在同一个处理单元之上,开放式接口规范使得该层软件完全与平台具体实现无关,即不同功能模块应用软件可以独立进行开发和编译,不必了解下层软、硬件架构。同时,应用软件层中的任务级软件开发可以满足多任务并行开发,因为当前航电系统的资源高度集中要求,同一个应用中可以运行多个任务,这些任务可以完成不同功能,每个任务资源要求(比如处理器占用率、内存占用、任务周期、任务异常处理等)都是由系统级设计者统一要求规定的。(2)操作系统接口层:给上层应用软件层提供操作系统功能服务标准接口,包括存储管理、信号量、周期任务、非周期任务、进程管理以及时间管理等。同时,支持针对硬件平台资源的功能扩展、接口扩展,以满足应用软件对硬件平台的功能要求。(3)操作系统层:目前在操作系统选型工作上,国内外很多课题都选择分区式操作系统,与传统的平板式操作系统相比,分区操作系统的高安全、高可靠、高实时的特点恰好满足军用机载大规模软件的技术要求,而且分区操作系统的“分区”思想使航电系统的模块化设计成为可能,分区操作系统软件架构如所示。图2分区操作系统软件架构其中分区是软件运行的逻辑单元,一个分区是一个独立的应用运行环境,分区内部的内存管理、进程管理等由分区操作系统实现。分区之间不存在共享存储空间,同时核心操作系统对分区的调度策略采用时间片轮转调度,根据用户配置数据,在一个调度周期之内,每一个分区都分配到一个严格的时间窗口运行,不存在优先级抢占。因此空间和时间的隔离保证了分区内应用独立运行同时保证了故障隔离,即使一个功能应用出现故障也不会影响其他分区应用正常调度运行,发生故障的应用由核心操作系统接管。与此同时,分区操作系统也提供了分区间通信的机制,实现单一运算分区和输入输出分区的通信功能。这种通信机制以消息基础,满足用户灵活配置。(4)模块支持层接口:给操作系统提供硬件板内资源的功能服务,主要实现操作系统对特定硬件资源的标准化服务,包括操作系统中FLASH存储、NVRAM存储、定时器计时等。(5)模块支持层:为操作系统提供硬件资源访问服务。包括硬件时钟、以太网通信、存储器访问、外围总线通信等功能。通过系统软件的模块化设计及软件接口的标准化规范,对应用层软件屏蔽了底层细节,满足当前机载复杂大规模软件的开发设计要求,使得不同科研单位软件产品得以快速开发验证和整个系统集成。下面以某型号课题为例,着重阐述基于模块化软件设计进行项目研制的工程实践方法:(1)需求分析阶段,航电系统内部所有数据运算处理以及输入输出工作都集中在综合处理机内部完成。在此阶段,由主机科研单位对整个综合处理机支撑软件按照专业方向进行模块化分解、功能/性能标准定义,同时形成软件产品任务书下发给各个配件厂商。(2)产品设计阶段,配件厂商根据软件产品任务书对各自承担的模块产品进一步分解,涉及硬件平台及操作系统选型。此阶段严格遵循模块化设计思想,对硬件平台上的软件进行模块化划分,包括模块支持层软件、操作系统、驱动支持软件、网络通信软件以及执行环境层软件等。其中执行环境层软件采用开放式接口规范,屏蔽了各配件厂商产品资源不一致。这样,应用软件的开发工作不受底层硬件差异影响,在快速有效的同时提高了可移植性。(3)开发及测试工作,开发阶段工作由各个配件厂独立完成。在测试阶段,主要采用自底向上的功能级分段集成测试。例如,厂商甲交付的模块A、厂商乙交付的模块B分别经过主机单位的产品验收测试后,主机单位还要对模块A、B进行系统交联集成,进而完成模块A、B系统级功能/性能测试。除此之外,模块化软件设计结合模块通用化设计,使得应用软件在同一处理平台内部可迁移,功能得到重构,这对于防止故障发生时,航电任务系统全部或者关键部分应用功能失效具有非常重要的意义。
4结语
本文主要从软件架构角度对航空电子系统进行了研究,分析了航电技术发展最高时期产生的模块化软件设计技术,着重研究了这种模块化设计组织结构,及在实际工程应用中的软件研制流程,同时阐明模块化软件技术重要意义。事实上,航电模块化软件技术已经成功应用于国内外很多大型课题,并取得了显著良好效果,其工程实践中广泛应用是必然趋势,而且对于未来航电系统的动态重构技术具有非常重要的研究价值。
参考文献:
[1]张明,周琳.基于VxWorks653分区操作系统的IMA设计与实现[J].火力与指挥控制,2014,39(4):145-147
[2]王鹏,刘锐,刘万和,阎芳.综合模块化航空电子系统可靠性评估方法研究[J].电光与控制,2015,22(10):57-60
[3]段海军,邸海涛,张树兵,刘建军,陈福.面向IMA综合处理系统的日志管理系统设计与实现[J].航空计算技术,2012,42(6):75-79
作者:韩春阳 王宁 陈伊卿 单位:中航工业西安航空计算技术研究所
相关专题:电子阅览室 甘肃农业大学学报投稿