杜貴鋒,李 銳,陳姿霖,陳 佩,趙 杰
(陜西重型汽車有限公司汽車工程研究院,陜西 西安 710200)
隨著汽車電子技術(shù)的迅速發(fā)展,電子控制單元在整車中得到越來越多的應(yīng)用,功能也變得越來越復(fù)雜,特別是新能源、ADAS/AD技術(shù)的迅猛發(fā)展,傳統(tǒng)的程序更新方法已經(jīng)不能滿足開發(fā)、生產(chǎn)及售后服務(wù)要求,一種新的遠(yuǎn)程刷寫技術(shù)——FOTA正迅速在汽車行業(yè)擴(kuò)展。
FOTA:Firmware Over-The-Air,即固件空中下載技術(shù)。汽車FOTA技術(shù),就是云端通過車載終端對整車電控系統(tǒng)中的控制器進(jìn)行遠(yuǎn)程程序更新[1]。
汽車FOAT的主要功能有:ECU程序更新、ECU標(biāo)定參數(shù)更新、ECU配置更新、控制算法更新、安全措施升級及軟件漏洞補(bǔ)丁等。借助于FOTA技術(shù),OEM廠商可以通過公司的售后數(shù)據(jù)平臺以及車輛上裝載的車載終端,對ECU缺陷進(jìn)行修復(fù),從而避免對問題車輛召回,或升級標(biāo)定數(shù)據(jù)優(yōu)化整車性能等方式。這種方式可以大幅降低售后維護(hù)或召回成本和時間,讓OEM廠商和用戶共同從中受益。
相對于傳統(tǒng)車輛,新能源、ADASAD車輛的持續(xù)優(yōu)化迭代已成為技術(shù)常態(tài),特斯拉早在2013年已經(jīng)使用FOTA技術(shù)進(jìn)行遠(yuǎn)程升級。大眾、通用、豐田等OEM廠商在傳統(tǒng)車輛領(lǐng)域也在積極推廣應(yīng)用該項(xiàng)技術(shù)。
汽車FOTA的實(shí)施主要包括如下3個步驟,流程如圖1所示。
圖1 汽車FOTA流程
1)云端到車載終端FOTA數(shù)據(jù)傳輸
在云端啟動程序更新,車載終端與云端經(jīng)過安全認(rèn)證后,使用加密技術(shù)、斷點(diǎn)續(xù)傳等無線傳輸技術(shù)傳輸升級相關(guān)的數(shù)據(jù)。數(shù)據(jù)傳輸完成后進(jìn)行完整性、正確性校驗(yàn)無誤后,車載終端向云端反饋數(shù)據(jù)成功接收,云端將車輛數(shù)據(jù)信息狀態(tài)更新為軟件已下發(fā)完成等待更新的狀態(tài)。
2)獲取FOTA更新授權(quán)
車載終端在收到完整、正確的軟件包后,在多媒體或儀表等人機(jī)交互界面上向駕駛員發(fā)出提示信息“請求實(shí)施FOAT”,獲取到駕駛員的升級許可后,車載終端啟動程序升級并向云端報(bào)告該信息。
3)整車執(zhí)行FOTA更新
車載終端實(shí)時控制BT刷寫流程并記錄升級過程,升級完成后通知云端后臺,并通過多媒體或儀表等人機(jī)界面告知駕駛員已完成車輛升級,駕駛員可以自由操作車輛。
安全性 (Security)和可靠性是汽車FOTA實(shí)施的難點(diǎn)。安全性 (Security)主要涉及車載終端和云端之間的信息交互;可靠性則更多的與整車網(wǎng)絡(luò)的診斷及BT系統(tǒng)相關(guān)[1]。
基于FOTA技術(shù)的優(yōu)勢,商用車OEM廠商對FOTA技術(shù)的研究應(yīng)用也在積極開展中,相較于乘用車,商用車FOTA更具有挑戰(zhàn)性,商用車的車型產(chǎn)量與乘用車不在同一量級,實(shí)現(xiàn)定制化難度較大,特別是動力底盤相關(guān)的控制器,大多由國外供應(yīng)商提供通用件,難以按OEM廠商的診斷規(guī)范和BT規(guī)范進(jìn)行。
結(jié)合商用車FOTA的開發(fā)應(yīng)用實(shí)踐,本文重點(diǎn)對車載終端的FOTA過程行為、中央網(wǎng)關(guān)的FOTA行為、BT刷寫等方面的設(shè)計(jì)要求進(jìn)行探討。
FOTA的實(shí)現(xiàn)在車端主要是通過BT流程來完成,而BT建立在UDS診斷協(xié)議之上,故整車電控系統(tǒng)中所有電子控制單元需要支持UDS診斷。
UDS(全稱:Unified Diagnostic Services),即統(tǒng)一診斷服務(wù),是診斷服務(wù)的規(guī)范化標(biāo)準(zhǔn),它是一個應(yīng)用層協(xié)議(ISO 14229-1),既可以在CAN線上實(shí)現(xiàn),也可以在Ethernet上實(shí)現(xiàn) (DoIP,Diagnostic over Internet protocol)。UDS為診斷服務(wù)提供一個基本框架,通常OEM廠商根據(jù)實(shí)際情況會選擇實(shí)現(xiàn)其中的一部分或是自定義一部分私有化的診斷服務(wù),所以基于UDS協(xié)議的診斷又被稱為Enhanced diagnostic(增強(qiáng)型診斷)[2]。
BT是Bootloader的簡稱,基于CAN通信的電子控制單元BT,能夠通過CAN網(wǎng)絡(luò)快速實(shí)現(xiàn)對電控單元應(yīng)用軟件、標(biāo)定數(shù)據(jù)的更新,BT刷寫流程主要包括3個部分:預(yù)刷寫、主刷寫、刷寫后處理,如圖2所示,刷寫流程中每一步驟均由相應(yīng)的診斷服務(wù)實(shí)現(xiàn)。
1)預(yù)刷寫主要步驟如下:通過85診斷服務(wù),中止各控制器的故障記錄;通過28診斷服務(wù),控制所有控制單元在刷寫期間不進(jìn)行非診斷相關(guān)的總線通信,以降低負(fù)載率,保證控制單元BT刷寫的正常進(jìn)行。
2)主刷寫程序是整個刷寫流程的主體,將原有的應(yīng)用程序或標(biāo)定數(shù)據(jù)擦除,寫入新的應(yīng)用程序或標(biāo)定數(shù)據(jù)。
3)刷寫后處理在刷寫程序完成后,需對電子控制單元進(jìn)行復(fù)位操作,使新程序被激活生效,恢復(fù)車輛所有電子控制單元正常通信及診斷故障碼的記錄[3]。
圖2 BT刷寫流程
從云端下載數(shù)據(jù)完成后,F(xiàn)OTA實(shí)現(xiàn)就成為整車電控系統(tǒng)內(nèi)部行為,實(shí)踐應(yīng)用中發(fā)現(xiàn)以下幾項(xiàng)工作對FOTA的順利完成起著非常關(guān)鍵的作用。
BT流程一般針對車型平臺定義,為了滿足動力、底盤、車身等不同子系統(tǒng)的要求,在兼顧安全和效率的基礎(chǔ)上,定義了標(biāo)準(zhǔn)步驟與可選步驟,F(xiàn)OTA中需對平臺車型中各個控制器的BT流程進(jìn)行兼容性處理,一般可以采用以下兩種方式。
1)控制器識別:車載終端內(nèi)部已存儲了各個控制器的BT流程,識別到該控制器的特征信息時,直接調(diào)用該控制器的BT流程。這種方式指向明確,流程確定,缺點(diǎn)是通用性、擴(kuò)展性較差。
2)流程識別:車載終端按統(tǒng)一BT流程實(shí)現(xiàn),順序執(zhí)行BT流程中的所有標(biāo)準(zhǔn)步驟及可選步驟。根據(jù)被刷寫控制器對可選步驟的反饋確定被刷寫控制器中是否有可選步驟。該方式通用性強(qiáng),易于擴(kuò)展性,缺點(diǎn)是整車網(wǎng)絡(luò)中所有的控制器需要按照規(guī)范要求對可選步驟做出嚴(yán)格的正確響應(yīng)。
在整個BT過程中,確保整車網(wǎng)絡(luò)總線上的所有控制器均維持在總線靜默狀態(tài)中,這就要求車載終端嚴(yán)格遵循在S3client時間間隔內(nèi)周期性廣播3E命令。如果在S3client的時間內(nèi),車載網(wǎng)絡(luò)終端沒有發(fā)送3E命令,那么會出現(xiàn)下面情況。
1)網(wǎng)絡(luò)總線上的所有控制器將自動跳轉(zhuǎn)回默認(rèn)會話模式,控制器恢復(fù)正常工作狀態(tài),從而使得總線上出現(xiàn)應(yīng)用報(bào)文,為BT下載所創(chuàng)造的良好環(huán)境將不復(fù)存在。
2)網(wǎng)關(guān)也自動跳轉(zhuǎn)回默認(rèn)會話,網(wǎng)關(guān)開始發(fā)送自身的周期性報(bào)文并啟動報(bào)文及信號路由的正常工作,引發(fā)數(shù)據(jù)丟幀或數(shù)據(jù)次序顛倒從而導(dǎo)致BT下載失敗。
設(shè)計(jì)中應(yīng)盡可能追求BT數(shù)據(jù)流的最大流量,以提高FOTA效率。理論上,總線靜默無任何應(yīng)用報(bào)文時有利于獲得高的刷寫效率;但在實(shí)際中,有的控制器根本就不具有診斷功能,或由于診斷協(xié)議的不同,無法滿足總線靜默要求,應(yīng)用報(bào)文的存在占用部分總線負(fù)載,導(dǎo)致FOTA時BT數(shù)據(jù)占用有效的總線負(fù)載降低。
FOTA流程中,當(dāng)中央網(wǎng)關(guān)接收到總線靜默命令后,需要執(zhí)行如下工作:停止自身的外發(fā)報(bào)文;停止所有應(yīng)用報(bào)文及信號的路由;識別并路由來自診斷網(wǎng)段的診斷信息(BT命令,BT數(shù)據(jù))。
中央網(wǎng)關(guān)的極限路由能力,是指網(wǎng)關(guān)在網(wǎng)絡(luò)總線高負(fù)載情況下進(jìn)行報(bào)文路由的能力,是影響B(tài)T刷寫可靠性和效率的重要因素,也是車載終端進(jìn)行BT刷寫流量控制的主要依據(jù),如果BT執(zhí)行過程中總線負(fù)載超出網(wǎng)關(guān)的極限路由能力,往往會導(dǎo)致BT刷寫過程異常中斷。
汽車FOTA是一項(xiàng)新技術(shù),是一個復(fù)雜的系統(tǒng)工程,就FOTA可靠性方面,在合理設(shè)計(jì)整車E-E架構(gòu)、診斷系統(tǒng)和BT系統(tǒng)基礎(chǔ)上,對電控單元診斷協(xié)議、診斷功能測試,特別是對控制器BT流程符合性、網(wǎng)關(guān)極限轉(zhuǎn)發(fā)能力以及車載終端對BT流程控制能力的測試驗(yàn)證工作,是非常重要的。