嚴紅軍
整車試制階段的CAN總線故障案例分析
嚴紅軍
(重慶長安跨越車輛有限公司,重慶 404100)
隨著控制器局域網(CAN)總線技術在汽車領域的廣泛應用,解決CAN總線故障已成為汽車網絡工程師的一項必備能力。文章從汽車研發的角度出發,首先闡述了處理總線故障的總體思路,然后介紹了幾種常用的CAN總線診斷工具,最后從故障現象,診斷分析以及排查方法這幾方面,對在實際項目工作中遇到的CAN總線故障進行了詳細描述和說明。通過這些案例分享,可以為從事汽車CAN網絡開發及應用的相關人員提供實踐經驗。
控制器局域網(CAN);診斷工具;故障現象;故障分析;排查方法;整車試制
目前汽車的電動化,網聯化,智能化和共享化代表著汽車的未來發展趨勢[1]。要想實現汽車的新四化,這一切都離不開汽車網絡信息通信技術的發展和運用[2],其中汽車控制器局域網(Controller Area Network, CAN)總線是發展最為迅速和使用最為廣泛的汽車網絡通信技術。但是在實際的項目工作中,由于相關人員對CAN總線規范標準的理解不夠透徹,尤其是缺乏實際維修經驗或值得借鑒的經驗較少,而使CAN網絡系統出現故障后得不到快速解決,影響項目進度。因此,如何解決好這一問題是CAN應用中至關重要的問題。
CAN是一種由德國Bosch公司為汽車應用而開發的多主機局部網絡,應用于汽車的監測和控制,通信介質可以是雙絞線、同軸電纜或光導纖維。最初目的是解決汽車上數量眾多的電子設備之間的通信問題,減少電子設備之間繁雜的信號線[3]。
CAN屬于總線式串行通信網絡,其數據通信具有突出的可靠性、實時性和靈活性。由于其良好的性能及獨特的設計,因而得到了業界的廣泛認同和運用[4],并在1993年正式成為國際標準和行業標準。
如圖1所示,這是一種應用于中高端車型的網絡拓撲圖,動力系統和車身系統由各自獨立的兩個CAN總線網段構成,儀表盤(Cluster)作為網關,診斷接口(Diagnostic Link Connector, DLC)與動力系統和車身系統的CAN總線相連。

圖1 某車型的網絡拓撲圖
汽車CAN總線故障一般分為三大類;電源系統故障、鏈路故障和節點故障[5]。
汽車電源系統電壓超出電控模塊的正常工作電壓范圍,引起控制器無法正常工作。由于此類故障不涉及總線系統的本質,故不做詳細介紹。
CAN總線系統通信線路短路、斷路、錯接、終端電阻缺失等物理層故障。一般會導致多個電控模塊工作不正常,總線系統無法工作。
節點就是CAN總線系統的電控模塊,節點故障就是電控模塊的軟件和硬件故障。通常會造成汽車CAN總線系統通信出現混亂或無法工作。
當CAN總線系統出現故障或數據傳輸異常時,往往會出現多種奇怪的故障現象,如組合儀表顯示異常,車輛無法啟動,某個電控系統功能失效等。這是因為相關的數據或信息是通過CAN總線傳輸的,如果傳輸失敗,那么就會產生多種連帶故障,甚至造成整個網絡系統癱瘓,其中最為常見的故障癥狀是組合儀表的顯示異常。
對于汽車CAN總線故障的分析與處理,首先應查看具體的故障癥狀,根據故障癥狀和整車網絡拓撲來初步分析有可能是哪些原因造成的,然后使用相關的診斷工具進行診斷測試,根據診斷結果制訂相關處理方案,做到心中有數,目標明確,接著查找具體的故障部位和原因,使用合適的排查方法,快速精準的找到故障點,從而徹底排除故障。
在汽車領域中應用最為廣泛的CAN總線診斷工具有德國Vector公司和ZLG致遠電子公司開發的總線設備,前者功能強大,后者性價比高。
基于Vector工具鏈的常用CAN總線診斷工具包括CANoe、VN1640A、PicoScope示波器等設備[6]。其中CANoe是一款上位機軟件,用于CAN、局域互聯網絡(Local Interconnect Network,LIN)、FlexRay、汽車光纖線(Media Oriented System Transport, MOST)和以太網的開發、仿真、測試和分析。VN1640A是一款網絡接口卡,共有5個D-SUB9連接器,其中CH1-CH4是用于CAN/LIN等總線設備連接并進行通信的接口,CH5為I/O接口,主要用于模擬量輸入、數字量輸入輸出使用。PicoScope則是對CANoe功能的一個補充,是一種USB接口的CAN/LIN數字示波器,可以對總線信號的物理波形進行記錄和分析。
ZLG致遠電子擁有ZCANPRO、USBCAN接口卡、ZDS系列示波器等多種同類型總線產品,其中ZCANPRO是CAN/CANFD系列產品的配套軟件,可進行原始數據收發、數據回放、高層協議分析等操作,可以勝任完成大部分CAN網絡測試、分析的工作。
故障現象:一款動力升級的輕卡試制樣車批量出現組合儀表制動防抱死系統(Antilock Brake System, ABS)故障指示燈常亮,行駛時車速表不動作,使用專用診斷儀對ABS進行診斷,提示無法通信。
故障分析:根據組合儀表的功能規范得知,ABS故障指示燈亮起有兩個條件,一是ABS報文0x330中故障信號ABS_Fault值為0x1(故障激活),二是ABS報文0x330丟失,組合儀表進行主動報警。結合診斷儀無法訪問ABS控制器的故障現象,初步懷疑ABS故障。
排查方法:根據分析,按照圖2流程對ABS總線故障進行排查。

圖2 單節點總線故障排查流程
(1)讀取整車CAN數據流。使用VN1640A或USBCAN接口卡連接整車車載自動診斷系統(On-Board Diagnostics, OBD)診斷接口。
(2)觀察ABS報文發送情況。在CAN數據流中,未發現ABS相關報文,從而確定ABS故障燈亮的原因是節點報文丟失。
(3)采用電阻法檢查線束連接,確定故障類型。測量電阻前應先關閉點火開關,等待幾分鐘讓CAN總線上的所有節點控制器的電容完全放電。使用萬用表測量ABS端的線束插頭中CAN_H與OBD診斷接口引腳“6”之間的電阻值,如果ABS節點的CAN線連接正常,那么兩者之間的阻值應為0歐姆,如果兩者之間存在60歐姆的阻值,就表明ABS的總線接反(如圖3所示),測量CAN_L同理。OBD診斷接口的引腳定義應符合ISO 15031-3的相關規定。

圖3 ABS節點總線接反示意圖
經測量,ABS的CAN_H與OBD診斷接口引腳“6”存在60歐姆的阻值,說明ABS的線束插頭CAN_L與CAN_H導線接反,屬于鏈路故障。
(1)根據診斷結果,分析出故障產生的具體原因。通過校核線束實物與設計圖紙,確定是由于線束供應商生產工藝文件錯誤導致的批量問題。
(2)處理線束問題,排除故障。對換ABS線束插頭中CAN_L與CAN_H導線位置后,ABS總線通信恢復正常,故障消失。
故障現象:一個柴油車項目的雜合車組合儀表轉速、車速、水溫、發動機故障指示燈(Malfun- ction Indicator Lamp, MIL)、ABS和電動助力轉向系統(Electric Power Steering, EPS)指示燈顯示異常,使用專用診斷儀分別對發動機電子控制單元(Electronic Control Unit, ECU)、ABS、EPS等系統進行診斷,全都提示通信錯誤。
故障分析:觀察組合儀表可以發現多個系統的CAN信號顯示不正常,專用診斷儀也無法進行訪問,初步懷疑是鏈路故障導致總線Bus-Off。
排查方法:根據分析,按照圖4所示流程進行總線故障排查。
(1)使用CAN接口卡讀取整車CAN數據流。
(2)觀察整車總線通信情況,判斷故障屬于鏈路故障還是節點故障。車輛上電后,從上位機軟件中可以看到發動機節點EMS在很短的時間內發送了幾幀報文,然后總線上出現大量錯誤幀(格式錯誤和填充錯誤),整個總線進入Bus-Off狀態。從以上現象可以分析出,車輛上電后發動機ECU是第一個完成初始化并發送報文的節點,在ECU成功完成幾幀報文的發送之后,干擾源才出現,造成了整個總線的Bus-Off。由此可見,前期的判斷錯誤,該故障應屬于節點故障。

圖4 總線Bus-Off故障排查流程
(3)采用排除法,逐一拔掉各節點電源保險絲,直到總線通信恢復正常。根據整車網絡拓撲圖,列出網絡系統中的全部節點,并通過整車電氣原理圖找到各節點電源保險絲在中央保險盒上的位置。逐一拔掉組合儀表、ABS、遠程信息處理器(Telematics-BOX, TBOX)、EPS的電源保險絲,當拔掉EPS電源保險絲時,總線通信恢復了正常,且無錯誤幀產生。重新恢復前面被拔掉保險絲的節點,總線通信仍然保持正常,到此故障節點鎖定。
(4)對故障節點進行網絡測試,分析出故障產生的具體原因。拆下EPS控制器進行測試后發現,其波特率為500 kbaud,報文為標準幀格式,與柴油車總線波特率250 kbaud的設計要求不符。該故障的發生是由于EPS工程師的疏忽,把汽油車用的零件裝到了柴油車上,導致波特率不同的設備接入到了同一條CAN總線上,造成整個CAN總線無法通信。
(5)更換零件總成,排除故障。
故障現象:一款柴油斷氣剎試制樣車行駛時組合儀表不顯示車速,CANoe讀取的數據流中,ABS車速信號發送正常,且解析出的車速值也與實際車速一致。
故障分析:根據故障現象,我們首先排除了整車網絡鏈路故障,懷疑組合儀表失效。然后對儀表進行單獨測試驗證,使用CANoe的Simulation Setup接口中的CAN Interactive Generator(交互式生成器)模擬仿真ABS車速報文0x18FEBF0B,觀察儀表的工作情況,最后根據診斷結果驗證前期的判斷。
排查方法:使用CANoe模擬發出ABS車速信號,觀察發現組合儀表可以正常接受并顯示車速,從而否定了前期的分析判斷。鑒于使用不同設備發出相同的車速報文,儀表作出了不同的回應。此類故障可以采用對比法,使用PicoScope示波器采集ABS和CANoe發出的車速報文,通過逐位對比兩者的物理波形[7],我們發現ABS發出的車速報文SRR位為顯性“0”(如圖5所示),而CANoe模擬發出的車速報文SRR(Substitute Remote Request Bit)位為隱性“1”。

圖5 ABS車速報文的SRR位
按照BOSCH CAN Specification Version 2.0協議規定,擴展幀里SRR位和IDE位都必須為隱性位“1”,用于解決標準幀與擴展幀的沖突,實現標準幀優先于擴展幀。由此可見,正是由于ABS供應商未按協議規范配置CAN控制器芯片,才導致組合儀表不接受ABS的車速信號。
隨著汽車新四化的發展,汽車網絡系統越來越復雜,疑難雜癥也逐漸增多,對于汽車CAN總線系統的診斷維修也越發重要。本文以整車試制階段的CAN總線故障為例,對其進行了詳細的診斷分析以及排查方法講解。希望能對從事汽車CAN網絡開發及應用的相關人員提供有益的思路和參考。
[1] 羅先進.“新四化”背景下汽車服務與營銷專業建設研究[J].學理論,2019(6):146-147.
[2] 吳晨曉.汽車網絡通信總線現狀及發展[J].汽車實用技術,2019,44(2):203-204.
[3] 牛躍聽,周立功,王彬,等.CAN總線應用層協議J1939輕松入門[M].北京:北京航空航天大學出版社,2021.
[4] 季麗華.CAN總線技術在汽車電控系統中的應用及檢測分析[J].電子世界,2021(18):178-179.
[5] 何瑩.淺析高速CAN總線系統故障診斷[J].汽車維修,2020(3):14-16.
[6] 董慶大,杜威,吳明瞭,等.一種基于VECTOR CAN工具的整車CAN總線故障正向診斷方法[J].汽車電器, 2021(3):35-38.
[7] 甘守武,陳志軍,張傳華.CAN通信總線故障診斷方法與實例應用[J].公路與汽運,2019(1):13-16.
CAN Bus Fault Case Analysis in Vehicle Trial Production Stage
YAN Hongjun
( Chongqing Chang’an Kuayue Automobile Company Limited, Chongqing 404100, China )
With the wide application of controller area network(CAN) bus technology in automotive field, solving CAN bus fault has become a necessary ability for automotive network engineers.From the perspective of automobile research and development, this paper first expounds the general idea of dealing with bus faults, then introduces several common CAN bus diagnostic tools, and finally describes the CAN bus faults encountered by the author in the actual project work in detail from the aspects of fault phenomena, diagnosis analysis and troubleshooting methods.It is hoped that the sharing of these cases can provide some practical experience and help for relevant personnel engaged in the development and application of automotive CAN network.
Controller area network(CAN);Diagnostic tools;Fault phenomenon;Fault analysis;Troubleshooting methods;Vchicle trial production
U472
B
1671-7988(2022)24-200-05
U472
B
1671-7988(2022)24-200-05
10.16638/j.cnki.1671-7988.2022.024.037
嚴紅軍(1986—),男,工程師,研究方向為車載網絡技術,E-mail:289243218@qq.com。