1、什么是busoff?
BUSOFF,從字面意思可以看出,表示總線的關(guān)閉,此時ECU從總線脫離,既不能接收總線的報文,也不能向總線發(fā)送報文。
2、BUSOFF是如何產(chǎn)生的?
CAN總線上存在多種錯誤狀態(tài),包括:位錯誤(Bit Check Error)、位填充錯誤(Bit Stuff Error)、CRC錯誤(CRC Error)、幀格式錯誤( Check Error)、應(yīng)答錯誤(Acknowledgment Error)。
CAN模塊配有接收錯誤計數(shù)器(REC)及發(fā)送錯誤計數(shù)器(TEC);CAN錯誤存在三種狀態(tài),即主動錯誤、被動錯誤、總線關(guān)閉;
1.當(dāng)發(fā)送錯誤計數(shù)器和接收錯誤計數(shù)器值都小于128,為“主動錯誤”
2.當(dāng)發(fā)送錯誤計數(shù)器或接收錯誤計數(shù)器值大于等于128,變?yōu)椤氨粍渝e誤”
3.當(dāng)發(fā)送錯誤計數(shù)器大于等于256時,“總線關(guān)閉”。
因此:節(jié)點進(jìn)入busoff狀態(tài),一定是因為節(jié)點自身識別到自己發(fā)送錯誤,TEC大于255導(dǎo)致的。
3、BUSOFF恢復(fù)機(jī)制和故障碼記錄
1)恢復(fù)機(jī)制
11898-1規(guī)范中,規(guī)定:當(dāng)節(jié)點busoff以后,至少要等待連續(xù)128個11 bit隱性位;
當(dāng)有節(jié)點發(fā)生busoff時,為了不干擾同網(wǎng)段內(nèi)的其他節(jié)點通信,故障節(jié)點不應(yīng)過快地參與通信。先讓故障節(jié)點進(jìn)行一個快恢復(fù),這樣,因為偶發(fā)干擾導(dǎo)致的節(jié)點故障可以快速恢復(fù),重新參與通信。如果故障節(jié)點經(jīng)過了幾次快恢復(fù),仍然沒有恢復(fù)正常通信,為了盡可能地降低對同網(wǎng)段其他節(jié)點的通信干擾,可以讓故障節(jié)點進(jìn)入慢恢復(fù),即:讓故障節(jié)點不要過快地加入總線,降低其對總線的干擾。
快恢復(fù)(L1)
恢復(fù)時間, <=100ms
恢復(fù)次數(shù),5~10次不等
慢恢復(fù)(L2)
恢復(fù)間隔, [200ms, 1s]
恢復(fù)次數(shù), 不限
2)DTC使能條件
成熟條件:恢復(fù)N次不能成功之后,記錄DTC
Bus Off產(chǎn)生后,不再記錄通信丟失類DTC
3、哪些因素會導(dǎo)致BUSOFF?
引起錯誤的原因主要包括:
1)CAN_H開路、
2)CAN_L開路
3)CAN_H對CAN_L短路/開路、
4) CAN_L對VBAT短路
5) CAN_H對GND短路
6) CAN_L對GND短路
7)終端電阻開路
9)CAN總線信號干擾導(dǎo)致
5、BUSOFF發(fā)生后如何處理?
BUSOFF故障發(fā)生后,一般可以重啟CAN控制器或是重新上電;
當(dāng)發(fā)生CAN總線關(guān)閉時,我們可以檢查Bus Off寄存器的值,對CAN控制器的驅(qū)動及相關(guān)寄存器進(jìn)行初始化操作。
審核編輯:劉清
-
收發(fā)器
+關(guān)注
關(guān)注
10文章
3671瀏覽量
107879 -
CAN總線
+關(guān)注
關(guān)注
145文章
1984瀏覽量
132739 -
計數(shù)器
+關(guān)注
關(guān)注
32文章
2291瀏覽量
96354 -
CRC效驗
+關(guān)注
關(guān)注
0文章
30瀏覽量
1254 -
終端電阻
+關(guān)注
關(guān)注
1文章
96瀏覽量
12161
原文標(biāo)題:CAN總線busoff原理介紹
文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
CAN控制器總線錯誤分析之CAN節(jié)點BusOff恢復(fù)過程分析與測試

將TC397的MCMCAN模塊的canh和canl短接到GND,MCMCAN模塊進(jìn)入到bus off狀態(tài)后無法繼續(xù)正常發(fā)送的原因?
請問TC275造busoff故障后的狀態(tài)標(biāo)志位是哪個?
TC275由于錯誤幀太多了,導(dǎo)致進(jìn)入busoff狀態(tài)怎么解決?
STM32G0B1 CAN的自動重發(fā)間隔是多長時間?
spc560p怎么使用中止機(jī)制
怎樣對CAN節(jié)點的Busoff恢復(fù)時間進(jìn)行準(zhǔn)確測量?
ti280025 CAN通信
S32K118在高負(fù)載時Busoff中斷丟失的原因?
一種嵌入式Linux系統(tǒng)多重備份與恢復(fù)機(jī)制
基于基本回路的MPLS網(wǎng)絡(luò)重路由故障恢復(fù)機(jī)制
基于硬件的密鑰安全備份和恢復(fù)機(jī)制
經(jīng)驗分享:節(jié)點BusOff恢復(fù)過程分析與測試

CanSM模塊如何處理Busoff等問題呢

評論