朱永健 王曼娜 張行 鞠偉男
(中國汽車技術(shù)研究中心有限公司,天津 300300)
在汽車智能化和網(wǎng)聯(lián)化趨勢下,汽車成為移動互聯(lián)網(wǎng)終端,在線升級(Over The Air,OTA)技術(shù)應(yīng)用越來越廣泛。隨著汽車OTA 技術(shù)普及應(yīng)用,新車型搭載OTA 功能已成為主流趨勢,升級內(nèi)容也從軟件(Software OTA,SOTA)擴(kuò)展到固件(Firmware OTA,F(xiàn)OTA),汽車產(chǎn)品競爭力和生命周期將被重新定義[1]。與傳統(tǒng)的消費(fèi)者到4S 店進(jìn)行線下軟件升級相比,OTA 升級更好地解決了以下3 個問題:(1)降低缺陷產(chǎn)品召回成本,降低產(chǎn)品負(fù)面影響;(2)更新擴(kuò)展功能,增加用戶體驗(yàn);(3)加快車聯(lián)網(wǎng)生態(tài)建設(shè)[2]。
當(dāng)前,OTA 技術(shù)已成為眾多汽車制造商的標(biāo)準(zhǔn)配置。同時(shí),由于OTA 技術(shù)可能會帶來潛在的風(fēng)險(xiǎn),特別是汽車電子控制單元(Electronic Control Unit,ECU)固件更新的FOTA 技術(shù)。因此,針對OTA系統(tǒng)的測試就尤為重要。2022 年4 月15 日工信部裝備工業(yè)發(fā)展中心發(fā)布《關(guān)于開展汽車軟件在線升級備案的通知》[3]。該通知發(fā)布一方面印證了OTA技術(shù)得到了廣泛應(yīng)用,另一方面也說明了汽車OTA技術(shù)的兼容性和可靠性需要經(jīng)過嚴(yán)格的測試驗(yàn)證。然而在實(shí)際測試過程中,OTA 測試在實(shí)車工況難以實(shí)現(xiàn),特別是刷寫穩(wěn)定性、網(wǎng)絡(luò)工況、故障工況等,并且企業(yè)需要測試的車型多、版本多,人工測試工作量大、成本高、效率低。因此,本文設(shè)計(jì)了一套汽車OTA 仿真測試平臺,旨在解決實(shí)車OTA 測試和人工測試帶來的問題。
OTA 技術(shù)是通過無線通信的方式將OTA 云服務(wù)器的軟件升級包下發(fā)到車輛端,對被升級的控制器進(jìn)行升級的過程。OTA 流程見圖1,詳細(xì)闡述如下。
圖1 OTA流程
(1)升級包發(fā)布
待升級的升級包打包上傳到內(nèi)容服務(wù)提供商(Telematics Service Provider, TSP)云服務(wù)器后進(jìn)行加密和簽名,傳輸條件滿足后傳遞至車輛端。
(2)升級包下發(fā)
車輛端主節(jié)點(diǎn)(Master)在接收到OTA 云服務(wù)器的軟件升級包后進(jìn)行存儲,在滿足推送條件后提示用戶進(jìn)行升級;用戶確認(rèn)升級后進(jìn)入升級流程,Master會對升級的前置條件進(jìn)行判斷,如擋位、車速、電池荷電狀態(tài)(State of Charge,SOC)等。
(3)升級包刷寫
滿足前置條件后,對升級包進(jìn)行解密驗(yàn)簽,對相應(yīng)的控制器進(jìn)行刷寫[4-5]。
汽車OTA 系統(tǒng)仿真測試平臺具備零部件刷寫測試、系統(tǒng)集成測試以及整車測試與驗(yàn)證的軟件升級全生命周期的自動化測試能力。
在整車V字型開發(fā)模型中(圖2),主要測試包括:
圖2 OTA開發(fā)流程
(1)零部件刷寫測試
針對整車研發(fā)初期的零部件開發(fā)階段,零部件開發(fā)完成后,需要進(jìn)行零部件刷寫功能的Bootloader 測試和Master功能測試。
(2)系統(tǒng)集成測試
零部件開發(fā)完成后,所有零部件需要安裝在仿真測試臺架,進(jìn)行OTA 系統(tǒng)集成測試,包括車端測試和云端測試。
(3)整車仿真測試
集成測試完成后,在實(shí)車場景下,驗(yàn)證整車OTA功能的安全性和可靠性[6]。
OTA 系統(tǒng)仿真測試平臺由OTA 自動化測試機(jī)柜和系統(tǒng)測試臺架組成(圖3)。
圖3 系統(tǒng)方案
測試機(jī)柜提供滿足OTA 測試系統(tǒng)運(yùn)行以及仿真的環(huán)境,主要包含工控機(jī)、程控電源、通信總線接口卡、輸入/輸出(Input/Output,I/O)板卡等。工控機(jī)運(yùn)行上位機(jī)系統(tǒng)環(huán)境及仿真環(huán)境,總線接口卡和I/O 板卡模擬、采集待測ECU測試所需的信號。
測試臺架提供被測ECU 的放置架、斷線測試盒(Break-Out Box, BOB)信號轉(zhuǎn)接盒和接線端子等。
測試機(jī)柜搭載的OTA 測試系統(tǒng)軟件,功能包括仿真與分析、軟件集成及測試,用于零部件刷寫測試、系統(tǒng)集成測試和整車仿真測試。
3.1.1 控制器仿真
測試系統(tǒng)上位機(jī)分別仿真OTA 主節(jié)點(diǎn)和被刷節(jié)點(diǎn),模擬測試過程中發(fā)送和監(jiān)控信號,驗(yàn)證OTA 主節(jié)點(diǎn)和被刷節(jié)點(diǎn)的測試結(jié)果。
3.1.2 流程仿真
上位機(jī)對OTA 主節(jié)點(diǎn)和云端服務(wù)器的升級流程進(jìn)行測試(圖3)。第1,上位機(jī)配置測試任務(wù),同時(shí)將測試任務(wù)下發(fā)到車端;第2,云服務(wù)器配置升級任務(wù),并將升級任務(wù)下發(fā)到車端,進(jìn)行升級包創(chuàng)建、升級任務(wù)發(fā)布、人機(jī)界面的升級任務(wù)檢測、任務(wù)下載、升級前置條件檢測和升級任務(wù)執(zhí)行;第3,在升級流程進(jìn)行中通過BOB 注入故障,模擬異常場景;第4,通過CANoe監(jiān)控并記錄升級的數(shù)據(jù)信息。
3.1.3 場景仿真
場景仿真使用可編程工具控制或模擬車端信號的方式,模擬OTA 升級過程中可能出現(xiàn)的各種異常場景,并通過監(jiān)控OTA 執(zhí)行中的數(shù)據(jù),分析判斷是否符合預(yù)期。異常場景庫是根據(jù)測試規(guī)范預(yù)先設(shè)計(jì)的可執(zhí)行腳本集合,使用中可根據(jù)測試場景需要調(diào)整腳本中的參數(shù)。按照建立的異常場景庫,測試OTA 流程是否存在功能缺陷,如果存在,則記錄相應(yīng)的場景數(shù)據(jù)。
異常場景庫包括用戶操作異常、車況異常和網(wǎng)絡(luò)異常。其中,用戶操作導(dǎo)致的異常主要包括升級過程中對車輛的使用異常,例如車輛起停、車機(jī)系統(tǒng)復(fù)位、車輛上下電使用異常。車輛狀況的異常主要包括零件號不匹配、軟件不匹配和關(guān)聯(lián)件不兼容。車輛網(wǎng)絡(luò)異常主要包括下載通訊網(wǎng)絡(luò)異常和車內(nèi)通訊網(wǎng)絡(luò)異常。
3.1.4 測試系統(tǒng)
OTA 測試系統(tǒng)基于測試腳本工具,綁定測試用例,創(chuàng)建測試任務(wù)并進(jìn)行自動化OTA測試。
創(chuàng)建測試任務(wù)之后,通過測試任務(wù)管理測試用例,包括車、管、云協(xié)同執(zhí)行測試用例,測試用例獨(dú)立運(yùn)行,互不影響。測試結(jié)束后,系統(tǒng)自動生成測試報(bào)告。
測試系統(tǒng)支持零部件測試、系統(tǒng)集成測試和整車測試與驗(yàn)證。通過修改測試系統(tǒng)配置參數(shù),覆蓋整車開發(fā)周期中不同階段的測試場景。
測試臺架的功能為能夠?qū)崿F(xiàn)整車多個ECU 同時(shí)進(jìn)行測試。
3.2.1 斷線測試盒(BOB)信號轉(zhuǎn)接盒
斷線測試盒(BOB)功能為實(shí)現(xiàn)單個ECU 的上下電、總線斷路和配置終端電阻功能。BOB轉(zhuǎn)接盒分為3類:
(1)普通BOB
功能為支持上下電,2路CAN和5路LIN通信。
(2)網(wǎng)關(guān)BOB
功能為支持上下電,3路CAN和7路LIN通信。
(3)以太網(wǎng)BOB
功能為以太網(wǎng)接口,可以接3路1000/100Base-T1雙絞線。
3.2.2 測試臺架實(shí)現(xiàn)
首先根據(jù)設(shè)計(jì)需求確定3 種BOB 轉(zhuǎn)接盒類型和數(shù)量。其次根據(jù)實(shí)際需求,按照臺架網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),將3 種BOB 轉(zhuǎn)接盒進(jìn)行排布,實(shí)際每個BOB 對應(yīng)的位置是固定的,所以每次更換拓?fù)鋱D的時(shí)候,需要更改線束和相應(yīng)的BOB布局。
以升級前先決條件檢測為例,分別執(zhí)行不滿足先決條件的測試和滿足先決條件的測試,判斷機(jī)制在Master中進(jìn)行,測試流程設(shè)計(jì)如下(圖4)。
圖4 先決條件測試流程
(1)開始測試流程。
(2)測試平臺進(jìn)行設(shè)備自檢,若自檢通過,則進(jìn)入下一步操作;若自檢不通過,則測試結(jié)束。
(3)測試平臺依次設(shè)置不滿足先決條件的信號。(4)被測對象觸發(fā)升級。
(5)測試平臺判斷被測系統(tǒng)是否進(jìn)入升級。
(6)若被測對象未進(jìn)入升級流程,則符合法規(guī)要求,并重復(fù)操作所有先決條件不滿足測試。
(7)若被測對象進(jìn)入升級流程,則不符合法規(guī)要求,測試結(jié)束。
(8)所有先決條件不滿足測試結(jié)束后,測試平臺設(shè)置滿足先決條件的信號。
(9)被測對象觸發(fā)升級。
(10)測試平臺判斷被測系統(tǒng)是否進(jìn)入升級。
(11)若被測對象進(jìn)入升級流程并完成升級,測試結(jié)束。
(12)若被測對象未進(jìn)入升級流程,則不符合法規(guī)要求,測試結(jié)束。
如圖5 為某控制器升級前先決條件判斷的日志,Master 會根據(jù)設(shè)計(jì)需求去判斷車速、電池荷電狀態(tài)(SOC)、電源模式、車輛模式和充電狀態(tài)。Master 設(shè)置先決條件判斷的條件如下。
(1)車速≤4 km/h。
(2)70%≤SOC≤100%。
(3)電源模式為0(ON擋)。
(4)車輛模式不為1(未保持P擋會置1)。
(5)充電狀態(tài)為1(未充電)。
其中臺架模擬發(fā)送信號條件如下。
(1)車速為0 km/h。
(2)電量為50%。
(3)電源模式為ON擋。
(4)車輛模式P擋,未充電狀態(tài)。
(5)模擬當(dāng)前SOC 為50%,不滿足70%≤SOC≤100%的要求,SOC 判斷不通過,前置條件判斷不通過,不能進(jìn)入升級流程。
車機(jī)端給用戶的提示結(jié)果如圖6 所示,提示SOC條件不滿足升級條件,與Master抓取的日志結(jié)果一致。
圖6 車機(jī)端先決條件判斷結(jié)果
根據(jù)汽車OTA 系統(tǒng)仿真測試平臺的測試結(jié)果與車機(jī)端實(shí)際顯示的結(jié)果對比一致,該測試平臺測試效果滿足設(shè)計(jì)要求。
OTA技術(shù)成為智能網(wǎng)聯(lián)汽車功能優(yōu)化和迭代升級的重要手段,需要通過OTA技術(shù)升級的ECU數(shù)量也越來越多,對OTA進(jìn)行全面綜合的測試,特別是可靠性和穩(wěn)定性測試就顯得尤為重要。汽車OTA系統(tǒng)仿真測試平臺通過軟硬件結(jié)合的設(shè)計(jì)思路,解決整車企業(yè)OTA測試問題。該測試平臺是一個可覆蓋OTA 全功能、全場景以及穩(wěn)定性測試的自動化測試平臺。
汽車OTA 系統(tǒng)仿真測試平臺相較于當(dāng)前人工手動OTA 測試方式,縮短了研發(fā)周期、降低了研發(fā)成本、提高了測試的準(zhǔn)確性。