卜凡濤,劉木林,劉曉曄
(東軟睿馳汽車技術(沈陽)有限公司,遼寧 沈陽 110000)
隨著人工智能、電子控制以及互聯網技術的不斷完善,汽車正逐步從機械產品演變成為集各種先進電子技術于一身的智能網聯汽車。智能網聯汽車的各個系統,從燈光控制到車輛控制,從主動安全到高級自動駕駛系統,無一不借助各種精密可靠的電子電氣系統得以實現。隨著智能網聯汽車的功能要求越來越多,控制器的代碼量也隨之增加,甚至達到上億行。代碼量的增加使得整車出廠前無法完全規避軟件漏洞,必須售后通過軟件更新修復,但傳統的軟件升級過程需要診斷設備連接車上的OBD(On-Board Diagnostics,車載診斷系統)接口進行,無論是讓車主前往4S店進行升級還是廠商召回,都將消耗大量時間、人力成本。為了解決軟件升級的難題,很多新興公司開始使用OTA技術,使用無線網絡通過遠程升級軟件。
OTA(Over-the-Air Technology)空中下載技術,即通過移動網絡從遠程服務器無線下載新的軟件更新包對自身系統進行升級。OTA技術可以減少大量的人力和物力,本文提出對車載控制器的OTA設計。
OTA是利用移動網絡(TD-LTE)實現對移動設備軟件進行更新的技術。客戶端和服務端協同工作,而服務端只有一個,一般設在整車廠的服務器;客戶端有多個,本文新能源車就是客戶端。一個服務端對應多個客戶端,當客戶端同意進行更新軟件后,服務端就會發起更新請求,客戶端接收到新版軟件后在合適的時間段內完成更新。車載OTA網絡架構如圖1所示。

圖1 車載OTA網絡架構圖[4]
當客戶端同意進行OTA更新時,車輛通過移動網絡連接到OEM服務器,OEM服務器將更新的固件發送到車輛的遠程處理單元,遠程處理單元再發送到網關控制器,通過網關控制器分發到相應控制器。本文重點介紹OTA技術,不對網絡安全技術做詳細講解。

圖2 OTA主需求圖
1)軟件中同時存在soft1(Bank A)和soft2(Bank B),新舊2套不同軟件。
2)軟件可以通過CAN控制指令在soft1和soft2之間切換。
3)軟件通過OTA燒錄更新,在舊版本位置更新為新版本軟件。
4)在軟件更新失敗時,可以回滾至舊軟件。
5)軟件存在Boot并且不變更。
OTA實現的困難點如下。
1)兩版軟件App功能相同,但是PFLASH地址不同,對應的Linker配置也就不同,所以必須有兩套軟件。
2)在進行OTA更新時,需要明確當前ECU運行的軟件是Bank A還是Bank B。
由于編譯地址不同,對于同一版Soft Code,需要配置不同的Linker文件,最后需要準備不同的燒錄對象文件(.hex),見表1。

表1 未使用SWAP的hex版本
為了解決以上問題,本文應用了英飛凌的SWAP技術。SWAP是使能后,Bank切換時通過修改特定的Dflash數據進行配置切換,Reset后實際切換。如圖3所示。

圖3 SWAP功能開啟后的Bank切換圖
通過SWAP功能,可做到每一版軟件只需要生成一版燒錄對象文件(.hex),見表2。

表2 使用SWAP后的hex版本
使用SWAP的軟件時序圖如圖3所示。

圖4 軟件流程圖
1)UDS指令進入Boot1。
2)Boot1擦除Bank B App Area(App1),如果Bank A為now。
3)下載App3.hex,在Bank B App Area進行燒錄。
4)切換UCB_SWAP。
5)Reset,進入Bank B Boot1。
6)校驗PFlash區中,Bank B App3完整性。
7)如果6)校驗成功,Reset,軟件從Bank B Boot1跳轉至Bank B App3。
8)如果6)校驗失敗,報燒錄軟件檢驗失敗錯誤。
切換UCB_SWAP,Reset,軟件從Bank A Boot1跳轉至Bank A App2。
汽車聯網能力日漸普及,以“互聯網云服務”為中心的內容及服務系統逐步建立,為每位客戶建立個人賬戶系統,提供語音交互、在線導航、新聞資訊、在線音樂電臺等典型互聯網特色的內容;同時,企業為完善自身的信息化建設和軟件管理能力,搭建OTA及信息安全管理平臺勢在必行。
本文的OTA功能設計已在實際項目中運用,預計在2023年達到量產狀態。