王邵龍,王睿朝,徐大成
(一汽轎車股份有限公司,吉林 長春 130000)
隨著CAN總線技術的不斷發(fā)展和電子控制單元ECU(Electronic Control Unit)不斷增多,車用CAN總線的負載率不斷提高,通信環(huán)境越來越復雜,容易出現(xiàn)節(jié)點報文丟失的故障情況。某些ECU不能正常接收所需的總線信號時,ECU會進入故障運行模式,為確保安全性而降低性能、增大排放,甚至是禁止車輛行駛[1],同時記錄診斷故障碼 (DTC,Diagnostic Trouble Code)。
某車型售后反饋以下故障現(xiàn)象:DWCU(舉窗控制器)上電后,發(fā)現(xiàn)誤記了BCM (車身控制器)、GW (網(wǎng)關)、DSCU(座椅控制器)節(jié)點丟失故障。
故障排查和原因分析:在排除了熔斷絲盒與蓄電池電壓對控制器的影響后,通過對多種供電模式下的DTC記錄情況分析發(fā)現(xiàn):①對DTC的誤記故障發(fā)生在整車切換為OFF檔約3 min后;②不同控制器對節(jié)點丟失DTC的監(jiān)控周期,存在參差不齊的情況。相關分析過程如表1和表2所示。
以表1、表2為基礎,進一步測試發(fā)現(xiàn)DWCU控制器誤記節(jié)點丟失故障的根本原因:正常情況下,整車切換為OFF檔,總線休眠條件滿足,進入T[wbs][2]時間等待休眠,此時控制器應用報文停止發(fā)送,相應控制器應關閉對報文的診斷監(jiān)測,而DWCU未及時關閉監(jiān)測,導致記錄大量節(jié)點丟失故障,如圖1所示。
表1 不同供電模式下記錄DTC的情況
表2 不同ECU對節(jié)點丟失DTC的監(jiān)控周期
同時,對控制器記錄節(jié)點丟失故障的監(jiān)測時間 (表2)統(tǒng)計后發(fā)現(xiàn),各控制器對相應報文監(jiān)控時間/周期參差不齊,從最短4個報文周期到最長260個報文周期不等。
圖1 T[wbs]期間動作情況
針對故障現(xiàn)象,對軟件進行升級,對T[wbs]期間的總線監(jiān)測策略進行了優(yōu)化,ECU在切換到OFF檔進入T[wbs]期間關閉監(jiān)測;同時,對報文的監(jiān)控周期統(tǒng)一變更為10倍報文周期,如DWCU監(jiān)測BCM節(jié)點丟失的條件為:10倍報文周期時長內(nèi)未收到BCM報文,則DWCU認為BCM節(jié)點丟失。進行軟件升級后,故障現(xiàn)象消失。
針對節(jié)點丟失故障碼出現(xiàn)的誤報問題,對診斷測試用例進行了優(yōu)化,見表3。
表3 增加的測試用例
其中,報文監(jiān)測周期測試的具體方式為:通過CAPL編程,將被監(jiān)測節(jié)點所發(fā)送的被監(jiān)測報文周期分別調整為9倍、10倍報文周期發(fā)送,同時讀取被測ECU的診斷故障碼產(chǎn)生情況。當以9倍報文周期發(fā)送時,不記錄故障碼,當以10倍報文周期發(fā)送時,記錄故障碼,即為PASS。
節(jié)點丟失故障是CAN總線通信中的常見故障,針對此類故障碼的診斷測試應該從兩方面考慮:即不誤記、不漏記。此類故障碼一般有3個相關參數(shù):即被監(jiān)測報文周期T1、被監(jiān)測報文丟失周期計數(shù)器n(報文丟失T1時長,計數(shù)器加1)、報文丟失標志位 (置位時,記錄DTC)。
測試中,需對診斷規(guī)范規(guī)定的計數(shù)器n值進行邊界測試:分別考察n-1、n、n+1條件下DTC的記錄情況,做到n-1時不誤記,n+1時不漏記。由于不同ECU的重要程度不同,對n值可以適當進行調整,也可以設置偏差容忍。如音響、空調控制器等ECU,可適當放寬對n值的容忍度,設置比動力系統(tǒng)ECU更大的n值。例如,對n-3~n+3范圍內(nèi),認為記錄DTC是合理的。EMS、TCU等涉及安全駕駛的動力系統(tǒng)ECU,必須嚴格考察其對節(jié)點丟失DTC的記錄策略。
對于T[wbs]和T[diag_start]期間的報文監(jiān)測測試,本文推薦使用HIL或通過CAPL編程進行自動化測試,可以得到更精確的測試結果[3]。同時,應關注實車情況下的測試情況,在點火開關的各種操作中,關注DTC的產(chǎn)生情況。
本文通過對節(jié)點丟失故障碼誤報情況的分析和解決,對節(jié)點丟失故障碼的測試用例優(yōu)化和側重點提出建議,也對其他診斷測試工作有一定借鑒意義。