03
MBD
MBD即基于模型開發,目前了解在航空以及風電行業占主流,后續再汽車行業應該也是主流。
3.1 作用
隨著Matlab Simulink近幾年代碼生成水平的提高,代碼的執行效率與人員編碼水平相比基本相差不大(高手除外,汽車行業軟件高手沒有遍地都是),同時MBD開發帶來了很多好處:
a、開發難度降低,類似是圖形化的編程方式,使開發更直觀,使開發難度降低(我還真見過不會寫C代碼的汽車行業嵌入式軟件工程師);
b、方便仿真,搭完模型后,即可仿真功能是否符合預期;
c、方便測試,直接用Harness,測試模型直接生成,同時提供了很多靜態測試,只需一鍵檢查,一鍵生成報告,因此單元測試和靜態測試都是十分方便的。
d、說一點它的不好的地方在于,生成的代碼的可讀性還有待提高。
3.2 應用
以下,我同樣以開發一個ECU來說明,同時這個ECU部署了Autosar(RTE)。
MBD主要針對ASW開發,當然如果你想用它開發CDD或IO抽象組件,我覺得未嘗不可,怎么方便怎么來。
第一步在Autosar工程中導出組件的arxml文件(arxml文件不建議在Matlab中配置,接口管理不好,同時不能很好的和Autosar工程結合)。
第二步將Arxml文件導入到Simulink中,這個時候在Simulink中就生成了基本的模型框架;
第三步根據要求的功能,搭建模型邏輯(吐槽一下,個人寫C代碼較多,Simulink的if else沒C語言來的方便);
第四步搭完模型后,進行靜態檢查,比如MAAB、ISO26262、MISAR C2012等,也有除零檢查、溢出檢查等,記得生成相關報告;
第五步進行單元測試,一般使用Harness進行單元測試,支持excel測試用例導入,考慮到我們要過功能安全,所以MC/DC達到100%吧;
第六步生成代碼,注意這里的配置項和數據字典的管理,選擇Autosar風格吧。
MBD生成完代碼后,和Autosar相關的代碼集成到一起,就可以編譯鏈接生成Elf或Out文件了。
04
功能安全
首先說說Autosar、MBD與功能安全的關系,Autosar的架構非常符合功能安全要求的分層、分模塊的要求,同時Autosar中的分區保護、看門狗功能都是功能安全所需要的,此外Autosar的代碼一般經過第三方認證,本來就符合功能安全(若自己開發這么一大套代碼,費時費力不說,可能達不到功能安全要求);MBD開發的工具鏈也是經過功能安全認證,同時它保證了代碼和模型的一致性,方便開發的同時,也很好的提供了統計測試覆蓋度MC/DC達到100%的報告。
其次說說功能安全其實是一套系統工程,它圍繞如何打造一個安全的產品,從管理、開發、生產維護等角度系統性的說明,本文主要從管理和產品開發的角度來簡要說明。
4.1 作用
a、它給我們帶來一套管理思想,告訴我們如何管理一個符合安全的產品;
b、它給我們帶來一套正向開發思想,將V模型應用到開發的各個過程;
c、它定義了各個活動的輸入輸出及依賴項,以及對各個活動的要求,提供了開發參考;
d、提供了安全分析的思想,包括FMEA、FTA、FMEDA、DFA等;
e、同樣提一個缺點,認證過程價格太高,開發過程成本提高,開發模板以及案例太少。
4.2 應用
目前國內逐步有些廠家拿到功能安全認證證書,但是目前還沒有看到真正功能安全量產的項目,以下主要針對兩個角度談談功能安全的應用。
管理角度:
一、要求公司有個功能安全組織,建立安全文化,建立功能安全人才培養體系,提升人員能力;
二、要求具備質量體系,比如經過ISO9001認證;
三、要求具備流程體系,比如ASPICE流程認證,具備文檔管理、配置管理、變更管理等能力;
四、要求針對項目,有詳細的項目計劃、安全計劃以及安全檔案等;
五、要求進行功能安全認證,包括安全審核、安全評估等。
產品開發角度:
一、概念階段,主要是定義好項目的邊界,告訴哪些要開發,哪些不要開發,哪些責任在我方,哪些責任在集成方,同時提出初步的架構。
二、系統階段,從系統角度分析項目,在初步架構基礎上,定義系統架構,從技術安全角度,定義技術安全方案,從安全分析角度,進行系統FMEA或FTA,從部署角度,定義HSI;
三、硬件階段,細化需求、細化硬件架構、畫PCB板,這里很重要的一步在于,進行FMEDA定量分析,以達到預期的FIT,最后進行相應測試。
四、軟件階段,細化需求、細化軟件架構,進行軟件FMEA分析,進行Autosar與MBD開發,集成測試等。
閱讀原文,關注作者CSDN
轉載汽車電子相關文章
轉自汽車電子與軟件