400-821-6015
行(xíng)業(yè)資訊
您當前的(de)位置:首頁 » 行(xíng)業(yè)資訊 » 行(xíng)業(yè©★")資訊
內(nèi)部資訊行(xíng)業(yè)資訊

整車(chē)軟件(jiàn)平台的(de)宏觀視(shì)角

發布日(rì)期:2022-06-21


       先提出幾點容易混淆€≥的(de)概念:


       1、什(shén)麽是≥♠ (shì)軟件(jiàn)平台


       架構,平台的(de)δ←概念是(shì)複雜(zá)且不(bù)一(yī)緻的(dΩ≠e)。為(wèi)了(le)盡量簡化(huà₹<),以達到(dào)在概念上(shàng)保持一(₽"yī)緻的(de)目的(de),把應用(yò•>ng)層抛開(kāi)後,以下(xià)的(de π±)統稱為(wèi)軟件(jiàn)平台,不(bù)涉及應用(yòng)相(xiàng)關的​σ(de)需求,隻會(huì)将應用(yòng)根據軟件÷εβ∑(jiàn)平台對(duì)應用(yòng)提供的(de)支持進行(‌γ&xíng)大(dà)緻的(de)分(fēn)類。


       2✘•®、模塊化(huà)結構性開(kāi)發和(hé'∑≠)軟件(jiàn)水(shuǐ)平分(fēn)層的(de)關系¶₩•✘


       軟件(jiàn)的(de)水(shuǐ)平÷π分(fēn)層2/3/5/7...怎麽分(fēn)都(dōu)好(hǎo),π£☆是(shì)一(yī)個(gè)結果和(hé)目标,真∏♠β實開(kāi)發過程中,無論是(shì)出于對(duì)軟件(jiàn)團隊的(de)¶©✔能(néng)力要(yào)求,還(hái)是(shì)開(kāi)發的(de)可(kě)操作↑€γ(zuò)性,建議(yì)都(dōu)以模塊化(huà)為(wèi)切入點。


      &nbsλ≤p;3、功能(néng)性需求和(hé)非功能(néng)型需求的(de)關系


       應用(yòng)的(d₹∏e)叠代是(shì)非常敏捷的(de),和(hé)應用(yòn‍ g)強相(xiàng)關的(de)需求都(dōu)不(bù)↕≥​在平台考慮範圍。換句話(huà)說(shuō),平台需要(yào)提煉出非功能(néng)π§Ω強相(xiàng)關的(de)需求。以及需要(yào)注意到(dào)一(yī)些∏'≥​(xiē)潛在的(de)新技(jì)術(shù)。


       本質γ✘±₩上(shàng)非功能(néng)需求也 ↑¶ (yě)是(shì)通(tōng)過功能(néng)提煉出來↑™(lái)的(de)。


        4、軟件(jiàn)平台工( σgōng)作(zuò)量


       軟件(jiàn™<)平台的(de)概念很(hěn)大(dà),且是(shì)定制(∞™zhì)化(huà)比較高(gāo)的(de)。不(bù)太存在一(yī™>©‌)步到(dào)位給出具體(tǐ)軟件(jiàn)工(gōng)程需求的☆ (de)可(kě)能(néng)性,需要(yào)專家(jiā)團隊細化(hu" ≠←à)協作(zuò)。且任何解法也(yě)不(bù)是(shì)唯一(yī)的(de),'Ω→隻是(shì)基于自(zì)身(shēn)遺留客觀情況的("βde)取舍。


軟件(jiàn)平台


      完整的(de)軟件(jiàn)平台應₩♥♣‌該考慮兩部分(fēn)組成,即用(yòng)₹'于車(chē)內(nèi)的(de)CarOS和(hé)用€∑(yòng)于雲端的(de)架構。實際開(kāi)發中需要(yào)繼續收斂話&∞™$(huà)題,我們先聚焦車(chē)內(nèi)的(d≤ ✔e)軟件(jiàn)平台,并分(fēn)為(wèi)兩個(gè)軟件(jiàn)模塊:安全模塊和(≈ ≠'hé)性能(néng)模塊。(非精準的(de)類比為(wè♠★i)CP和(hé)AP)


軟件(jiàn)平台的(de)安全模塊和(hé)性能(néng)模塊


      Car.OS₹♥™©設計(jì)初衷是(shì)用(yòng)于承載車(chē)輛(liàn$γ‍g)內(nèi)所有(yǒu)類型的(de)應用(yòng)程序。根據要(yào)求和(hé)限制‍≈←(zhì),我們将車(chē)內(nèi)應用(yòng)分(fēn)為(w> èi)不(bù)同類别,以引導出不(bù)同需求♥←的(de)可(kě)以承載不(bù)同應用(yòng)的(de)軟件(ji✘&♦'àn)平台模塊:


      1、安全模塊可(kě)以支持從(có$δng)QM到(dào)ASIL-D的(de)所有(yǒu)控制(zhì)回路(lù),包括:

  • 無安全保證的(de)應用(yòng)。堆棧部署在一(yī)個≈♦(gè)或多(duō)個(gè)µC上(shàng),沒有(yǒu)任何安全保證。

  • 在安全認證環境中運行(xíng)的(de)安全相(xiàng)關應用(y₽≥òng)程序。堆棧部署在滿足所需安全屬性和(hé)功能(néng)的(de)一(yī∑β)個(gè)或多(duō)個(gè)µC。


      2、性能(néng)模塊在基于Linux的(de$£¶γ)操作(zuò)系統上(shàng)運行(xíng),包括:

  • 沒有(yǒu)UI的(de)應用(yòng)程序:應用≥≠(yòng)程序可(kě)能(néng)使用(yòng→✔•)特殊用(yòng)途的(de)硬件(jiàn),如(rú)GPU。性能✔‌♣(néng)模塊承載所有(yǒu)QM軟件(jiàn),并可(kě)以使₩≥用(yòng)分(fēn)解降級來(lái)承載ASIL-B。同時(shí)在安全>™模塊上(shàng)有(yǒu)一(yī)個(gè)安全檢查器(qì)。

  • 需要(yào)UI(如(rú)信息娛樂(yuè)或導航)的(de∞∞)應用(yòng)程序運行(xíng)在相(xiàng)同的(de)基于Linux的(♠←™♣de)操作(zuò)系統之上(shàng),軟件(jiàn)平台需要(yào)可(kě)以承載虛‌×‍€拟化(huà)的(de)Android操作(zuò)系統和(hé)信息娛樂(yuè)堆棧。


圖片


軟件(jiàn)平台/安全模塊


      CarOS中的(de)安全模塊是(sh↔☆φì)可(kě)以通(tōng)過一(yī)個(gè)€>♥→具有(yǒu)多(duō)核支持的(de¥™≤)Classic AUTOSAR和(hé)一(↕πyī)個(gè)ASIL-D微(wēi)內(nèi)核的(de)組合實現(xiàn)。C ♠lassic AUTOSAR應符支持所有(yǒu)軟件(jiàn)組件€© π(jiàn)(SWC)可(kě)以依賴RTE作φ₹(zuò)為(wèi)與其他(tā)SWC和(hé)車(chē<≈±)輛(liàng)網絡的(de)通(tōng)用(yòng÷γ♥)通(tōng)信中間(jiān)件(jiàn)。隻有(yǒu)該平台上(shàng)的(de)應£→用(yòng)程序才能(néng)直接訪問(wèn)本地(dì)現(xiàn)場(c¥'↑©hǎng)總線。根據API框架描述(ARXML...)配置網絡,并生(shēng)成RTE中的(d€β₩e)stubs/ skeletons/ slots。


      安群模塊需要(yào)能(néng)夠支持:

  •    遵循Classic AUTOSAR的(de)各種Q ΩM任務控制(zhì)和(hé)任務處理(lǐ)。

  •    ASIL-D堆棧可(kě♣∞)監控ASIL-A/B任務。安全模塊為(wèi)應用(yòng)程序ε₹§開(kāi)發人(rén)員(yuán)提供了(le)關于如​♣₽(rú)何使用(yòng)這(zhè)些(xiē)監控的(de)明(mí¥÷×>ng)确指導,例如(rú)看(kàn)門(mén)狗等的(de)具體(tǐ₩λ ‌)說(shuō)明(míng)。

  •    ASIL-D微(wēi)核上(shàng)的Ω₹≈(de)ASIL-D任務。ASIL-D堆棧通(♠§↓tōng)過E2E保護防止消息損壞和(hé)重播錯δ$(cuò)誤,但(dàn)使用(yòng)CAN進行(↑ "δxíng)通(tōng)信。


       安全模塊×→不(bù)存在任何與後端的(de)直接連接。


       需要(yào)注意的(de)是(s±π¶‌hì),由于技(jì)術(shù)和(hé)成本原​♣‌因,Classic AUTOSAR堆棧沒有(yǒu)按照(zhào)ASIL-D進行(xíng)§₹÷₩開(kāi)發。要(yào)運行(xíng)•αASIL-D SWCs,在Classic AUTOSAR堆棧旁邊放(fàng)置另πε一(yī)個(gè)ASIL-D安全內(nèi)核,以實現(xiàn)時∞©(shí)間(jiān)、內(nèi)存和(h₩δé)CPU的(de)FFI。


圖片


     ASIL-D核提≈¥≠★供:

  •   ASIL-D微(wēi)內(n‌↑èi)核、服務中斷(ISR)handling, resources, ★£≥events

  •   端到(dào)端保護±©,确保沒有(yǒu)消息被破壞或重複(消息計(↑>→jì)數(shù)器(qì)、循環冗餘校(xi₩™αào)驗CRC);安全研究趨勢是(shì)Keyed-Hash消息認證碼HMA-C)

  •   定時(shí)保護,确保關鍵✔↑功能(néng)及時(shí)執行(xíng)且不(bù)會(huì)中斷

  •   看(kàn)門(m ©×én)狗功能(néng),用(yòng)于失效安全/失效複位或監控系統其他(tā¶©)部分(fēn)中運行(xíng)的(de)軟件•∑(jiàn)

  •   內(nèi)置自(zì)€←檢(BIST)


      安全模塊需要($Ωπ×yào)考慮未來(lái)的(de)各種需求,如(rú)多(duō)核µC的(de)使用(←δ≠​yòng)效率或複雜(zá)任務鏈的(de∑★≤')調度。


軟件(jiàn)平台/性能(néng)模塊


       HPC由帶÷♠≠加速器(qì)的(de)微(wēi)處理(lǐ)器(qì)、附加的(de)小(xiǎo)φ♥≥型微(wēi)控制(zhì)器(qì)單元以及大(dà)量的(de)互聯和(hé)外(w≥↕¥©ài)圍設備組成。這(zhè)些(xiē)HPC上(shàng)運行(xíng)的(±↑→γde)性能(néng)模塊支持一(yī)系列用(yòng)例,從→✔ (cóng)傳感器(qì)融合和(hé)AI算(suàn)法到(d ↑ào)用(yòng)戶界面再和(hé)雲♥δσ₩通(tōng)信或車(chē)內(nèi)通(tōng)信。


       大(dà♦&♣")多(duō)數(shù)性能(néng)模塊部署目标是(shì)Linux。


圖片


      未來(lái)的(de)AD安全£₹÷•概念需要(yào)判斷是(shì)否必須将需求分(fēn)解為(wèi)ASIL-D=β<↕ASIL-B(D)+ASIL-B(D)。解€→法之一(yī)是(shì)提供一(yī)個(gè)支持ASIL-B性能(néσβng)模塊(例如(rú)基于QNX),該模塊具有(yǒu)本地(dì)ASIL-B支持,以承載★∑☆≥具有(yǒu)已部署分(fēn)解功能(néng)的(de)AD功能(néng)¥÷↓。例如(rú),兩個(gè)ASIL-B檢查程序可(kě)以監控QM中的(d£÷&§e)第三個(gè)ML組件(jiàn)。


      'φ₹ISO 26262允許的(de)另一(yī)種分(fē"λ¥<n)解是(shì)ASIL-D=ASIL-D(D)+QM(D)。這(zhè)将允許軟♣• 件(jiàn)平台在Linux(QM)中實現(x↕¶iàn)性能(néng)模塊,但(dàn)這(zhè)将需要(yàλπ±¶o)在安全模塊上(shàng)實現(xiàn✘↔←)ASIL-D作(zuò)為(wèi)檢查器(qì)組件(γ♥‍jiàn),以達到(dào)相(xiàng)同的(de)ASIL總體(tǐ)水₩↓(shuǐ)平。(依舊(jiù)回想一(yī)下(xià),架構設計(jì)δ¥¥←和(hé)技(jì)術(shù)路(lù)線₽∞ ‌的(de)選擇強相(xiàng)關,在總體(tǐ)設計(j₽ δ‍ì)之前先羅列技(jì)術(shù)點,對(duì)設計(jì)•≤是(shì)很(hěn)有(yǒu)幫助的(deγα))這(zhè)将減少(shǎo)由于支持QNX和(hé♦★←)Linux雙系統而導緻的(de)工(gōng>≥∑©)作(zuò),并且不(bù)用(yòng)使用(yòng)OS抽φ"₩象層。


      雖然特斯拉使用(y$&≠òng)linux可(kě)能(néng)不(bù)應該拿≥£↓¶(ná)來(lái)作(zuò)為(wèi)實現(xiàn)安全方案α↑的(de)主要(yào)例證,但(dàn)他(tā)們在ADAS中使用(yò$≠↕ng)Linux降低(dī)了(le)工(gōng)作(zuò)量應該©≤‍÷是(shì)其中之一(yī)個(gè)主要(yào)原因。


軟件(jiàn)平台/性能(néng)模塊/應σ∑用(yòng)模式

 

     基于內(nèi)存分(fēn)↑₽απ配,性能(néng)模塊上(shàng)的(de)應用(£ yòng)程序通(tōng)常以以下(xià)方式之一(yī)構建∑±✔。

  • 全靜(jìng)态RAM:應用(yòng)開(kāi)發人(rén)員(yuán)設定不≤∏α≠(bù)能(néng)為(wèi)了(le)防止內(nèi)存碎πβ<片或內(nèi)存不(bù)足而産生(shēng)新的(de)操作( ∞'zuò)。這(zhè)是(shì)嵌入式∑✘& 應用(yòng)程序的(de)可(kě)靠默認設置,即使它們與安全無關。如(rú)果應用(yò•÷§ng)程序與安全相(xiàng)關,則必須這(zhè)樣做(zuò)。它通(tōn✘β<g)常通(tōng)過完整的(de)代碼生(shēng)成、基于模型的(de)開(kāi)發(Ma÷♦"tlab)和(hé)複雜(zá)的(de)測量與控制(zhì)任務來(l>₽ái)實現(xiàn)。平台在開(kāi)發和(hé)♦εσ運行(xíng)時(shí)實施這(zhè)種應用(yòng)程序模式。

  • 運行(xíng)時(shí)靜(jìng)态RA₹←✘ΩM,僅在啓動時(shí)分(fēn)配內(nèi)存:此應用(yòng)程序開(kāi)發模式允許↑★♦應用(yòng)程序開(kāi)發人(rén)員(yuán)在啓€↕動時(shí)從(cóng)隻讀(dú)內(nèi)存(ROM)、持久性或文(wén&♦≈♦)件(jiàn)系統讀(dú)取二進制(zhì)或文(wén)本配置,按照(zhào<×←)定義獲取內(nèi)存,然後在操作(zuò)期間(jiān)完全靜(ε∑♠jìng)态操作(zuò)。該模式也(yě)用(yòng)于複雜(zá)的(de)人✔&<(rén)機(jī)界面(HMI),但(dàn)在安全σ•C-D環境中禁止使用(yòng),因此,安全模塊不(bù)支持該模式。

  • 動态內(nèi)存:僅允許在性能(néng)模塊、特©"§Ω定護欄內(nèi)以及性能(néng)模塊支持的(de)定義限制(zhì)內(nè≠α♥λi)使用(yòng)動态內(nèi)存。應用(yòng)程₹§¥序需要(yào)實施開(kāi)發應用(yòng€≤)程序控制(zhì)接口。


      性 "£$能(néng)模塊可(kě)以定義線程池的(de)使用(yòng)方式,各種情→•σ況包括進程如(rú)何與非阻塞的(de)回調函數(shù)進行(xín☆×♣‌g)同步和(hé)異步通(tōng)信,進程間(jiān)彼此之間(jiān)如(rγ‍✔♣ú)何通(tōng)信,以及在整車(chē)層面的(de)通(tōng)信。性能(néng)模塊還‍↑(hái)可(kě)以為(wèi)應用(yòng)程序提供跟蹤和(hé)調試功能(néng)™≥Ω÷。不(bù)僅限于純1對(duì)1連接,性能(néng)模塊還(hái™σ©≠)可(kě)以使用(yòng)高(gāo)效的(de)發布-訂閱&©機(jī)制(zhì)。


      此外(wài),計(jì)算(suàn)平台将提供peσ×↕₩rsistency,以避免閃存在整個(gè)生(shēng)命周期內(nèi)損壞。使用(y≤λ₹òng)請(qǐng)求時(shí)刷新或關機(jī‍>)時(shí)刷新等策略,并對(duì)baε∑≠↑bblingidiot進行(xíng)保障和(hé)約束。對(duì)persistency設計 ¶(jì)了(le)各種約束限制(zhì),如(rú)考慮每 ​個(gè)key的(de)最大(dà)數(shù)據大(dà)小‍ε¶&(xiǎo)以及與出廠(chǎng)重置相(xiàn• ≤g)關的(de)軟件(jiàn)更新數(shù)據遷移。€↔将加密功能(néng)與persistency相(™∞"xiàng)結合,可(kě)以實現(xiàn)安全的(de)數(‍±→¶shù)據存儲。循環冗餘校(xiào)驗(CRC)和(hé)默認回退值用(yòng)于在性能(né←‌£​ng)模塊支持健壯的(de)應用(yòng)程序開(kāi)發。


軟件(jiàn)平台/性能(néng)模塊/從(cóng)應用(yòng)到(dào)φ​σ服務


      分(fēn)類的(de)模" ↑型的(de)多(duō)種多(duō)樣的(de),和(hé)開(kāi)發>← 的(de)工(gōng)作(zuò)流工(gōng)具鏈,和(hé)組織架φ↔構都(dōu)有(yǒu)關系,這(zhè)部分(fēn)應該§♦&÷統一(yī)語言然後定制(zhì)


圖片


      再跳(tiào)躍到(dào)軟件(jiàn)平台​←β 之上(shàng)的(de)應用(yòng)框架說(shuō)一(yī)™‍些(xiē)前沿的(de)。


      基于一(y α₹₩ī)些(xiē)設想和(hé)對(duì)軟件(jiàn)平台的(de₹∑α)設計(jì)目标:開(kāi)發人(rén)員(≤±×γyuán)可(kě)以高(gāo)效地(dì)構建、部φ​署和(hé)測試小(xiǎo)型、可(kě)重用(yòng)←γλ←和(hé)高(gāo)質量的(de)應用(yòng)程序,這(zhè)些(xiē)應用(yònσ♣÷g)程序可(kě)以以不(bù)同的(de)方式組合,以提供最終用(yòng)戶可(kě)見(☆>jiàn)的(de)功能(néng)。(也(yě)可(kě)以理÷δ÷↑(lǐ)解為(wèi)服務)


      ROS似乎符合↔∏提到(dào)的(de)許多(duō)要(yεσào)求。在不(bù)同領域中各種機(jī)器(qì)人(rén)用(yòng)例重已經被×<✔'反複驗證,并打下(xià)堅實基礎。它提供了(le)開(kāi)發人(rén)∏π→♥員(yuán)需要(yào)的(de)工(gōng)具鏈和(hé)适當的( ​₹de)抽象用(yòng)來(lái)簡化(huà)開(kāi)發。


      ROS并不(bù)是"ε(shì)OS或者軟件(jiàn)平台,再次強調不(bù)是(shì)→‍×一(yī)個(gè)操作(zuò)系統或者軟件(jiàn)平台。 ≤它是(shì)一(yī)個(gè)應用(yòng)程序編排框架,主要(yào♦®←)專注于算(suàn)法開(kāi)發和(hé)快(kuài)速原>♥型制(zhì)作(zuò)。正在擴展的(de)方向(1)到(dào)小(xiǎo)型嵌✘♠Ω↔入式平台,包括裸機(jī),(2)到(dào)硬實時(shí)系統,(♣₽ ≈3)重點關注生(shēng)産環境。


      ROS 2的(de)操作(zuò)系統旨在'€"₽符合汽車(chē)标準,如(rú)ISO 26262,并可(kě)達到(d ★₹ào)ASIL-D級别的(de)安全支持。這(zhè)使¥∏≤↑得(de)在未來(lái)在未來(lái)在未來(lái),ROS 2可(kě)能(n∞±éng)成為(wèi)性能(néng)模塊應用(yò✘∏≤ng)程序和(hé)擴展服務編程模型的(de)首選。在未來(lái)在未來(lái)在未來(láδ÷↓&i),甚至可(kě)能(néng)延伸到Ω <‍(dào)安全模塊。


      ROS 2可(kě)以用(yòng)DDS标準進¥∑π行(xíng)進程間(jiān)通(tōng)信。它旨在使用(yòngΩ$☆)發布-訂閱模式以及同步和(hé)異步RPC風(f→'ēng)格通(tōng)信的(de)擴展,實現(xiàn)可(kě)靠、高(gāo)性能(nén≥₽ g)、互操作(zuò)、實時(shí)、可(kě)擴展的(de)數(shù)據交換。×σ✔這(zhè)點和(hé)軟件(jiàn)平台的(de)編排調度和(hé)實時(shí)£‍性是(shì)息息相(xiàng)關的(de)。ROS應£≠¥該是(shì)一(yī)個(gè)獨立的(de)子(zǐ)話(©©huà)題。


軟件(jiàn)平台/性能(néng)模塊/基礎服務


      拉回來(lái),到(dào)軟件(←™>♠jiàn)平台的(de)基礎服務。軟件(j€πiàn)平台本質是(shì)提供盡可(kě)能(néng)豐富,完整的(de)基礎服務。Ω₩→


      基于庫的(de)概念,不(∞™₹←bù)同應用(yòng)程序所需的(de)任何服務都(dōu)可(kě)能(néng)是↕♥ (shì)由平台的(de)基礎服務提供。理(lǐ)想情況下(xià),不(bù)同車(₹✔Ωσchē)型的(de)基礎服務是(shì)從(cóng)相(xiàng)同的(de)源代碼π♦‍↑創建的(de)。說(shuō)的(de)是(shì) &¶理(lǐ)想情況,非常難實現(xiàn),并且需求可(kě)能(néng)π∞✔本身(shēn)就(jiù)是(shì)不(bù)同的(de)。


      例如(rú)以下(xià)這(zh& ≥"è)些(xiē)比較有(yǒu)代表性的(de)基礎服務:

  • 通(tōng)信

  • 安全相(xiàng)關的(de)服務

  • Persistency

  • Logging

  • 能(néng)量管理(lǐ)

  • 時(shí)間(jiān)服務

  • 診斷

  • ......


      AP已經提供了(le)一(yī)大(dà)部分(fēnβ♣)需要(yào)的(de)基礎服務,但(dàn)按照(zhào)整車(ch ¶€ē)的(de)視(shì)角和(hé)覆蓋未來(lái)的(de)需求并不(bù∏↔)完整,需要(yào)做(zuò)出相(xiàng)應的(de)擴展額定制(zhì)性的(de)開¶↕(kāi)發。這(zhè)部分(fēn)的(de)工(gōng)作(zuò)細化(huà)明(ε♦Ωmíng)确後會(huì)是(shì)軟件(jiàn)平台(除集成外(wàσ♥i))的(de)主要(yào)工(gōng)作(zuò)。系統需求,各類服務的(d÷₩‍e)需求,Software require↕↑ment specification,Software architectur∏‍e specification...再逐一(yī)得(de)到(dào)明(míng)确α↔∞。


轉自(zì)汽車(chē)電(diàn)子(zǐ)與軟件(jiàn)‌★

北京德智尚車聯科技有限公司版權所有(yǒu) 京ICP證000000号   技(jì)術(s§​> hù)支持:網站(zhàn)建設