01.概述
1.1 汽車 OTA——三個(gè)關(guān)鍵用例
1.數(shù)據(jù)收集
實(shí)施預(yù)測性維護(hù)
建立早期反饋循環(huán)(例如在推出新模型時(shí))
基于車輛數(shù)據(jù)提供新服務(wù)
例如,為當(dāng)?shù)靥鞖鈭?bào)告收集雨水傳感器數(shù)據(jù)
2.實(shí)時(shí)診斷
從中央車輛支持中心從遠(yuǎn)程獲得路邊援助
繼續(xù)駕駛還是繼續(xù)等待拖車服務(wù)?
立即解決一些 E/E 問題
3.軟件更新
通過快速修復(fù)功能和安全事件來避免昂貴的召回
發(fā)布花哨的新功能,創(chuàng)造新的商業(yè)模式
實(shí)施基于軟件的模型升級(jí)
1.2 基于Vector的OTA 方案
?
02.軟件下載用例
2.1 通過離線車載診斷測試儀下載軟件
?
2.2 單分區(qū)的引導(dǎo)加載程序上下文中的 OTA 軟件下載
2.3 多分區(qū)(Multiple Partitions)的引導(dǎo)加載程序上下文中的 OTA 軟件下載
?
2.4 ?Bootloader 上下文中的 OTA 軟件下載
方法
在路上行駛時(shí),連接單元接收到軟件更新包
在 Flash Bootloader 上下文中的運(yùn)行后階段(post-run phase)對(duì)目標(biāo) ECU 進(jìn)行更新
約束
下載過程中需要實(shí)現(xiàn)下載中斷/恢復(fù)能力
必須考慮電池容量
優(yōu)點(diǎn)
重用現(xiàn)有基礎(chǔ)架構(gòu)(Flash Bootloader)
對(duì)應(yīng)用程序運(yùn)行時(shí)行為沒有影響
在更新階段利用最大網(wǎng)絡(luò)帶寬
缺點(diǎn)
關(guān)閉期間(key-off)進(jìn)行更新的時(shí)間窗口是有限的
由于關(guān)閉了正常的消息通信,因此對(duì)運(yùn)行后系統(tǒng)設(shè)計(jì)(post-run)產(chǎn)生影響
2.5 Application上下文中的 OTA 軟件下載
方法
在路上行駛時(shí),連接單元接收到軟件更新包
更新在應(yīng)用程序上下文中的目標(biāo) ECU 上的影子內(nèi)存中進(jìn)行
約束
應(yīng)用棧需要通過OTA下載軟件組件進(jìn)行擴(kuò)展
必須考慮總線負(fù)載和 ECU 性能影響
必須實(shí)現(xiàn)多內(nèi)存分區(qū)概念和下載中斷/下載恢復(fù)的能力
優(yōu)點(diǎn)
ECU 在應(yīng)用程序上下文中運(yùn)行,無需禁用正常的消息通信
根據(jù)內(nèi)存分區(qū)概念,對(duì)車輛可用性幾乎沒有影響
缺點(diǎn)
復(fù)雜性增加
額外的 ROM 資源
必須考慮對(duì) ECU 系統(tǒng)設(shè)計(jì)和安全要求的
03.ECU存儲(chǔ)解決方案
3.1 硬件輔助 A/B分區(qū)交換解決方案
這種架構(gòu)需要微控制器本身的硬件支持
硬件將活動(dòng)分區(qū)(active partition)映射到預(yù)定義的地址范圍(例如 0x000000,在下面的示例中分區(qū)大小為 2MB)
代碼總是從預(yù)定義的地址范圍執(zhí)行(0x000000-0x200000)
激活(Activation)分區(qū)意味著重新映射活動(dòng)和非活動(dòng)內(nèi)存地址范圍
3.2 下載緩存解決方案
在后臺(tái)下載期間,下載的數(shù)據(jù)緩存在未使用的內(nèi)存區(qū)域(內(nèi)存區(qū)域可以是內(nèi)部存儲(chǔ)器或者是外部存儲(chǔ)器)
在軟件激活期間,F(xiàn)lash Bootloader 將新應(yīng)用程序復(fù)制到活動(dòng)存儲(chǔ)區(qū)
3.3 Dual Binary解決方案
根據(jù)活動(dòng)/非活動(dòng)內(nèi)存,選擇不同的應(yīng)用入口地址
代碼從不同的內(nèi)存位置執(zhí)行
需要維護(hù)兩個(gè)相同版本的軟件二進(jìn)制文件,它們鏈接到不同的內(nèi)存位置
診斷Tester需要知道活動(dòng)/非活動(dòng)內(nèi)存的位置以選擇正確的鏡像
3.4 ECU存儲(chǔ)解決方案比較
Hint:符號(hào)“+”表示優(yōu)點(diǎn),符號(hào)“-”表示缺點(diǎn)
硬件輔助 A/B分區(qū)交換解決方案 +單個(gè)二進(jìn)制 +激活時(shí)間較短 -目前只支持少數(shù)硬件平臺(tái)
下載緩存解決方案 +單個(gè)二進(jìn)制 +通用解決方案 +現(xiàn)有 MCU 平臺(tái)可通過添加外部閃存重復(fù)使用 -由于數(shù)據(jù)復(fù)制,激活時(shí)間較長 -增加了外部閃存的成本
Dual Binary解決方案
+除了支持邊寫邊讀外,沒有額外的硬件要求 +極短的激活時(shí)間 -雙軟件鏡像的配置管理 -可能需要復(fù)雜的軟件來處理不同的復(fù)位向量和中斷地址
04.MICROSAR.OTA 軟件下載解決方案
4.1 MICROSAR.OTA 軟件架構(gòu) - 職責(zé)
注意:架構(gòu)圖只顯示了OTA 特定的 BSW 模塊。
MICROSAR
下載軟件更新
軟件更新驗(yàn)證
備份創(chuàng)建(可選)
Flashbootloader
激活(Activation)軟件更新
回滾(Rollback)到以前的軟件
4.2 MICROSAR.OTA 軟件架構(gòu) - SWDL Handler
?
4.3 MICROSAR.OTA 軟件架構(gòu) – 軟件更新管理器
?
軟件更新管理器
簽名驗(yàn)證
解壓
解密
閃存數(shù)據(jù)的緩沖
數(shù)據(jù)處理
模塊的定義,也就是邏輯塊
模塊到虛擬地址的映射
處理保存的恢復(fù)信息來繼續(xù)中斷的軟件下載
4.4 MICROSAR.OTA 軟件架構(gòu) – 內(nèi)存訪問管理器
內(nèi)存訪問管理器
AUTOSAR FLS
Vector vMem
虛擬地址的定義
虛擬到物理地址的映射
閃存作業(yè)(flash jobs)的優(yōu)先級(jí)和調(diào)度
處理多個(gè)閃存驅(qū)動(dòng)程序
4.5 MICROSAR.OTA 軟件架構(gòu) – vMem
vMem(外部)
讀/寫/擦除?程序閃存(program (code) flash)
可用于內(nèi)部和外部閃存
4.6 SWDL 軟件架構(gòu)
OTA 管理器
在內(nèi)部和/或外部閃存的分區(qū)之間復(fù)制數(shù)據(jù)
使用硬件輔助 A/B 交換
Vector Flashbootloader 的附加組件
負(fù)責(zé)激活和回滾
OTA 管理器基礎(chǔ)版本
OTA 管理器擴(kuò)展版本
?
?
審核編輯:劉清
評(píng)論