黃金山,梁亞麗,劉 敏,張曉光
(1.一汽奔騰轎車有限公司電子電氣開發部,吉林 長春 130012;2.中國第一汽車集團有限公司工程與生產物流部,吉林 長春 130012)
隨著汽車CAN總線技術的快速發展,汽車CAN總線技術已經非常成熟,汽車CAN控制器ECU逐漸增多,CAN ECU之間的信息傳遞也逐漸增多。對于CAN ECU節點之間的通信需要引入超時故障監測策略,來保障車內CAN通信的及時性和穩定性。
本文基于CAN總線ECU的通信,提出一種汽車CAN ECU的網絡超時故障監測策略,保證精確鎖定ECU網絡超時問題,快速解決網絡故障。
CAN總線,是一種基于ISO國際標準化的串行通信總線。在汽車產業中,出于對安全性、舒適性、方便性、低功耗、低成本的考慮,應用于汽車內各種電子控制系統中,實現準確的數據采集及執行器功能控制。
1986年德國博世公司開發出面向汽車的CAN通信協議。CAN總線通信協議逐漸標準化,逐漸形成并完善了CAN協議ISO 11898及ISO 11519,使得不同開發商的ECU可實現無障礙通信。CAN總線的高性能和高可靠性已被汽車行業所認同,并成為汽車電氣系統的主要通信手段。對汽車電氣功能的快速發展提供了信息通道保障。
現階段汽車行業內CAN網絡拓撲基本采用單網關(GW)或雙網關的多子網網絡拓撲結構。如圖1所示。

圖1 CAN網絡拓撲結構
需要區分ECU是否具有網絡睡眠管理能力,如果沒有網絡睡眠管理能力的ECU,一般要求ECU在滿足診斷電壓的情況下,在IG上電后等待時間TNetwork后開啟診斷監測,以免造成誤報網絡超時類故障碼(DTC)。
對于具有網絡睡眠管理能力的ECU,滿足網絡診斷電壓的情況下,可在控制器網絡喚醒后等待時間TNetwork后開啟網絡診斷。
TNetwork的設置可根據整車ECU的初始化時間確定。
網絡故障診斷需要在以下條件下關閉:①控制器供電電壓欠壓或過壓;②IG線切換成Off狀態;③CAN總線關閉。
對于有網絡管理的ECU需要在進入等待網絡睡眠時關閉網絡超時故障的診斷,以免誤報DTC。
根據ECU監測的目標ECU所處網絡位置,可以將網絡超時(Timeout)故障分成3類:①同一子網ECU Timeout;②不同子網ECU Timeout;③GW Timeout。
ECU監測目標ECU通信Timeout的原則如下文。
1)同一子網ECU Timeout
如圖1網絡拓撲所示,當ECU1在網絡診斷開啟后,持續監測ECU2的關鍵報文在TDTCOccure時間內持續丟失,則判斷ECU2通信超時,同時記錄DTC。
2)不同子網ECU Timeout
對于不同子網的ECU通信需要通過GW進行報文路由,當ECU1在網絡診斷開啟后,監測ECU3的關鍵報文在TDTCOccure時間內持續丟失,則ECU1可判斷ECU3通信超時,同時記錄DTC。
3)GW Timeout
ECU1對GW進行通信超時監測時,只有當經過GW的所有控制器關鍵報文全部超時,并且GW自身的關鍵報文也在TDTCOccure時間內持續丟失,才可以判斷GW控制器Timeout,并記錄DTC。
由于GW負責中轉所有跨子網報文的任務,GW控制器Timeout可定義為全局DTC,當全局DTC與單個ECU Timeout條件同時滿足時,建議只記錄全局DTC,以方便故障位置的鎖定。
由于ECU在整車CAN網絡中接收來自其他ECU的多條報文,接收同一ECU的報文數量也可能為多條,為了實現ECU對目標節點通信的快速監控,可選擇關鍵報文表征總線超時情況進行監測。
關鍵報文的選取,首先將接收的報文按周期分類,每個周期內選擇50%以上的報文作為關鍵報文,同一周期內ID值小的報文優先選擇。例如ECU1共接收ECU2的5條報文,報文信息如表1所示。

表1 ECU1接收ECU2的報文
在ECU1對ECU2進行通信超時監測時,可在5條報文中選取關鍵報文。根據關鍵報文選取原則,可在20ms周期的報文中選擇ID小的ECU2_1,在100ms周期的報文中選擇ID較小的ECU2_3和ECU2_4作為關鍵報文。ECU在監測關鍵報文ECU2_1、ECU2_3及ECU2_4持續丟失TDTCOccure的時間,即可判斷ECU2通信Timeout。
ECU1對于ECU2的通信超時監測,是對選取的ECU2關鍵報文進行監測,在連續周期TDTCOccure內未接收到ECU2的關鍵報文,則可以判定ECU2通信Timeout,時間參數TDTCOccure的選取可參考表2。

表2 關鍵報文的監測時間推薦值
通過對汽車CAN ECU網路節點的通信超時監測策略研究,提出了一種ECU網絡通信超時故障監測方法,通過此方法可以實現快速鎖定ECU之間的通信超時故障,為ECU開發及售后電氣故障維修提供了依據,并提高了解決ECU功能失效故障的效率。