從事汽車相關(guān)行業(yè)的小伙伴們,,都知道CAN總線,,它是當(dāng)今汽車各電控單元之間通信的總線標(biāo)準(zhǔn),,現(xiàn)在幾乎所有的汽車廠家都選擇使用CAN總線通信。CAN總線起初便是基于BOSCH公司為了解決汽車的電子控制單元增多帶來的布線空間矛盾,、汽車重量增加等諸多問題而誕生的。同時(shí),,CAN總線將汽車內(nèi)部各電控單元之間連接成一個(gè)局域網(wǎng)絡(luò),,實(shí)現(xiàn)了信息的共享,大大減少了汽車的線束,。
相比于,,目前流行的以太網(wǎng)和485總線,CAN總線具有以下的特點(diǎn):總線訪問——非破壞性仲裁的載波偵聽,、多路訪問,、沖突避免;多主機(jī)廣播式結(jié)構(gòu),自動(dòng)優(yōu)先級仲裁,,實(shí)時(shí)性很強(qiáng),;傳輸錯(cuò)誤自動(dòng)重發(fā),自動(dòng)CRC校驗(yàn)接收,,數(shù)據(jù)出錯(cuò)率極低,;差分信號傳輸抗干擾能力強(qiáng),適合汽車內(nèi)部強(qiáng)干擾的環(huán)境,;硬件報(bào)文濾波功能,,減輕CPU負(fù)擔(dān)。
基于以上的特點(diǎn),,CAN總線能保證實(shí)時(shí)可靠的數(shù)據(jù)傳輸,,保證汽車整車網(wǎng)絡(luò)的通訊正常,在新能源汽車行業(yè)具有不可替代的地位,。
汽車內(nèi)部掛有很多的ECU節(jié)點(diǎn),,當(dāng)其中一個(gè)節(jié)點(diǎn)發(fā)生故障進(jìn)入總線關(guān)閉狀態(tài)時(shí),會很大程度上影響整車CAN網(wǎng)絡(luò)的通訊,。例如,,當(dāng)汽車發(fā)生碰撞時(shí),傳感器將電信號傳送給安全氣囊ECU,,將信號進(jìn)行處理,,當(dāng)確定需要打開安全氣囊時(shí),ECU會立即發(fā)出點(diǎn)火信號,,氣體發(fā)生器才會充滿氣囊,,對駕駛員和乘客提供安全保護(hù)。若此時(shí)安全氣囊ECU處于總線關(guān)閉狀態(tài),,則無法正常彈出氣囊,,會導(dǎo)致嚴(yán)重后果。
CAN控制器可以判斷出錯(cuò)誤的類型是總線上暫時(shí)的數(shù)據(jù)錯(cuò)誤(如外部干擾等)還是持續(xù)的數(shù)據(jù)錯(cuò)誤(如單元內(nèi)部故障,、驅(qū)動(dòng)器故障,、斷線、短路等),。由此,,當(dāng)總線上發(fā)生持續(xù)數(shù)據(jù)錯(cuò)誤時(shí),CAN控制器內(nèi)部的錯(cuò)誤計(jì)數(shù)器累積到總線關(guān)閉的閥值,,可將引起此故障單元從總線上隔離出去,,不參與跟總線其他節(jié)點(diǎn)的網(wǎng)絡(luò)通信。
引起錯(cuò)誤的原因大多是由物理故障引起的,,主要是CAN線路產(chǎn)生的,。其中包括:CAN_H開路,、CAN_L開路、CAN_H對CAN_L短路/開路,、CAN_L對VBAT短路,、CAN_H對GND短路、CAN_L對GND短路,、終端電阻開路等,。
除了物理層線路因素,還有可能因?yàn)镃AN控制器或收發(fā)器等元器件故障導(dǎo)致,。同時(shí),,也有可能是由于CAN總線信號干擾導(dǎo)致的CAN信號收發(fā)不正確,嚴(yán)重時(shí)會導(dǎo)致不能正常發(fā)送報(bào)文,,從而更容易導(dǎo)致CAN總線關(guān)閉,。
例如,新能源汽車通常是指純電動(dòng)汽車或者混合動(dòng)力汽車,,其特色是使用電池,、電容來存儲能力,然后通過逆變的方式變成交流,,帶動(dòng)電動(dòng)機(jī)驅(qū)動(dòng)車輛。逆變產(chǎn)生的巨大電流形成強(qiáng)干擾,,串?dāng)_到CAN總線上,,導(dǎo)致控制器死機(jī)、損壞或者通訊中斷,,車輛運(yùn)行不穩(wěn)定,。
如果出現(xiàn)了BUS OFF,總線上的節(jié)點(diǎn)需要做一些動(dòng)作,,例如重啟CAN控制器或是重新上電,,但是這些都只是一些補(bǔ)救措施,最根本的還是需要找到引起B(yǎng)US OFF的根源,。
當(dāng)發(fā)生CAN總線關(guān)閉時(shí),,我們可以檢查BUS OFF寄存器的值,對CAN控制器的驅(qū)動(dòng)及相關(guān)寄存器進(jìn)行初始化操作,。初始化完成后,,CAN總線關(guān)閉故障就會立即解除。為了避免該節(jié)點(diǎn)在CAN網(wǎng)絡(luò)中頻繁發(fā)生總線關(guān)閉問題,,建議在初始化后,,不要立即對外發(fā)送CAN報(bào)文。
上文也提到過,,由于汽車內(nèi)部存在強(qiáng)干擾,,也會導(dǎo)致CAN總線關(guān)閉,。針對這種現(xiàn)象,我們通過以下方式進(jìn)行處理:由于汽車內(nèi)部存在強(qiáng)電流產(chǎn)生的空間磁干擾,,應(yīng)該將CAN線纜雙絞程度加大,;CAN接口設(shè)計(jì)采用CTM1051隔離收發(fā)器、隔離限幅,,防止ECU死機(jī),;CAN接口增加磁環(huán)、共模電感等效果好的感性防護(hù)器件,;外接專用的信號保護(hù)器消除干擾,,如ZF-12Y2;使用網(wǎng)橋中繼設(shè)備CANBridge對部分強(qiáng)干擾源進(jìn)行隔離,。
綜合上述,,汽車CAN總線關(guān)閉故障發(fā)生時(shí),應(yīng)分析物理層包括CAN線路,、CAN控制器及收發(fā)器,、CAN信號干擾等外在因素,同時(shí)分析CAN寄存器及軟件處理,,重新初始化CAN驅(qū)動(dòng)和恢復(fù)正常后,,定時(shí)嘗試往外發(fā)送報(bào)文。新能源汽車在發(fā)送總線關(guān)閉情況時(shí),,我們也希望能夠有對應(yīng)的CAN報(bào)文去分析,,尤其是針對偶發(fā)性的故障時(shí),我們更需要有可靠的CAN報(bào)文來作為判斷依據(jù),。
廣州致遠(yuǎn)電子有限公司推出CAN網(wǎng)絡(luò)總線“黑匣子”,,我們稱之為CANDTU,CANDTU集成有2路或4路符合ISO11898標(biāo)準(zhǔn)的獨(dú)立CAN-bus通道,,并可標(biāo)配存儲介質(zhì)為32G高速SD卡,,可以進(jìn)行長時(shí)間記錄、條件記錄,、預(yù)觸發(fā)記錄和定時(shí)記錄等多種模式,,并可以將記錄的數(shù)據(jù)轉(zhuǎn)換為CSV格式,或者CANOE,、CANScope等各種主流分析軟件的格式供后期處理分析,。
CANDTU可以長時(shí)間記錄CAN報(bào)文,以便于工程師查找數(shù)據(jù),,但是對于網(wǎng)絡(luò)穩(wěn)定性和偶發(fā)性故障無法進(jìn)行定位和分析,。