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