柳旭 周時瑩 范玲玲 李長龍 周銳



【摘要】為提高現有遠程升級系統的高并發連接能力、自動化程度及下載升級效率,利用云端微服務化、基于整車基線的自動升級路線策略、獨立下載通道、輕量化遠程參數修改等技術對空中下載(OTA)系統方案進行精益化設計,量產車型的實車功能及性能試驗結果表明:該方案滿足百萬輛級車輛的并發使用需求,升級穩定性接近100%。
關鍵詞:空中下載 軟件基線 任務自動化 獨立下載
中圖分類號:U461? ?文獻標志碼:A? ?DOI: 10.20104/j.cnki.1674-6546.20220131
Lean Design of Intelligent Connected Vehicle OTA System
Liu Xu, Zhou Shiying, Fan Lingling, Li Changlong, Zhou Rui
(1. Global R&D Center, China FAW Corporation Limited, Changchun 130013; 2. National Key Laboratory of Advanced Vehicle Integration and Control, Changchun 130013)
【Abstract】In order to improve the high concurrency connectivity, degree of automation and efficiency of downloading upgrading, this article uses cloud-based microservice, automatic upgrade path strategy based on vehicle baseline, independent download channel and lightweight remote parameter correction to make lean design for Over-The-Air (OTA) system scheme. Function and performance test results of mass-produced vehicles show that this scheme satisfies the demand of concurrent use for vehicles with production capacity of one million unit, with upgrade stability nearly reaching 100%.
Key words: Over-The-Air (OTA), Software baseline, Task automation, Independent download
【引用格式】柳旭, 周時瑩, 范玲玲, 等. 智能網聯車輛空中下載系統精益化設計[J]. 汽車工程師, 2024(6): 1-7.
LIU X, ZHOU S Y, FAN L L, et al. Lean Design of Intelligent Connected Vehicle OTA System[J]. Automotive Engineer, 2024(6): 1-7.
1 前言
以自動駕駛為代表的車輛核心軟件功能愈發復雜,面對巨額的開發成本投入,軟件價值商業化勢在必行[1-2]。基于遠程軟件升級、軟件個性化定制等需求的空中下載(Over-The-Air,OTA)技術應運而生。
國內外車企針對企業級OTA系統、云端搭建、升級流程、信息安全、升級可靠性等方面已開展了大量的開發工作。文獻[3]對某公司初代OTA系統的架構組成、升級策略、差分原理、實車測試用例及參數指標進行了闡述;文獻[4]介紹了信息安全原理及在OTA下載過程中的具體應用流程;文獻[5]介紹了目前國內外OTA相關法規制定情況及其具體要求。由此可見,汽車行業、企業及國家監管部門均在快速開展OTA技術研發及規范工作。
本文針對目前主流的整車OTA技術提出一種精益化設計方案,主要進行OTA平臺系統的高并發、自動化任務發布、下載升級速率提升等方面研究,闡述OTA實際項目開發及使用過程中亟待解決的問題,并給出合理的設計方法和解決方案,最后驗證方案的可執行性。
2 OTA架構演進
OTA技術是通過4G、5G、WIFI等網絡介質從云端服務器下載車輛軟件更新包并在車端完成軟件替換更新的無線升級技術[6],采用典型的客戶端/服務端(Client/Server)架構,由車端、管端、云端3個部分組成。OTA云端系統及其外圍服務器集群為車輛提供全面的軟件升級服務,涵蓋車輛管理、軟件包管理、升級流程協調等。車云鏈路確保通信過程的安全性和可靠性,車輛作為服務請求的終端接入這一系統,可精準地向特定的云端服務器發起升級服務的請求[7-8]。
2.1 OTA系統基本硬件組成
OTA系統的基本硬件組成如圖1所示。云端系統硬件主要包括OTA應用服務器群、汽車遠程服務提供商(Telematics Service Provider,TSP)車輛數據服務器、公鑰基礎設施(Public Key Infrastructure,PKI)證書服務器、內容分發網絡(Content Delivery Network,CDN)第三方應用服務器[9]。車端系統硬件主要包括網絡連接電子控制單元(Electronic Control Unit,ECU)、網關控制器、交互控制器等,各控制器之間通過車載總線,如以太網、CAN、CANFD等進行數據及信號傳輸[10]。
2.2 OTA系統基本軟件組成
OTA云端系統按照云服務架構可拆解成如圖2所示的模塊:基礎設施即服務(Infrastructure-as-a-Service,IaaS)平臺層提供基本的系統級資源,包括Kafka類調度中心、各類型數據庫、對象存儲(Object Storage Service,OSS)、數據緩存等;平臺即服務(Platform-as-a-Service,PaaS)層劃分為核心業務服務、通用服務、安全服務3個模塊,其中核心業務模塊為OTA的主邏輯,可按功能劃分為通信、下載、車輛管理、軟件管理、升級管理、統計等服務;軟件即服務(Software-as-a-Service,SaaS)應用層為面向專業人員的云端Web及向外可擴展的信息接口[11]。
OTA車端按照模塊化設計,包含以下基本組件:下載管理器組件(DMclient),主要功能為下載、驗簽、加密、安全認證、版本管理、差分還原;升級代理(Update Agent,UA)組件,用于收集并保存車輛狀態信息,輔助OTA策略的實施[12],該組件觸發刷寫腳本應用程序接口(Application Programming Interface,API)完成ECU的刷寫腳本調用,獲取ECU的升級進度和結果,同時收集整車各ECU的軟件版本;人機交互代理(Human Machine Interface Agent,HMI Agent)組件用于處理整個升級過程中所有OTA相關狀態的顯示及用戶操作信號的反饋;系統代理(System Agent)組件用于OTA升級過程中車輛電源控制、車輛狀態判斷、中央網關(Central Gateway,CGW)的睡眠接口調用以及車輛起動狀態獲取[13]。
同時,OTA組件的正常運行依賴于部署節點的底層能力,包括刷寫相關、條件相關、通用信息相關、交互相關的底層功能接口。車端軟件架構如圖3所示。
3 OTA系統精益化設計
OTA精益化設計以現有硬件為基礎,優化現有軟件架構及功能邏輯,主要包括基于整車基線的自動任務引擎、獨立下載技術和遠程配置技術3個方面。
不同于基礎OTA邏輯的單ECU軟件版本管理的維度,車端整車軟件版本管理組件用于整車版本收集及整車基線判斷,云端軟件包管理以整車軟件為邏輯集合,利用獨立下載技術實現大數據量級ECU直接訪問CDN的方法,縮減原有的車內傳輸過程。同時,OTA云端下發的整車軟件包中攜帶ECU配置信息,可通過車端的配置模塊實現ECU功能的開啟和關閉。云端任務觸發引擎按照整車基線設置預定路線,單個車輛終端上報狀態后,自動確定及下發任務。OTA精益化設計方案如圖4所示。
3.1 OTA云端微服務架構
單體式架構中多個服務通過共享同一數據庫,將應用程序整合成一個單一的、不可分割的單元,因此所有的服務、組件和模塊都是緊密耦合的,這將導致車輛并發能力偏弱、云端Web管理界面卡滯、云端部署任務及軟件包上傳時間過長等問題。同時,由代碼依賴、數據共享等架構特性帶來的強耦合性會導致系統功能變更困難。
微服務架構將單一應用程序劃分為微小的服務,各服務之間互相協調、配合,為用戶提供最終價值。各服務獨立運行,并采用輕量級的通信機制互相協作,圍繞具體業務進行構建,并且能夠被單獨分配到生產環境中,同時,各微服務擁有獨立的數據庫[14]。微服務核心功能機制如圖5所示。
3.2 基線控制及云端任務路線
用戶較為關注汽車的整車級功能,但整車制造商(Original Equipment Manufacturer,OEM)更關注ECU的模塊化設計,其基線存在控制器版本不受控、新功能通知滯后、企業運營及宣傳通道受限等弊端。
3.2.1 整車版本定義
整車版本描述了整車ECU的軟件狀態,各ECU的軟件狀態通過軟件版本號進行識別,將整車功能的不同狀態通過唯一的整車版本號進行區分,如圖6所示。整車版本的格式設置為AA OS P S.X.Y<.Z><-T>,各字段定義如表1所示。
3.2.2 車端整車版本判斷模塊
ECU通過CAN報文按周期上報ECU硬件及軟件版本信息,軟件更新涉及軟件版本號的變化,刷寫流程執行完成后重啟,新的軟件版本號在第一幀發出。
整車硬件及軟件判斷依據以xml文本格式記錄。針對不同的整車硬件版本,分別描述ECU標識、名稱、版本號集合,基本結構如圖7所示。整車硬件判斷依據通過下線設備灌裝入車內,當車輛存在硬件升級的場景時,售后部門重新灌裝。整車軟件判斷依據伴隨升級包一同下發到車輛。
整車軟件版本判斷模塊如圖8所示,其工作機制為:各ECU通過通信報文發出軟、硬件信息;車端版本管理組件收集該信息并存儲;整車軟件版本引擎按照設備樹軟件信息,判斷存儲的版本信息是否相同,若相同則完成整車版本匹配。匹配過程中,由于設備樹軟件信息較多,按照序號從大到小的順序依次判斷,匹配成功后則停止繼續比對。
3.2.3 基于整車版本的云端任務路線
不同于繁瑣的人工部署任務,基于整車版本的云端任務采用提前預設路線的方式,不同車輛識別碼(Vehicle Identification Number,VIN)的車輛上報整車版本后,自動選擇后續節點生成恰當的任務[15]。云端任務路線示例如圖9所示。
3.3 獨立下載
車內車載遠程通信終端(Telematics-BOX,T-BOX)、車載信息娛樂系統(In-Vehicle Infotainment,IVI)及高級駕駛輔助系統(Advanced Driving Assistance System,ADAS)等系統的升級包大小可達GB級,若OTA組件將升級包下載至主節點內,升級包需要從網關傳輸到目標設備,傳輸過程耗時較長。
獨立下載技術通過將下載信息經由加密信道傳輸給目標端,目標端直接與云端通信的方式完成下載動作[16],相關流程如圖10所示。
Engine Service和Dwl Service Ext為主節點中OTA組件的2個服務模塊,分別負責任務管理和下載管理。獨立下載方案中,Engine Service負責同步各軟件包的下載相關信息,當判斷升級包所屬為獨立下載ECU后,將下載信息同步給對應ECU。
IVI/T-BOX/ADAS收到下載信息后,直接通過下載通路連接對應服務器,完成數據下載,支持斷點續傳。在獨立下載過程中,同時響應OTA主節點取消下載、獲取下載狀態和獲取刷寫腳本的控制指令。
獨立下載和正常下載全部完成后進入安裝階段,仍然由Engine Service統一調用UAt模塊完成升級刷寫的控制。至此,OTA任務的流程全部完成。
3.4 遠程配置
遠程配置即通過遠程通信的方式對整車的軟件功能進行配置,通常是啟動和關閉整車的某一功能,可用于開啟與關閉整車的基礎功能和可銷售的軟件功能。基礎功能通常可免費獲取,通過OTA的方式升級軟件后,通過遠程配置啟動與關閉。可銷售軟件功能在用戶購買后可進行單獨配置,或者需要先通過OTA平臺將軟件升級至指定版本再進行配置。
不同的整車硬件版本配置軟件的方式不同,主要分為廣播配置與診斷配置,物理層支持通過CAN網絡和車載以太網進行配置。廣播配置的優勢在于一次廣播播報可配置多個相關ECU報文,診斷配置則需要對各ECU進行單獨尋址,逐步完成功能的配置[17]。
3.5 OTA安全設計
OTA安全設計主要包括服務器端、管端及車端3個部分。服務器端安全設計如圖11所示。
OTA服務器與車端采用超文本傳輸協議(Hyper Text Transfer Protocol,HTTP),基于私有PKI體系實現雙向身份認證,保證通信信道的加密傳輸。
車端安全設計主要包括升級前置條件控制和升級異常處理。升級前置條件設計內容包括車速、擋位、蓄電池電量、網絡通信等,此外,本文特別設計了OTA模式。OTA模式是指OTA升級過程中,各控制器為適應OTA刷寫需求進入的特殊狀態。OTA任務下載完成開始安裝后,主節點會播報“OTA模式”信號,模式信號為狀態值,各控制器監測到信號后,進入OTA模式,在該模式下,各控制器執行不同動作,如車身控制器維持電池鎖定狀態、娛樂主機降低亮度等。
升級異常策略分為重刷和回滾2種處理機制。依賴于可重復刷寫的引導加載程序(Bootloader)功能設計,ECU至少需要實現升級異常后可重復刷寫;回滾機制包含云端、車內、ECU內回滾等方式,其中ECU內回滾即ECU的a、b面升級,能夠徹底解決刷寫失敗異常的問題,但對于ECU芯片性能、存儲空間的高要求,會使硬件成本增加20%~30%,因此需要根據ECU的功能安全等級分級設計。
4 試驗驗證
4.1 試驗環境
針對上述精益化設計內容,進行OTA功能及系統性能的試驗驗證,以實物臺架試驗為主,系統仿真為輔。功能測試包括任務自動化、斷點續傳、獨立下載流程、遠程配置流程、整車版本判斷、軟件包篡改、升級前置條件等;性能測試包括云端服務器每秒查詢率(Queries Per Second,QPS)、獨立下載速度、CAN刷寫速度、軟件升級成功率、功能配置成功率等。云端測試系統及實物臺架如圖12、圖13所示。
4.2 功能測試
功能測試基本采用云端任務部署、車端任務執行的方式,測試目的及方法如表2所示。以自動化的任務下發為例,測試大致步驟為:設置一條三節點的升級路線進行全網發布;使用實車1進行車云通信;使用實車2首次接入OTA系統進行車云通信(模擬車輛剛下線)。測試發現實車1和實車2皆能完成2次任務串行下發,任務升級成功,整車軟件版本判斷正確。通過本次測試,驗證了云端升級任務自動化下發以及車輛連續升級功能的實效性。
4.3 性能測試
4.3.1 云端并發能力測試
通過高性能服務器模擬多車連接請求,驗證服務器的處理能力及錯誤率等關鍵指標。壓力機硬件性能指標如表3所示。
使用Locust負載測試工具,設定HTTP請求超時時間為10 s,測試樣本為10萬輛汽車,包括3萬輛有任務車輛和7萬輛無任務車輛。并發時根據有任務和無任務情況循環測試所有車輛,并發送對應請求。
測試結果為:在5 h內共請求1 399萬次,其中失敗266萬次,在服務端磁盤飽和前,請求次數為960 次/s,錯誤率小于0.02%;磁盤飽和后,請求次數下降為500 次/s左右,錯誤率迅速增大。
4.3.2 CAN刷寫速度測試
基于CANoe工具的通信訪問編程語言(Communication Access Programming Language,CAPL)腳本實現自動化重復測試上位機,針對車門控制器進行重復刷寫計時。上位機設置刷寫連續幀間隔(STmin)為0,hex文件為200 KB,分別針對總線非刷寫報文無負載、5%負載、10%負載情況進行驗證,測試數據如表4所示。測試結果表明,隨著總線負載的增加,控制器的刷寫時間也逐步增加。
4.3.3 刷寫成功率測試
刷寫成功率驗證分為單件多次重復刷寫驗證和多件單次刷寫驗證,刷寫成功率測試方法與刷寫速度測試一致。刷寫成功需具備2個充分條件:對Flash擦除指令,車門控制器給出積極響應;刷寫完成后,通過版本號讀取服務和通信報文均能夠收到目標版本號。單件多次重復刷寫驗證對控制器進行百次級的壓力測試,成功率為100%;多件單次刷寫驗證使用10個相同版本的車門控制器進行,成功率為100%。
5 結束語
本文針對進行了方案設計,并通過實車臺架驗證了其可行性,得到以下主要結論:
a. OTA云端采用微服務架構設計,可支撐百萬級車輛的業務請求,同時便于后續業務升級;
b.整車基線控制在管理層面可以有效保證車輛的初始狀態,在技術層面更加便于任務自動化的實現;
c.獨立下載能夠有效縮減大數據量軟件包在車內網絡的傳輸時間,減少ECU安裝過程的等待時間;
d.不同于大數據量的軟件更新,遠程配置更適用于獨立實現輕量級的參數變動。
參考文獻
[1]? ?陳虹, 郭露露, 邊寧. 對汽車智能化進程及其關鍵技術的思考[J]. 科技導報, 2017, 35(11): 52-59.
CHEN H, GUO L L, BIAN N. Reflections on the Process of Automotive Intelligence and its Key Technologies[J]. Science and Technology Herald, 2017, 35(11): 52-59.
[2]? ?PHUNG P H, NILSSON D K. A Model for Safe and Secure Execution of Downloaded Vehicle Applications[C]// IET Road Transport Information and Control Conference and the ITS United Kingdom Members Conference (RTIC 2010)-Better Transport Through Technology. London: IEEE, 2010.
[3]? ?王棟梁, 湯利順, 陳博, 等. 智能網聯汽車整車OTA功能設計研究[J]. 汽車技術, 2018(10): 29-33.
WANG D L, TANG L S, CHEN B, et al. Research on the Design of OTA Function for the Whole Vehicle of Smart Networked Vehicles[J]. Automotive Technology, 2018(10): 29-33.
[4]? ?周奇才, 王奕童, 趙炯, 等. 基于互聯網設備的車輛安全空中下載通信協議方案[J]. 汽車技術, 2020(1): 6-11.
ZHOU Q C, WANG Y T, ZHAO J, et al. A Communication Protocol Scheme for Safe Over-the-Air Download of Vehicles Based on Internet Devices[J]. Automotive Technology, 2020(1): 6-11.
[5]? ?朱云堯, 吳勝男. 國內外智能網聯汽車軟件在線升級法規分析[J]. 汽車文摘, 2022(10): 6-10.
ZHU Y Y, WU S N. Analysis of Online Software Upgrade Regulations for Domestic and Foreign Intelligent Networked Vehicles[J]. Automotive Digest, 2022(10): 6-10.
[6]? ?萬開明, 洪雷. 車載OTA技術研究[J]. 時代汽車, 2020(11): 10-11.
WAN K M, HONG L. Research on In-Vehicle OTA Technology[J]. Times Automotive, 2020(11): 10-11.
[7]? ?MANSOR H, MARKANTONAKIS K, AKRAM R N, et al. Lets Get Mobile: Secure FOTA for Automotive System[C]// International Conference on Network and System Security. New York: Springer, Cham, 2015.
[8]? ?IDREES M S, SCHWEPPE H, ROUDIER Y, et al. Secure Automotive Onboard Protocols: A Case of Over-the-Air Firmware Updates[C]// International Workshop on Communication Technologies for Vehicles. Heidelberg, Berlin: Springer, 2011.
[9]? ?程達, 姬東耀. OTA業務的高速下載[J]. 計算機工程與應用, 2005(33): 147-148+204.
CHENG D, JI D Y. High-Speed Download for OTA Services[J]. Computer Engineering and Applications, 2005(33): 147-148+204.
[10] NILSSON D K, SUN L, NAKAJIMA T. A Framework for Self-Verification of Firmware Updates over the Air in Vehicle ECUs[C]// 2008 IEEE Globecom Workshops. New Orleans: IEEE, 2008.
[11] NILSSON D K, LARSON U E. Secure Firmware Updates Over the Air in Intelligent Vehicles[C]// ICC Workshops-2008 IEEE International Conference on Communications Workshops. New Orleans: IEEE, 2008.
[12] 武智, 劉天宇, 賈先鋒. 智能網聯汽車OTA升級安全設計[J]. 汽車實用技術, 2022, 47(3): 38-40.
WU Z, LIU T Y, JIA X F. OTA Upgrade Safety Design for Smart Networked Vehicles[J]. Automotive Practical Technology, 2022, 47(3): 38-40.
[13] 嚴娟, 張玉川, 楊鵬翔, 等. 基于以太網OTA遠程升級的研究[J]. 上海汽車, 2020(3): 15-18+27.
YAN J, ZHANG Y C, YANG P X, et al. The Study on OTA Remote Updating of Ethernet[J]. Shanghai Automotive, 2020(3): 15-18+27.
[14] VILLAMIZAR M, GARC?S O, CASTRO H, et al. Evaluating the Monolithic and the Microservice Architecture Pattern Todeploy Web Applications in the Cloud[C]// 2015 10th Computing Colombian Conference(10CCC). Bogota, Colombia: IEEE, 2015.
[15] ZHANG J, LIAO Z, ZHU L. Research on Design and Implementation of Automotive ECUs Software Remote Update[J]. Applied Mechanics and Materials, 2015, 740: 847-851.
[16] MU C Y, SUN L N, DU Z J, et al. Research and Development of Device for Downloading and Updating Software of Product ECU Based on Extended CCP[C]// 2007 2nd IEEE Conference on Industrial Electronics and Applications. Harbin, China: IEEE, 2007: 2865-2869.
[17] SHI G Y, KE Z W, YAN F W, et al. A Vehicle Electric Control Unit Over-the-Air Reprogramming System[C]// 2015 International Conference on Connected Vehicles and Expo (ICCVE). New York: IEEE, 2015.
(責任編輯 王 一)
修改稿收到日期為2024年5月15日。