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

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

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

評論