01
智能(néng)汽車(chē)的(de)多(duō)域融合趨勢
近(jìn)幾年(nián),随著(zh♣→e)汽車(chē)行(xíng)業(yè)的(de)快(kuài)速發展,尤其是(→<∑shì)國(guó)內(nèi)一(yī)波補貼過後,↑多(duō)多(duō)少(shǎo)少(shǎo)留下(xià)一(yī)些βσ✔∏(xiē)紮紮實實造車(chē)的(de)企業(yè),他(tā)們将一(yī)些(x≠>®↕iē)國(guó)外(wài)先進的(de)技(jì)術(shù)帶↔≈入到(dào)汽車(chē)産品開(kāi✔≈♣€)發中,這(zhè)些(xiē)技(jì)術(shù)慢(màn)®∞慢(màn)在汽車(chē)行(xíng)業→ (yè)(包括乘用(yòng)車(chē)和(hé)商用(yòng)車(c∑hē))得(de)到(dào)普及,本文(wén)主要(yào)從(cóng)三個 ★γ←(gè)技(jì)術(shù)角度(即Autosar、MBD、功能(néng)安全)來(lái∑♥φ)聊聊成為(wèi)标配的(de)汽車(chē)電(diàn)子(zǐ)技(jì)術(shù)。 ♠
針對(duì)每項技(jì)術(shù),主要(yào)分(fēn)$±δ兩步來(lái)闡述:
第一(yī)步說(shuō)明(míng)這(zhè)個∏α€(gè)技(jì)術(shù)的(de)作(zuò)用(yòng);
第二步說(shuō)明(míng)這(zhè)個(gè)技(jì)術(sh×ù)如(rú)何用(yòng)到(dào)産品上(shàng)。
02
Autosar
2.1 作(zuò)用(yòng)
Autosar是(shì)一(yī)批頂尖的(de)主機(jī)廠(chǎng¶ )和(hé)零部件(jiàn)廠(chǎng)制(zhε≠ì)定出來(lái)的(de)一(yī)套汽車(chē)電$σ(diàn)子(zǐ)軟件(jiàn)開(kāi)↕發方法。軟件(jiàn)在汽車(chē)電(diàn)子(zǐ)産品中占據的(de)比例∏₩≠↓越來(lái)越高(gāo),汽車(chē)又(y©×òu)是(shì)對(duì)軟件(jiàn)質量要(y♦σ♦ào)求極其嚴格。那(nà)麽Autosar給我們帶來(lái)了(le)什(shén)麽?¥
a、它提供了(le)需求,在Autosar•₹的(de)需求文(wén)檔中,它給我們收集了(le)汽車(chē)行(≥xíng)業(yè)很(hěn)多(du±®←•ō)的(de)需求,給我們打開(kāi)↓♦了(le)一(yī)扇汽車(chē)行(xíng)業♣π¶(yè)的(de)窗(chuāng)口。
b、它提供了(le)一(yī)套架構,它給我們展示了(le)分(fēn)層、分(fēn)♣$£模塊的(de)矩陣式架構,定義了(le)各個(gè)标準模♠φ€•塊以及其中的(de)接口,統一(yī)了(le)汽車(chē)行(xíng)業 Ω÷(yè)基本功能(néng)模塊的(de)交互和(hé)定義。₩₽φ
c、它提供了(le)一(yī)套開(kāi)發方法,Au¥♥≈tosar要(yào)求按照(zhào)V模型進行(xíng>↔₩)正向開(kāi)發。
d、它降低(dī)了(le)開(kāi)發難度,提高(gāo)了(le)軟件(jiàn)>>♥質量,Autosar源碼的(de)開(kāi)發一γ≠(yī)般交給專門(mén)的(de)組織來(lái)開(kāi)發,并且代碼和(hé)工(gōn↕÷™g)具經過第三方認證,而應用(yòng)autosar的(de)人(rén)隻需利用₩(yòng)Autosar工(gōng)具鏈配置生(shēng)成開(kāi)發代碼≤φ→即可(kě)。
e、說(shuō)一(yī)點它的(de)弊端吧(ba),目前工(gōng)具鏈偏貴,并>★•♠且工(gōng)具鏈目前的(de)自(zì)動化(huà)程度不(bù)夠高(gāo),尤其ε↔π是(shì)集成效率不(bù)夠高(gāo)。随著(zhe)越來≠↕↔(lái)越多(duō)巨頭(百度、華為(wèi)等)加入後₹¥,相(xiàng)信這(zhè)些(xiē)問(wèn)題會(huì)逐步解✔δ×決。
2.2 應用(yòng)
主要(yào)以開(kāi)發ECU角度來(lái)& ±說(shuō)明(míng),這(zhè)裡(lǐ)不(bù)以整車(chē)γ↕開(kāi)發角度。
工(gōng)具鏈:主流有(yǒu)Vect®γ☆or、ETAS、EB,這(zhè)裡(lǐ)以Vector和(hé)ETAS工(gōn€σg)具鏈為(wèi)例說(shuō)明(míng)。Vector Devel'™÷×oper用(yòng)于應用(yòng)層架構設計(jì"©→),Vector Configurator 用(yòng)于BSW+RTE配置; ♦£₽↓ETAS ISOLAR系列(RTA-RTE RTA-OS)全套開(kāi)發δ•♠♥融合;MCAL目前主要(yào)還(hái)是(shì)使用(yòng)EB的(de)" ✔✔ Tresos工(gōng)具。好(hǎo)♥↑用(yòng)度或自(zì)動化(huà)程度上( ∞shàng),Vector>ETAS,價格反之。由于Vector系列占主流,因☆ 此以Vector工(gōng)具鏈作(zuò)主要(yào)說(shuō)明(♣₹≈míng),而關鍵點時(shí)也(yě)會(≤§βhuì)提到(dào)ETAS(隻是(shì)作(zuò)為↑ε(wèi)一(yī)個(gè)用(yòng)戶≤₩<體(tǐ)驗角度說(shuō)明(míng),不(bù)帶任何廣告以及傾向,若涉及相(xi&Ωàng)關利益請(qǐng)通(tōng)知(zhī)删除)。
以下(xià)以開(kāi)發一(yī)個σ••(gè)ECU為(wèi)例說(shuō)明σφ☆(míng):
客戶輸入:CAN矩陣(DBC文(wén)件(jiàn)),診斷表(CDD文(wén)件∞®≈(jiàn)或ODX文(wén)件(jiàn))以及客戶需求表β↑∏↓(SOR文(wén)件(jiàn)等)。
autosar部署:
假如(rú)選型芯片為(wèi)英飛(fēi)淩 Tcxx系列 ,目前比較主流。
第一(yī)步根據HSI,在EB Tr§"'esos中配置好(hǎo)MCAL,配置好(hǎo)後可(kě)以導出Arxm$♣l,方便下(xià)一(yī)步集成到(dào)Vecto€>r或ETAS工(gōng)具。
第二步将MCAL集成到(dào)Autosar工(gōng)程中,這β≠(zhè)一(yī)步的(de)目的(de)就(jiù)是(shì)将O♣φ★S依賴芯片相(xiàng)關的(de)內(nèi)容(計(jì'§&≤)數(shù)器(qì)、時(shí)間(jiān)等)集成進來(lái),當然也(yě)包®'含一(yī)些(xiē)其他(tā)的(de)依賴MCAL的(de)內λφ↓<(nèi)容,如(rú)CAN驅動、Eeprom/模拟Eeprom、←πSpi、看(kàn)門(mén)狗等,這(zhè)些(xi✘✔ē)建議(yì)在EB工(gōng)具下(xi♠★≤à)配置,自(zì)動化(huà)程度會(huì)好(hǎ≤ o)一(yī)些(xiē)(不(bù)管是(shì)ETAS還(hái)是(sh∑₽ì)Vector兼容第三方工(gōng)具都(dōu)不('✘'>bù)是(shì)特别好(hǎo))。
第三步将BSW所需的(de)模塊加入到(dào)Autos±✔φ≤ar工(gōng)程,如(rú)BswM、 ©"εEcuM、WdgM、NvM、Dem、Dcm、Com✘¶等所需的(de)的(de)模塊加入都(dōu)工(gōng)程。
第四步将DBC文(wén)件(jiàn)和(hé)CDD文(wén)♦♦♦件(jiàn)導入Autosar工(gōng)程(這(zhè)一(∏©yī)步Vector和(hé)ETAS最新工(gōng)具鏈都(dōu)是(≤≤shì)支持的(de)),這(zhè)一(yī)步會(huì)将Com協議(yì)棧的(de)♦★大(dà)部分(fēn)配置項和(hé)Dcm、Dem的(de)大(d♠"à)部分(fēn)配置項生(shēng)成,₩可(kě)是(shì)Vector和(hé)ETAS在→≠這(zhè)裡(lǐ)都(dōu)沒有(yǒu)做(zuò)到₽←(dào)完美(měi),很(hěn)多(du≠"♦ō)配置項都(dōu)需要(yào)手動調整。
第五步調整COM協議(yì)棧以及UDS協議(yì)棧配置δ★項,配置NvM/MemIf/FEE/Fls、配置WdgM/WdgIf/Wdg、配置Xcp等。γ•
第六步配置ECUC、OS,RTE,ECUC主要(yào)涉及到(dào)分(fēn)區(δ∑ qū),以及Core Hardware定義等,OS主要(yào)涉及Task、Counter∏β∏、Application等配置,方便後續Mapping,這(zhè)裡(lǐ)說(s÷©αhuō)明(míng)一(yī)下(xià)ETAS中OS的(de)★₩∞γ管理(lǐ)用(yòng)的(de)另外(wài)一(yī)個(gè)工(gōng)具RTA-O•♣∏λS,其一(yī)緻性做(zuò)的(de)不(bù)夠好(h₩ǎo)。
第七步配置應用(yòng)層SWC,當然這(zhè)一(yī)步也(yě)可(kě)以在第一(α©₹φyī)步開(kāi)始的(de)時(shí)候執行(xíng)♣★,主要(yào)配置應用(yòng)層的(de)組件(ji→&✔àn)、接口、函數(shù)等。
第八步連線+Mapping,這(zhè)© ¥裡(lǐ)主要(yào)是(shì)将需要(yào)調度的(de)Mappiφ₹ng到(dào)Task或中斷(中斷手動放(fàng)入入口函數(shù)↑©©),還(hái)有(yǒu)就(jiù)是(shì)PRPort口之€ ₩間(jiān)的(de)連線(包括SWC與SWC,SWC與BSW組件(jiàn)→©☆)。
至此,Autosar工(gōng)程基本部署完φ→≈成,後續隻需将MCAL+BSW+RTE+ASW的(de)代碼集成到(dàβ←↔o)一(yī)起即可(kě),說(shuō)實話(huà €),這(zhè)裡(lǐ)的(de)集成過程目前由于工(gōng)具鏈的(de)βπ δ問(wèn)題,效率自(zì)動化(huà)程度₽♦'₽都(dōu)不(bù)高(gāo),尤其是(shì)ETAS需要(yào)寫λ₽很(hěn)多(duō)腳本支持。
當然,這(zhè)裡(lǐ)還(hái)有(yǒ < u)兩個(gè)概念提及一(yī)下(xià),IO抽象以及CDD,本質上(shàng)他↔☆(tā)們就(jiù)是(shì)SWC。
此外(wài)ASW配置完後,其實就(jiù)是(shì)一(yī)個(gè)代碼框>$&'架,或者就(jiù)是(shì)這(zhè)個(gè)ASW的(de)架構信息,可(kě)以導出A★αrxml文(wén)件(jiàn),供後續進行(xíng)MBD開(kāi)發。