1 什么是基于模型的設計
基于模型的設計(Model-Based Design,MBD)是一種圍繞模型來展開的項目開發(fā)方法,其開發(fā)理念越來越受到關注。
雖然,人的想象力是無窮的,但肉眼可見的模型往往更能讓人理解和接受。
簡單的說,MBD就是對 項目的開發(fā)對象或目標產(chǎn)品進行精確建模 ,項目的需求分析、功能設計、系統(tǒng)框架設計、代碼生成、產(chǎn)品測試驗證等開發(fā)環(huán)節(jié),甚至項目流程管理、項目迭代開發(fā)管理、自動化文檔管理等管理環(huán)節(jié), 部分或全部在所建模型的基礎上展開的一種開發(fā)方式 。
在MBD開發(fā)中,模型是最終產(chǎn)品的高度數(shù)字化具現(xiàn),而最終產(chǎn)品的主要組件或功能都基于搭建的模型進行設計和開發(fā)。
基于模型的設計
作為對比,傳統(tǒng)的開發(fā)方法是線性展開的。由于傳統(tǒng)的開發(fā)中沒有對開發(fā)對象進行建模,不能形成一個中心點,項目的每一次推進,必須保證前面階段的開發(fā)工作已經(jīng)驗收完成。這種情況下,前期的設計缺陷如果沒能及時發(fā)現(xiàn),到了項目后期,其修復成本就會非常高。
傳統(tǒng)線性開發(fā)
此外,傳統(tǒng)的開發(fā)方法由于沒有中心模型,非常依賴前期的頂層設計和系統(tǒng)框架設計,這是抽象、不具體的任務,需要依賴以往的經(jīng)驗。
而MBD的具象化可不僅僅體現(xiàn)在產(chǎn)品形態(tài)上,產(chǎn)品的代碼、產(chǎn)品的測試都是可以直接由模型生成和實現(xiàn)的,方便實現(xiàn)產(chǎn)品功能迭代。模型的具象化和可視化能大大提高開發(fā)者的效率。
2 MBD的界限和范圍
對于初學者,弄清楚MBD的界限和范圍(Scope)是有意義的,即要知道MBD能做什么,哪些不是MBD覆蓋的內容。
Tips :在項目中,Scope一詞常用來描述一個事物能做什么,不能做什么,那些內容是屬于它的,那些內容不屬于它。但在中文語境沒有一個含義接近的詞語,因此這里的“界限和范圍”使用的是Scope的直譯。
從大的范圍來說,MBD本質上屬于嵌入式開發(fā)領域,但它不適用于所有的嵌入式項目。MBD適用于具有 控制器 (Controller)和 執(zhí)行器 (Actuator)的嵌入式電控裝置。
這些應用中一般具有特定的算法、信號處理、控制執(zhí)行、通訊等組成要素。例如無人機、電機控制、電池管理系統(tǒng)、機器人等。如下圖所示:
MBD的界限和范圍
Tips :不適合MBD的應用包括各種穿戴設備、影音設備等,因為它們并不適合建模,MBD也不適合桌面端的軟件開發(fā)。
MBD支持的嵌入式軟件開發(fā),包括DSP、MCU、FPGA等不同的芯片。
由于作者能力有限,接觸最多的是在MCU上的MBD開發(fā),文章介紹的也以這種為主。不過不同芯片的MBD本質是相同的,它們更多的體現(xiàn)在工具鏈的使用是不同的。
MBD的核心——模型——便是對控制器和執(zhí)行器進行的建模,有時候還包括執(zhí)行器的運行環(huán)境,所建的模型可以稱為 控制器模型 、 執(zhí)行器模型 (被控對象模型)和 環(huán)境模型 。
控制器、執(zhí)行器和運行環(huán)境之間,以及所建模型和被建模的實際對象之間的界限和范圍,也需要有清晰的定義。
2.1 控制器、執(zhí)行器和運行環(huán)境的界限
首先要弄清楚控制器和執(zhí)行器的界限在哪里。
我認為可以 以MCU為界限 :在MCU中的所有操作都應屬于控制器模型;在MCU以外的所有數(shù)字電路、功率電路、機械結構、電機等都應屬于執(zhí)行器模型。建模時可按照這個界限對控制器和執(zhí)行器分別建模。
以基于MBD的電機控制開發(fā)為例,控制器模型包含ADC采樣、信號處理、FOC算法等,執(zhí)行器包含電源、逆變器、電機等。
控制器模型和執(zhí)行器模型的作用是不一樣的:前者搭建的是算法模型、軟件框架模型等,它屬于軟件,可以生成代碼。后者則是實際對象的數(shù)學模型(電機、整流電路、機械結構等),用于算法、功能的測試,是控制器的控制對象。
控制器模型和算法模型通過傳感器信號和控制信號連接起來,如下圖所示:
控制器模型和執(zhí)行器模型
控制器模型和執(zhí)行器模型是相輔相成的,如果執(zhí)行器增加、減少或改變了功能,控制器也會發(fā)生相應的改變。
相反,如果控制器中的算法得到了優(yōu)化,也可以改進執(zhí)行器的設計(例如改進電路、傳感器的布置等)。
環(huán)境模型即執(zhí)行器運行時所在的環(huán)境,是開發(fā)者不能控制的客觀因素和變量。
一般情況下都可以不用考慮,但在一些特定的應用中,環(huán)境會影響控制器和執(zhí)行器的設計,這時候就需要考慮搭建環(huán)境模型。
例如無人機,它的執(zhí)行器包括電機、螺旋槳等,但環(huán)境因素也是影響飛控算法的重要因素,搭建模型時就需要考慮對環(huán)境建模。
2.2 模型和實際對象的界限
其次要把握好仿真模型和實際對象之間的界限和范圍。實際對象是具體的,仿真模型則是實際對象的數(shù)學描述
控制器模型越準確,模型生成的代碼在真正的MCU中運行時就越符合設計目標;執(zhí)行器模型越準確,就可以對控制器算法、功能等進行更加全面的驗證和測試。所以模型的準確性影響著MBD的實際效果。
但MBD不需要模型和實際對象保持完全一致,也不可能實現(xiàn)完全一致,模型所能覆蓋的范圍是實際對象的子集。
模型可以省略一些不重要的因素,保留核心功能、最能體現(xiàn)實際對象的特征進行建模 。這樣做是有意義的,它可以保證項目功能的開發(fā)以外,還能節(jié)約建模的時間。
例如,很多時候控制器模型中的ADC采樣會被忽略,直接使用執(zhí)行器模型返回的數(shù)據(jù);在執(zhí)行器模型中,往往也會采用簡化的電機模型。
這種簡化不會影響算法實現(xiàn)、軟件框架或執(zhí)行器的功能設計。
-
控制器
+關注
關注
112文章
16103瀏覽量
177071 -
電池管理系統(tǒng)
+關注
關注
41文章
493瀏覽量
33267 -
信號處理器
+關注
關注
1文章
250瀏覽量
25232 -
MBD
+關注
關注
0文章
24瀏覽量
8934 -
FOC算法
+關注
關注
1文章
16瀏覽量
9654
發(fā)布評論請先 登錄
相關推薦
評論