01
智能汽車的多域融合趨勢
近幾年,隨著汽車行業(yè)的快速發(fā)展,尤其是國內(nèi)一波補貼過后,多多少少留下一些扎扎實實造車的企業(yè),他們將一些國外先進的技術(shù)帶入到汽車產(chǎn)品開發(fā)中,這些技術(shù)慢慢在汽車行業(yè)(包括乘用車和商用車)得到普及,本文主要從三個技術(shù)角度(即Autosar、MBD、功能安全)來聊聊成為標(biāo)配的汽車電子技術(shù)。
針對每項技術(shù),主要分兩步來闡述:
第一步說明這個技術(shù)的作用;
第二步說明這個技術(shù)如何用到產(chǎn)品上。
02
Autosar
2.1 作用
Autosar是一批頂尖的主機廠和零部件廠制定出來的一套汽車電子軟件開發(fā)方法。軟件在汽車電子產(chǎn)品中占據(jù)的比例越來越高,汽車又是對軟件質(zhì)量要求極其嚴(yán)格。那么Autosar給我們帶來了什么?
a、它提供了需求,在Autosar的需求文檔中,它給我們收集了汽車行業(yè)很多的需求,給我們打開了一扇汽車行業(yè)的窗口。
b、它提供了一套架構(gòu),它給我們展示了分層、分模塊的矩陣式架構(gòu),定義了各個標(biāo)準(zhǔn)模塊以及其中的接口,統(tǒng)一了汽車行業(yè)基本功能模塊的交互和定義。
c、它提供了一套開發(fā)方法,Autosar要求按照V模型進行正向開發(fā)。
d、它降低了開發(fā)難度,提高了軟件質(zhì)量,Autosar源碼的開發(fā)一般交給專門的組織來開發(fā),并且代碼和工具經(jīng)過第三方認證,而應(yīng)用autosar的人只需利用Autosar工具鏈配置生成開發(fā)代碼即可。
e、說一點它的弊端吧,目前工具鏈偏貴,并且工具鏈目前的自動化程度不夠高,尤其是集成效率不夠高。隨著越來越多巨頭(百度、華為等)加入后,相信這些問題會逐步解決。
2.2 應(yīng)用
主要以開發(fā)ECU角度來說明,這里不以整車開發(fā)角度。
工具鏈:主流有Vector、ETAS、EB,這里以Vector和ETAS工具鏈為例說明。Vector Developer用于應(yīng)用層架構(gòu)設(shè)計,Vector Configurator 用于BSW+RTE配置; ETAS ISOLAR系列(RTA-RTE RTA-OS)全套開發(fā)融合;MCAL目前主要還是使用EB的 Tresos工具。好用度或自動化程度上,Vector>ETAS,價格反之。由于Vector系列占主流,因此以Vector工具鏈作主要說明,而關(guān)鍵點時也會提到ETAS(只是作為一個用戶體驗角度說明,不帶任何廣告以及傾向,若涉及相關(guān)利益請通知刪除)。
以下以開發(fā)一個ECU為例說明:
客戶輸入:CAN矩陣(DBC文件),診斷表(CDD文件或ODX文件)以及客戶需求表(SOR文件等)。
autosar部署:
假如選型芯片為英飛凌 Tcxx系列 ,目前比較主流。
第一步根據(jù)HSI,在EB Tresos中配置好MCAL,配置好后可以導(dǎo)出Arxml,方便下一步集成到Vector或ETAS工具。
第二步將MCAL集成到Autosar工程中,這一步的目的就是將OS依賴芯片相關(guān)的內(nèi)容(計數(shù)器、時間等)集成進來,當(dāng)然也包含一些其他的依賴MCAL的內(nèi)容,如CAN驅(qū)動、Eeprom/模擬Eeprom、Spi、看門狗等,這些建議在EB工具下配置,自動化程度會好一些(不管是ETAS還是Vector兼容第三方工具都不是特別好)。
第三步將BSW所需的模塊加入到Autosar工程,如BswM、EcuM、WdgM、NvM、Dem、Dcm、Com等所需的的模塊加入都工程。
第四步將DBC文件和CDD文件導(dǎo)入Autosar工程(這一步Vector和ETAS最新工具鏈都是支持的),這一步會將Com協(xié)議棧的大部分配置項和Dcm、Dem的大部分配置項生成,可是Vector和ETAS在這里都沒有做到完美,很多配置項都需要手動調(diào)整。
第五步調(diào)整COM協(xié)議棧以及UDS協(xié)議棧配置項,配置NvM/MemIf/FEE/Fls、配置WdgM/WdgIf/Wdg、配置Xcp等。
第六步配置ECUC、OS,RTE,ECUC主要涉及到分區(qū),以及Core Hardware定義等,OS主要涉及Task、Counter、Application等配置,方便后續(xù)Mapping,這里說明一下ETAS中OS的管理用的另外一個工具RTA-OS,其一致性做的不夠好。
第七步配置應(yīng)用層SWC,當(dāng)然這一步也可以在第一步開始的時候執(zhí)行,主要配置應(yīng)用層的組件、接口、函數(shù)等。
第八步連線+Mapping,這里主要是將需要調(diào)度的Mapping到Task或中斷(中斷手動放入入口函數(shù)),還有就是PRPort口之間的連線(包括SWC與SWC,SWC與BSW組件)。
至此,Autosar工程基本部署完成,后續(xù)只需將MCAL+BSW+RTE+ASW的代碼集成到一起即可,說實話,這里的集成過程目前由于工具鏈的問題,效率自動化程度都不高,尤其是ETAS需要寫很多腳本支持。
當(dāng)然,這里還有兩個概念提及一下,IO抽象以及CDD,本質(zhì)上他們就是SWC。
此外ASW配置完后,其實就是一個代碼框架,或者就是這個ASW的架構(gòu)信息,可以導(dǎo)出Arxml文件,供后續(xù)進行MBD開發(fā)。