吴 斌,张文静,屈盼让,任晓琨
(1.中航工业西安航空计算技术研究所,陕西 西安 710119;2.陕西省建筑设计研究院有限责任公司,陕西 西安 710018)
一种基于VxWorks操作系统的余度系统分区加载技术
吴斌1,张文静2,屈盼让1,任晓琨1
(1.中航工业西安航空计算技术研究所,陕西 西安 710119;2.陕西省建筑设计研究院有限责任公司,陕西 西安 710018)
摘要:针对机载余度系统,提出一种软件加载技术。机载计算机每个通道中均装载全部四个通道的控制软件,通过通道识别信号,加载不同的控制软件,因此可以实现各个余度在控制不同系统功能的同时具有可互换性,并且大大提高机载计算机的可靠性。
关键词:余度系统;VxWorks;分区加载;可互换性
随着机载电子设备综合化程度的不断深化和出勤率指标的不断提高,越来越多的与生命安全攸关的机载系统运行依赖于计算机,如飞行管理系统、机电综合管理系统、环境与生命防护系统及发动机控制系统等。对于此类关键系统,机载计算机工作的任务可靠性将直接关系飞机飞行安全,机载计算机一旦运行错误,将造成巨大的生命财产损失[1]。提高机载计算机任务可靠性的一个有效措施就是进行余度设计。
随着飞机飞行高度、速度、机动性和适应性的不断提高,外界工作条件的变化也越来越复杂。飞机需要适应外界环境条件的急剧变化,这就要求机载计算机具有在急剧变化条件下的适应性。这不仅增加了机载计算机的复杂性,而且对其可靠性也提出了更高要求,所以要求机载计算机在余度设计上有新的突破。
本文从有余度设计的机载计算机上出发,提出了一种基于VxWorks操作系统,适用于多余度机载计算机的分区加载技术。通过对分区加载技术模型的分析,证明该技术可大大提高机载计算机的可靠性,并在一定程度上可以实现同机上多产品的可互换性。
1嵌入式实时操作系统VxWorks[2]
VxWorks是WindRiver 公司开发的一种高性能的嵌入式实时操作系统(RTOS),以其优良的可靠性、开放性、实时性和易用性赢得了大量的客户。VxWorks 是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统,被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。
稳定、可靠一直是VxWorks 的一个突出优点。自从对中国的销售解禁以来,VxWorks 以其良好的可靠性在中国赢得了越来越多的用户。
VxWorks实时性非常强,VxWorks提供的多任务机制中对任务的控制采用了优先级抢占和轮转调度机制,也充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大的余地。
VxWorks具有可裁剪性,内核最小为8 kb,即便加上其它必要模块,所占用的空间也很小,且不失其实时、多任务的系统特征。由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制或作适当开发,来满足自己的实际应用需要。
2分区加载技术模型
对于多余度或单余度多装配机载计算机,每个余度可以使用完全相同的硬件配置分别对飞机相关系统进行控制,各个余度中分别装载控制不同模块的应用软件,但此时对于机载产品来说,每个余度在飞机中装配位置固定。为了实现各个余度在控制不同系统功能的同时具有可互换性,本文提出了分区加载技术[3,4]。
假设某机载计算机为四余度模型,即机载计算机四个通道为同样的硬件配置,每个通道间通过系统总线来进行数据交互。为后续描述方便,将四个控制通道分别称为UNIT_1A,UNIT_1B,UNIT_2A,UNIT_2B,这四个控制通道的软硬件结构和控制功能如图1所示[3]。
图1 四余度机载计算机软硬件结构图
从图1中看出,软件分为板级支持包(BSP)、操作系统层(WxWorks)和应用层(Application)三层。其中,BSP与硬件相关,为操作系统提供对硬件资源的访问的接口;操作系统为应用层软件提供运行平台,能够按照优先级对各种任务进行调度和切换;应用层集成相关功能的应用软件。该机载计算机的四个控制通道UNIT_1A,UNIT_1B,UNIT_2A,UNIT_2B的区别就在于各通道加载的应用层软件不同。
但此种情况下,每个控制通道只能实现一种控制功能,四个余度不具备互换性。本文提出一种分区加载方法,在每个通道中均装载全部四个通道的控制软件,并且在每个通道中设置通道识别信号接口,这样,只要通过通道识别信号,就能加载运行相应通道控制软件。
3分区加载技术实现
若实现四余度机载计算机的软件分区加载,需在CPU中的FLASH中进行五个地址分区,分别装载分区加载软件和UNIT_1A,UNIT_1B,UNIT_2A,UNIT_2B四个通道控制软件。系统启动后,首先加载FLASH中的分区加载软件,根据分区加载软件中通道识别信号判断分支再一次加载另外四个分配地址中的应用软件。具体加载方式见图2。
图2 分区加载方式图
所谓加载,是指将程序加载到内存并完成程序的相关初始化工作使之可以运行的过程。分区加载的关键在于根据四个通道通道识别信号的不同来调用四次该函数,并设置四个通道软件的入口地址。加载过程的软件流程见图3。
对于分区加载方式,最重要的条件为通道识别信号的获取。只要通道识别信号获取成功,就会成功加载运行相应通道的控制软件。
图3 加载运行应用程序流程
4结论
分区加载是利用VxWorks操作系统基本功能,依据系统需要,对加载运行应用程序的一个扩展,经过各项仿真验证,无设计问题。目前,该技术已应用于某型号,并安全飞行数年,为今后多余度系统可互换性积累了经验,探索了一条可行的道路。软件分区加载方式可适用于所有余度系统设计中,对于实行设备的可互换性有广泛的推广价值。
参考文献
[1]於二军,吴斌,李林,等.机载机电管理计算机双余度设计[J].微电子学与计算机,2012(12):88-89.
[2]李艳军,高华,顾欣莉.实时嵌入式操作系统VxWorks设备驱动程序的设计[J].电子设计工程,2011(5):130-133.
[3]Airline Electronic Engineering Committee.429P1-15 Avionics Application Software Standard Interface[S].1995.
[4]Wind River System,Inc.Vxworks AE Programmer’s Guide5.5[Z].2001.
收稿日期:2015-12-22
作者简介:吴斌(1984- ),男,内蒙古宁城人,工程师,硕士研究生,主要研究方向为机载计算机技术。
文章编号:1674- 4578(2016)02- 0053- 02
中图分类号:V249.1,TP316.2
文献标识码:A
Technology of Distributed-loading of Redundant-system Based on VxWorks Operating System
Wu Bin1, Zhang Wenjing2, Qu Panrang1, Ren Xiaokun1
(1.AeronauticsComputingTechniqueResearchInstitute,Xi’anShaanxi710119,China;2.ShaanxiArchitecturalDesignandResearchInstituteCo.,LTD,Xi’anShaanxi710018,China)
Abstract:This paper proposes a kind of software-loading technology for airborne redundant systems. For each channel of the airborne computer, the controlling software for all four channels is installed, by these channels, the signal is identified and the different controlling software is loaded. So, it can achieve interchangeability among each redundancy and improve the reliability of the airborne computer obviously.
Key words:redundant system; VxWorks; distributed-loading; interchangeability