馬伯祥,聶澤宇,李志寧,段沖磊,陳樹星,張麗波
(一汽解放商用車開發(fā)院,吉林 長春 130011)
為了滿足商用物流車日益增長的功能性及舒適性的需求,控制器更新軟件是一種最常用的方法。目前行業(yè)上90%的商用物流車以CAN總線作為主要通信總線,通過診斷指令,實現(xiàn)對控制器的診斷刷寫功能。物流車進行刷寫時,需要目標控制器和非目標控制器均滿足診斷刷寫工作條件,由于控制器診斷實車刷寫環(huán)境的復雜性,在控制器刷寫后,可能出現(xiàn)節(jié)點丟失問題。本文針對一種刷寫后出現(xiàn)節(jié)點丟失的故障狀態(tài)進行數(shù)據(jù)分析,并給出相應解決方法。
某車型售后反饋問題如下:客戶發(fā)現(xiàn)車輛在4S店進行控制器升級后,每次車輛上電后,儀表會持續(xù)警報并且故障指示燈閃爍,提示車身控制器BCM節(jié)點丟失,建議立即去4S店處理。經4S店對故障進行排查,反饋診斷儀讀取到BCM節(jié)點丟失故障。
在整車環(huán)境或集成環(huán)境中,節(jié)點丟失是最嚴重的故障問題之一。實車網絡中節(jié)點丟失可能影響車輛安全性能,如:在車輛行駛過程中,發(fā)動機控制器的線束接觸不良,則可能導致車輛急停,存在嚴重的安全隱患;在升級發(fā)動機控制器過程中,整車控制器節(jié)點丟失,發(fā)動機未收到實時的駐車制動信號,會導致發(fā)動機控制器升級失敗,車輛無法啟動,需等待4S店技術人員現(xiàn)場處理等。
模擬車身環(huán)境,可將被測控制器應用于商用車集成測試系統(tǒng),以便對問題進行復現(xiàn),進而分析問題原因。商用車集成測試系統(tǒng)是以實車網絡拓撲及實車功能為原理設計的車輛仿真測試系統(tǒng),滿足車輛的網絡系統(tǒng)測試和系統(tǒng)功能測試,對各路的CAN總線進行數(shù)據(jù)監(jiān)控與數(shù)據(jù)仿真。
以本文適用的CAN總線為例,分為動力CAN、舒適CAN、底盤CAN、診斷CAN,測試數(shù)據(jù)在商用車網絡集成測試系統(tǒng)中對應CAN1-CAN4。商用車網絡集成測試系統(tǒng)可對各個域的數(shù)據(jù)進行監(jiān)控及數(shù)據(jù)仿真、功能仿真及驗證等,測試環(huán)境示意如圖1所示。
圖1 測試環(huán)境示意圖
2.2.1 通信結構
該車型部分結構原理示意如圖2所示,其關鍵點在于:①車身控制器BCM處于診斷CAN和舒適CAN;②車門控制器DCM與舒適CAN相連,通過舒適CAN傳輸通信數(shù)據(jù)和診斷數(shù)據(jù);③診斷儀通過診斷CAN連接網關控制器BCM,并通過BCM將診斷數(shù)據(jù)路由到舒適CAN。
圖2 車型部分結構原理
2.2.2 刷寫原理
參照協(xié)議,在刷寫目標控制器時,其余有診斷功能的控制器應關閉故障記錄功能和通信功能,直到目標控制器刷寫完成。①關閉故障記錄功能:防止其余控制器記錄被刷寫的目標控制器超時故障;②關閉通信功能:避免總線負載過高,或者出現(xiàn)干擾報文等,影響刷寫進程?;趫D2車型部分原理,圖3介紹的是通信指令和診斷指令共用同一物理通道的刷寫原理示意圖。
圖3 診斷刷寫原理示意圖
根據(jù)刷寫原理及故障碼分析制定如下4個測試方向:①驗證BCM控制器狀態(tài);②驗證DCM控制器狀態(tài);③驗證BCM刷寫過程狀態(tài);④驗證DCM在BCM刷寫過程狀態(tài)。
2.4.1 驗證BCM控制器狀態(tài)
將問題車輛同批次BCM應用商用車集成測試系統(tǒng)驗證其功能,仿真燈光開關信號、雨刮開關信號等,監(jiān)測到BCM輸出的燈具打開/關閉信號、雨刮器執(zhí)行和關閉信號正常輸出。監(jiān)測BCM總線報文狀態(tài),總線負載正常、報文周期偏離正常。測試結果為:未出現(xiàn)BCM功能異常、報文周期改變或停發(fā)報文狀況,排除BCM控制器停發(fā)報文導致節(jié)點丟失可能性。
2.4.2 驗證DCM控制器狀態(tài)
同理驗證DCM功能,仿真車門開關信號、解鎖閉鎖信號、遠程遙控信號,車門執(zhí)行相關動作,響應總線信號正常。監(jiān)測DCM總線報文狀態(tài),總線負載正常、報文周期偏離正常。測試結果為:未出現(xiàn)DCM功能異常、報文周期改變或停發(fā)報文狀況,未出現(xiàn)DCM誤報其他節(jié)點丟失故障,排除因DCM誤報導致記錄BCM節(jié)點丟失可能性。
2.4.3 驗證BCM刷寫過程狀態(tài)
通過商用車集成測試系統(tǒng)仿真整車網絡環(huán)境,用診斷儀進行刷寫B(tài)CM,監(jiān)控BCM刷寫過程前后舒適CAN及診斷CAN通信數(shù)據(jù)。在刷寫后,進行BCM功能復驗,控制器功能正常;對診斷CAN上的刷寫數(shù)據(jù)進行分析,診斷服務功能正常,不存在數(shù)據(jù)丟失、數(shù)據(jù)篡改等情況,核對數(shù)據(jù)校驗碼正確;對比刷寫前后BCM的通信數(shù)據(jù),所有數(shù)據(jù)報文均按協(xié)議規(guī)定周期發(fā)送。BCM控制器刷寫前后狀態(tài)總結見表1。排除BCM在刷寫過程中出現(xiàn)問題,導致刷寫失敗可能性。
表1 BCM控制器刷寫前后狀態(tài)對比
2.4.4 驗證DCM在BCM刷寫過程狀態(tài)
同理2.4.3,通過商用車集成測試系統(tǒng)仿真整車網絡環(huán)境,用診斷儀進行刷寫B(tài)CM,在BCM刷寫后對DCM進行功能測試,DCM功能正常。分析刷寫B(tài)CM前后DCM數(shù)據(jù),發(fā)現(xiàn)在刷寫過程中,舒適CAN上有DCM通信報文,此測試結果與上述2.2.2刷寫原理中規(guī)定原則(在刷寫目標控制器時,其余有診斷功能的控制器應關閉故障記錄功能、關閉通信功能,直至目標控制器刷寫完成)不符。針對刷寫過程中拓撲結構內所有控制器的周期報文進行分析,驗證是否有其他控制器恢復通信,得到分析數(shù)據(jù)如圖4所示,時間戳69~133s時間段為刷寫車身控制器BCM過程,開始刷寫B(tài)CM后所有支持診斷功能的控制器停止通信功能,刷寫進行5s,即時間戳為74s時,DCM開啟通信(恢復在舒適CAN發(fā)送通信報文)。初步得出結論:在BCM開始刷寫時DCM按協(xié)議要求停止通信,在BCM刷寫過程中,DCM恢復通信導致記錄BCM節(jié)點丟失故障。
圖4 集成系統(tǒng)中各控制器通信數(shù)據(jù)分析
查詢DCM在舒適CAN收到的診斷指令數(shù)據(jù),如圖5所示。診斷指令包括:控制進入擴展模式指令(02 10 03 00 00 00 00 00)、關閉故障記錄功能指令(02 85 02 00 00 00 00 00)、關閉通信功能指令(03 28 03 03 00 00 00 00),DCM均回復肯定響應,且未收到開啟通信的診斷指令(03 28 00 03 00 00 00 00),進一步得出結論,在BCM刷寫過程中,DCM恢復通信原因與開啟通信的診斷指令無關。
圖5 刷寫B(tài)CM過程中DCM收到的診斷數(shù)據(jù)
通過圖5得知,舒適CAN上無診斷儀在線服務指令數(shù)據(jù)。查詢診斷CAN數(shù)據(jù)如圖6所示。診斷CAN上有診斷儀在線服務指令數(shù)據(jù),即診斷儀發(fā)出診斷儀在線服務指令數(shù)據(jù),但是BCM沒有將該指令路由到舒適CAN。問題歸結為:在刷寫B(tài)CM時,BCM未將診斷儀在線服務指令數(shù)據(jù)路由到舒適CAN。
圖6 刷寫過程中診斷CAN診斷儀在線服務指令數(shù)據(jù)
經上述試驗分析,在診斷儀刷寫B(tài)CM時,網關控制器BCM不具備診斷路由功能,即在刷寫過程中不能路由診斷報文。因未收到BCM路由的診斷儀在線指令,DCM退出擴展模式,跳轉到默認模式(根據(jù)ISO 14229-1協(xié)議)。進入默認模式后DCM恢復了通信功能和診斷功能,未檢測到BCM的通信報文,所以記錄BCM節(jié)點丟失故障。
為解決文中節(jié)點丟失問題,考慮到不同網關控制器開發(fā)策略不同,給出兩種解決刷寫時節(jié)點丟失問題的方案。
1)方案1,控制器在診斷刷寫過程中通過路由方式將診斷指令從診斷CAN路由到舒適CAN:更改控制器刷寫部分底層驅動程序,完善刷寫時的診斷路由功能,實現(xiàn)在控制器刷寫過程中,將診斷儀發(fā)送的診斷指令路由到舒適CAN。
2)方案2,控制器在診斷刷寫過程中直接發(fā)送診斷儀在線指令到舒適CAN:在控制器進入刷寫流程后,控制器在舒適CAN上周期發(fā)送診斷儀在線報文,并在刷寫結束后停止發(fā)送診斷儀在線報文。
本車型由于BCM刷寫部分底層驅動程序架構已固定,且更改架構可能影響診斷服務功能的控制器,經方案對比分析,見表2,采用方案2進行問題整改。經驗證,刷寫B(tài)CM后,DCM不記錄BCM節(jié)點丟失,此問題不再復現(xiàn)。將方案2應用于該車型問題整改,市場客戶及4S店反響良好。
表2 控制器整改方案分析
根據(jù)本文測試思路及數(shù)據(jù)分析,為避免具備網關路由功能的控制器不具備診斷路由功能而造成的節(jié)點丟失問題,對設計和測試方面提出如下建議。
1)設計方面,設計部門完善通信協(xié)議,要求在診斷刷寫時,網關控制器具有路由診斷指令功能。
2)測試方面,通過加強單件環(huán)境測試用例,保證整車環(huán)境和集成環(huán)境的穩(wěn)定性。用例如下:①模式切換測試,在XXs內未收到診斷儀在線指令,控制器要切換到默認模式,防止刷寫其他控制器失敗時,該節(jié)點丟失;②診斷路由測試,刷寫時檢測控制器滿足停通信報文、網絡管理報文、不停診斷路由報文條件,防止該控制器不路由診斷報文導致其他節(jié)點切換默認模式,記錄其他節(jié)點丟失。
本文通過對診斷刷寫后節(jié)點丟失的情況進行分析和改進,對診斷開發(fā)及測試驗證提出了建議,對如何處理和防范該問題給出解決措施,并對診斷測試工作及網絡開發(fā)工作起到了一定的借鑒意義。