徐鐵軍, 黃超凡, 馬 強, 徐天蒙
(1 中國兵器工業第203研究所, 西安 710065; 2 國家電網山東電力公司, 濟南 250001)
基于模型的設計在彈載飛行控制器中軟件實現的應用*
徐鐵軍1, 黃超凡1, 馬 強2, 徐天蒙1
(1 中國兵器工業第203研究所, 西安 710065; 2 國家電網山東電力公司, 濟南 250001)
基于模型的設計是面向越來越復雜的嵌入式控制器開發的一個創新的、高效的、具有長遠前途的開發范式。采用基于模型的設計對于提升彈載飛行控制器研制部門自主開發能力具有重要的意義,文中以某型號彈載飛行控制器硬件為目標平臺,按照基于模型的設計開發流程,實現了彈載飛行器產品級軟件開發。對飛行控制器實物輸出結果和仿真結果進行對比和驗證,表明基于模型的設計在嵌入式控制器開發中所表現出的適用性和高效性。
基于模型的設計;彈載飛行控制器;軟件實現
為滿足當前小型戰術導彈彈載電子設備的高性能、高可靠性、小型化和輕型化需求,彈載飛行控制器硬件平臺通常是由16位或32位嵌入式處理器或數字信號處理器(DSP)作為處理核心、輔以A/D轉換和D/A轉換電路、通訊電路或現場總線等外圍電路組成。隨著各種類型的高性能、低成本嵌入式處理器芯片及其外圍芯片的不斷涌現,作為彈載飛行控制器的硬件平臺朝著通用化、模塊化方向發展,而且成本持續降低,性能不斷提升,硬件平臺已不再成為約束彈載飛行控制器發展的因素,因此,飛行控制器設計的工作側重點已轉移至其軟件實現、驗證、測試和維護上。
然而,隨著彈載飛行控制器在需求上,例如算法密集的信號處理、智能化等方面以及復雜性不斷升級,傳統的控制系統軟件開發模式遭遇到了發展瓶頸,為了應對越來越復雜的控制系統需求,提高開發效率,縮短開發周期快速投放市場,尤其是在控制工程領域,在與嵌入式計算機系統設計相結合的過程中,經過工程實踐及理論總結,逐步形成了一種創新的開發范式,這就是基于模型的設計[1-3]。
對嵌入式控制器而言,基于模型的設計是對整個控制器包括控制器工作流程、I/O設備及其控制算法模型等部分,從數學的視角上看,以數據流驅動或事件驅動的方式,采用可視化的方框圖和狀態流圖的方式進行描述,即建立模型,對模型及模型組成部分進行持續性的測試和驗證,盡早發現和排除錯誤,從模型直接自動生成CC++語言程序或HDL語言代碼的過程,實現整個設計過程自動化。
圖1所示為基于模型的設計流程,可以看出,基于模型的設計具有很多突出優勢:
1)整個開發過程以模型為主線,所有開發工作圍繞以模型形式的可執行規范進行,不依賴文本形式的規格說明書,便于開發團隊(算法開發部門和控制器實現部門)之間緊密協作;
2)基于模型的設計在開發初期階段容易發現錯誤和排除錯誤;
3)圖形化的模塊建模方式具有天然的直觀性,易于建模,易理解、易測試、易維護;
4)從模型直接生成標準的CC+++代碼或VHDL代碼,從設計到實現完全做到設計自動化,避免手寫代碼的繁瑣而又易錯的問題,極大提高生產效率。
筆者認為基于模型的設計模式最大的優勢是在各級開發階段的持續性的測試與驗證,保證在開發初期就能發現和排除盡可能多的錯誤,大大降低開發風險,確保高品質高效開發。NASA研究結果表明,嵌入式軟件在開發初期潛伏的錯誤未及早發現,導致后期修復成本隨發現錯誤延時成級數增長。
需要強調的是,基于模型的設計不僅僅是建立模型,而高于建模,基于模型的設計的理念突現整個流程的開發,從需求開始,經過系統設計,再到整個控制器的產品級軟件的設計實現過程,無不突顯出對模型的驗證和確認過程。
近年來,國內高等院校、各研究院所和高科技公司的科研人員將基于模型的設計成功應用于汽車電子、電機控制、飛行控制系統快速原型設計[4]、圖像識別跟蹤系統等嵌入式系統軟件實現方面[5]。
目前,國際大多數控制業界主流公司的建模、仿真和開發工具均支持和推崇基于模型的設計方法。支持從基于模型的設計方法的商業軟件工具有:
1)Simulink(Mathworks公司);
2)Targetlink(dSPACE公司);
3)VisSim(Altair公司);
4)ASCET(ETAS公司);
5)Lustre/SCADE(Verimag/Esterel-Technologies公司)。
開源軟件ScilabScicos也支持基于模型的設計。
文中采用MATLAB公司的Simulink和Embedded Coder產品,按照基于模型的設計流程進行產品級軟件的開發。
文中的工作目標是以某型反坦克導彈飛行控制器硬件為平臺,應用基于模型的設計實現飛行控制器的產品級軟件。
圖2為某型飛行控制器硬件平臺,其核心是32位浮點數字信號處理器C6713,外部通過CPLD擴展了多個外部設備,包括7路RS422串口通訊電路、1路CAN總線通訊電路,16路AD轉換電路和4路DA轉換電路。
按照基于模型的設計,對控制器軟件開發部門來說,按以下流程進行:
1)根據飛行控制器的工作流程和時序邏輯,建立控制器的Stateflow模型,對模型進行調試、測試仿真。由于Simulink是模塊可視化的仿真環境,因此調試、測試非常便利且節省資源。
2)對于完成控制算法模型與現實世界的交互的載體的I/O設備,在同一環境下,對I/O設備驅動程序采用S-function方式進行模塊封裝。文中對控制器的RS422通訊、CAN總線通訊、AD采樣和DA輸出設備驅動進行了封裝。
3)從控制律開發部門獲得的控制模型,該模型已經通過仿真進行測試和驗證,拿來即可用。軟件實現部門需要做的是將控制模型、I/O設備驅動模型、控制器行為模型進行有效的系統集成。
圖3所示為某型飛行控制器系統模型。對模型進行仿真測試、查錯并修改,對不合適的模塊進行等效代替,使模型適于代碼生成。
4)對系統模型進行規則檢查。
對系統模型的建模規則、安全相關準則例如DO-178C等準則進行檢查。隨著模型復雜度的提高,人工檢查模型屬性、配置以及對于模型對特定規則標準的遵守度逐漸成為負擔,使用Model Advisor工具可以自動進行標準以及模型配置和屬性的檢查,并產生檢查報告。檢查的內容:
①是否會導致仿真出錯;
②是否會導致生成的代碼無效;
③生成的代碼是否符合安全標準。
5)對模型進行配置,自動生成代碼。
對模型進行配置,設置優化選項,生成針對TI C6000的特殊優化的C程序。模型一經確認完畢,代碼一次成功生成。
6)在目標系統開發環境下,對模型各部分及整個控制器模型進行驗證和確認。
將生成的源碼程序以及支持庫轉入TI的CCS3.3集成開發環境中,編譯和下載運行,進行控制器在線仿真,由實物在線仿真檢驗的控制器行為與預期是否符合,控制算法的輸出結果與仿真相符程度等。
圖4和圖5所示為2路獨立的控制指令的模型計算結果和控制器輸出結果對比,可以看出兩者完全保持一致。
上述數值試驗結果表明,模型自動生成代碼與原模型在數值上具備高度的等效性。
文獻[1-2]中,對專業級手寫代碼和基于模型的自動生成代碼在占用ROM和RAM方面進行了對比,表明自動生成代碼已經能夠達到甚至超過手寫代碼的效率。這就節省出大量的手工編碼、排錯和測試驗證方面的投入,大大提高軟件生產率。
因此,采用基于模型的設計完全可以實現高效的飛行控制器產品級軟件開發。
綜上所述,采用基于模型的設計,能夠顯著降低整個開發過程的投入,加快彈載飛行控制器軟件開發。因此,基于模型的設計作為當前及未來應對復雜嵌入式系統軟件設計困境的利器之一,它是一種創新的、具有長遠發展前途的設計范式。毫無疑問,基于模型的設計對于提升彈載飛行控制器研發部門的軟件開發能力升級具有非常重要的意義。
[1] 劉杰. 基于模型的設計及其嵌入式實現 [M]. 北京: 北京航空航天出版社, 2010: 345-347.
[2] 劉杰. 基于模型的設計: MCU篇 [M]. 北京: 北京航空航天出版社, 2011: 421-425.
[3] 劉杰. 基于模型的設計: DSP篇 [M]. 北京: 國防工業出版社, 2011: 282-284.
[4] 李強, 王民鋼, 楊堯. 飛行控制系統快速原型設計與實現 [J]. 計算機測量與控制, 2009, 17(7): 1305-1307.
[5] 范哲意, 周治國, 劉志文, 等. 基于TMS320DM642和模型化設計的圖像跟蹤實驗系統 [J]. 實驗技術與管理, 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-),男,陜西西安人,高級工程師,博士研究生,研究方向:工程電磁場計算、電子線路設計與仿真、彈載電子設備及嵌入式系統開發。