嵌入式線控駕駛系統(tǒng)開(kāi)發(fā)過(guò)程中設(shè)計(jì)和測(cè)試考慮
5. 分布式結(jié)構(gòu)設(shè)計(jì)
現(xiàn)代嵌入式系統(tǒng)包含一些分布式ECU,它們相互間通過(guò)一個(gè)象FlexRay這樣的容錯(cuò)通信系統(tǒng)進(jìn)行實(shí)時(shí)通信。寶馬(BMW)最新的DSC(動(dòng)態(tài)穩(wěn)定性控制)包含ABS作為其15個(gè)子功能之一。通過(guò)從DECOMSYS向單個(gè)子系統(tǒng)增加主機(jī)、任務(wù)和信號(hào)等網(wǎng)絡(luò)部件,嵌入式功能可以連接和映射到一個(gè)ECU結(jié)構(gòu)之上。此外,它方便了OSEKtime/OS等時(shí)間觸發(fā)操作系統(tǒng)的任務(wù)激活時(shí)間行為的仿真。集群、主機(jī)、任務(wù)和連接是在MATLAB/Simulink環(huán)境下進(jìn)行設(shè)計(jì)和仿真的。最后,整個(gè)設(shè)計(jì)與DECOMSYS::DESIGNER產(chǎn)品實(shí)現(xiàn)了無(wú)縫集成,可以與FlexRay xCDEF設(shè)計(jì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行互動(dòng)。
Vector公司和Cadence公司提供的分布式網(wǎng)絡(luò)設(shè)計(jì)解決方案(分別為DaVinci和SysDesign)集成了Simulink/Stateflow的Real-Time Workshop/Real-Time Workshop Embedded Coder,由子系統(tǒng)產(chǎn)生代碼,并將它們映射到結(jié)構(gòu)上進(jìn)行驗(yàn)證。
產(chǎn)品代碼生成 模型經(jīng)過(guò)驗(yàn)證并且生效之后,就該產(chǎn)生代碼了。使用編譯器時(shí),這個(gè)過(guò)程是簡(jiǎn)單的。這里存在著各種不同的優(yōu)化設(shè)置和用戶配置選項(xiàng)。關(guān)鍵之處在于保持代碼的高效、精確并與原有的代碼或其他工具進(jìn)行集成。另一個(gè)要點(diǎn)是保持代碼相對(duì)框圖的可追蹤性,以便進(jìn)行檢查和驗(yàn)證。
圖6:圖3中電源管理設(shè)計(jì)的測(cè)試覆蓋
圖7顯示了一個(gè)自動(dòng)鏈接的HTML報(bào)告。當(dāng)開(kāi)發(fā)人員選擇代碼中的求和模塊時(shí),它將把該模塊在框圖中進(jìn)行高亮顯示。
圖7:代碼回放
圖6*中的應(yīng)用使用了速率轉(zhuǎn)換模塊。不過(guò),它與商用RTOS之間也存在著直接的聯(lián)系,包括VxWorks 和各種OSEK產(chǎn)品。如圖7*所示,還需要集成設(shè)備驅(qū)動(dòng)程序。
3. 硬件在環(huán)測(cè)試
控制器建立起來(lái)之后,就可以在環(huán)路中使用實(shí)時(shí)設(shè)備模型來(lái)執(zhí)行一系列開(kāi)環(huán)和閉環(huán)測(cè)試了。有一種測(cè)試僅涉及處理器,稱作“處理器在環(huán)”測(cè)試。另一種測(cè)試使用實(shí)際建立的ECU硬件,叫做“硬件在環(huán)”測(cè)試。在這兩種測(cè)試中,都使用設(shè)備模型來(lái)對(duì)物理控制器進(jìn)行測(cè)試。通過(guò)這一系列測(cè)試(或許與需求驗(yàn)證中所用的是同種測(cè)試),控制器必須看來(lái)對(duì)于消費(fèi)者是可以接受的。
4. 集成組件
在開(kāi)發(fā)過(guò)程中,大部分軟件標(biāo)準(zhǔn)都要求需求追蹤能力,這或許源于其他需求工具。此外,還需要軟件配置管理(SCM)來(lái)對(duì)開(kāi)發(fā)過(guò)程中的各種工件(artifact)進(jìn)行存儲(chǔ)、版本維護(hù)和查找。由報(bào)告生成工具產(chǎn)生的文檔將確保管理者、消費(fèi)者和供應(yīng)商能夠看到模型。SCM的接口如圖8*所示。
圖8:器件驅(qū)動(dòng)模塊庫(kù)
當(dāng)整個(gè)軟件工程化過(guò)程行為得到支持時(shí),將會(huì)推動(dòng)軟件的進(jìn)步。但是,僅僅進(jìn)行局部的、支離破碎的改進(jìn)是不足夠。本文介紹了基于模型的設(shè)計(jì)和產(chǎn)品代碼生成的一個(gè)完整的軟件工程化框架,并且還給出了具體的方法和工具,意在表明它并非僅僅是一種理論,而是既實(shí)用又有效。
評(píng)論