汽車內(nèi)部掛有很多的ECU節(jié)點(diǎn),當(dāng)其中一個(gè)節(jié)點(diǎn)發(fā)生故障進(jìn)入總線關(guān)閉狀態(tài)時(shí),會(huì)很大程度上影響整車CAN網(wǎng)絡(luò)的通訊。例如,當(dāng)汽車發(fā)生碰撞時(shí),傳感器將電信號(hào)傳送給安全氣囊ECU,將信號(hào)進(jìn)行處理,當(dāng)確定需要打開(kāi)安全氣囊時(shí),ECU會(huì)立即發(fā)出點(diǎn)火信號(hào),氣體發(fā)生器才會(huì)充滿氣囊,對(duì)駕駛員和乘客提供安全保護(hù),如下圖1所示。若此時(shí)安全氣囊ECU處于總線關(guān)閉狀態(tài),則無(wú)法正常彈出氣囊,會(huì)導(dǎo)致嚴(yán)重后果。
圖1 ECU工作示意圖
因此,對(duì)于新能源汽車行業(yè)工程師,了解CAN總線Bus Off原理是非常有必要的。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ò)通信。如圖2所示:
圖2 錯(cuò)誤檢測(cè)機(jī)制
哪些因素會(huì)導(dǎo)致CAN總線Bus Off?
引起錯(cuò)誤的原因大多是由物理故障引起的,主要是CAN線路產(chǎn)生的。其中包括:CAN_H開(kāi)路、CAN_L開(kāi)路、CAN_H對(duì)CAN_L短路/開(kāi)路、CAN_L對(duì)VBAT短路、CAN_H對(duì)GND短路、CAN_L對(duì)GND短路、終端電阻開(kāi)路等。
除了物理層線路因素,還有可能因?yàn)镃AN控制器或收發(fā)器等元器件故障導(dǎo)致。同時(shí),也有可能是由于CAN總線信號(hào)干擾導(dǎo)致的CAN信號(hào)收發(fā)不正確,嚴(yán)重時(shí)會(huì)導(dǎo)致不能正常發(fā)送報(bào)文,從而更容易導(dǎo)致CAN總線關(guān)閉。
例如,新能源汽車通常是指純電動(dòng)汽車或者混合動(dòng)力汽車,其特色是使用電池、電容來(lái)存儲(chǔ)能力,然后通過(guò)逆變的方式變成交流,帶動(dòng)電動(dòng)機(jī)驅(qū)動(dòng)車輛。逆變產(chǎn)生的巨大電流形成強(qiáng)干擾,串?dāng)_到CAN總線上,導(dǎo)致控制器死機(jī)、損壞或者通訊中斷,車輛運(yùn)行不穩(wěn)定。詳情請(qǐng)關(guān)注公眾號(hào)【車端】
CAN總線Bus Off恢復(fù)的解決方案
如果出現(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寄存器的值,對(duì)CAN控制器的驅(qū)動(dòng)及相關(guān)寄存器進(jìn)行初始化操作。初始化完成后,CAN總線關(guān)閉故障就會(huì)立即解除。為了避免該節(jié)點(diǎn)在CAN網(wǎng)絡(luò)中頻繁發(fā)生總線關(guān)閉問(wèn)題,建議在初始化后,不要立即對(duì)外發(fā)送CAN報(bào)文。
從下圖所示可以看出,當(dāng)節(jié)點(diǎn)進(jìn)入總線關(guān)閉狀態(tài)后,如果MCU僅是開(kāi)啟自動(dòng)恢復(fù)功能,CAN控制器在檢測(cè)到128次11個(gè)連續(xù)的隱性位后即可恢復(fù)通信,在實(shí)際的CAN通信總線中,這一條件是很容易達(dá)到的。我們已經(jīng)知道,當(dāng)進(jìn)入總線關(guān)閉狀態(tài)時(shí),節(jié)點(diǎn)已經(jīng)發(fā)生了嚴(yán)重的錯(cuò)誤,處于不可信狀態(tài),如果迅速恢復(fù)參與總線通信,具有較高的風(fēng)險(xiǎn),因此實(shí)際應(yīng)用中,往往會(huì)通過(guò)MCU對(duì)CAN控制器總線關(guān)閉狀態(tài)的恢復(fù)過(guò)程進(jìn)行編程處理,以控制節(jié)點(diǎn)從總線關(guān)閉狀態(tài)恢復(fù)到錯(cuò)誤主動(dòng)狀態(tài)的等待時(shí)間,如圖4所示,具體包括“快恢復(fù)”和“慢恢復(fù)”策略,兩種策略一般同時(shí)應(yīng)用。
圖3
上文也提到過(guò),由于汽車內(nèi)部存在強(qiáng)干擾,也會(huì)導(dǎo)致CAN總線關(guān)閉。針對(duì)這種現(xiàn)象,我們通過(guò)以下方式進(jìn)行處理:
由于汽車內(nèi)部存在強(qiáng)電流產(chǎn)生的空間磁干擾,應(yīng)該將CAN線纜雙絞程度加大;
CAN接口設(shè)計(jì)采用CTM1051隔離收發(fā)器、隔離限幅,防止ECU死機(jī);
CAN接口增加磁環(huán)、共模電感等效果好的感性防護(hù)器件;
外接專用的信號(hào)保護(hù)器消除干擾,如ZF-12Y2;
使用網(wǎng)橋中繼設(shè)備CANBridge對(duì)部分強(qiáng)干擾源進(jìn)行隔離。
綜合上述,汽車CAN總線關(guān)閉故障發(fā)生時(shí),應(yīng)分析物理層包括CAN線路、CAN控制器及收發(fā)器、CAN信號(hào)干擾等外在因素,同時(shí)分析CAN寄存器及軟件處理,重新初始化CAN驅(qū)動(dòng)和恢復(fù)正常后,定時(shí)嘗試往外發(fā)送報(bào)文。
審核編輯:郭婷
-
收發(fā)器
+關(guān)注
關(guān)注
10文章
3428瀏覽量
106004 -
控制器
+關(guān)注
關(guān)注
112文章
16365瀏覽量
178075 -
CAN總線
+關(guān)注
關(guān)注
145文章
1951瀏覽量
130764
原文標(biāo)題:CAN總線Bus Off原理
文章出處:【微信號(hào):談思實(shí)驗(yàn)室,微信公眾號(hào):談思實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論