楊 娜,鄒 勇,康雋睿
(中國(guó)兵器工業(yè)第203研究所,西安 710065)
傳統(tǒng)武器系統(tǒng)的發(fā)控系統(tǒng)設(shè)計(jì)基本上都是采用PC104作為硬件開(kāi)發(fā)平臺(tái),軟件基于DOS進(jìn)行開(kāi)發(fā)。隨著武器系統(tǒng)的發(fā)展,對(duì)發(fā)控系統(tǒng)的可靠性和實(shí)時(shí)響應(yīng)能力的要求也越來(lái)越高,而傳統(tǒng)的設(shè)計(jì)方式無(wú)法滿(mǎn)足新的多任務(wù)的要求,同時(shí)也為了方便軟件的調(diào)試、升級(jí),采用多任務(wù)的嵌入式實(shí)時(shí)操作系統(tǒng)進(jìn)行發(fā)控系統(tǒng)的設(shè)計(jì)成為推進(jìn)武器系統(tǒng)發(fā)展的一個(gè)重要手段。采用PC104作為硬件開(kāi)發(fā)平臺(tái)時(shí),為了滿(mǎn)足發(fā)控系統(tǒng)的性能需要,需要將各種板子堆棧起來(lái),這樣導(dǎo)致體積大、功耗大。而采用PowerPC作為硬件開(kāi)發(fā)平臺(tái)時(shí),可以輕松的將滿(mǎn)足功能要求的芯片都集成在一塊板子上,節(jié)省了箱體的體積,降低了功耗。與DOS相比,DeltaOS具有多任務(wù)處理能力,可降低系統(tǒng)的復(fù)雜性,保證系統(tǒng)的實(shí)時(shí)性、可維護(hù)性及系統(tǒng)間的可移植性。
以PowerPC微處理器為基礎(chǔ),結(jié)合嵌入式實(shí)時(shí)操作系統(tǒng)DeltaOS,研制了基于MPC8280微處理器的發(fā)控系統(tǒng)。介紹了該發(fā)控系統(tǒng)的軟硬件設(shè)計(jì)方案及調(diào)試工具。
PowerPC嵌入式微處理器是一種高性能、低功耗的RISC(精簡(jiǎn)指令集)芯片。20世紀(jì)90年代,由IBM、Apple和Motorola公司成功開(kāi)發(fā)了PowerPC芯片,并制造出基于PowerPC的多處理器計(jì)算機(jī)。PowerPC處理器有非常強(qiáng)的嵌入式功能、較低的能量損耗以及較低的散熱量。PowerPC架構(gòu)可伸縮性好、方便靈活[1]。
在發(fā)控系統(tǒng)中采用的PowerPC處理器是由FREESCALE公司開(kāi)發(fā)的MPC8280,MPC8280是一款16/32位RISC結(jié)構(gòu)的低成本高性能微處理器,這款產(chǎn)品采用FREESCALE公司的內(nèi)核,支持嵌入式片內(nèi)斷點(diǎn)仿真調(diào)試。
DeltaOS是目前我國(guó)依靠自己的技術(shù)和力量自主開(kāi)發(fā)的最成熟的嵌入式實(shí)時(shí)操作系統(tǒng),以良好的可持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶(hù)開(kāi)發(fā)環(huán)境,在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占一席之地。DeltaOS主要包括:具有高可靠性和實(shí)時(shí)性的內(nèi)核DeltaCORE,嵌入式TCP/IP DeltaNET,嵌入式文件系統(tǒng)DeltaFILE以及嵌入式圖形接口DeltaGUI。DeltaOS可以嵌入到32位CPU為核心的各種電子設(shè)備中。作為應(yīng)用程序運(yùn)行的支撐環(huán)境,DeltaOS所提供的各種機(jī)制可以使電子設(shè)備中的應(yīng)用程序在多任務(wù)環(huán)境下運(yùn)行,同時(shí)滿(mǎn)足開(kāi)發(fā)人員在開(kāi)發(fā)電子設(shè)備時(shí)的基本需求,比如:實(shí)時(shí)響應(yīng)外部事件、存儲(chǔ)管理以及聯(lián)網(wǎng)需求等。DeltaOS已成功地應(yīng)用于消費(fèi)電子產(chǎn)品、通信產(chǎn)品、工業(yè)控制及軍用電子產(chǎn)品中。
發(fā)控系統(tǒng)是武器系統(tǒng)中必不可缺的一部分,其工作環(huán)境是一個(gè)與地面各控制系統(tǒng)、彈載計(jì)算機(jī)系統(tǒng)進(jìn)行信息交互、通信,并且受到時(shí)間約束的環(huán)境。發(fā)控系統(tǒng)是用來(lái)完成導(dǎo)彈發(fā)射前準(zhǔn)備、發(fā)射導(dǎo)彈、操縱控制導(dǎo)引頭指向目標(biāo)、控制導(dǎo)彈按導(dǎo)引律飛行的成套裝置[2],由發(fā)控電子箱(含操控單元和解算單元)、顯示控制箱(顯控單元)、點(diǎn)火選彈箱、左手柄、右手柄、射手控制盒、射手顯示器和配套電纜組成。
發(fā)控系統(tǒng)采用嵌入式實(shí)時(shí)操作系統(tǒng)DeltaOS,調(diào)試開(kāi)發(fā)工作在開(kāi)發(fā)環(huán)境LambdaPRO中進(jìn)行。
發(fā)控系統(tǒng)包含三塊PowerPC板,操控板、解算板、顯控板,三塊板子均選用內(nèi)核電壓僅為1.5V,IO電壓3.3V的低功耗 MPC8280處理器,工作頻率450MHz,并集成了一個(gè)通信處理模塊(CPM),CPM分擔(dān)了嵌入式PowerPC核的外圍工作任務(wù),這種雙處理器體系結(jié)構(gòu)功耗要低于傳統(tǒng)的體系結(jié)構(gòu)處理器,效率也得到了提高。PowerPC板還集成了控制電路、輸入輸出接口和存儲(chǔ)器等嵌入式硬件,搭建了一個(gè)基于PowerPC處理器的高性能硬件平臺(tái)。
操控板具有如下功能:
1)具有上電自動(dòng)復(fù)位功能、掉電保護(hù)功能、復(fù)位自檢功能,并輸出自檢結(jié)果信號(hào);
2)三路CAN接口,一路接入彈上CAN網(wǎng)絡(luò),實(shí)現(xiàn)與彈載計(jì)算機(jī)的信息交互;一路接入地面CAN網(wǎng)絡(luò),實(shí)現(xiàn)與地面相關(guān)子系統(tǒng)(包括綜合管理器、定位定向、指揮終端、伺服、周觀、駕駛員終端、圖像跟蹤器、端機(jī)和智能配電箱)的信息交互;一路接入發(fā)控系統(tǒng)的顯控單元和解算單元,實(shí)現(xiàn)與顯控單元和解算單元的信息交互;
3)三路RS422,用來(lái)實(shí)現(xiàn)與兩個(gè)射手控制盒、點(diǎn)火選彈箱的信息交互;
4)24路I/O,用來(lái)查詢(xún)8個(gè)有無(wú)彈信號(hào)、8個(gè)開(kāi)蓋信號(hào)以及8個(gè)切線信號(hào)。
解算板具有如下功能:
1)具有上電自動(dòng)復(fù)位功能、掉電保護(hù)功能、復(fù)位自檢功能,并輸出自檢結(jié)果信號(hào);
2)一路CAN接口,用來(lái)實(shí)現(xiàn)與發(fā)控系統(tǒng)的操控單元進(jìn)行信息交互。
顯控板具有如下功能:
1)具有上電自動(dòng)復(fù)位功能、掉電保護(hù)功能、復(fù)位自檢功能,并輸出自檢結(jié)果信號(hào);
2)一路CAN接口,用來(lái)實(shí)現(xiàn)與發(fā)控系統(tǒng)的操控單元進(jìn)行信息交互;
3)一路RS422,用來(lái)實(shí)現(xiàn)顯示器的4個(gè)不同頁(yè)面(綜合顯示頁(yè)面、觀瞄頁(yè)面、態(tài)勢(shì)頁(yè)面以及導(dǎo)引頭頁(yè)面)的切換。
操控板系統(tǒng)框圖如圖1所示,解算板系統(tǒng)框圖如圖2所示,顯控板系統(tǒng)框圖如圖3所示。
圖1 操控板系統(tǒng)框圖
圖2 解算板系統(tǒng)框圖
發(fā)控軟件根據(jù)嵌入式軟件的設(shè)計(jì)思想把發(fā)控軟件分為BSP(硬件驅(qū)動(dòng)程序)和應(yīng)用程序兩部分。
1)BSP(硬件驅(qū)動(dòng)程序)。其目標(biāo)是在組成發(fā)控系統(tǒng)的硬件與在發(fā)控系統(tǒng)中運(yùn)行的應(yīng)用程序之間提供一個(gè)固定的接口。該接口可用來(lái)在未知系統(tǒng)硬件和運(yùn)行狀態(tài)的情況下對(duì)應(yīng)用軟件進(jìn)行開(kāi)發(fā)。大多數(shù)硬件可以在對(duì)應(yīng)用軟件無(wú)任何影響的情況下變更,BSP的存在保證了系統(tǒng)應(yīng)用軟件的高效運(yùn)行。BSP包括對(duì)應(yīng)用軟件的控制、調(diào)度和對(duì)I/O過(guò)程的局部參與的控制。通過(guò)BSP,應(yīng)用軟件在邏輯上與硬件隔離。
圖3 顯控板系統(tǒng)框圖
發(fā)控軟件中的BSP包括串口驅(qū)動(dòng)、CAN口驅(qū)動(dòng)、I/O 驅(qū)動(dòng)、顯卡 驅(qū)動(dòng)、定時(shí)器驅(qū)動(dòng)。
圖4 應(yīng)用程序調(diào)用硬件驅(qū)動(dòng)程序
在嵌入式系統(tǒng)中調(diào)用BSP通常有三種方式:應(yīng)用程序直接調(diào)用、應(yīng)用程序通過(guò)操作系統(tǒng)內(nèi)核調(diào)用以及應(yīng)用程序通過(guò)操作系統(tǒng)的擴(kuò)展模塊進(jìn)行調(diào)用。發(fā)控系統(tǒng)軟件中采用了這三種調(diào)用方式,圖4所示為應(yīng)用程序調(diào)用硬件驅(qū)動(dòng)程序。
圖5 軟件設(shè)計(jì)流程圖
2)應(yīng)用程序。主要目標(biāo)是通過(guò)調(diào)用底層軟件完成發(fā)控系統(tǒng)相應(yīng)的功能。應(yīng)用程序與硬件在邏輯上是隔離的,因此當(dāng)整個(gè)軟件完成以后,如果硬件設(shè)計(jì)方面不理想而需要改動(dòng)時(shí),只需改動(dòng)BSP即可,由此極大地方便了軟件的維護(hù)性以及系統(tǒng)的升級(jí)。在保證系統(tǒng)實(shí)時(shí)性和可靠性的前提下,采用多任務(wù)調(diào)度及時(shí)間片輪轉(zhuǎn)的方法,多任務(wù)劃分的原則有:I/O依賴(lài)性原則、時(shí)間關(guān)鍵性的功能原則、大計(jì)算量的功能原則、功能內(nèi)聚原則、時(shí)間內(nèi)聚原則、周期執(zhí)行的功能原則。根據(jù)多任務(wù)劃分的原則,發(fā)控系統(tǒng)操控單元的任務(wù)劃分為:CAN任務(wù)、串口任務(wù)、I/O 任務(wù);解算單元的任務(wù)劃分為:CAN任務(wù)、解算任務(wù);顯控單元的任務(wù)劃分為:CAN任務(wù)、串口任務(wù)、GUI任務(wù)。軟件設(shè)計(jì)流程圖如圖5所示。對(duì)于操控單元、解算單元和顯控單元的流程圖只需要依次替換圖5中的任務(wù)即可。
圖6 系統(tǒng)的集成調(diào)試過(guò)程
采用Abatron公司的BDI3000進(jìn)行在線調(diào)試應(yīng)用程序,可進(jìn)行單步調(diào)試、全速運(yùn)行、斷點(diǎn)設(shè)置、觀察點(diǎn)和跟蹤點(diǎn)設(shè)置、寄存器、內(nèi)存和堆棧察看、命令行接口等,使開(kāi)發(fā)者可以迅速方便的實(shí)現(xiàn)軟件的調(diào)試。
發(fā)控系統(tǒng)軟件在LambdaPRO中使用C語(yǔ)言開(kāi)發(fā),進(jìn)行調(diào)試的步驟如圖6所示。
發(fā)控系統(tǒng)通過(guò)采用嵌入式實(shí)時(shí)操作系統(tǒng)DeltaOS實(shí)現(xiàn)和管理系統(tǒng),構(gòu)建了一個(gè)基于MPC8280處理器的高性能計(jì)算、管理平臺(tái),以滿(mǎn)足系統(tǒng)的高速響應(yīng)和實(shí)時(shí)特性。通過(guò)對(duì)處理單元進(jìn)行軟件編程就可滿(mǎn)足各種系統(tǒng)功能,具有很強(qiáng)的擴(kuò)展能力和通用性,同時(shí)也有較好的可靠性和抗干擾能力,為將來(lái)實(shí)現(xiàn)復(fù)雜的控制提供了高性能的計(jì)算和管理平臺(tái)。經(jīng)測(cè)試、電氣聯(lián)試、仿真以及外場(chǎng)試驗(yàn)表明,系統(tǒng)在復(fù)雜惡劣環(huán)境下,具有較高的實(shí)時(shí)性和可靠性,完全滿(mǎn)足設(shè)計(jì)技術(shù)要求。
[1]張京.嵌入式軟件開(kāi)發(fā)[M].西安:西安電子科技大學(xué)出版社,2008.
[2]趙育善,吳斌.導(dǎo)彈引論[M].西安:西北工業(yè)大學(xué)出版社,2006.
[3]羅蕾.嵌入式實(shí)時(shí)操作系統(tǒng)及應(yīng)用開(kāi)發(fā)[M].北京:北京航空航天大學(xué)出版社,2005.
[4]李朋銅.嵌入式設(shè)計(jì)及通信設(shè)備開(kāi)發(fā)詳解——基于MPC82XX處理器[M].北京:機(jī)械工業(yè)出版社,2009.
[5]DeltaGUI3.0編程手冊(cè)[Z].北京科銀京成技術(shù)有限公司,2006.