汪春華,張玉穩(wěn),胡繼康
(中國汽車技術研究中心,天津 300000)
基于UDS的車身控制器故障診斷系統設計與實現
汪春華,張玉穩(wěn),胡繼康
(中國汽車技術研究中心,天津 300000)
針對車身控制器故障診斷問題,以CAN總線作為數據鏈路,對車身控制器故障診斷系統進行設計,并基于UDS進行實現,以達到可靠診斷故障的目的。經過某車輛BCM故障診斷系統的實車試驗,證明該系統具有診斷精準、魯棒性強、運行穩(wěn)定的優(yōu)點,且具有廣泛的市場應用前景。
故障診斷;UDS;CAN總線
“中國制造2025”明確規(guī)定將汽車產業(yè)作為中國十大產業(yè)之一,重點發(fā)展智能車和新能源汽車。純電動汽車具有零排放、能源利用率高、噪聲小等諸多優(yōu)點,成為未來新能源汽車發(fā)展的主要方向。但純電動汽車控制器數目較多,且控制器之間的耦合性較強,所以對車載診斷系統的要求也越來越高[1]。車載診斷系統經過幾代發(fā)展,從最初只針對排放系統的OBD診斷系統,發(fā)展到現在面向整車所有ECU電控單元的UDS(unified diagnostic service)診斷系統,已經被各大汽車廠商廣泛采用[2]。UDS是基于OSI參考模型設計的,它只定義診斷服務,不涉及網絡實現。它不僅可以應用于各種各樣的數據鏈路網絡,滿足越來越多的網絡總線需求,而且更易于車聯網的實現[3-4]。UDS診斷協議通過診斷服務不僅可以讀取ECU內的動態(tài)數據、控制器配置信息和故障代碼等,而且還可以對IO口進行操作,方便生產線檢測設備的開發(fā)以及批量時產品的品質檢驗[5]。ISO 14229道路車輛統一診斷服務(UDS)在各種數據鏈路上的實現及其在未來的應用如圖1所示。
本文以車身控制器位置燈驅動為例,以ISO 14229-1作為統一診斷規(guī)范,以CAN總線作為數據鏈路具體實現,通過對車身控制器位置燈驅動的硬件和軟件進行設計,實現位置燈開路的故障診斷功能。
圖1 ISO 14229在各種數據鏈路上的實現及其在未來的應用
基于UDS的車身控制器故障診斷系統需要實現以下功能。
1)按照給定工況,對負載工作狀態(tài)和總線網絡通信狀態(tài)進行周期性檢測,并在故障發(fā)生時,啟動故障記錄和故障處理功能,必要時需要及時切斷負載,保護用電設備和車內人員的安全。
2)根據整車點火周期定義,在整車當前點火周期結束時存儲歷史故障,在下一個點火周期開始時讀取之前的故障記錄。
3)當故障消除時,車身控制器軟件需要啟動故障碼清除邏輯。
4)診斷儀在線時,按照診斷儀的服務請求,清除DTC,并按照規(guī)定的時序和命令交互方式,上傳故障數據。
5)根據數據庫對ECU上傳的數據進行解析并顯示故障類型和故障狀態(tài)。
本文研究的車身控制器故障診斷系統主要由故障檢測系統和故障監(jiān)測系統組成。故障檢測系統由XC2000系列單片機最小系統、位置燈驅動電路和CAN通信電路組成,主要實現DTC的設置、存儲、清除、數據組織和上傳等功能。故障監(jiān)測系統主要由CANoe和上位機組成,主要實現數據請求、故障碼清除、故障碼解析和顯示等功能[6]。該故障診斷系統結構如圖2所示。
圖2 車身控制器故障診斷系統結構
2.1 車身控制器最小系統設計
單片機最小系統對車身控制器至關重要,直接關系著控制器的性能和穩(wěn)定性。本文根據XC2000系列芯片的特點,著眼于系統和市場發(fā)展前景,考慮設計方案的可行性和實用性,以系統可靠性為出發(fā)點設計了車身控制器最小系統電路圖。車身控制器最小系統電路圖如圖3所示。
在選擇微處理器時,需要考慮以下幾個因素。
1)整車環(huán)境比較復雜,電源線、信號線的傳導干擾以及空間輻射干擾比較嚴重,應當選擇汽車級別的微處理器[7]。
2)為簡化硬件電路,提高系統的可靠性,要求微處理器自身具有數據鏈路層的功能,所以應當選擇內嵌CAN控制器的微處理器,并且該CAN控制器支持CAN2.0B協議標準。
圖3 車身控制器最小系統電路
3)微處理器自身應當具有足夠大的RAM、EEPROM和程序存儲空間。
4)在整車休眠狀態(tài)下,車身控制器的靜態(tài)功耗電流應當盡可能的小,避免整車由于長時間靜置而導致蓄電池饋電。
本例中,選擇使用Infineon XC2263N芯片作為車身控制器的微處理器。該處理器屬于XC2000家族,是具有32位處理器性能的16位MCU,其主頻可以達到80 MHz,芯片內部有320 K的程序存儲區(qū)和34 K的RAM存儲區(qū),具有16路AD采集和1路CAN。在Standby休眠模式下,靜態(tài)功耗可以做到3mA以內[8],具有性能可靠、存儲空間大和耗能少的特點,滿足車身控制器的需要。
2.2 車身控制器位置燈驅動和診斷電路設計
位置燈又稱為示寬燈,俗稱小燈,包括前位置燈、后位置燈、牌照燈和中控照明背景燈等,主要分布在汽車外側周邊輪廓。夜間行車時,位置燈不僅可以向駕駛員提供額外的照明,用以指示各種功能開關、旋鈕的具體位置,還可以告知周邊環(huán)境當前該車所處位置信息,對行車安全和駕駛舒適性至關重要。在功能規(guī)范的制定中,一般將位置燈的安全等級設為A級,在低壓模式和高壓模式下仍要保證位置燈正常工作。因此,本文對車身控制器的位置燈驅動進行了故障診斷,其電路如圖4所示。
圖4 車身控制器位置燈驅動和診斷電路
位置燈驅動采用Infineon BTS5016-1EKB智能開關高邊驅動芯片。該芯片適用于阻性、感性和容性負載,特別適用于具有較高浪涌電流的負載。BTS5016智能驅動芯片可以利用反饋電流的大小并結合芯片當前工作模式,對負載的工作狀態(tài)如開路、搭鐵短路、對電源短路和過載進行檢測。通過在電流反饋端串聯電阻,可以將反饋電流轉換為電壓。微處理器通過AD采集并結合芯片當前工作模式對負載工作狀態(tài)進行檢測。反饋電壓計算方式如下
式中:UB——負載端電壓; Vis——反饋電壓;Iout——負載電流;Kilis——比例因子;Rsence——反饋電阻(典型值為1.2 kΩ)。
負載工作電流Iout與反饋電流之間的關系如圖5所示。藍色曲線代表理想Kilis因子的值。紅色曲線顯示芯片在一定的溫度范圍內測得的Kilis值。在制定策略時,必須將溫度和電阻精度考慮在內。
圖5 負載電流與反饋電流關系
2.3 車身控制器CAN通信電路設計
數據傳輸時,CAN收發(fā)器在CAN控制器和物理傳輸線之間起著邏輯電平與差分電壓信號轉換的作用。在OSI參考模型中,它處于模型的底層,用來實現物理層的功能[9]。車身控制器CAN通信電路采用TJA1042T/CM收發(fā)器,它與ISO 11898-2協議標準相兼容。電子元件D1和D2為瞬態(tài)電壓抑制器,以防止靜電放電(ESD)和浪涌的沖擊。為了提高CAN總線的抗干擾性能并減小CAN總線本身對周圍空間的電磁輻射,在CANH與CANL上各串聯了一個共模電感。其通信電路如圖6所示。
圖6 CAN通信電路
3.1 車身控制器故障診斷系統軟件設計方案
車身控制器軟件系統主要由底層驅動部分、上層應用策略部分和CAN協議棧3部分組成。底層驅動模塊在位置燈開路故障中主要實現診斷數據采集和故障碼存儲等功能。應用層軟件采用基于模型的設計方法,軟件開發(fā)設計流程如圖7所示。應用層軟件在位置燈開路故障中主要實現故障碼識別、設置和清除等功能。
圖7 基于模型的應用層軟件設計
CAN協議棧設計根據客戶下發(fā)通信矩陣、診斷規(guī)范等輸入文檔,實現通信層、交互層、傳輸層、診斷層的代碼編寫,根據底層協議棧提供的診斷接口,完成診斷函數的填充,最終實現診斷功能。UDS軟件設計與實現流程如圖8所示。
圖8 UDS軟件設計與實現
3.2 基于UDS的車身控制器故障診斷策略設計
車身控制器故障診斷系統以駕駛循環(huán)為界限,按照規(guī)則化的協議對故障進行記錄和清除,最終以故障碼(DTC)的方式體現出來。根據ISO 14229-1協議標準,車身系統ECU和底盤系統ECU的駕駛循環(huán)可以由制造商自己定義,例如根據控制器的上電和下電,或者根據點火信號來定義駕駛循環(huán)。一般來說,具備直接網絡管理功能的控制器將網絡的休眠和喚醒作為一個駕駛循環(huán);而在間接網絡管理的控制器上,將控制器上電和下電作為一個駕駛循環(huán)。
ISO 14229-1協議標準對DTC做了規(guī)定:每個故障碼都由DTC內容和DTC狀態(tài)2部分組成[10]。DTC內容表明了該故障碼的種類,例如故障碼B111413代表位置燈開路故障;DTC狀態(tài)則表示DTC當前所處狀態(tài),它由8位組成,每一位的具體含義見表1。
表1 DTC狀態(tài)位描述
Test failed和Pending DTC位的設置條件為當前駕駛循環(huán)發(fā)生故障;Confirmed DTC的設置條件是經歷連續(xù)2個駕駛循環(huán)發(fā)生故障。Test failed位的清除條件為當前駕駛循環(huán)故障消失;Pending DTC的清除條件為連續(xù)2個駕駛循環(huán)沒有發(fā)生故障;Confirmed DTC的清除條件為連續(xù)經歷40個完整的駕駛循環(huán)沒有發(fā)生故障。
由公式(1)得知,位置燈開路故障時,由于負載阻抗很大,診斷電壓接近0 V,所以當A/D轉換值小于某一值時即認為位置燈開路故障。本文將網絡的休眠和喚醒作為一個駕駛循環(huán),對車身控制器故障診斷系統進行軟件設計。位置燈開路測試失效位、等待DTC位和確認DTC位的設置與存儲邏輯如圖9所示。
圖9 位置燈開路的DTC設置及存儲邏輯
為證明該診斷系統的可靠性,本文以位置燈開路故障工況為例,進行驗證。斷開位置燈負載,設置位置燈開路故障,并且按照圖2連接方式,將診斷儀通過OBD接口與車身控制器連接。通過診斷儀發(fā)送讀取故障碼的指令,讀取到的位置燈開路故障數據如圖10所示。
圖10 位置燈開路故障
故障碼g11413代表位置燈開路故障,故障狀態(tài)為當前駕駛循環(huán)存在故障。故障恢復后,連續(xù)2個駕駛循環(huán)無故障時清除位置燈開路Pending DTC;連續(xù)40個駕駛循環(huán)無故障時清除位置燈開路Confirmed DTC。故障恢復后故障碼的自動清除如圖11所示。
本文對車身控制器故障診斷系統進行設計,經過軟件和硬件的調試,能夠很好地實現精準故障診斷的要求。經過反復測試,證明了該系統運行穩(wěn)定、魯棒性強,具有廣泛的市場應用前景。
圖11 故障恢復后故障碼自動清除
[1] 丁志華,羅峰,孫澤昌.基于CANoe的汽車故障診斷系統研制[J].汽車工程,2007(5):449-452.
[2] 張麗莉,儲江偉,強添剛,等.現代汽車故障診斷方法及其應用研究[J].機械研究與應用,2008(1):8-16.
[3] 李銳,王晶瑩,姚燕,等.基于ISO15765的車載CAN網絡診斷設計[J].計算機工程, 2012(4):35-36,39.
[4] 劉彤,趙益宏,蔡偉杰,等. 基于UDS的汽車通信故障診斷機制與處理策略[J].汽車電器,2013(2):60-64.
[5] 汪曉東.Agilent汽車電子產品生產線在線測試系統和功能測試系統[J].國外電子測量技術,2014(5):4-9.
[6] 陳登順,陳中輝.現代汽車故障診斷與控制[J].計算技術與自動化,2003,22(2):260-262.
[7] 屠雨,張鳳登,單冰華.基于汽車OBD車聯網的設計與實現[J].電子測量技術,2016,39(8):32-36.[8] Infineon Technologies AG.XC2000 easy kit board manual version3.0 [M].2008.
[9] ISO 11898-1.Road vehicles-Controller area network(CAN)-Part 1: Data Link Layer and physical signaling[S].2003.
[10] ISO 14229.Road vehicles-Unified diagnostic services (UDS)-Specification and requirements[S].2006.
(編輯楊 景)
Design and Implementation of Fault Diagnosis System for BCM Based on UDS
WANG Chun-hua, ZHANG Yu-wen, HU Ji-kang
(China Automotive Technology & Research Center, Tianjin 300000, China)
In order to solve the problem of fault diagnosis on vehicle controller, the CAN bus is used as the data link,the fault diagnosis system is designed and implemented based on UDS to achieve the goal of reliable diagnosis. After the test of BCM fault diagnosis system on real vehicles, it is proved that the system has advantages of accurate diagnosis, robust and stable operation, with a wide range of market application prospects.
fault diagnosis; UDS; CAN bus
U463.6
A
1003-8639(2017)08-0041-05
2016-11-29
汪春華,碩士,高級工程師,主要研究方向為汽車電子、EMC及電性能、嵌入式系統應用等;張玉穩(wěn),碩士,主要研究方向為汽車電子、CAN總線、嵌入式系統應用等;胡繼康,碩士,主要研究方向為汽車電子、CAN總線、嵌入式系統應用等。