李雪梅
(安徽江淮汽車集團(tuán)股份有限公司 技術(shù)中心,安徽 合肥 230601)
隨著社會(huì)的發(fā)展和科技的進(jìn)步,數(shù)字化、智能化、網(wǎng)聯(lián)化是汽車的發(fā)展趨勢(shì),汽車組合儀表作為汽車與人交互的核心零部件,為了凸顯其智能化、科技化、時(shí)尚感,汽車搭載液晶組合儀表已成為一種潮流。汽車組合儀表顯示內(nèi)容涵蓋整車大部分控制器,顯示內(nèi)容多、用戶界面(User Interface, UI)豐富且軟件邏輯復(fù)雜。在整車開發(fā)前期的試制、試驗(yàn)階段,組合儀表顯示內(nèi)容是一個(gè)不斷增加的過程,UI界面是一個(gè)不斷的優(yōu)化過程,軟件邏輯是一個(gè)不斷修復(fù)、完善的過程。因此,整車開發(fā)、試制過程就需要組合儀表不斷地釋放階段軟件版本滿足整車需求,每個(gè)軟件版本釋放都涉及軟件的升級(jí)、刷新,以便檢驗(yàn)其最新版本狀態(tài)是否滿足整車需求。由于全液晶組合儀表控制器帶操作系統(tǒng),支撐不同分辨率的顯示屏,且需要搭載多個(gè)風(fēng)格的UI界面,使得組合儀表的軟件包大小與傳統(tǒng)表盤、表盤+液晶屏等組合儀表的軟件包有較大差異。
作為汽車座艙顯示終端,組合儀表顯示內(nèi)容涵蓋整車大部分控制器,且這些控制器都是整車核心零部件,例如發(fā)動(dòng)機(jī)、變速箱、制動(dòng)防抱死系統(tǒng)、車身控制器(Body Control Module, BCM)、一鍵啟動(dòng)系統(tǒng)、胎壓監(jiān)測、安全氣囊等。組合儀表顯示內(nèi)容豐富且邏輯復(fù)雜,在整車量產(chǎn)前需要不斷釋放階段軟件版本,頻繁升級(jí)、刷新軟件,以滿足整車不斷增加的顯示需求,同時(shí)提升自身的UI界面效果,完善自身的軟件邏輯。即使整車量產(chǎn)以后,對(duì)于組合儀表顯示內(nèi)容的細(xì)微調(diào)整都涉及組合儀表軟件的刷新。基于此,本文就汽車液晶組合儀表通過中控實(shí)現(xiàn)整包程序刷新方式進(jìn)行簡要的分析,希望可以提供一個(gè)有效的借鑒,從而用于解決汽車組合儀表軟件不斷刷新的問題。
將組合儀表從整車上拆卸后,通過電腦→通訊盒→組合儀表,進(jìn)行軟件刷新。
組合儀表從整車拆卸后再刷新軟件的方式,需要將整車上的組合儀表進(jìn)行拆卸后再重新安裝,拆卸和重新安裝組合儀表過程中需要拆卸和重新安裝組合儀表周邊的幾個(gè)儀表臺(tái)內(nèi)飾板,不僅步驟繁瑣而且存在產(chǎn)生內(nèi)飾件卡扣損壞、表面劃傷等風(fēng)險(xiǎn),既產(chǎn)生人工工時(shí),又對(duì)儀表臺(tái)外觀質(zhì)量產(chǎn)生影響。
通過控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)上的車載診斷系統(tǒng)(On Board Diagnostic, OBD)進(jìn)行組合儀表軟件刷新,即手機(jī)App→藍(lán)牙診斷頭→整車OBD→組合儀表。
整車車載控制器的車聯(lián)網(wǎng)系統(tǒng)(Telematics BOX, TBOX)在接收到后臺(tái)遠(yuǎn)程刷新組合儀表指令后,給整車BCM發(fā)送指令,將整車喚醒,同時(shí)TBOX下載組合儀表軟件,并通過CAN總線通道將軟件傳輸給組合儀表,完成軟件傳輸后,組合儀表自身開始對(duì)軟件進(jìn)行校驗(yàn)、刷新工作。即云平臺(tái)→TBOX→組合儀表。
通過CAN總線通道進(jìn)行組合儀表軟件刷新的方法中,CAN網(wǎng)絡(luò)的傳輸波特率為500,對(duì)于只需要更新微控制單元(Micro Controller Unit,MCU)程序的組合儀表(軟件包大小為100 KB~500 KB),此方法軟件更新時(shí)間短。液晶組合儀表軟件除MCU程序外,還有系統(tǒng)級(jí)芯片(System On Chip, SOC)程序,包含大量的圖文信息。這樣組合儀表(軟件大小為50 MB~200 MB)軟件的刷新需要30 h~120 h,軟件更新時(shí)間較長。
通過組合儀表上的USB連接線進(jìn)行組合儀表軟件刷新,即U盤→USB連接線→組合儀表。
通過連接在組合儀表上的USB連接線進(jìn)行軟件更新方法,只能用于組合儀表本地軟件刷新,即人工將存放軟件的USB盤連接到USB線接口,通過規(guī)定操作對(duì)組合儀表軟件進(jìn)行刷新。此方法無法響應(yīng)整車車載遠(yuǎn)程控制請(qǐng)求,無法實(shí)現(xiàn)批量對(duì)組合儀表軟件進(jìn)行刷新。
液晶組合儀表軟件經(jīng)組合儀表和中控連接的低電壓差分信號(hào)(Low Voltage Differential Signaling,LVDS)線傳輸?shù)浇M合儀表,然后調(diào)用本地升級(jí)服務(wù)完成系統(tǒng)軟件升級(jí),既可以實(shí)現(xiàn)液晶組合儀表共用本地車載信息娛樂系統(tǒng)(In Vehicle Infotainment, IVI)(中控)的USB口整包軟件升級(jí),又可以實(shí)現(xiàn)通過TBOX進(jìn)行遠(yuǎn)程整包軟件升級(jí)。
此液晶組合儀表軟件整包刷新方式可以縮短軟件刷新時(shí)間,同步可以實(shí)現(xiàn)液晶組合儀表整包軟件批量刷新,并規(guī)避因拆裝組合儀表所帶來對(duì)組合儀表周邊飾板的損壞,解決液晶組合儀表在設(shè)計(jì)、試制階段,測試或路試過程中出現(xiàn)的一些問題。液晶組合儀表新增顯示功能需求,需要不斷地完善軟件程序,用于修復(fù)出現(xiàn)的問題或增加新的顯示功能而不能整包軟件刷新的缺陷。
本設(shè)計(jì)根據(jù)液晶組合儀表在不拆解車輛的情況下實(shí)現(xiàn)整包軟件刷新需求,將液晶組合儀表軟件升級(jí)設(shè)計(jì)技術(shù)和中控軟件升級(jí)設(shè)計(jì)技術(shù)相結(jié)合,滿足液晶組合儀表不拆解車、整包、批量、節(jié)約時(shí)間的軟件升級(jí)設(shè)計(jì)規(guī)范。
液晶組合儀表軟件刷新方法架構(gòu)如圖1所示。
本地升級(jí):組合儀表軟件更新包從IVI(中控)的USB口,經(jīng)組合儀表和中控連接的LVDS線路傳輸?shù)浇M合儀表,然后調(diào)用本地升級(jí)服務(wù)完成系統(tǒng)軟件升級(jí)(中控USB口→中控→LVDS線→組合儀表)。組合儀表軟件更新包來源于IVI(中控),傳輸途徑是串行外設(shè)接口(Serial Peripheral Interface,SPI)。在中控端檢測到組合儀表升級(jí)文件后,調(diào)用組合儀表升級(jí)的update client的接口,client通過SPI向Server發(fā)送升級(jí)請(qǐng)求,然后等待回復(fù)。再次傳輸文件信息給Cluster update Server, 然后等待回復(fù)成功。然后再次傳輸文件內(nèi)容(5 120字節(jié)/次)給Server。傳輸成功后,Server通過Forwarding Data Base (FDB) gateway發(fā)送廣播給swdl的client,通知其開始升級(jí),swdl服務(wù)通過FDB gateway client發(fā)送升級(jí)進(jìn)度和升級(jí)/驗(yàn)證結(jié)果給Cluster update server,Sever在通過SPI發(fā)送消息給IVI側(cè)的update client, client通過回調(diào)給中控的程序。
OTA升級(jí):組合儀表軟件更新包通過TBOX從遠(yuǎn)端下載到本地(TBOX),然后從TBOX通過USB口到中控,再從中控經(jīng)LVDS通路傳輸?shù)絻x表,調(diào)用本地升級(jí)服務(wù)完成系統(tǒng)升級(jí)(TBOX→中控USB口→中控→LVDS線→組合儀表)。
在中控端(IVI)下載好升級(jí)文件后,通過SPI向cluster server發(fā)送升級(jí)請(qǐng)求,然后等待回復(fù)。再次傳輸文件信息給Cluster update Server, 然后等待成功的回復(fù)。然后再次傳輸文件內(nèi)容(5 120字節(jié)/次)給Server。傳輸成功后,Server通知給本地升級(jí)服務(wù),并開始升級(jí),升級(jí)服務(wù)通知發(fā)送升級(jí)進(jìn)度和升級(jí)/驗(yàn)證結(jié)果給Cluster update server,Sever再通過SPI發(fā)送消息給IVI,中控到儀表軟件刷新架構(gòu)圖如圖2所示。
中控檢測到有升級(jí)文件后,調(diào)用升級(jí)儀表客戶端庫的升級(jí)接口,并傳入程序路徑,儀表客戶端通過SPI向軟件刷新服務(wù)程序發(fā)送請(qǐng)求升級(jí)的消息,然后服務(wù)程序發(fā)送回復(fù),接著客戶端解壓出版本內(nèi)容,并發(fā)送給儀表側(cè)的服務(wù)程序,儀表服務(wù)程序檢測版本是否匹配,最后回復(fù)是否可以升級(jí)接口。若可以,客戶端通過協(xié)議發(fā)送程序文件給服務(wù)程序,服務(wù)程序保存好文件后,通過FDB通道廣播通知系統(tǒng)開始升級(jí)。系統(tǒng)會(huì)解壓并通過加密程序檢驗(yàn)文件是否可升級(jí),同時(shí)通知軟件刷新服務(wù)程序。驗(yàn)證通過后開始升級(jí)流程,并將升級(jí)進(jìn)度/結(jié)果通過FDB 通道通知服務(wù)程序,服務(wù)程序再通過SPI通知中控儀表升級(jí)客戶端程序,如圖3所示。
圖4是儀表一側(cè)的更新流程圖,服務(wù)程序負(fù)責(zé)接收中控的命令,按協(xié)議處理發(fā)送來的文件信息等,保存并通知系統(tǒng)更新系統(tǒng)。
以31.242 cm全液晶儀表(三套顯示UI模式)為例,軟件大小為50 MB,通過LVDS線、SPI協(xié)議刷新組合儀表程序時(shí)間大約為8 min,提高了組合儀表軟件刷新速度。每次SPI發(fā)送數(shù)據(jù)量為5 120字節(jié),傳輸速率為100 KB/s,單次傳輸?shù)男实靡蕴岣摺?/p>
1.傳輸失敗
在傳輸組合儀表軟件數(shù)據(jù)過程中,如果第1次傳輸失敗,且重傳5次依然失敗。儀表端Cluster向中控IVI端反饋升級(jí)失敗消息,包括失敗原因。然后儀表端Cluster退出軟件升級(jí)模式,軟件回滾至升級(jí)之前版本顯示正常模式。
中控IVI端接收到儀表端Cluster反饋的升級(jí)失敗消息后,結(jié)束并停止傳輸軟件數(shù)據(jù),并根據(jù)反饋的失敗原因采用彈窗形式提示用戶,當(dāng)用戶點(diǎn)擊“退出”按鍵后,退出軟件升級(jí)流程,根據(jù)當(dāng)前版本進(jìn)行正常顯示。
2.升級(jí)包校驗(yàn)失敗
中控IVI端將組合儀表軟件傳輸完成后,儀表端Cluster進(jìn)行軟件校驗(yàn)流程,當(dāng)校驗(yàn)失敗,儀表端Cluster采用彈窗形式提示用戶,并同步向中控IVI端反饋升級(jí)失敗消息,包括失敗原因。
中控IVI端接收到儀表端Cluster反饋的升級(jí)失敗消息后,根據(jù)反饋的失敗原因采用彈窗形式提示用戶,當(dāng)用戶點(diǎn)擊“退出”按鍵后,中控IVI和儀表端Cluster同步退出軟件升級(jí)流程,中控IVI端根據(jù)當(dāng)前版本進(jìn)行正常顯示,儀表端Cluster軟件回滾至升級(jí)之前版本進(jìn)行正常模式顯示。
3.刷新升級(jí)包失敗
儀表端Cluster自身刷新升級(jí)包失敗后,儀表端Cluster采用彈窗形式提示用戶,并同步向中控IVI端反饋升級(jí)失敗消息,包括失敗原因。
中控IVI端接收到儀表端Cluster反饋的升級(jí)失敗消息后,根據(jù)反饋的失敗原因采用彈窗形式提示用戶,需要用戶選擇“重新安裝”或“退出”。若用戶點(diǎn)擊“退出”按鍵后,中控IVI和儀表端Cluster同步退出軟件升級(jí)流程,中控IVI端根據(jù)當(dāng)前版本進(jìn)行正常顯示,儀表端Cluster軟件回滾至升級(jí)之前版本進(jìn)行正常模式顯示。若用戶點(diǎn)擊“重新安裝”,中控IVI端和儀表端Cluster將重新進(jìn)入升級(jí)流程。
4.IVI和Cluster心跳失敗或連接失敗
中控IVI端連續(xù)5次心跳包未收到儀表端Cluster的反饋消息,中控IVI端判定為連接儀表端Cluster失敗。此時(shí)中控IVI端采用彈窗形式提示用戶連接失敗原因。
儀表端Cluter增加timeout周期判斷邏輯,timeout周期內(nèi)未收到中控IVI端心跳包,則儀表端Cluter判定連接中控IVI端失敗。若此時(shí)未進(jìn)入刷新流程,則儀表端Cluter退出升級(jí)模式,回滾至升級(jí)之前版本進(jìn)行正常模式顯示。若此時(shí)已進(jìn)入刷新流程,則儀表端Cluter停留在升級(jí)界面,等待中控IVI端重新發(fā)起升級(jí)流程或告知退出升級(jí)流程。
綜上所述,本文在液晶組合儀表軟件刷新方式設(shè)計(jì)上通過組合儀表和中控之間連接的LVDS線,可通過共享中控USB接口實(shí)現(xiàn)組合儀表本地整包刷新程序方案;也可通過整車TBOX從遠(yuǎn)端下載到本地(TBOX),然后從TBOX到中控再到組合儀表實(shí)現(xiàn)組合儀表軟件遠(yuǎn)程批量刷新。不僅規(guī)避了拆卸和重新安裝組合儀表產(chǎn)生人工工時(shí)和對(duì)內(nèi)飾儀表臺(tái)損壞,而且大大縮短了組合儀表軟件刷新時(shí)間,提升了軟件刷新效率,為整車開發(fā)初期,試制、試驗(yàn)階段需要頻繁更新組合儀表軟件提供了便捷,也為整車量產(chǎn)后組合儀表顯示迭代升級(jí)提供了可行方案。同時(shí)組合儀表和中控共享一個(gè)USB口,實(shí)現(xiàn)資源共享,減少整車成本。