基于模型的設(shè)計(jì)(Model-based Design,以下簡稱MBD)是一種圍繞模型展開的項(xiàng)目開發(fā)方法,指對(duì)開發(fā)對(duì)象或者項(xiàng)目產(chǎn)品進(jìn)行精確建模,項(xiàng)目的需求分析、功能設(shè)計(jì)、系統(tǒng)框架、代碼生成、測(cè)試驗(yàn)證等開發(fā)環(huán)節(jié)都在模型的基礎(chǔ)上展開。本文將討論如何應(yīng)用MBD實(shí)現(xiàn)汽車ECU軟件的自主開發(fā)。
01.整車廠當(dāng)下困境
整車廠對(duì)發(fā)動(dòng)機(jī)控制的研究和原型設(shè)計(jì)從未停歇,但從未開發(fā)過產(chǎn)品化的大型ECU嵌入式控制系統(tǒng)和軟件。
在傳統(tǒng)的開發(fā)方式中,由于缺少對(duì)目標(biāo)對(duì)象的建模,每一次項(xiàng)目推進(jìn)都嚴(yán)重依賴于上階段開發(fā)工作的完成情況,一旦前期設(shè)計(jì)存在缺陷,就會(huì)導(dǎo)致較高的后期修改與完善成本。此外,如果某項(xiàng)需求發(fā)生變化,開發(fā)團(tuán)隊(duì)就不得不重新編碼和構(gòu)建整個(gè)系統(tǒng),從而導(dǎo)致項(xiàng)目延遲數(shù)日乃至數(shù)周。
除了流程上存在缺陷,傳統(tǒng)開發(fā)沒有中心模型,對(duì)前期的系統(tǒng)框架設(shè)計(jì)依賴度極高,需要擁有十分豐富開發(fā)經(jīng)驗(yàn)的工程師提前布局。
在當(dāng)前激烈的競爭環(huán)境下,汽車行業(yè)正在加速產(chǎn)業(yè)和技術(shù)更迭,整車廠對(duì)大型ECU嵌入式控制系統(tǒng)和軟件的需求迫在眉睫,而使用傳統(tǒng)的開發(fā)方式需要招聘、培訓(xùn)工程師來進(jìn)行開發(fā)和測(cè)試工作,耗時(shí)較久,無法在計(jì)劃時(shí)間內(nèi)投入生產(chǎn)。MBD無疑是整車廠的最優(yōu)選,但如何選擇一套應(yīng)用MBD、以模型為核心,且能處理從需求、設(shè)計(jì)、代碼生成到測(cè)試的開發(fā)工具則成了難題。
02.如何應(yīng)用MBD
汽車工程師團(tuán)隊(duì)在著手開發(fā)基于MBD的乘用車ECU軟件時(shí),首先需要根據(jù)系統(tǒng)需求構(gòu)建架構(gòu)模型,隨后才能從中衍生設(shè)計(jì)出所需的仿真模型。
此類高級(jí)低保真度模型包含將要在ECU和被控對(duì)象(指發(fā)動(dòng)機(jī)及其工作環(huán)境)中運(yùn)行的控制軟件。由于MBD的核心模型及基礎(chǔ)應(yīng)用形式為“模型控制器+執(zhí)行器模型”,因此步驟上,團(tuán)隊(duì)首先需要通過在各類場景下進(jìn)行高級(jí)模型仿真來執(zhí)行初始系統(tǒng)和集成測(cè)試,用以驗(yàn)證模型是否正確表示了系統(tǒng)及系統(tǒng)是否對(duì)輸入信號(hào)做出了預(yù)期內(nèi)的適當(dāng)響應(yīng);驗(yàn)證完成后,團(tuán)隊(duì)需要向模型中增加細(xì)節(jié),并對(duì)照技術(shù)規(guī)范不斷測(cè)試和驗(yàn)證系統(tǒng)級(jí)行為。如果系統(tǒng)規(guī)模過于龐大、結(jié)構(gòu)也較為復(fù)雜,團(tuán)隊(duì)可安排工程師獨(dú)立開發(fā)和測(cè)試各組件,但組件仍需在全系統(tǒng)仿真中頻繁測(cè)試。
在針對(duì)系統(tǒng)及其工作環(huán)境建立起詳細(xì)模型后,理想狀態(tài)下,團(tuán)隊(duì)可基于控制算法模型自動(dòng)生成代碼來進(jìn)行軟件測(cè)試和驗(yàn)證。在硬件在環(huán)測(cè)試完成后,便可將所生成的代碼下載至生產(chǎn)硬件,以便在實(shí)際車輛中進(jìn)行測(cè)試。
03.ModelCoder
由迪捷軟件自主研發(fā)的建模仿真與代碼生成軟件ModelCoder,便是完全以模型為核心、能夠完美解決整車廠當(dāng)前難題的國產(chǎn)軟件。汽車工程師團(tuán)隊(duì)可利用ModelCoder開發(fā)和建立發(fā)動(dòng)機(jī)控制算法模型,完成大量基于模型的設(shè)計(jì)和驗(yàn)證,并自動(dòng)生成可信的ECU產(chǎn)品代碼,實(shí)現(xiàn)汽車ECU軟件的設(shè)計(jì)、開發(fā)、測(cè)試及驗(yàn)證。