徐鐵軍, 黃超凡, 馬 強(qiáng), 徐天蒙
(1 中國兵器工業(yè)第203研究所, 西安 710065; 2 國家電網(wǎng)山東電力公司, 濟(jì)南 250001)
基于模型的設(shè)計在彈載飛行控制器中軟件實現(xiàn)的應(yīng)用*
徐鐵軍1, 黃超凡1, 馬 強(qiáng)2, 徐天蒙1
(1 中國兵器工業(yè)第203研究所, 西安 710065; 2 國家電網(wǎng)山東電力公司, 濟(jì)南 250001)
基于模型的設(shè)計是面向越來越復(fù)雜的嵌入式控制器開發(fā)的一個創(chuàng)新的、高效的、具有長遠(yuǎn)前途的開發(fā)范式。采用基于模型的設(shè)計對于提升彈載飛行控制器研制部門自主開發(fā)能力具有重要的意義,文中以某型號彈載飛行控制器硬件為目標(biāo)平臺,按照基于模型的設(shè)計開發(fā)流程,實現(xiàn)了彈載飛行器產(chǎn)品級軟件開發(fā)。對飛行控制器實物輸出結(jié)果和仿真結(jié)果進(jìn)行對比和驗證,表明基于模型的設(shè)計在嵌入式控制器開發(fā)中所表現(xiàn)出的適用性和高效性。
基于模型的設(shè)計;彈載飛行控制器;軟件實現(xiàn)
為滿足當(dāng)前小型戰(zhàn)術(shù)導(dǎo)彈彈載電子設(shè)備的高性能、高可靠性、小型化和輕型化需求,彈載飛行控制器硬件平臺通常是由16位或32位嵌入式處理器或數(shù)字信號處理器(DSP)作為處理核心、輔以A/D轉(zhuǎn)換和D/A轉(zhuǎn)換電路、通訊電路或現(xiàn)場總線等外圍電路組成。隨著各種類型的高性能、低成本嵌入式處理器芯片及其外圍芯片的不斷涌現(xiàn),作為彈載飛行控制器的硬件平臺朝著通用化、模塊化方向發(fā)展,而且成本持續(xù)降低,性能不斷提升,硬件平臺已不再成為約束彈載飛行控制器發(fā)展的因素,因此,飛行控制器設(shè)計的工作側(cè)重點(diǎn)已轉(zhuǎn)移至其軟件實現(xiàn)、驗證、測試和維護(hù)上。
然而,隨著彈載飛行控制器在需求上,例如算法密集的信號處理、智能化等方面以及復(fù)雜性不斷升級,傳統(tǒng)的控制系統(tǒng)軟件開發(fā)模式遭遇到了發(fā)展瓶頸,為了應(yīng)對越來越復(fù)雜的控制系統(tǒng)需求,提高開發(fā)效率,縮短開發(fā)周期快速投放市場,尤其是在控制工程領(lǐng)域,在與嵌入式計算機(jī)系統(tǒng)設(shè)計相結(jié)合的過程中,經(jīng)過工程實踐及理論總結(jié),逐步形成了一種創(chuàng)新的開發(fā)范式,這就是基于模型的設(shè)計[1-3]。
對嵌入式控制器而言,基于模型的設(shè)計是對整個控制器包括控制器工作流程、I/O設(shè)備及其控制算法模型等部分,從數(shù)學(xué)的視角上看,以數(shù)據(jù)流驅(qū)動或事件驅(qū)動的方式,采用可視化的方框圖和狀態(tài)流圖的方式進(jìn)行描述,即建立模型,對模型及模型組成部分進(jìn)行持續(xù)性的測試和驗證,盡早發(fā)現(xiàn)和排除錯誤,從模型直接自動生成CC++語言程序或HDL語言代碼的過程,實現(xiàn)整個設(shè)計過程自動化。
圖1所示為基于模型的設(shè)計流程,可以看出,基于模型的設(shè)計具有很多突出優(yōu)勢:
1)整個開發(fā)過程以模型為主線,所有開發(fā)工作圍繞以模型形式的可執(zhí)行規(guī)范進(jìn)行,不依賴文本形式的規(guī)格說明書,便于開發(fā)團(tuán)隊(算法開發(fā)部門和控制器實現(xiàn)部門)之間緊密協(xié)作;
2)基于模型的設(shè)計在開發(fā)初期階段容易發(fā)現(xiàn)錯誤和排除錯誤;
3)圖形化的模塊建模方式具有天然的直觀性,易于建模,易理解、易測試、易維護(hù);
4)從模型直接生成標(biāo)準(zhǔn)的CC+++代碼或VHDL代碼,從設(shè)計到實現(xiàn)完全做到設(shè)計自動化,避免手寫代碼的繁瑣而又易錯的問題,極大提高生產(chǎn)效率。
筆者認(rèn)為基于模型的設(shè)計模式最大的優(yōu)勢是在各級開發(fā)階段的持續(xù)性的測試與驗證,保證在開發(fā)初期就能發(fā)現(xiàn)和排除盡可能多的錯誤,大大降低開發(fā)風(fēng)險,確保高品質(zhì)高效開發(fā)。NASA研究結(jié)果表明,嵌入式軟件在開發(fā)初期潛伏的錯誤未及早發(fā)現(xiàn),導(dǎo)致后期修復(fù)成本隨發(fā)現(xiàn)錯誤延時成級數(shù)增長。
需要強(qiáng)調(diào)的是,基于模型的設(shè)計不僅僅是建立模型,而高于建模,基于模型的設(shè)計的理念突現(xiàn)整個流程的開發(fā),從需求開始,經(jīng)過系統(tǒng)設(shè)計,再到整個控制器的產(chǎn)品級軟件的設(shè)計實現(xiàn)過程,無不突顯出對模型的驗證和確認(rèn)過程。
近年來,國內(nèi)高等院校、各研究院所和高科技公司的科研人員將基于模型的設(shè)計成功應(yīng)用于汽車電子、電機(jī)控制、飛行控制系統(tǒng)快速原型設(shè)計[4]、圖像識別跟蹤系統(tǒng)等嵌入式系統(tǒng)軟件實現(xiàn)方面[5]。
目前,國際大多數(shù)控制業(yè)界主流公司的建模、仿真和開發(fā)工具均支持和推崇基于模型的設(shè)計方法。支持從基于模型的設(shè)計方法的商業(yè)軟件工具有:
1)Simulink(Mathworks公司);
2)Targetlink(dSPACE公司);
3)VisSim(Altair公司);
4)ASCET(ETAS公司);
5)Lustre/SCADE(Verimag/Esterel-Technologies公司)。
開源軟件ScilabScicos也支持基于模型的設(shè)計。
文中采用MATLAB公司的Simulink和Embedded Coder產(chǎn)品,按照基于模型的設(shè)計流程進(jìn)行產(chǎn)品級軟件的開發(fā)。
文中的工作目標(biāo)是以某型反坦克導(dǎo)彈飛行控制器硬件為平臺,應(yīng)用基于模型的設(shè)計實現(xiàn)飛行控制器的產(chǎn)品級軟件。
圖2為某型飛行控制器硬件平臺,其核心是32位浮點(diǎn)數(shù)字信號處理器C6713,外部通過CPLD擴(kuò)展了多個外部設(shè)備,包括7路RS422串口通訊電路、1路CAN總線通訊電路,16路AD轉(zhuǎn)換電路和4路DA轉(zhuǎn)換電路。
按照基于模型的設(shè)計,對控制器軟件開發(fā)部門來說,按以下流程進(jìn)行:
1)根據(jù)飛行控制器的工作流程和時序邏輯,建立控制器的Stateflow模型,對模型進(jìn)行調(diào)試、測試仿真。由于Simulink是模塊可視化的仿真環(huán)境,因此調(diào)試、測試非常便利且節(jié)省資源。
2)對于完成控制算法模型與現(xiàn)實世界的交互的載體的I/O設(shè)備,在同一環(huán)境下,對I/O設(shè)備驅(qū)動程序采用S-function方式進(jìn)行模塊封裝。文中對控制器的RS422通訊、CAN總線通訊、AD采樣和DA輸出設(shè)備驅(qū)動進(jìn)行了封裝。
3)從控制律開發(fā)部門獲得的控制模型,該模型已經(jīng)通過仿真進(jìn)行測試和驗證,拿來即可用。軟件實現(xiàn)部門需要做的是將控制模型、I/O設(shè)備驅(qū)動模型、控制器行為模型進(jìn)行有效的系統(tǒng)集成。
圖3所示為某型飛行控制器系統(tǒng)模型。對模型進(jìn)行仿真測試、查錯并修改,對不合適的模塊進(jìn)行等效代替,使模型適于代碼生成。
4)對系統(tǒng)模型進(jìn)行規(guī)則檢查。
對系統(tǒng)模型的建模規(guī)則、安全相關(guān)準(zhǔn)則例如DO-178C等準(zhǔn)則進(jìn)行檢查。隨著模型復(fù)雜度的提高,人工檢查模型屬性、配置以及對于模型對特定規(guī)則標(biāo)準(zhǔn)的遵守度逐漸成為負(fù)擔(dān),使用Model Advisor工具可以自動進(jìn)行標(biāo)準(zhǔn)以及模型配置和屬性的檢查,并產(chǎn)生檢查報告。檢查的內(nèi)容:
①是否會導(dǎo)致仿真出錯;
②是否會導(dǎo)致生成的代碼無效;
③生成的代碼是否符合安全標(biāo)準(zhǔn)。
5)對模型進(jìn)行配置,自動生成代碼。
對模型進(jìn)行配置,設(shè)置優(yōu)化選項,生成針對TI C6000的特殊優(yōu)化的C程序。模型一經(jīng)確認(rèn)完畢,代碼一次成功生成。
6)在目標(biāo)系統(tǒng)開發(fā)環(huán)境下,對模型各部分及整個控制器模型進(jìn)行驗證和確認(rèn)。
將生成的源碼程序以及支持庫轉(zhuǎn)入TI的CCS3.3集成開發(fā)環(huán)境中,編譯和下載運(yùn)行,進(jìn)行控制器在線仿真,由實物在線仿真檢驗的控制器行為與預(yù)期是否符合,控制算法的輸出結(jié)果與仿真相符程度等。
圖4和圖5所示為2路獨(dú)立的控制指令的模型計算結(jié)果和控制器輸出結(jié)果對比,可以看出兩者完全保持一致。
上述數(shù)值試驗結(jié)果表明,模型自動生成代碼與原模型在數(shù)值上具備高度的等效性。
文獻(xiàn)[1-2]中,對專業(yè)級手寫代碼和基于模型的自動生成代碼在占用ROM和RAM方面進(jìn)行了對比,表明自動生成代碼已經(jīng)能夠達(dá)到甚至超過手寫代碼的效率。這就節(jié)省出大量的手工編碼、排錯和測試驗證方面的投入,大大提高軟件生產(chǎn)率。
因此,采用基于模型的設(shè)計完全可以實現(xiàn)高效的飛行控制器產(chǎn)品級軟件開發(fā)。
綜上所述,采用基于模型的設(shè)計,能夠顯著降低整個開發(fā)過程的投入,加快彈載飛行控制器軟件開發(fā)。因此,基于模型的設(shè)計作為當(dāng)前及未來應(yīng)對復(fù)雜嵌入式系統(tǒng)軟件設(shè)計困境的利器之一,它是一種創(chuàng)新的、具有長遠(yuǎn)發(fā)展前途的設(shè)計范式。毫無疑問,基于模型的設(shè)計對于提升彈載飛行控制器研發(fā)部門的軟件開發(fā)能力升級具有非常重要的意義。
[1] 劉杰. 基于模型的設(shè)計及其嵌入式實現(xiàn) [M]. 北京: 北京航空航天出版社, 2010: 345-347.
[2] 劉杰. 基于模型的設(shè)計: MCU篇 [M]. 北京: 北京航空航天出版社, 2011: 421-425.
[3] 劉杰. 基于模型的設(shè)計: DSP篇 [M]. 北京: 國防工業(yè)出版社, 2011: 282-284.
[4] 李強(qiáng), 王民鋼, 楊堯. 飛行控制系統(tǒng)快速原型設(shè)計與實現(xiàn) [J]. 計算機(jī)測量與控制, 2009, 17(7): 1305-1307.
[5] 范哲意, 周治國, 劉志文, 等. 基于TMS320DM642和模型化設(shè)計的圖像跟蹤實驗系統(tǒng) [J]. 實驗技術(shù)與管理, 2013, 30(3): 74-77.
ApplicationofModelBasedDesigninSoftwareImplementationofMissileBorneFlightController
XU Tiejun1, HUANG Chaofan1, MA Qiang2, XU Tianmeng1
(1 No.203 Research Institute of China Ordnance Industries, Xi’an 710065, China; 2 State Grid Shandong Electric Power Company, Jinan 250001, China)
MBD was a creative, efficient development paradigm with long term future for more and more complex embedded controller development. Adopting MBD had great significance for improving the autonomous development ability of missile-borne flight controller development department. In this paper, a certain type of missile borne flight controller hardware was taken as the target platform, according to the model based design and development process, the product level software development of missile borne aircraft was realized. The output results and simulation results of flight controller object were compared and validated, which showed the applicability and efficiency of model-based design in the development of embedded controller.
model-based design (MBD); missile-borne flight controller; software implementation
TJ765.2
A
2016-03-09
徐鐵軍(1976-),男,陜西西安人,高級工程師,博士研究生,研究方向:工程電磁場計算、電子線路設(shè)計與仿真、彈載電子設(shè)備及嵌入式系統(tǒng)開發(fā)。