航弹制导控制计算装置应用软件框架设计研究
2012-09-14魏淳
魏淳
(山西大同大学物理与电子科学学院,山西大同037009)
航弹制导控制计算装置应用软件框架设计研究
魏淳
(山西大同大学物理与电子科学学院,山西大同037009)
文章以航空制导炸弹为研究对象,提出一种应用软件框架,并研究了以DSP处理器为计算装置的软件框架实现技术,从工程实际出发进行了相关软件框架的设计、实现和测试。本研究不仅对航弹的开发提供了新的思路,而且拓展了嵌入式系统技术。
HLA;uC/OS;VOS;软件框架
1 概述
航空制导炸弹是为了实现普通航弹精确打击目标而提出,是将现代精确制导技术应用于航弹。通过制导装置接收信号,控制炸弹的飞行轨迹,最终击中目标。计算装置是航弹制导控制系统最重要的部件,其主要功能是完成弹上设备的管理、协调和控制,实现核心导航、控制和控制算法。计算装置通常以微处理器为解算核心,要求在极短的周期内完成对惯性器件的数据的采集、GPS数据的接受、1553B通信数据的接收与处理,在导航算法、制导控制算法的解算下形成控制指令输出[1]。计算装置典型接口如图1所示。
图1 计算装置接口图
对于不同计算装置而言,计算装置的核心处理器和体统结构有所不同,应用软件和系统软件不同,难以做到相互兼容、相互移植。 合理和理想的软件应该是易于相互移植,编写一次,经过简单的程序修改,就能在不同的硬件平台运行。由此,提出了应用软件框架思想,旨在解决上述困惑。
嵌入式应用软件框架是一种支持嵌入式系统应用的系统软件,通常包括系统调度内核、设备驱动接口、通信协议栈、与硬件相关的虚拟化软件等[2]。嵌入式应用软件框架应具有通用操作系统的基本功能,包括系统资源管理模块,系统调度模块,硬件虚拟化模块等,将硬件和软件分隔,提供统一的API库函数,移植和维护简单[3]。相对于嵌入式操作系统,嵌入式应用软件框架的突出的特点主要是系统实时性强、硬件依赖性小等方面。
2 基于嵌入式操作系统应用软件框架的设计思路
应用软件框架基于分层的软件设计方法,设计了一个可配置、可移植、能灵活扩展的嵌入式开发平台。针对不同的硬件、不同的应用迅速搭建整个软件系统,不仅有效地减少开发的工作量,同时缩短开发时间、降低成本。为方便上层应用程序的编写,系统中各层有清晰的接口定义,通过其相应的接口调用,上层应用程序能获得下层的系统服务,如图2是应用框架软件体系结构。
图2 应用图软2件框应架用整软体结件构框图架整体结构图
框架的最底层是硬件抽象层(HAL),HAL将应用软件框架及其功能模块与底层硬件体系结构彻底隔开,它是对目标系统硬件平台进行软件虚拟化,将不同的硬件标准化为统一操作和控制,为上层VOS层提供统一的硬件操作接口,开发用户通过实现或者简单修改相应的硬件抽象层,实现上层操作系统和应用程序在不同体系结构的硬件平台上移植。硬件抽象层之上包括调度内核、网络协议、文件系统和设备驱动等,调度内核作为整个系统的核心部分,主要包括任务管理、任务间通信及同步、内存管理及中断处理等功能。
3 应用软件框架核心层(VOS层)
图3 嵌入式操作系统分层结构
软硬件紧密藕合性是嵌入式系统的最大特征。决定了嵌入式操作系统的多样性。不同操作系统的调用接口不统一,不利于应用软件移植及复用。所以接口的统一是大势所趋。操作系统抽象层-VOS(Virtual operating System)就是这种机制的实现[4-5]。
VOS层是一个中间层,处于嵌入式操作系统与应用程之间,设计VOS层的目的是为了给程序员提供一个与下层具体操作系统无关的统一的API。VOS层可以减少应用程序对具体的嵌入式操作系统的依赖,增加其通用性和复用性。VOS层的体系结构如下图3所示:(箭头表示调用关系)
4 VOS层的具体实现
4.1 VOS层的API接口函数的设计
VOS层为最上层应用程序提供了统一的编程界面,即框架系统服务API接口,API接口是由下层操作系统提供的各种系统服务实现。对上层应用程序开发人员,不需要了解下层的操作系统,只需熟悉框架操作系统封装层API就足够了。VOS层模块功能,包括任务管理、时间管理、通信管理、内存管理等功能,VOS层部分模块接口函数设计如下:
VOSTaskCreate(void (*task)(void*pd),void *pdata,OS_STK*ptos,INT8U prio)
4.2 VOS层的API接口函数的实现
VOS层的API接口函数的实现,利用C语言宏定义的方式与C++面向对象中的多态性相结合来完成这个过程,其封装流程如图4所示。
图4 对API函数FUC的封装过程
VOS层实现后,上层应用程序需要系统函数服务时,不必直接调用操作系统API,而是通过调用VOS层的API而间接调用操作系统API,消除了上层应用程序与操作系统的直接耦合。封装的重要思想是对于不同功能模块,VOS层需要定义不同模块的基类,然后在基类下派生出的其它类。这种结构简单、清晰,在保持原有封装操作系统模块的功能的前提下,为上层应用提供了系统服务。
下面以在操作系统uCOS-II下封装API函数VOSTaskCreate()为例,来说明VOS层的具体实现。对于其它的操作系统和模块的封装,其实现过程基本一致。
首先需要VOS层提供的对进程进行操作的虚基类,此类只需申明,不需实现类中的函数。
Class VOS_TASK
{Public:
Virtual int TASK_create();
Virtual int TASK_delete();
};
其中,函数TASK_create()和TASK_delete()是虚函数,其功能是实现进程的产生和结束,它们都是虚函数,不需在基类FR_TASK中实现。
此后需要定义一个基类VOS_TASK的继承类uCOS-II_TASK,在继承类 uCOS-II_TASK中用uCOS-II的API实现基类虚函数TASK_create()和TASK_delete()。
Class uCOS-II_TASK:public VOS_TASK
{Public:
Int TASK_create(){OSTaskCreate();}
Int TASK_delete(){OSTaskDel();}
}
其中,OSTaskCreate()函数为操作系统uCOS-II下产生进程的API函数;OSTaskDel()为操作系统uCOS-II下结束进程的API函数。
然后定义一个全局的指向基类的指针,再定义一个派生类的对象。
VOS_TASK*P;
#ifdef uCOS-II
uCOS-II_TASK uC_Pro;
#endif
其中全局指针p指向基类VOS_TASK,定义uC_Pro为派生类uCOS-II_TASK的对象。然后定义VOS层的API函数,使其具有全局作用域,这样该函数就成为框架为应用层提供的API函数,只有通过它应用层才能获得封装操作系统的提供的相应服务。这里只对框架API函数VOSTaskCreate()进行实现。
VOSTaskCreate()
{#ifdef uCOS-II
P=&uC_Pro;
#endif
P->TASK_create();/*转向uCOS-II下的任务进程创建*/
}
#ifdef判断是封装操作系统的类型,如果封装操作系统是uCOS-II,那么需要让基类指针p指向uCOS-II派生类下的对象P=&uC_Pro,根据多态性,此时p指向的是uCOS-II操作系统下的实现进程函数OSTaskCreate(),实现通过基类的指针调用了被封装操作系统对象的模块实现。
如果有需要对多个操作系统的兼容,需要通过条件编译语句#ifdef实现,其过程类似。这样虽然应用框架对进程的操作实现是基于不同的操作系统,但是对上层则提供了统一的接口函数VOSTaskCreate(),与设计思路相符。
5 结论
在TMS320C6713硬件平台上,实现应用软件框架HLA层,封装了操作系统uCOS-II作为VOS核心层。运行多个任务进行测试,运行稳定可靠,其实时性基本满足航弹的基本应用。但测试仅在DSP体系结构上,仍需经受其它硬件系统的考验,以证明其通用性。
[1]雄伟.航空炸弹通用制导控制计算装置研究[D].北京:北京理工大学,2007.
[2]徐际威.基于DSP的SINS/GPS导航计算机的设计与实现[D].北京:北京理工大学,2006.
[3]苏娟.基于uCOS-II的工业嵌入式平台的研究[D].西安:西北工业大学,2007.
[4]杨朝阳.虚拟操作系统中的POSIX实时接口的设计[J].武汉理工大学学报,2003,25(1):42-48.
[5]Dennis E.Hall.虚拟操作系统[J].计算机工程与应用,1983,19(8):47-54.
〔责任编辑 李海〕
Research on Software Framework for G&C Computer on Bomb
WEI Chun
(School of Physical Science and Electronics,ShanxiDatong University,Datong Shanxi,037009)
T his paper,with guided bombs for the study,presents a software framework,stud ies software framework implementation techniques for G&C Computer on Bomb from engineering reality,and carr ies out the software framework for the design,implementation,and testing.This study not only provides a new way of thinking on the development of guided bombs,but develop s embedded system technology.
HLA;uC/OS;VOS;a pplication f ramework
O175
A
1674-0874(2012)03-0020-03
2011-10-15
魏淳(1978-),男,山西大同人,硕士,讲师,研究方向:嵌入式系统。