設計應用

基于RCP的嵌入式快速開發及半實物仿真技術

0 引言

    當今社會,在各類控制系統的研發過程中,仿真已經成為工程師檢驗產品性能的一個重要手段。早期的嵌入式控制系統開發流程中,由于系統開發前期缺少有效的實時驗證手段,設計師必須要等到系統硬件完成后才能進行檢驗,往往需要付出昂貴的代價[1]。后來隨著快速控制原型技術(Rapid Control Prototype,RCP)的引入,工程師可以通過在通用仿真計算機上建立產品的快速原型進行仿真,從而達到實時檢測產品性能的目的,大大節約了開發時間和成本[2]。傳統的嵌入式控制系統設計中,設計者利用MATLAB/Simulink作為前端建模工具,可以快速建立對象模型[3],但面臨的問題一般是模型到可執行代碼的有效轉換以及建模工具與嵌入式開發平臺的無縫對接,這一步包括模型的編譯以及開發環境的配置,仍需要大量手工編寫代碼和嵌入式系統的專業知識。

    為解決此類問題,本課題提出,基于快速控制原型技術,向Simulink庫添加自定義的嵌入式系統集成模塊的方案,從而達到圖形化配置嵌入式工程的目的,避免了大量的手動代碼編寫和繁瑣的硬件參數配置。

1 快速控制原型技術

    快速控制原型技術起源于快速原型(Rapid Prototype,RP)技術。20世紀90年代初,美國福特公司為了降低車用嵌入式控制器的研發時間和成本,將快速原型技術引入了控制器開發領域,這種技術就稱為快速控制原型技術[3-4]。

    RCP技術本質上屬于一種基于模型的算法設計及半物理仿真。鑒于純數學仿真的置信度有限,其結果往往僅作參考,而RCP技術基于半物理仿真參與研發過程,將工程師開發的算法下載到實時仿真計算機硬件平臺上,通過該仿真機中與產品控制器完全一致的實際I/O口與被控對象實物連接,進行實時仿真,檢驗算法性能[5],并可以快速反復修改,最終生成目標代碼燒寫到硬件系統以形成最終的產品[6-7]。

    RCP技術最大的特點是快速、簡便、經濟,極大地提高了研制效率,復雜的程序編寫可以通過建立數學模型來實現,工程師的工作重點將主要集中于模型的建立和算法的設計等抽象層面,而不用糾結于程序bug調試和物理實現問題[8]。在實際應用上,RCP仿真可以與另一種半物理仿真——硬件在回路(Hardware in the Loop,HIL)仿真系統互補,相輔相成[1,9]。

    本課題以美國Concurrent iHawk并行仿真計算機系統為平臺[3],圖1給出了快速原型系統仿真平臺示意圖[10]。

qrs2-t1.gif

    該系統具有以下特點:

    (1)擁有運算能力強大的并行仿真計算機及豐富的、多協議的I/O接口;

    (2)在Simulink的環境下實現了離線模型和在線模型的無縫轉換;

    (3)Simulation Workbench仿真工作平臺,提供了一個完全集成的、與第三方建模軟件兼容的環境;

    (4)Simbox仿真計算機擁有雙CPU的并行處理器系統,并且內置了A/D采集卡,定時/計數器板卡,多串口卡等多種板卡和豐富的I/O接口。

2 設計與過程

2.1 大氣數據計算機

    本課題針對的實驗載體是通用大氣數據計算機(Air Data Computer,ADC),所謂大氣數據計算機,是指針對大氣數據的處理系統,是現代飛機上十分重要的一類機載電子設備,以微處理器為核心,利用傳感器傳來的少量信息,快速地計算出其他需要的大氣相關數據,通常包括:大氣總壓、靜壓、總溫、迎角等[11]。

    傳統的嵌入式開發過程,通常是將硬件設計和軟件設計分開進行,也即,根據系統的需求和性能,設計模型和算法,再根據所建立的模型算法進行嵌入式開發板硬件方面的配置。因此對于設計者而言,不僅要掌握所設計系統方面的知識,更要對嵌入式系統的開發過程和C語言的程序編寫有一定的了解。而本課題的創新之處在于,基于快速控制原型技術,不僅可以利用Simulink庫自帶的RTW工具將模型轉換成針對目標硬件平臺的嵌入式C代碼,而且可以通過向Simulink庫添加自定義的STM32集成模塊,從而達到圖形化配置嵌入式工程的目的,避免了大量的手動代碼編寫和繁瑣的硬件參數配置。

2.2 算法設計與模型建立

    根據相關文獻[12-13],各解算參數方程式表達如下。

    (1)氣壓高度

    H<11 000 m時,位于對流層,

qrs2-gs1-3.gif

    代入已知值,Tb=216.5 K,Pb=22.632 kPa,Hb=11 000 m,

qrs2-gs4-10.gif

式中,Ma為馬赫數。

    (3)指示空速

    指示空速是指以標準海平面的大氣條件為基礎,將真空速歸化到標準海平面所得到的速度值,又稱表速,表示的是飛行器空氣動力的大小。馬赫數小于1時:

qrs2-gs4-11-14.gif

    以上得到的是表征ADC輸入輸出參數數學關系的方程式,是ADC解算大氣數據的數學基礎,后續的Simulink建模便建立于上述一組數學模型基礎上。

2.3 STM32與Simulink的集成

    本課題的創新之處在于,基于快速控制原型技術,提出向Simulink庫添加自定義的STM32集成模塊的方案,從而達到圖形化配置嵌入式工程的目的,避免了大量的手動代碼編寫和繁瑣的硬件參數配置。

    傳統的開發過程中,Simulink與STM32有一定的結合,但并不完善,關鍵在于Simulink只能對所建立的數學模型進行創建修改以及C代碼生成,而并不涉及任何和STM32有關的開發環境的配置,而且原本Simulink上只有針對通用32位處理器的系統目標文件,這樣生成的代碼在可讀性和移植性上有不少的缺陷。

    因此,本課題將ST意法半導體官方發布的開發固件庫STM32-MAT/TARGET集成到Simulink模型庫里面,利用Simulink強大的圖形化建模能力,將離線模型建立與STM32外設模塊結合起來,共同包含于快速控制原型仿真模型的搭建中。

    目前ST官方的STM32-MAT/TARGET,支持F3、F4系列的開發板,將固件庫下載安裝后通過pathtool命令讓MATLAB包含固件庫的路徑,之后在Simulink模型庫里便會出現與STM32相關的集成模塊。

    模塊里面包括MCU和ADC、DAC、定時器、串口等外設的配置,這些模塊的操作和普通Simulink模塊的操作基本相同,唯一不同的是,有關MCU時鐘系統和一些外設端口選擇的配置需要用到另一個軟件。在Simulink中,先把大氣數據計算機的仿真模型搭建如圖2所示。

qrs2-t2.gif

    模型基本思路就是將靜壓、總壓和總溫作為輸入,通過各自的模塊算出氣壓高度、空速等數據,將其打包成一幀數據包,然后發送到串口模塊。

    STM32CubeMX和STM32-Mat/Target與MATLAB/Simu-link的結合,將復雜繁瑣的手工編程轉換成直觀簡便的圖形配置。模型建立在Simulink里通過模塊連線完成,開發環境的配置在STM32CubeMX里通過圖形化界面完成。

2.4 自動生成代碼

    RCP技術最重要工具之一就是基于模型的自動代碼生成?;谀P驮O計就要摒棄手寫代碼的過程,將更多的精力放在算法的開發上,利用Simulink圖形化的特點,快速高效地將算法自動生成代碼。

    Simulink的仿真參數設置里會出現STM32相關的配置,包括tlc文件和tmf文件的選擇以及STM32CubeMX生成的ioc文件的選取,之后生成代碼報告。

    最后在STM32CubeMX中配置生成Keil MDK工程文件。

2.5 半實物仿真與結果分析

    將2.4節所生成的程序編譯燒寫到STM32開發板上,利用RS232串口連接到電腦,并在電腦上通過Simulink搭建圖3所示程序用于接收數據并解包展示。

qrs2-t3.gif

    利用Simbox仿真計算機搭建數據發送的模型,該模型向ADC原型系統發送相關原始數據。該模型在Simulation Workbench的環境下編譯代碼并生成RTDB變量,原始數據通過RTDB變量映射到仿真機的MOXA CP-118EL-A多串口板卡上[3],再利用硬件協議RS232的串口向ADC原型系統的USART3串口發送,STM32接收到原始數據后開始進行相關大氣數據的解算。

    在運行圖3所示的第二套仿真程序的同時,打開STM32進行數據傳輸,觀察數據與預期的是否一致,結果如圖4所示。

qrs2-t4.gif

    圖4中,輸出的5組數據分別是氣壓高度、馬赫數、靜溫、指示空速和真空速,點線代表原始ADC模型數學仿真得到的輸出,條線代表半實物仿真PC實際接收到的ADC原型系統解算的大氣數據??梢钥闯?,5組實際數據都能較好地跟蹤理論數據,說明所搭建的快速原型系統與程序達到了與理論數學模型相符合的預期。圖4(a)、(c)、(d)、(e)中實際曲線相對平滑,過渡自然,取得了較好的效果;圖4(b)中由于馬赫數變化在10-2~10-3數量級,波動較為劇烈,因此實際曲線相對粗糙,有望在后續的研究中通過濾波等處理得到更為光滑的曲線??傮w而言所建立的ADC原型系統取得了較好的效果。

3 結論

    本課題在分析基于RCP技術的基礎上,通過向MATLAB/Simulink集成STM32-Mat開發固件庫的方法,再結合STM32CubeMX配置開發環境,提出了一種快速開發STM32工程的方法,并將該方法成功應用于航空電子大氣數據計算機嵌入式軟件工程實踐中。

    本課題中所用到的STM32開發板相當于建立的快速原型系統,它具有與未來產品——大氣數據計算機相同的功能和豐富的I/O接口,從而可以作為原型系統進行半實物仿真。而STM32-MAT/TARGET的作用則是將STM32的各種模塊集成到Simulink庫,從而可以利用自動代碼生成功能將其快速轉換成嵌入式代碼。STM32CubeMX用于圖形化直觀配置基本環境。三者結合,可以快速搭建一套原型系統,對“產品”進行半實物仿真。且遇到問題時,可以直接在模型上對包括STM32各種模塊在內的所有環節進行直接更改,而傳統的嵌入式開發除了模型需要更改以外,還需要花大量時間對程序以及開發環境進行再配置,最重要的是,沒有STM32-MAT/TARGET的支持,模型生成的代碼缺少STM32相關模塊及tlc等配置文件,在與開發板的適配過程中將會有不少的問題。

    因此,本課題提出的基于RCP技術,結合STM32-MAT/TARGET與STM32CubeMX進行嵌入式開發,建立快速原型系統,實現半實物仿真,可以在原有基礎上大大節省時間與成本,提高開發效率,具有一定的工程價值。

參考文獻

[1] 楊向忠,安錦文,崔文革.快速控制原型仿真技術應用[J].航天控制,2009,27(2):72-75.

[2] GREPL R,LEE B.Modeling, parameter estimation and nonlinear control of automotive electronic throttle using a Rapid-Control Prototyping technique[J].International Journal of Automotive Technology,2010,11(4):601-610.

[3] 徐軍.飛行控制系統:設計、原型系統及半物理仿真實驗[M].北京:北京理工大學出版社,2015.

[4] HUANG G,ZHAO L,LI Y,et al.Design of rapid prototype of UAV line-of-sight stabilized control system[C].Society of Photo-Optical Instrumentation Engineers,2018.

[5] MAO R,LI X G,PAN B F.Design of control system rapid prototyping for suborbital reusable launch vehicle[J].Electronic Design Engineering,2014,22(23):107-113.

[6] 董哲,劉寧勇,孫德輝.基于RTW和Linux的快速控制原型技術研究[J].計算機測量與控制,2012,20(9):2420-2422.

[7] YE Y L,ZHAO R.Rapid prototype design for control systems of underwater vehicles[J].Computer Simulation,2012,29(3):378-381.

[8] SHATRI V,KURTAJ L,LIMANI I.Hardware-in-the-Loop Architecture with MATLAB/Simulink and QuaRC for Rapid Prototyping of CMAC Neural Network Controller for Ball-and-Beam Plant[C].International Convention on Information and Communication Technology,Electronics and Microelectronics,2017:1201-1206.

[9] GREPL R.Real-time control prototyping in MATLAB/Simulink:review of tools for research and education in mechatronics[C].IEEE International Conference on Mechatronics,2011:881-886.

[10] BUCHER R,BALEMI S.Rapid controller prototyping with Matlab/Simulink and Linux[J].Control Engineering Practice,2006,14(2):185-192.

[11] 郝旭耀.無人機的大氣數據處理計算系統研究與設計[D].上海:上海應用技術學院,2015.

[12] 馬娟.數字式大氣數據計算機的軟件設計與實現[D].西安:西安電子科技大學,2012.

[13] 國鳳娟.基于ARM的大氣數據計算機設計與開發[D].沈陽:沈陽航空航天大學,2012.



作者信息:

黃雨可,徐  軍,虞江航

(北京理工大學 宇航學院,北京100081)

快速控制原型技術 STM32-MatTarget 大氣數據計算機 半實物仿真
湖南快乐十分