汪慧敏,王明惠
(中國(guó)空空導(dǎo)彈研究院,河南 洛陽(yáng) 471009)
隨著飛行器技術(shù)的發(fā)展,對(duì)飛行控制軟件(以下簡(jiǎn)稱飛控軟件)提出更高的要求,不僅要求解算速度快,且處理的控制算法也越來(lái)越復(fù)雜,使得計(jì)算量變大,占用了大量的時(shí)間,造成飛控軟件機(jī)時(shí)緊張,不滿足時(shí)間余量20%的要求[1]。一個(gè)DSP 的計(jì)算控制能力已經(jīng)不能滿足型號(hào)研制需求,綜合考慮多種方案,就技術(shù)的成熟性、可行性及型號(hào)研制周期考慮,在計(jì)算機(jī)的計(jì)算能力沒有足夠裕量的條件下采用雙DSP方案,即采用2 塊DSP 芯片。雙DSP 系統(tǒng)的優(yōu)點(diǎn)在于可以通過計(jì)算能力的均勻分布,使系統(tǒng)具有較好的冗余能力、更快的處理速度、模塊化的體系結(jié)構(gòu)[2]。
雙DSP 方案選用型號(hào)研制中已經(jīng)成熟應(yīng)用的DSP 作為處理器,采用主從式設(shè)計(jì)結(jié)構(gòu)[3]。主從DSP 協(xié)調(diào)配合,共同完成軟件功能。該方案DSP 選型相同,相對(duì)原來(lái)的設(shè)計(jì)改動(dòng)比較小,硬件設(shè)計(jì)和操作系統(tǒng)設(shè)計(jì)相似,大部分可繼承原來(lái)的設(shè)計(jì),既縮短了研制時(shí)間,又減少了研制風(fēng)險(xiǎn)。
雙DSP 方案硬件上主要增加了1 個(gè)DSP 以及2 個(gè)DSP通訊用的雙口RAM[4],2 個(gè)DSP 之間采用GPIO (通用IO)接口作為同步信號(hào)。主DSP 與外圍接口通訊,從DSP 通過雙口RAM 與主DSP 通訊,交換數(shù)據(jù)。主DSP 處理飛控計(jì)算機(jī)外部的中斷,中斷可分為定時(shí)觸發(fā)的中斷(INT0 中斷以及INT1 中斷)以及非定時(shí)觸發(fā)的中斷(INT2 中斷等)。從DSP響應(yīng)INT0 中斷以及INT1 中斷,由主DSP 向從DSP 發(fā)送信號(hào),通知從DSP,使從DSP 響應(yīng)中斷,與主DSP 同步處理數(shù)據(jù)。從DSP 中斷控制是由主DSP 通過軟件實(shí)現(xiàn)的,靈活性強(qiáng)。
基于雙DSP 設(shè)計(jì),就要對(duì)主從DSP 上運(yùn)行的飛控軟件進(jìn)行合理的任務(wù)分配。綜合考慮機(jī)時(shí)余量、通訊、可靠性等,根據(jù)軟件的結(jié)構(gòu)特點(diǎn)和各模塊軟件運(yùn)行時(shí)間進(jìn)行分析,穩(wěn)定算法運(yùn)行時(shí)間較長(zhǎng),約占整個(gè)軟件運(yùn)行機(jī)時(shí)的40%,且穩(wěn)定算法相對(duì)獨(dú)立,只在自主段執(zhí)行,和其它模塊交互的信息相對(duì)單一。因此把穩(wěn)定算法放在從DSP 上實(shí)現(xiàn)。
1)主DSP 完成工作
a)設(shè)置并產(chǎn)生(輸出)從DSP 的中斷(INT0,INT1(暫時(shí)不用));
b)與從DSP 進(jìn)行信息交換;
c)與所有硬件及接口的信息交換工作;
d)飛控軟件時(shí)序調(diào)度。
2)從DSP 完成工作
a)響應(yīng)INT0、INT1 中斷;
b)飛控穩(wěn)定算法計(jì)算工作;
c) 與主DSP 進(jìn)行信息交換。
為了防止程序燒寫錯(cuò)誤,飛控軟件主從DSP 上運(yùn)行的為同一工程,所有存儲(chǔ)區(qū)影射完全相同。依據(jù)主從DSP 標(biāo)志(主DSP 上運(yùn)行ProgFlag=1 的分支,從DSP 上運(yùn)行ProgFlag=0 的分支)運(yùn)行同一工程不同的程序分支。
飛控軟件處理流程見圖1。
從DSP 的中斷的產(chǎn)生是由主DSP 控制的,為了盡量避免穩(wěn)定算法利用的角速度(從導(dǎo)航算法來(lái))的延遲,當(dāng)主DSP導(dǎo)航模塊計(jì)算出角增量后,向從DSP 發(fā)出中斷使能信號(hào),從DSP 產(chǎn)生中斷。導(dǎo)航模塊處理流程見圖2。
針對(duì)當(dāng)前的飛控軟件版本,根據(jù)雙DSP 飛控軟件設(shè)計(jì)方案,形成了雙DSP 下的飛控軟件。軟件代碼經(jīng)走查分析[5]確認(rèn)無(wú)誤后,在雙DSP 樣機(jī)上,利用飛控軟件實(shí)時(shí)仿真系統(tǒng)進(jìn)行了系統(tǒng)仿真驗(yàn)證。
軟件實(shí)時(shí)動(dòng)態(tài)仿真系統(tǒng)[6]采用基于嵌入式軟件半實(shí)物仿真的思想進(jìn)行開發(fā)。該系統(tǒng)采用真實(shí)的飛控計(jì)算機(jī)作為飛控軟件運(yùn)行的載體,用軟件模擬飛控系統(tǒng)發(fā)揮功能所需要的外部模型,用硬件接口板和實(shí)時(shí)操作系統(tǒng)實(shí)現(xiàn)兩者間的高速實(shí)時(shí)通信,用硬件中斷源驅(qū)動(dòng)軟件和模型的運(yùn)行,建立了一個(gè)實(shí)時(shí)動(dòng)態(tài)的飛控軟件運(yùn)行環(huán)境,較為真實(shí)地模擬出飛控軟件的運(yùn)行環(huán)境。
圖1 飛控軟件處理流程
圖2 導(dǎo)航模塊處理流程
根據(jù)軟件仿真大綱規(guī)定的仿真條件,對(duì)同一技術(shù)狀態(tài)的單DSP 和雙DSP 方案的軟件進(jìn)行仿真,將各條件仿真結(jié)果進(jìn)行對(duì)比,關(guān)鍵參數(shù)一致。另外對(duì)關(guān)鍵參數(shù)仿真曲線進(jìn)行對(duì)比,見圖3 和圖4。圖3、4 中實(shí)線INY_s、INZ_s 分別為Y、Z向控制指令單DSP 仿真曲線,虛線INY_t、INZ_t 分別為Y、Z向控制指令雙DSP 仿真曲線,從圖3、4 中可以看出曲線吻合較好,說明雙DSP 方案飛控軟件正確實(shí)現(xiàn)算法功能。
圖3 Y 向控制指令
圖4 Z 向控制指令
實(shí)行雙DSP 方案后,計(jì)算機(jī)的處理能力提高了一倍。根據(jù)現(xiàn)階段軟件模塊工作時(shí)間計(jì)算,分配到兩個(gè)DSP 后,主從DSP 機(jī)時(shí)均至少留有40%的余量。
采用雙DSP 方案設(shè)計(jì),計(jì)算機(jī)的處理能力大大提高。且雙DSP 方案硬件設(shè)計(jì)改動(dòng)小,軟件設(shè)計(jì)繼承性強(qiáng),因此研制周期短,研制風(fēng)險(xiǎn)低。該項(xiàng)目可以供研制周期短,研制經(jīng)費(fèi)緊張的項(xiàng)目借鑒或使用,提供了多DSP 數(shù)據(jù)處理器并行控制的可行性。
[1]張文山,羅生.嵌入式系統(tǒng)軟件實(shí)現(xiàn)常見問題分析[J].航空兵器,2007(6):47-49.
[2]戈和偉,田高禮.雙余度DSP 數(shù)據(jù)采集裝置在某型控制器中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2012(11):42-46.
[3]宋健,李樹廣. 基于雙DSP 的數(shù)據(jù)采集控制系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2010,29(3):31-33.
[4]秦鴻剛,劉京科,吳迪.基于FPGA 的雙口RAM 實(shí)現(xiàn)及應(yīng)用[J].電子設(shè)計(jì)工程,2010,18(2):72-74.
[5]宋龍,張文山,靳凌.空空導(dǎo)彈彈載制導(dǎo)控制系統(tǒng)軟件的關(guān)鍵技術(shù)研究[J].航空兵器,2004(2):19-22.
[6]王明惠,劉增明,呂梅柏.一種基于DSP 目標(biāo)板的嵌入式軟件仿真系統(tǒng)設(shè)計(jì)[J].航空兵器,2011(1):52-55.
[7]董成基,齊杏林,呂靜,等.飛行控制軟件測(cè)試用例生成技術(shù)[J].兵工自動(dòng)化,2012(9):93-96.