国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

航彈制導(dǎo)控制計(jì)算裝置應(yīng)用軟件框架設(shè)計(jì)研究

2012-09-14 01:13魏淳
關(guān)鍵詞:嵌入式操作系統(tǒng)應(yīng)用程序框架

魏淳

(山西大同大學(xué)物理與電子科學(xué)學(xué)院,山西大同037009)

航彈制導(dǎo)控制計(jì)算裝置應(yīng)用軟件框架設(shè)計(jì)研究

魏淳

(山西大同大學(xué)物理與電子科學(xué)學(xué)院,山西大同037009)

文章以航空制導(dǎo)炸彈為研究對(duì)象,提出一種應(yīng)用軟件框架,并研究了以DSP處理器為計(jì)算裝置的軟件框架實(shí)現(xiàn)技術(shù),從工程實(shí)際出發(fā)進(jìn)行了相關(guān)軟件框架的設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試。本研究不僅對(duì)航彈的開發(fā)提供了新的思路,而且拓展了嵌入式系統(tǒng)技術(shù)。

HLA;uC/OS;VOS;軟件框架

1 概述

航空制導(dǎo)炸彈是為了實(shí)現(xiàn)普通航彈精確打擊目標(biāo)而提出,是將現(xiàn)代精確制導(dǎo)技術(shù)應(yīng)用于航彈。通過制導(dǎo)裝置接收信號(hào),控制炸彈的飛行軌跡,最終擊中目標(biāo)。計(jì)算裝置是航彈制導(dǎo)控制系統(tǒng)最重要的部件,其主要功能是完成彈上設(shè)備的管理、協(xié)調(diào)和控制,實(shí)現(xiàn)核心導(dǎo)航、控制和控制算法。計(jì)算裝置通常以微處理器為解算核心,要求在極短的周期內(nèi)完成對(duì)慣性器件的數(shù)據(jù)的采集、GPS數(shù)據(jù)的接受、1553B通信數(shù)據(jù)的接收與處理,在導(dǎo)航算法、制導(dǎo)控制算法的解算下形成控制指令輸出[1]。計(jì)算裝置典型接口如圖1所示。

圖1 計(jì)算裝置接口圖

對(duì)于不同計(jì)算裝置而言,計(jì)算裝置的核心處理器和體統(tǒng)結(jié)構(gòu)有所不同,應(yīng)用軟件和系統(tǒng)軟件不同,難以做到相互兼容、相互移植。 合理和理想的軟件應(yīng)該是易于相互移植,編寫一次,經(jīng)過簡(jiǎn)單的程序修改,就能在不同的硬件平臺(tái)運(yùn)行。由此,提出了應(yīng)用軟件框架思想,旨在解決上述困惑。

嵌入式應(yīng)用軟件框架是一種支持嵌入式系統(tǒng)應(yīng)用的系統(tǒng)軟件,通常包括系統(tǒng)調(diào)度內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議棧、與硬件相關(guān)的虛擬化軟件等[2]。嵌入式應(yīng)用軟件框架應(yīng)具有通用操作系統(tǒng)的基本功能,包括系統(tǒng)資源管理模塊,系統(tǒng)調(diào)度模塊,硬件虛擬化模塊等,將硬件和軟件分隔,提供統(tǒng)一的API庫函數(shù),移植和維護(hù)簡(jiǎn)單[3]。相對(duì)于嵌入式操作系統(tǒng),嵌入式應(yīng)用軟件框架的突出的特點(diǎn)主要是系統(tǒng)實(shí)時(shí)性強(qiáng)、硬件依賴性小等方面。

2 基于嵌入式操作系統(tǒng)應(yīng)用軟件框架的設(shè)計(jì)思路

應(yīng)用軟件框架基于分層的軟件設(shè)計(jì)方法,設(shè)計(jì)了一個(gè)可配置、可移植、能靈活擴(kuò)展的嵌入式開發(fā)平臺(tái)。針對(duì)不同的硬件、不同的應(yīng)用迅速搭建整個(gè)軟件系統(tǒng),不僅有效地減少開發(fā)的工作量,同時(shí)縮短開發(fā)時(shí)間、降低成本。為方便上層應(yīng)用程序的編寫,系統(tǒng)中各層有清晰的接口定義,通過其相應(yīng)的接口調(diào)用,上層應(yīng)用程序能獲得下層的系統(tǒng)服務(wù),如圖2是應(yīng)用框架軟件體系結(jié)構(gòu)。

圖2 應(yīng)用圖軟2件框應(yīng)架用整軟體結(jié)件構(gòu)框圖架整體結(jié)構(gòu)圖

框架的最底層是硬件抽象層(HAL),HAL將應(yīng)用軟件框架及其功能模塊與底層硬件體系結(jié)構(gòu)徹底隔開,它是對(duì)目標(biāo)系統(tǒng)硬件平臺(tái)進(jìn)行軟件虛擬化,將不同的硬件標(biāo)準(zhǔn)化為統(tǒng)一操作和控制,為上層VOS層提供統(tǒng)一的硬件操作接口,開發(fā)用戶通過實(shí)現(xiàn)或者簡(jiǎn)單修改相應(yīng)的硬件抽象層,實(shí)現(xiàn)上層操作系統(tǒng)和應(yīng)用程序在不同體系結(jié)構(gòu)的硬件平臺(tái)上移植。硬件抽象層之上包括調(diào)度內(nèi)核、網(wǎng)絡(luò)協(xié)議、文件系統(tǒng)和設(shè)備驅(qū)動(dòng)等,調(diào)度內(nèi)核作為整個(gè)系統(tǒng)的核心部分,主要包括任務(wù)管理、任務(wù)間通信及同步、內(nèi)存管理及中斷處理等功能。

3 應(yīng)用軟件框架核心層(VOS層)

圖3 嵌入式操作系統(tǒng)分層結(jié)構(gòu)

軟硬件緊密藕合性是嵌入式系統(tǒng)的最大特征。決定了嵌入式操作系統(tǒng)的多樣性。不同操作系統(tǒng)的調(diào)用接口不統(tǒng)一,不利于應(yīng)用軟件移植及復(fù)用。所以接口的統(tǒng)一是大勢(shì)所趨。操作系統(tǒng)抽象層-VOS(Virtual operating System)就是這種機(jī)制的實(shí)現(xiàn)[4-5]。

VOS層是一個(gè)中間層,處于嵌入式操作系統(tǒng)與應(yīng)用程之間,設(shè)計(jì)VOS層的目的是為了給程序員提供一個(gè)與下層具體操作系統(tǒng)無關(guān)的統(tǒng)一的API。VOS層可以減少應(yīng)用程序?qū)唧w的嵌入式操作系統(tǒng)的依賴,增加其通用性和復(fù)用性。VOS層的體系結(jié)構(gòu)如下圖3所示:(箭頭表示調(diào)用關(guān)系)

4 VOS層的具體實(shí)現(xiàn)

4.1 VOS層的API接口函數(shù)的設(shè)計(jì)

VOS層為最上層應(yīng)用程序提供了統(tǒng)一的編程界面,即框架系統(tǒng)服務(wù)API接口,API接口是由下層操作系統(tǒng)提供的各種系統(tǒng)服務(wù)實(shí)現(xiàn)。對(duì)上層應(yīng)用程序開發(fā)人員,不需要了解下層的操作系統(tǒng),只需熟悉框架操作系統(tǒng)封裝層API就足夠了。VOS層模塊功能,包括任務(wù)管理、時(shí)間管理、通信管理、內(nèi)存管理等功能,VOS層部分模塊接口函數(shù)設(shè)計(jì)如下:

VOSTaskCreate(void (*task)(void*pd),void *pdata,OS_STK*ptos,INT8U prio)

4.2 VOS層的API接口函數(shù)的實(shí)現(xiàn)

VOS層的API接口函數(shù)的實(shí)現(xiàn),利用C語言宏定義的方式與C++面向?qū)ο笾械亩鄳B(tài)性相結(jié)合來完成這個(gè)過程,其封裝流程如圖4所示。

圖4 對(duì)API函數(shù)FUC的封裝過程

VOS層實(shí)現(xiàn)后,上層應(yīng)用程序需要系統(tǒng)函數(shù)服務(wù)時(shí),不必直接調(diào)用操作系統(tǒng)API,而是通過調(diào)用VOS層的API而間接調(diào)用操作系統(tǒng)API,消除了上層應(yīng)用程序與操作系統(tǒng)的直接耦合。封裝的重要思想是對(duì)于不同功能模塊,VOS層需要定義不同模塊的基類,然后在基類下派生出的其它類。這種結(jié)構(gòu)簡(jiǎn)單、清晰,在保持原有封裝操作系統(tǒng)模塊的功能的前提下,為上層應(yīng)用提供了系統(tǒng)服務(wù)。

下面以在操作系統(tǒng)uCOS-II下封裝API函數(shù)VOSTaskCreate()為例,來說明VOS層的具體實(shí)現(xiàn)。對(duì)于其它的操作系統(tǒng)和模塊的封裝,其實(shí)現(xiàn)過程基本一致。

首先需要VOS層提供的對(duì)進(jìn)程進(jìn)行操作的虛基類,此類只需申明,不需實(shí)現(xiàn)類中的函數(shù)。

Class VOS_TASK

{Public:

Virtual int TASK_create();

Virtual int TASK_delete();

};

其中,函數(shù)TASK_create()和TASK_delete()是虛函數(shù),其功能是實(shí)現(xiàn)進(jìn)程的產(chǎn)生和結(jié)束,它們都是虛函數(shù),不需在基類FR_TASK中實(shí)現(xiàn)。

此后需要定義一個(gè)基類VOS_TASK的繼承類uCOS-II_TASK,在繼承類 uCOS-II_TASK中用uCOS-II的API實(shí)現(xiàn)基類虛函數(shù)TASK_create()和TASK_delete()。

Class uCOS-II_TASK:public VOS_TASK

{Public:

Int TASK_create(){OSTaskCreate();}

Int TASK_delete(){OSTaskDel();}

}

其中,OSTaskCreate()函數(shù)為操作系統(tǒng)uCOS-II下產(chǎn)生進(jìn)程的API函數(shù);OSTaskDel()為操作系統(tǒng)uCOS-II下結(jié)束進(jìn)程的API函數(shù)。

然后定義一個(gè)全局的指向基類的指針,再定義一個(gè)派生類的對(duì)象。

VOS_TASK*P;

#ifdef uCOS-II

uCOS-II_TASK uC_Pro;

#endif

其中全局指針p指向基類VOS_TASK,定義uC_Pro為派生類uCOS-II_TASK的對(duì)象。然后定義VOS層的API函數(shù),使其具有全局作用域,這樣該函數(shù)就成為框架為應(yīng)用層提供的API函數(shù),只有通過它應(yīng)用層才能獲得封裝操作系統(tǒng)的提供的相應(yīng)服務(wù)。這里只對(duì)框架API函數(shù)VOSTaskCreate()進(jìn)行實(shí)現(xiàn)。

VOSTaskCreate()

{#ifdef uCOS-II

P=&uC_Pro;

#endif

P->TASK_create();/*轉(zhuǎn)向uCOS-II下的任務(wù)進(jìn)程創(chuàng)建*/

}

#ifdef判斷是封裝操作系統(tǒng)的類型,如果封裝操作系統(tǒng)是uCOS-II,那么需要讓基類指針p指向uCOS-II派生類下的對(duì)象P=&uC_Pro,根據(jù)多態(tài)性,此時(shí)p指向的是uCOS-II操作系統(tǒng)下的實(shí)現(xiàn)進(jìn)程函數(shù)OSTaskCreate(),實(shí)現(xiàn)通過基類的指針調(diào)用了被封裝操作系統(tǒng)對(duì)象的模塊實(shí)現(xiàn)。

如果有需要對(duì)多個(gè)操作系統(tǒng)的兼容,需要通過條件編譯語句#ifdef實(shí)現(xiàn),其過程類似。這樣雖然應(yīng)用框架對(duì)進(jìn)程的操作實(shí)現(xiàn)是基于不同的操作系統(tǒng),但是對(duì)上層則提供了統(tǒng)一的接口函數(shù)VOSTaskCreate(),與設(shè)計(jì)思路相符。

5 結(jié)論

在TMS320C6713硬件平臺(tái)上,實(shí)現(xiàn)應(yīng)用軟件框架HLA層,封裝了操作系統(tǒng)uCOS-II作為VOS核心層。運(yùn)行多個(gè)任務(wù)進(jìn)行測(cè)試,運(yùn)行穩(wěn)定可靠,其實(shí)時(shí)性基本滿足航彈的基本應(yīng)用。但測(cè)試僅在DSP體系結(jié)構(gòu)上,仍需經(jīng)受其它硬件系統(tǒng)的考驗(yàn),以證明其通用性。

[1]雄偉.航空炸彈通用制導(dǎo)控制計(jì)算裝置研究[D].北京:北京理工大學(xué),2007.

[2]徐際威.基于DSP的SINS/GPS導(dǎo)航計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京理工大學(xué),2006.

[3]蘇娟.基于uCOS-II的工業(yè)嵌入式平臺(tái)的研究[D].西安:西北工業(yè)大學(xué),2007.

[4]楊朝陽.虛擬操作系統(tǒng)中的POSIX實(shí)時(shí)接口的設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào),2003,25(1):42-48.

[5]Dennis E.Hall.虛擬操作系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,1983,19(8):47-54.

〔責(zé)任編輯 李?!?/p>

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-),男,山西大同人,碩士,講師,研究方向:嵌入式系統(tǒng)。

猜你喜歡
嵌入式操作系統(tǒng)應(yīng)用程序框架
框架
廣義框架的不相交性
刪除Win10中自帶的應(yīng)用程序
谷歌禁止加密貨幣應(yīng)用程序
計(jì)算機(jī)嵌入式操作系統(tǒng)分析
關(guān)于高校嵌入式操作系統(tǒng)課程教學(xué)的探索與思考
基于嵌入式操作系統(tǒng)的工業(yè)采集板設(shè)計(jì)
關(guān)于原點(diǎn)對(duì)稱的不規(guī)則Gabor框架的構(gòu)造
一種基于OpenStack的云應(yīng)用開發(fā)框架
應(yīng)用服務(wù)型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學(xué)改革探索