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