劉 聰
(上海禾騁科技有限公司,上海 201805)
汽車診斷是指汽車控制器通過對相關傳感器、執行器、控制器等電子元件的信號監測,按照系統預設的診斷策略來判定系統是否存在故障,并將故障以故障碼的形式記錄且可通過診斷儀讀取,或在儀表中進行用戶提示的過程。隨著汽車電子信息技術的發展和進步,越來越多的電子電氣設備應用于汽車中,而越來越復雜的汽車電子電氣系統需要更加全面、準確的汽車診斷策略[1]。汽車診斷包括診斷需求定義、診斷架構設計、診斷數據庫設計等流程,本文主要關注診斷策略定義。

圖1 診斷開發整體流程
全面、準確的診斷策略定義便于質保部門進行整車質量檢查及問題維修,并在涉及行車安全故障發生后及時提示用戶并進入故障模式,降低用戶使用風險。而如果診斷策略定義不當,則可能造成有故障而系統無法準確診斷、無故障但系統誤診斷,從而導致問題檢修困難、引起用戶抱怨甚至造成嚴重質量問題。
本文從診斷策略定義的要素、原則,并結合問題實例分析如何定義診斷策略,并總結汽車診斷策略的工作流程。
完整的診斷策略應該包括如下要素:診斷故障點、診斷檢測條件、診斷實現方式、故障判定條件、組合儀表報警條件、故障處理策略、歷史故障碼清除條件等[2]。
診斷故障點是指診斷的對象,按照信號來源診斷故障點可分為硬件接口診斷、網絡信號診斷、系統內部診斷。
1.1.1 硬件接口診斷
硬件接口診斷是指對控制器硬件接口輸入輸出信號的診斷。硬件接口診斷的故障類別主要包括:開路、短路到電源、短路到地、電源電壓過高/過低。
1.1.2 網絡信號診斷
網絡信號診斷是指控制器對總線信號和通過總線連接的控制器的診斷。網絡信號診斷的故障類別主要包括:報文丟失/錯誤/無效、控制器節點丟失。
1.1.3 系統內部診斷
系統內部診斷是指控制器通過自身診斷策略對自身硬件或軟件的診斷。系統內部診斷的故障類別主要包括:內部硬件故障、內部軟件故障。
診斷檢測條件是指控制器對某個故障點開始進行故障檢測應滿足的前提條件,進行診斷策略定義時,應根據實車使用工況和控制器負載綜合考慮診斷檢測條件。例如,車身控制器對左側近光燈開路的診斷檢測條件為:只有車身控制器判斷滿足近光燈開啟條件時,才開始進行開路檢測。
診斷實現方式是指控制器對某個故障點進行故障檢測的方式。例如,車身控制器對左側近光燈開路的故障檢測實現方式為:車身控制器對左側近光燈開路的診斷通過判斷驅動線的電流實現。
故障判定條件是指控制器判定某個故障所需要滿足的條件。例如,車身控制器對左側近光燈開路的故障判定條件為:車身控制器檢測到左側近光燈驅動線的電流小于20 mA且持續3 s,則記錄左側近光燈開路故障碼。
組合儀表報警條件是指針對需要在組合儀表對駕駛員進行報警的故障,組合儀表開始進行報警所需要滿足的條件。例如,車身控制器對左側近光燈開路的報警條件定義為:車身控制器檢測到左側近光燈驅動線的電流小于20 mA且持續5 s,則通過總線發送左側近光燈故障信號,由組合儀表進行故障提示。
故障處理策略是判斷存在某故障后,相關系統的處理策略。例如,車身控制器左前轉向燈故障處理策略為:在左側轉向燈開關開啟時,左側轉向燈不倍頻閃爍,組合儀表左轉向指示燈倍頻閃爍,組合儀表文字提示“左前轉向燈故障”。
根據故障碼的狀態,故障碼可以分為當前故障碼和歷史故障碼。當前故障碼是指當前仍然存在的故障碼,歷史故障碼是指控制器已記錄但當前故障已解除的故障碼。針對歷史故障碼可以定義清除條件,例如,車身控制器左前轉向燈開路歷史故障碼清除條件定義為:通過診斷儀清除或40個點火周期都沒有故障則自動清除。
在診斷策略定義時,應在遵守一些通用性原則的基礎上,根據具體的功能場景進行詳細診斷策略定義。
“嚴進寬出”,即故障問題的判定相對嚴格,故障解除的判定相對寬松。故障問題的判定相對嚴格,規避了某些故障誤判情況;故障解除的判定相對寬松,避免故障原因解決后無法退出故障模式。
例如,某車型出現小批量的組合儀表提示前視攝像頭故障的問題,樣件返廠后再次進行前視攝像頭標定,標定失敗,通過診斷儀可讀取自標定角度超差故障碼。經確認,原診斷策略為:在車速超過80 km/h、持續2 min存在可見道路線時進行自標定,若前后兩次自標定的角度值差異超過3度則進入失效模式,在失效模式下無法通過再次標定恢復正常。該定義為“寬進嚴出”,故障檢測條件沒有規避不適宜進行前視攝像頭自標定的路段進行自標定,且報警限值較低,無法規避自標定角度值受胎壓、載荷、道路情況影響的情況,可能會誤報故障;而一旦進入失效模式后沒有故障解除機制,導致樣件一直失效。最終,診斷策略更改為:只有在功能激活時才能進行自標定,報警角度差值更改為5度,同時增加故障解除機制,可以通過重新標定恢復正常功能。
針對需要在組合儀表進行報警的故障,需要對故障檢測條件、故障碼記錄條件、組合儀表報警條件等進行詳細分析,在不影響安全的情況下組合儀表報警條件盡量嚴格,避免出現誤報警;同時考慮報警優先級,避免出現組合儀表已經提示但是控制器沒有記錄歷史故障碼的情況。
例如,某車型售后車輛出現右后轉向燈故障問題,用戶撥打右轉向開關時,組合儀表提示右后轉向燈故障,但實際檢測車身控制器返回的樣件后,未讀取到相關故障碼。經確認,原診斷策略定義為若檢測轉向燈驅動線電流超過報警閥值超過1.5 s則記錄一次故障碼,并且向組合儀表發送右后轉向燈報警信號,組合儀表進行故障提示;而只有用戶連續記錄三次故障碼,才能夠存儲為歷史故障碼并可以通過診斷儀進行讀取。優化方案為,將診斷報警策略更改為檢測到一次故障即存為歷史故障碼,但不向組合儀表發送報警信號,直到在一個行駛周期內連續檢測到5次故障才會向組合儀表發送報警信號,組合儀表進行故障提示。
對于故障判定條件的定義,要收集各相關電氣件的參數定義,故障判定條件的定義不能與相關電氣件的參數定義沖突;并考慮在用戶極端操作情況下,即對于故障診斷的極限情況下能否規避誤診斷。
例如,某車輛出現無法起動問題,可讀取傳動鏈繼電器粘連故障碼。經確認,該故障碼檢出原因為駕駛員在起動成功后較快速掛出P/N擋,控制器會短時檢測到傳動鏈繼電器接口電壓超過報警限值,誤判為粘連故障碼。最終,通過延長傳動鏈繼電器粘連的報警時間解決了此問題。
故障判定條件定義應考慮規避實車不同工況導致的誤報警,例如急加速/急減速情況下的液面/油位報警、電機熱保護狀態下電機狀態報警等[3]。
例如,某車輛急剎車時組合儀表報機油壓力低故障;在較高車速下急剎車時,有一定幾率組合儀表報出機油壓力低故障;隨著車速提升,故障報出幾率越大。故障檢出條件是組合儀表通過硬線接收機油壓力傳感器信號,當連續3 s組 合儀表檢測到機油壓力低則進行故障提示。實車進行測試,發現在急剎車時由于慣性會出現短時間機油壓力低,可能會超過3 s報警限值,如圖2所示。

圖2 組合儀表機油壓力報警信號
針對此問題,增加機油壓力報警時間限值,規避短時壓力低導致的誤報警。
隨著汽車功能復雜性的不斷提升,準確而全面的診斷設計越來越重要,以保證及時報出重要安全類故障以提示用戶,同時規避誤診斷。本文總結了汽車診斷設計整體流程,重點介紹了診斷策略定義的要素、設計原則,并結合具體實例進行了說明。