接上(shàng)一(yī)篇:詳解汽車(chΩ±ē)遠(yuǎn)程升級(OTA )技(jì)術×δ(shù)體(tǐ)系(二)
2.3 OTA 車(ch£★♠✘ē)載端架構及關鍵技(jì)術(shù)
2.3.1 車(chē) '↔載端架構
OTA 車(chē¥↕β↓)載端功能(néng)模塊主要(yào)包括 2 大(dà)部分(fēn),即 ®←""OTA 主控和(hé) OTA 對(duì)象,如(rú)圖 2-3 所示。O♠γ±TA 主控是(shì)車(chē)端 OTA 系統的∏♦(de)核心,車(chē)端所有(yǒu) OTA 業(yè)務邏輯均φ→α由主控實現(xiàn),包括上(shàng)報(δαbào)車(chē)輛(liàng)信息、下(xià)載更新文(wén)件(jiàn)、升級 "β包安裝、車(chē)輛(liàng)狀态管理(lǐ)、人(rδ∞én)機(jī)交互等。
圖 2-3 車(chē)載端功能(néng)模塊(參考 AutoSφ✘ ↕AR UCM)
&nbs<♠'£p;
(1) OTA 主控功能(néng)模塊
按≠↓照(zhào)車(chē)載端的(de)工(gōng)作(zuò)流程,車(chē)載端的(deα≥✔)功能(néng)模塊包括:OTA 客戶端負責與雲端進 行(xíng)數(←≠↕↓shù)據交互;下(xià)載模塊負責升∑φβ級包下(xià)載及分(fēn)發;升級管理(lǐ)模塊負責升級過程的(de)控制(zhì);升級÷÷↔£代理(lǐ)負責執行(xíng)軟件(jiàn)刷寫或者軟件(jiàn)安裝;人(r←®↕↔én)機(jī)交互模塊負責升級信息提示、↕∞←₽用(yòng)戶輸入、升級過程的(de)展示等,如(rú)表 2-7'$ 所示。
表 2-7 OTA 主控功能(néng)模塊
(2) OTA 主控部署方案
由于車(chē)輛(liàng) E/E £☆∑架構的(de)不(bù)同以及控制(zhì)器(qì)升級方式的(de)不(bù)同,∑≥功能(néng)模塊的(de)部署方式 也(y&♦∑ě)有(yǒu)所不(bù)同。在傳統網關分(fēn)布式架構下(xià),按♠ε✘¶照(zhào) OTA 主控部署的(de)位置不(bù)同,大(dà)緻&©₽®分(fēn)為(wèi):遠(yuǎn)程信↑↕β息處理(lǐ)控制(zhì)單元(TCU/T-BOX)方案、車(chē)載信息娛樂(y★×≠uè)系統(IVI) 方案、網關(GW)方案,如(rú)圖 2-4 所≥✘≠≠示。前兩種方案,由 TCU/IVI 來(lái)進&←₽行(xíng) ECU 的(de)軟件(jiàn)刷寫,GW 僅作(zuò)為(wèi)路(l₹ ù)由實現(xiàn)數(shù)據的(de)轉發,刷寫的(de)鏈路(lù)比較長(cháng);後一(yī)種方案直接是(shì)由 GW 進行(xíng)刷§寫,刷寫鏈路(lù)較短(duǎn),但(dàn)是(÷α→shì) GW 并不(bù)能(néng)直接聯網,如(rú)果通(tōng)過TCU/IVI 路(lù)由聯網必須增加安全機(jī)制γ₩'(zhì),或者由 TCU/IVI 下(xià$)載升級包後再分(fēn)發至網關。
圖 2-4 傳統的(de) OTA 主控部署方案[1] &nbs"∑↓©p;
傳統網關£$÷&分(fēn)布式架構下(xià),由于控制(zhì)器(qì)分(fēn)散以及層級很(hěn)$ •深,導緻在實現(xiàn) OTA &nbsΩ≥p;的(de)過程中要(yào)進行(xíng)多(duō) ¥λ次的(de)轉發和(hé)透傳,容易導緻數(shù)據丢失,增加升®<π♦級失敗的(de)概率。另外(wài),需要(yà←•↔o)在 OTA 主控內(nèi)部對(duì)軟件(jiàn)進行(xíng)備份,以↓∑≥保證升級失敗後,控制(zhì)器(qì)可(kě×₩π♠)以被回滾。由于傳統控制(zhì)器(qì¶π)的(de)芯片 Flash 和(hé) RAM 容量小(xiǎo),實現(xiàn)也( ☆πyě)比較困難。
對(duì)高(g≤₩ āo)算(suàn)力和(hé)大(dà)帶寬數(shù)據傳輸的♠≥(de)迫切需求和(hé)“軟件(jiàn)定義汽車(chē)” 的(de)理(lǐ"≤)念驅動, 各家(jiā) 車(chē)企逐步開(kāi)始進行(xíng)整♣π車(chē) E/E 架構的(de)升級和(hé)變革,引入了(le)“ δ♣♦中央計(jì)算(suàn)平台+區(qū)域控制(zhì) 器(qì>✔&¶)”的(de)中央集中式架構,整體(tǐ) E/E 架構更加扁平化(huà),↕£>有(yǒu)利于實現(xiàn)整車(chē)級的(de) OTA™¶。中央控制(zhì)器(qì)和(hé)域控制(zhì)器(≈≈Ω"qì)之間(jiān)采用(yòng)的(de)是(shì∞✔™↑)以太網,數(shù)據傳輸能(néng)力增強;并且 SOA 架構使得(de)域控制(zhì)器(qì)之間(jiān✔)的(de)交互機(jī)制(zhì)更加靈活。針對(duì)&≈§區(qū)域控制(zhì)器(qì)的(de) OTA 主控部署方案如(λ✘rú)圖 2-5 所示。可(kě)采用(yòng)中央控制(zhα÷φ≥ì)單元(CCU)作(zuò)為(wèi)升級主控,對(duì)于 ECU的(de" ©☆)刷寫有(yǒu)兩種方式:1) 區(≠&✔≥qū)域控制(zhì)器(qì)作(zuò)£®•"為(wèi)網關路(lù)由 UDS 報(bào)文(wén),主控通(tōng)↔ 過 UDS 升級區(qū)域控制(zhì)器(qα♥ì)和(hé)該區(qū)域的(de)所有(yǒu)傳感器(qì)和(hé)執©<行(xíng)器(qì);2)區(qū)域控制(zhì)器(qì)作(zuε♥÷ò)為(wèi)副主控,即升級主控先将該區(qū)域≠π所有(yǒu) ECU 的(de)更新文(wén)件(jiàn)傳輸到(d∞¥ào)區(qū)域控制(zhì)中,由區(qū)域控器(qì)完整自(zì)身(shēn∏∏)升級以及與其連接的(de)執行(xíng)器(qì)和(hé)傳感器(qì)的(de)刷寫™ βε[1]。
圖 2-5 區(qū)域控制(zhσ→ì)器(qì)方案
(3) ECU 端架構方案
車(chē)端 ECU 作(zuò)為(wèi)被∞ε $升級對(duì)象, 在 OTA 系統中主要∏♠×(yào)功能(néng)是(shì)按照(zhπαào)一(yī)定的(de)協議(yì)升級 主控接收目标版本數(shù)據,将目标版本數(shù)據寫入都(dōu)指定的(d←↑βγe)存儲區(qū)域中并引導運行(xíng)新版本軟件(jiàn)• ,從(cóng)而實現(xiàn)自(zì)身(shēn)軟件(jiàn)的(de)更新。按 ECU∏' 芯片類型及運行(xíng)軟件(jiàn)的(de)特∞↕↔性可(kě)分(fēn)為(wèi)普通(tōng) ECU 和(hé)智能(nén∏↑g) ECU,而不(bù)同的(de) E™σ©♣CU 類型根據其內(nèi)存空(kōng)間★→(jiān)結構又(yòu)可(kě)以分(fēn)為(wèi)單分(fēn)區(£↕ qū)和(hé)雙分(fēn)區(qū)兩類。針÷∏>對(duì)兩類 ECU 的(de)兩種不(bù)同分(f&ēn)區(qū)方案,ECU 端的(de)升級可(kě)以大(dà)緻歸類為(wèi) 4 種方案,本小(←®><xiǎo)節将分(fēn)别對(duì)其展開(kāi♥∑)討(tǎo)論。
① 普通(tōng) ECU 單分(fēn)'♣區(qū)(Bootloader)升級方案
普通(tōng) ECU 由于存儲空∑♠π€(kōng)間(jiān)有(yǒu)限,通(tōng)常會(huì)₽采用(yòng)流式刷寫的(de)方式進行(xíng)升級,所謂流式刷寫即先将目标刷寫空(kōng)間(jiān)的(de×™♣♠)數(shù)據擦除,然後傳輸數(shù)據的(de)同★Ω∏時(shí),ECU 将已接收的(de)數(shù)據寫入目的(de)存儲地(dì)址® ∞,通(tōng)過這(zhè)種方式可(kě)以省去(qù)存儲升級包的(de)內(nèi£♣£)存空(kōng)間(jiān)。傳統的(de) BootLoader 通(tōng Ω)過 UDS 協議(yì)刷寫的(de)方式就(jiù)φδφ是(shì)典型的(de)流式刷寫。
如(rú)圖 2-6 所示,普通(t∞≠↑ōng) ECU 單分(fēn)區(qū)∑> '結構隻有(yǒu) BootLoader(啓動引導程序)和(h∞αé)應用(yòng)程序分(fēn)區(qū)€π>∏。該類型 ECU 需要(yào)更新時(shí),首先将 ECU 從(cóng)當前運行(xínφ♥↔γg)的(de)應用(yòng)程序分(fēn)區(qū)切 換至$< BootLoader 運行(xíng),在 BootLoader 中将應用(yòng)分(γ≈↔"fēn)區(qū)當前版本數(shù)據擦除後,再從₽₩€(cóng)升級主控接收新版本數(shù)據并寫入應用(yòng)程序分(fēn)區(δ<↔qū),數(shù)據檢驗無誤後重啓 ECU 切→≈換至應用(yòng)分(fēn)區(qū)即可(kě)運行(xíng)新版本軟件(jiànβ→)。
圖 2-6 Bootloader 升級方案示意圖
這(zhè)種方案缺陷非常明(míng)顯, 由于隻有(≥$yǒu)一(yī)個(gè)應用(yòng)分(fēn)區ε∏(qū),升級前需要(yào)擦除,導緻升 級過程 ECU 功能(néng)無法使用(y±★òng),如(rú)果更新過程異常中斷或者失敗→ →也(yě)會(huì)導緻功能(néng)無法使用 ↓(yòng)。另外(wài),這(zhè)'α類升級通(tōng)常需要(yào)在車(chē)輛(liàng)非運π→&✔行(xíng)狀态下(xià)才能(néng)進行(xíng),在軟件(jiàn)數(shù)量™✘較大(dà)所需升級時(shí)間(jiān)較長(cháng)的(de)情況下(xi♥×à),對(duì)車(chē)輛(liàng)低(dī)壓電(diàn)池供電(diàn)ββ₩∏,尤其對(duì)于燃油車(chē)挑戰較大(dà®±₩$)。
由于這(zh <è)用(yòng)方案具有(yǒu)對(duì)內(nèi)存空(kōng)間(♣♣πjiān)要(yào)求低(dī)、在 BootLoade£Ω r 進行(xíng)更新不(bù)受應用(yòng)程 序幹擾、實現(xiàn)簡<∏單等優勢,目前現(xiàn)有(yǒu) 升級解決方案中大(dà)部分(fēn)普通(tōng) E♥®CU 的(de)更新仍采用(yòng)這(zhè)種方式。
② 普通(tōng) ECU ☆✔雙分(fēn)區(qū)(AB 分(fēn)區(qū))升級方案
通(tōng)過 AB 分(fēn)區(qū)☆♠<方案,為(wèi)軟件(jiàn)的(de)運行(xíng)版本和(→ hé)升級的(de)目标版本分(fēn)配不(bù)同的(d¥÷βe)存儲區(qū),A 與 B 分(fēn)₩'™>區(qū)彼此為(wèi)回滾,A 分(fēn)區(qū)系統運作(zuò)提供服務時(shí)"∑"€,刷新 B 分(fēn)區(qū),待 B 分(f✘☆™☆ēn)區(qū)軟件(jiàn)刷寫完成通(tōng)過校(×xiào)驗後,下(xià)次重啓時(shí)載入 B 分(fēn)區(qū); β若刷寫錯(cuò)誤或關聯 ECU 刷新失敗,則仍©→∑♠以 A 分(fēn)區(qū)系統啓動,從(cónπ∏g)而提高(gāo)升級的(de)可(kě)靠性πφ,最小(xiǎo)化(huà)回滾所需的(de)時(shí)間(jiān)。
對(duì)于 AB 升級,✔↕其實有(yǒu)三種實現(xiàn)方案:第 € →♦1 類基于硬件(jiàn)輔助的(de) A/B 交換方 案↑•¥。該方案要(yào)求 ECU 內(nèi)存足夠,而且支持地(dì)址重映射,也(yě)就✔σ(jiù)是(shì)當新版本軟件(jiàn)刷寫完成,通(tōng)過更新映射地(dì)址來(lái)激活新版本軟件(jiàn),即新版本軟件(•™jiàn)運行(xíng)的(de)入出地(dε♣ì)址不(bù)變;第 2 類與第 1 類的(de)差别在于 ECU 硬件(jiàn♣$ )不(bù)支持地(dì)址重映射,激活新版本軟件(jiàn)的(de>♠δ)入出地(dì)址會(huì)變化(huà);第 3 類,基于外(wài)擴內(nèi)存的(de) A/B 交換方案,該方案是(shì)需要π↑¶₽(yào)額外(wài)的(de)外(wài)擴內(nèi)存,備份當前版本軟件(jiàn♥₽®)和(hé)舊(jiù)版本軟件(jiànδ≤¶),新版本軟件(jiàn)會(huì)先刷寫原先的(de)舊(jiù)版本軟件(jiàn)空(kō∑≈ng)間(jiān),然後擦除 ECU 內(nèi)存的(de)當>↕Ω¶前版本軟件(jiàn), 刷寫新版本軟件(jiàn),完成激σ$""活。
AB 升級方案示意圖如(rú)圖2-7 所示
圖 2-7 AB 升級方案示意圖
③ 智能(néng) ECU 單分(fēn)區(qū)α∞&升級方案
智能(néng) ECU 是(shì)指具有(yǒu)<>高(gāo)性能(néng)處理(lǐ)器(qì),可(kě)運行(®×xíng)現(xiàn)代操作(zuò)系統(如(rú) Linux∏≠∑↓ 、QNX、 Android 等)支持文(wén)件(jiàn)系統的(de)控制(zh®>ì)器(qì)。這(zhè)類控制(zh∏§↓ì)器(qì)存儲介質成本相(xiàng)→←π對(duì)較低(dī), 一(yī)般存儲空(kōng)間(jiān)較為(wèi)充足,通(tōng)常不(bù)會(huì)采用(yòng)流式刷寫的(de)方式λ★α€進行(xíng)升級,而是(shì)先将升級包保存到(dào) ECU 本地(dìσ✔♣∏)存儲,然後進行(xíng)安裝。智能(néng) ECU 的(de)升級通(t☆≠$ōng)常采用(yòng)私有(yǒu)協議(yì),通₽✘ (tōng)過升級代理(lǐ)(update agent)接收 OTA 主控的(de)升級包Ω✔←和(hé)控制(zhì)命令,根據主控的∑≈↑∏(de)指令使用(yòng) 本地(dì)安裝程序(Installer)完成升級包的(de)安裝↕↓♠→。圖 2-8 為(wèi)智能(néng) ECU 升級單分(fēn)區(qū)方¶>案和(hé)雙分(fēn)區(qū)方案的(de)系統框架對(duì)比。

圖 2-8 智能(néng) ECU 升級方案示意圖
單分(fēn)區(qū)方案通€✔(tōng)常包含主系統分(fēn)區(qū)和(hé)更新子(zǐ)系>≤★統分(fēn)區(qū),以及用(yòng)于存儲升級包的×®ε★(de) 緩存區(qū)域。正常系統功能(néng)相(x♠©∞iàng)關軟件(jiàn)運行(xíng)↔¥©≥在主系統分(fēn)區(qū),更新子(z'φΩǐ)系統是(shì)一(yī)個(gè)最小(xiǎo)功能(néng)系統僅用(yòng)于實Ω÷現(xiàn)軟件(jiàn)安裝功能(néng)。該方案軟件(jiàn)更新↑®流程:①系統正常運行(xíng)在主系統分($奩fēn)區(qū),同升級代理(lǐ)從(cóng) OTA 主控接收升級包文(wén)件(jià₹Ω←n),并保存在升級包緩存區(qū), ② 升級包接收完成後由進行(xíng)解密、簽名認®↓δ←證,③接收到(dào) OTA 主控安裝命令後,升級代理(lǐ)将 ECU 切換至更新子(zǐ)系♦÷±×統,在子(zǐ)系統中通(tōng)過安裝✘ 程序将升級包安裝到(dào)主系統分(fēn)區(qū),替換分(fēσφn)區(qū)中的(de)舊(jiù)版λ<$本軟件(jiàn), ④安裝完成後系統重啓切換到(dà☆± o)新的(de)主分(fēn)區(qū)軟件(jiàn§®)版本。
④ 智能(néng) ECU 雙分(fēn Ω)區(qū)升級方案
智能(néng) ECU α★ ☆雙分(fēn)區(qū)方案與單分(fēn)區(qū)相(x™εiàng)似,雙分(fēn)區(qū)方案具有(yǒu)兩個(gè)結構完全相(xiàλ×✔βng)同的(de) 系統分(fēn)區(qū),兩個(gφ'> è)分(fēn)區(qū)都(dōu)具備升級代理(₩γ§"lǐ)和(hé)安裝程序的(de)功能(néng)。系統默認運行(xíngφ♣)在 A 系統分(fēn)區(qū),有(yǒu)新版本軟件(jiàn)需要(yà•☆$o)更新時(shí),可(kě)以通(tōng)過升級代理(lǐ&∑)從(cóng) OTA 主控接收升級包,并直÷÷接通(tōng)過安裝程序将其安裝到(dào↓€♦) B 系統分(fēn)區(qū)中,整個(gè)更新過程不(bù)影(yǐng)響<>∏ ECU 正常功能(néng)使用(yòng)。該方案✘≤÷軟件(jiàn)更新流程:①系統正常運行(xíng)在 A 系統分(fēn)區(qū)β★,同升級代理(lǐ)從(cóng) OTA 主控接收升級包文(wén)件(jiàn),并保存在 ₹♣升級包緩存區(qū);②升級包接收完成後由進行(xíng)解密、↕φ≈★簽名認證;③接收到(dào) OTA 主控安裝¥$₹≈命令後,A 系統分(fēn)區(qū)安裝程序将緩存中的(de)升級包安裝到(dà÷€♠o) B 系統分(fēn)區(qū);④收到(dào) OTA 主控激活命令後将☆±✘系統啓動引導标志(zhì)設置為(wèi) B 系統分(fēn)₩ 區(qū),⑤重啓系統後切換運行(xíng) B 系統分(fēn)區(σ♥₹qū)新安裝的(de)軟件(jiàn)版本。
2.3.2 車(chē)載端關鍵技(jì)術(shùσ•≥↔)
(1) OTA 主控
①∏™ 電(diàn)源管理(lǐ):由于整車(chē)升級時(shí)間(jiān)較長(cháng),且要(∑∑¥↔yào)确保車(chē)輛(liàng)處于安全狀态, 因此需要(yào)管理(lǐ)升級過 程中®→ ≈各個(gè)控制(zhì)器(qì)的(de)工(gōng)作(zuò)狀态。如(rú)果車(β≠chē)輛(liàng)在熄火(huǒ)狀态下(xià)升級,考£&慮到(dào)長(cháng)時(shí)間(jiān)的(de)電(dià䧶n)池電(diàn)量消耗,在升級之前要(yào)對(duì)車(chē)輛(lià✘α≤ng)的(de)現(xiàn)有(yǒu)電(diàn)量進行(xíng)檢查,升級過程中需要(ε♠γyào)設計(jì)電(diàn)源管理(lǐ)策略對>α→(duì)升級與不(bù)升級的(de)控制(zhì)器(qì)、耗電(diàn)的(de)∑¶電(diàn)器(qì)件(jiàn)進行(xíng)差異化(huà)管理(α↓• lǐ)。如(rú)果控制(zhì)器(qì)由于不(bù)可(kě)控的(de)意外(wài)導緻升級±₩異常,也(yě)應處于低(dī)功耗模式,降低(dī)對(duì)整車(c©hē)電(diàn)量的(de)消耗。
② 車(chē)輛(liàng)控制( ™zhì):對(duì)于影(yǐng)響車(chē)輛(lià'↔ng)安全的(de)升級,整個(gè)升級過程需要(yào)保π•Ω&持在一(yī)種安全狀态,因此, OTA 主控需要(yào'♦Ωδ)具備一(yī)定車(chē)輛(liàng)功能(néng)控制♠Ω(zhì)能(néng)力,根據不(bù)同的(de)升級類型,控制(zhì&×÷≥)車(chē)輛(liàng)的(de)功能(néng)狀态。
③ 異常處理(lǐ):在 OTA 傳輸過程中,外(wài)界幹擾或者其他(tā)因素導緻刷寫異常或者中斷™€φ≠,車(chē)載ECU 必須支持軟件(jiàn)回滾、斷點續傳γ®、丢失重傳等處理(lǐ)機(jī)制(zhì)。
(2)OTA 相(xiàng)關協議(yì)&γ
① 标準協議(yì):支持軟件(jiàn)刷寫和(hé)軟件(jià ×n)升級的(de)标準過程,方便 OTA 的(de)開(kāi♦↑ )發、測試和(hé)集成,如(rú)傳統 ECU 支持 UDS 協議(yì)、AU™'£TOSARAP 的(de) UCM。
UDS,即★₽σ統一(yī)診斷服務,主要(yào)用(yòng)于車(chē)外(wài→¥)診斷設備通(tōng)過車(chē)輛$₹♦(liàng)診斷口連接車(chē)內(nèi)總 線,并向控制(zhì)器☆✔÷©(qì)請(qǐng)求控制(zhì)器(qì)內(nèi)部信息或向控制(z¥✘♦hì)器(qì)傳輸數(shù)據。FBL 規範定義了(le)控制(zhì×$β♣)器(qì)要(yào)實現(xiàn)軟件(jiàn)刷寫所需遵循的(de)軟件(j≥ ↓iàn)架構,并且定義了(le)刷寫時(shí)需要(yào)㙣使用(yòng)哪些(xiē) UDS 服務,以及π$這(zhè)些(xiē)服務之間(jiān)的(de)順序關系。使用(×→yòng)這(zhè)些(xiē) UDS 診斷服務,可(kě)以命令控制(zhì)≥•∞器(qì)擦除原有(yǒu)內(nèi)存中的(de)軟件(jiàn)數♦♣σ(shù)據,接收新的(de)軟件(jiàn)數(shù)據并寫入到(dào)β≥內(nèi)存,最終執行(xíng)新的(de)軟件(jiàn)程序。傳統 ECU 基本采用(yòng)的(de)都(dōu)是(sh∞♦ì)基于 UDS 協議(yì)的(de)軟件(jiàn)刷寫這(zhè)種升級方式。 •≥
AUTO₹☆SARAP ,即自(zì)适應平台,是(shì¥>)由軟件(jiàn)更新配置管理(lǐ)器(qì)(UCM)"↓®∞提供了(le)處理(lǐ)軟件(jiàn)更新請(qǐng)求的(de)服務。UCM 負責在$"↑® AP 上(shàng)更新,安裝,删除和(hé)保留軟件(jiàn)記錄,實現(xiàn)了(le)軟件(jiàn)包管理(∑™♦lǐ),确保以安全可(kě)靠的(de)方式更新或修改 AP 上(shàng)的(de)軟件&± (jiàn)。UCM Master 提供了(le)一(yī)種标準的(de)平台解決方案,通(tōng)✘ £過與多(duō)個(gè) UCM 之間(jiān)協調和(hé)分(fēn)配車•Ω↔δ(chē)輛(liàng)內(nèi)的(de)包,實現(xiàn♥↔) AUTOSARAP 的(de)軟件(jiàn)更'☆☆新。
② 私有(yǒu)協議(yì):除了(le)升級遵從(cóng)标準協議(yì)的(de)傳統控制(zhì)器(qì),₹βOTA 還(hái)需要(yào)支持智γ'®能(néng) ECU 的(de)升級。智能(néng) ECU 通(tōng)常帶有(yǒu ₽)操作(zuò)系統并且自(zì)身(shēn)具有(yǒu)升級能(néng)力,作(zu₩☆ò)為(wèi)升級對(duì)象,需要(y★£★ào)從(cóng) OTA 主控模塊或者雲端獲取升級包,并與 OTA 主控進行(xíng)>ε<信息交互,實現(xiàn)升級的(de)觸發和(hé)升級信息的'β(de)反饋。對(duì)于這(zhè)部分(fēn)升級所涉及到(dào)的(de)升級包'©♥♦分(fēn)發和(hé)升級控制(zhì),現(xiàn)在并沒有(yǒu)統一(yī)的(de)定義和(hé)标準,∏÷各家(jiā)車(chē)企和(hé)供應商的(de)實現(xiàn)方案也(yě)各異。
&nε ¥bsp;
(3) ECU 端升級技(jì)術(shù)
① 差分(± ≈•fēn)升級:相(xiàng)對(duì)于整包升級,差分(f↓♦> ēn)升級方案不(bù)僅可(kě)以節省 MCU 內(€λnèi)部的(de)資源空(kōng)間(jiān)、還(háiπ÷)可(kě) 以節省下(xià)載和(hé)升級過程中的(☆λ↑de)功耗。從(cóng)另一(yī)個(gè)角度說(shuō),通§→©Ω(tōng)過将差分(fēn)部分(fēn)下(xià)發到(dào)設備保證了(le)軟件(jiàn)版本的(de)安全性。差分(fēn)升級的(de)流程如(rú)表 2-8,圖 2-9 、2-10 ≠πα™所示。
表 2-8 差分(fēn)升級基本流程
差分(fēn)的(de)實★→¥★現(xiàn)方式主要(yào)有(yǒu)兩種:基于文(wén)本文(β>δwén)件(jiàn)的(de)差分(fēn)和(hé)基于二進制(zhìα∞)文(wén)件(jiàn)的(de)差分(fēn), 其區(qū)分(fēn)>≤£在于對(duì)比文(wén)件(jiàn)的(de)差異,前者是(shì)基于邏輯上(shàn→∑g)的(de),後者是(shì)基于物(wù)理(lǐ)上(shàng)的(deσ←∑↕)。在升級時(shí),通(tōng)過與±♥✔制(zhì)作(zuò)過程對(duì)←®¶¥應的(de)還(hái)原工(gōng)具,将差分(fēn)☆®∏包還(hái)原後寫入到(dào)存儲器(qì)中,保證寫入後的(de)內(nèi)容與目标版本內(nèi)容≈£一(yī)緻。
圖 2-9 差分(fēn)∏&ε 計(jì)算(suàn)過程
差分(¶£α•fēn)計(jì)算(suàn)程序接收舊(φ≥jiù)版本 v1.0 與新版本 v1.1 後生(shēng)成差分(fēn)升級包♠¥ v1.0-v1.1-update.patch。ECU 端從(cóng)雲端下(xià)載差分(fēn)升↕∏級包v1.0-v1.1-update.patch 後,開(¥∞kāi)始後續的(de)差分(fēn)還(hái)原操作(zuò)。
圖 2-10 差分(fēn)還(hái)原過程
差分(fēn)還(hái)原算(suàn)法輸入參數(s&¶hù)為(wèi)舊(jiù)版本安裝包 v1.0 與差分(f&↕ ēn)升級包 v1.0-v1.1- update.patch。通(©<tōng)過差分(fēn)還(hái)原算(suàn)β ÷±法處理(lǐ)後得(de)到(dào)最新₽'的(de)完整升級包 v1.1 。ECU 端安裝 v1.1 完整升級包實現(xiàn)升級目标。
② 安全啓動:安全啓動(Secure Boot)用(yòng)于保證固件€←(jiàn)啓動的(de)代碼受信任的(de)安 λ全保證機(jī)制(zhì),它 通(tōng)過在引導加載≥∏↑過程中,對(duì)加載固件(jiàn)進行(xíng)檢驗,從(c€₹"óng)而防止加載和(hé)執行(xíng)惡意代碼。固件(jià∞'n)的(de)每一(yī)步加載都(dōu)經$γ 過數(shù)字簽名認證,而每一(yī)步簽名認證的(de)根證書(shū)中的(de)密鑰需要(yào)與固化(huà)在芯片內(nèi)部不 ↕α(bù)可(kě)修改的(de)簽名密鑰匹配,從(cóng)而行(xíng)成一(y✘¥ī)個(gè)完整信任鏈。
③ 安全校(x★ iào)驗:ECU 端需要(yào)具備對(duì)所安裝軟件(jiàn)包↓σ進行(xíng)完整性校(xiào)驗和(hé)真實性校(xiào)驗的(de)能(néng)力λ><Ω,這(zhè)要(yào)求 ECU 有(yǒu)能( &néng)力對(duì)更新數(shù)據進行(xíng)簽名驗證。傳統的(de)±δ ECU 刷寫過程通(tōng)常隻通(tōng)過循π$φ環冗餘校(xiào)驗驗證更新數(shù)據的(de)完整性,而無法驗證其真實性,存在被刷寫€÷♥λ非法軟件(jiàn)的(de)風(fēng)險。
&¶αnbsp;
2.4 人(rén)機(jī)交互
2.4.1 人(rén)機(jī)交互要(yào)素 φ±分(fēn)析
車(chē)端的(de)人(rén)機(jī)交互↑Ω÷主要(yào)體(tǐ)現(xiàn)在信息娛樂(yuè)系統上(shàng)®'¥,覆蓋到(dào) OTA 的(de)整個(gè)過程,包括信息提示、用(yòng)戶确認、關鍵信息顯示等。人(rén)機(jī)交互過程需要(yào)考慮 π的(de)要(yào)素大(dà)緻可(kě)以分(fēn)為(wèi)兩個(gè)方面,即法規符合性和(hé)使用(yòε'ng)便利性,如(rú)表 2-8 所示。
表 2-9 人(rén)機(jī)交互要(yào)素分(f<•ēn)類及示意
2.4.2 人(rén)機(jī)交互方式分(fēn)類
基于實際業(yè)務要(y×∑ào)求,各家(jiā) OEM 的(de) OTA 人(r✘λ↓én)機(jī)交互方式各有(yǒu)差異,本節共總結 6 種主流升級方式,并針→'對(duì)營運車(chē)輛(liàng)與非營運車(chē)輛(liàng)使用(yòn↔♦← g)性質不(bù)同,分(fēn)别展開(kāi)分(fēn)析,具體(tǐ)如(rú)表 2-10 所示。
表 2-10 人(rén)機(jī)交互方式分(fēn)π∏₹↔類
轉自(zì)汽車(chē)電(diàn)子(zǐ)與軟件(jiàn)