董慶大, 杜 威, 吳明瞭, 李紅濤
(東風(fēng)汽車(chē)股份有限公司商品研發(fā)院, 湖北 武漢 430057)
當(dāng)前現(xiàn)代汽車(chē)已經(jīng)從傳統(tǒng)汽車(chē)逐步向智能網(wǎng)聯(lián)汽車(chē)轉(zhuǎn)型,同時(shí)提出了“五化”的概念,即輕量化、電動(dòng)化、智能化、網(wǎng)聯(lián)化、共享化,標(biāo)志著汽車(chē)正邁向一個(gè)新的時(shí)代。傳統(tǒng)的汽車(chē)由于功能單一、結(jié)構(gòu)簡(jiǎn)單,整車(chē)CAN網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量較少,總線的數(shù)據(jù)流受到的干擾很小,總線故障診斷也相對(duì)簡(jiǎn)單,一般可以采用簡(jiǎn)單的反向流程排查故障,即故障節(jié)點(diǎn)排除法方案,當(dāng)斷開(kāi)某個(gè)節(jié)點(diǎn)故障消失時(shí)可以初步判斷故障是由這個(gè)控制器引起的。隨著汽車(chē)電動(dòng)化、智能化、娛樂(lè)化的發(fā)展,單一CAN網(wǎng)絡(luò)上的節(jié)點(diǎn)越來(lái)越多,節(jié)點(diǎn)數(shù)量已經(jīng)由4~5個(gè)增加到10個(gè)以上,各節(jié)點(diǎn)對(duì)整車(chē)網(wǎng)絡(luò)中各控制器干擾的因素增多,如果還采用反向故障節(jié)點(diǎn)排除法,不但故障診斷時(shí)間長(zhǎng),還無(wú)法找到造成CAN故障的原因。具體遇到的問(wèn)題可能為:①某CAN節(jié)點(diǎn)波特率與整車(chē)CAN不一致;②某CAN節(jié)點(diǎn)CAN_H和CAN_L線束反接;③CAN_H和CAN_L與電源或搭鐵短接;④某節(jié)點(diǎn)報(bào)文出現(xiàn)填充位故障;⑤CAN總線ID報(bào)文沖突。
1) CAN:控制器局域網(wǎng)絡(luò) (Controller Area Network,CAN) 的簡(jiǎn)稱。
2) CAN_H:CAN網(wǎng)絡(luò)中的CAN_H線,ISO 11898-2中定義規(guī)定電壓標(biāo)稱值,隱性時(shí)為2.5V,顯性時(shí)為3.5V。
3) CAN_L:CAN網(wǎng)絡(luò)中的CAN_L線。ISO 11898-2中定義的CAN_L線輸出電壓標(biāo)稱值,隱性時(shí)為2.5V,顯性時(shí)為1.5V。
4) CRC:循環(huán)冗余檢查,在一幀報(bào)文中加入冗余檢查位可保證報(bào)文正確。接收方通過(guò)CRC可判斷報(bào)文是否有錯(cuò)。
5) ACK應(yīng)答:接收方成功接收到數(shù)據(jù),那么會(huì)回復(fù)一個(gè)ACK數(shù)據(jù)。
6) CANoe:德國(guó)Vector公司為汽車(chē)總線開(kāi)發(fā)和測(cè)試的工具。
7) CANScope:德國(guó)Vector公司開(kāi)發(fā)的CAN總線物理層測(cè)試工具。
8) CAN節(jié)點(diǎn):能夠掛接在CAN總線上的單元,并能通過(guò)CAN總線實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)間的通信。
9) 標(biāo)識(shí)符:每幀CAN報(bào)文都有一個(gè)唯一的標(biāo)識(shí)符,用ID標(biāo)識(shí)。
10) Bus Off:總線關(guān)閉狀態(tài),處于Bus Off狀態(tài)的節(jié)點(diǎn)會(huì)從總線斷開(kāi),既不發(fā)送報(bào)文,也不接收?qǐng)?bào)文。
一般來(lái)講,整車(chē)廠按照正向V模式開(kāi)發(fā)流程開(kāi)發(fā)整車(chē)CAN總線。整車(chē)廠提供功能需求規(guī)范、功能分配、網(wǎng)絡(luò)設(shè)計(jì)、ECU需求,零部件供應(yīng)商按要求進(jìn)行ECU開(kāi)發(fā)后,將樣件交給整車(chē)廠進(jìn)行CAN單元、CAN網(wǎng)絡(luò)集成、功能測(cè)試、診斷測(cè)試等,確保樣件符合要求,如圖1所示。
CAN總線故障按照錯(cuò)誤類(lèi)型可分為主動(dòng)錯(cuò)誤和被動(dòng)錯(cuò)誤。按照故障行為又可以分為本地故障和全局故障。
圖2為CAN節(jié)點(diǎn)錯(cuò)誤狀態(tài)圖,其中REC為接收錯(cuò)誤計(jì)數(shù)器、TEC為發(fā)送錯(cuò)誤計(jì)數(shù)器,當(dāng)接收錯(cuò)誤或發(fā)送錯(cuò)誤>127時(shí),主動(dòng)錯(cuò)誤轉(zhuǎn)換成被動(dòng)錯(cuò)誤;反之,當(dāng)接收錯(cuò)誤或發(fā)送錯(cuò)誤<128時(shí),被動(dòng)錯(cuò)誤又轉(zhuǎn)換成主動(dòng)錯(cuò)誤;如果主動(dòng)錯(cuò)誤>255,則CAN節(jié)點(diǎn)處于Bus-off狀態(tài),此時(shí)需要復(fù)位或重新配置才能恢復(fù)CAN通信。
圖1 CAN總線開(kāi)發(fā)示意圖
圖2 CAN節(jié)點(diǎn)錯(cuò)誤狀態(tài)圖
3.2.1 本地故障
所有ECU節(jié)點(diǎn)應(yīng)有容錯(cuò)性能。
1) ECU任何內(nèi)部錯(cuò)誤都不應(yīng)影響總線通信 (發(fā)送錯(cuò)誤幀或者把總線鉗位在“顯性”狀態(tài))。
2) ECU功能不應(yīng)對(duì)總線高負(fù)載率影響,也不應(yīng)把ECU置于不安全狀態(tài)。
3) 總線錯(cuò)誤幀不應(yīng)影響ECU內(nèi)部功能,也不應(yīng)把ECU置于不安全狀態(tài)。
4) ECU啟動(dòng)期間,不應(yīng)干擾其他ECU的正常通信。
3.2.2 全局故障
表1所示的全局故障及其他未定義故障移除時(shí),在沒(méi)有任何操作時(shí),ECU應(yīng)在600ms內(nèi)自動(dòng)恢復(fù)正常工作。如果ECU規(guī)范有其他時(shí)間要求,應(yīng)在ECU規(guī)范要求的時(shí)間內(nèi)恢復(fù)正常工作。
為了快速地對(duì)整車(chē)網(wǎng)絡(luò)進(jìn)行故障診斷,需要用到VECTOR公司的CANoe、CANScope兩種CAN工具對(duì)整車(chē)CAN網(wǎng)絡(luò)總線測(cè)試。
表1 總線短路故障
1) 用CANoe來(lái)監(jiān)測(cè)總線故障報(bào)文ID,可直接定位到故障報(bào)文ID。
2) 用CANoe來(lái)監(jiān)測(cè)總線故障報(bào)文周期,可直接定位到異常周期報(bào)文ID。
3) 對(duì)無(wú)法用CANoe定位的故障幀,可以通過(guò)CANScope示波器來(lái)查看CAN物理層,定位是哪塊出現(xiàn)的錯(cuò)誤。
如果直接用整車(chē)總線CAN波特率去監(jiān)測(cè)總線數(shù)據(jù),可以監(jiān)測(cè)到錯(cuò)誤幀,但無(wú)法判斷是哪個(gè)節(jié)點(diǎn)發(fā)出的。如某車(chē)型整車(chē)CAN 波特率為250kb/s,但是T-BOX 遠(yuǎn)程信息終端為500kb/s,可以設(shè)定CAN總線波特率為250kb/s進(jìn)行測(cè)試。當(dāng)總線的波特率正常值為250kb/s時(shí),總線出現(xiàn)故障幀的情況(ECC故障),導(dǎo)致總線負(fù)載率爆表 (90%),導(dǎo)致T-BOX的報(bào)文發(fā)送不出來(lái)(圖3和圖4)。因此,我們判定是某個(gè)控制器的波特率設(shè)置故障。接著將總線負(fù)載率調(diào)至500kb/s的波特率(圖5和圖6)。
圖3 CAN總線波特率設(shè)置
在CANoe 的trace 界 面 上,發(fā) 現(xiàn) 只 有0x3B1、0x3B2、0x3B3報(bào)文出現(xiàn)在總線界面上,并且此報(bào)文是T-BOX的報(bào)文。因此,經(jīng)過(guò)分析該條報(bào)文就是在總線出現(xiàn)故障幀的報(bào)文。
對(duì)東風(fēng)某商用車(chē)進(jìn)行測(cè)試驗(yàn)證,將倒車(chē)?yán)走_(dá)控制器的CAN_H、CAN_L線與整車(chē)CAN線反接。如圖7所示。
結(jié)構(gòu)性制約因素中,費(fèi)用太高 (包括管理費(fèi)用、交通費(fèi)用、設(shè)備費(fèi)用、露營(yíng)費(fèi)用等各項(xiàng)休閑活動(dòng)中的費(fèi)用支出)、缺乏時(shí)間、場(chǎng)地/設(shè)施擁擠和交通不便在調(diào)查中出現(xiàn)頻繁 (圖7)。這些因素影響范圍廣,幾乎涵蓋女性、老年人、少數(shù)民族群體等各種人群。比較少提及的因素諸如活動(dòng)不適宜等針對(duì)特定人群的制約因素以及公園標(biāo)識(shí)不科學(xué)、管理缺乏監(jiān)管等休閑服務(wù)與管理方面的制約。
從CANoe中采集的總線報(bào)文可以分析得出:Trace界面出現(xiàn)一條故障幀,其他控制器向總線發(fā)送的報(bào)文均正常。經(jīng)報(bào)文內(nèi)容分析,總線缺少倒車(chē)?yán)走_(dá)報(bào)文信號(hào)。
圖4 250kb/s波特率監(jiān)測(cè)情況
圖5 500kb/s波特率監(jiān)測(cè)設(shè)置
圖6 500kb/s波特率報(bào)文情況
圖7 控制器CAN線反接報(bào)文情況
當(dāng)把測(cè)試工具的CAN線反接時(shí),整車(chē)網(wǎng)絡(luò)只出現(xiàn)一條報(bào)文信息,并且通過(guò)CANScope 的波形圖可以看出,存在CAN_H 和CAN_L 的電平。紅色線為CAN_H,綠色線為CAN_L。如圖8和圖9所示。
圖8 CAN_H和CAN_L反接監(jiān)測(cè)界面
圖9 CAN_H和CAN_L反接波形
通過(guò)以上結(jié)論,可以得出:當(dāng)總線出現(xiàn)錯(cuò)誤幀時(shí),我們可以將測(cè)試工具的CAN_H和CAN_L反接,用CANOe進(jìn)行測(cè)試,定位相應(yīng)的報(bào)文信息,進(jìn)而快速找出相應(yīng)節(jié)點(diǎn)故障。
CAN線的容錯(cuò)包括CAN_H與CAN_L短路、CAN_H與電源短路、CAN_H與搭鐵短路、CAN_L與電源短路,都會(huì)導(dǎo)致整車(chē)無(wú)報(bào)文且無(wú)故障幀。利用工具示波器抓捕4種狀態(tài)的信號(hào),如圖10所示。
圖10 總線容錯(cuò)波形圖
以上示波器電平信號(hào)以及CANoe的分析總結(jié)見(jiàn)表2。
當(dāng)CAN總線上出現(xiàn)錯(cuò)誤幀時(shí),我們可以根據(jù)CANOe工具對(duì)錯(cuò)誤幀報(bào)文進(jìn)一步分析,通過(guò)trace窗口打開(kāi)錯(cuò)誤幀的詳細(xì)內(nèi)容,可根據(jù)對(duì)應(yīng)的錯(cuò)誤代碼識(shí)別相應(yīng)的原因,針對(duì)性進(jìn)行處理。具體如圖11所示,可以定位到錯(cuò)誤來(lái)自0x200報(bào)文。
表2 CAN線容錯(cuò)表
圖11 位填充錯(cuò)誤
當(dāng)拔掉其中一個(gè)控制器后,報(bào)文恢復(fù)正常,如圖14所示。
因此,可以根據(jù)報(bào)文定義快速找出相應(yīng)問(wèn)題的節(jié)點(diǎn)控制器。
1) 目前主機(jī)廠大部分排查總線問(wèn)題還是通過(guò)拔各個(gè)控制器的插接件,來(lái)一個(gè)個(gè)定位節(jié)點(diǎn),該手段效率低。采用基于VECTOR CAN工具的整車(chē)CAN總線故障正向診斷方法,可以快速定位故障節(jié)點(diǎn)。
2) 該方法已經(jīng)在東風(fēng)某款商用車(chē)成功測(cè)試驗(yàn)證,為生產(chǎn)現(xiàn)場(chǎng)排查故障提供有力依據(jù)和手段。
圖12 報(bào)文ID沖突監(jiān)控圖
圖13 相同報(bào)文信號(hào)發(fā)送
圖14 正常報(bào)文監(jiān)測(cè)圖
3) 本研究方法可以適用的范圍十分廣泛,不僅僅局限于商用車(chē),還可適用于任何CAN通信的汽車(chē)平臺(tái)。