1、什么是CAN Bus Off
舉例: 車上一個(gè)ECU 1, 一直向總線上發(fā)送消息,可怎么都發(fā)送不出去。 如果這個(gè)累計(jì)到一定的次數(shù)(255),按照CAN總線協(xié)議: ECU 1自己的進(jìn)入 BUSOFF模式,這個(gè)時(shí)候ECU 1 一時(shí)半會(huì)是不能發(fā)送信息了。
2、總線Bus Off之后會(huì)做何處理
ECU 1在自己內(nèi)部檢測(cè)到BUS OFF后,默默的從邏輯上退出了總線,暫時(shí)他沒妨礙大家,ECU 1他自己也搞不明白啥回事,于是ECU 1拿著小本子,記下了x年x月x日x時(shí)x分x秒, 當(dāng)時(shí)汽車電壓,里程,xxx 是多少多少,我bus off 了。 寫完備案后,ECU 1 開始數(shù)時(shí)間,等待x秒后,重啟自己的CAN模塊。
3、Bus Off時(shí)計(jì)數(shù)的變化規(guī)律
bus off是個(gè)非常集體的概念: ECU自己發(fā)送失敗,TX error count + 8, ECU自己發(fā)送成功,TX error count - 1, 這個(gè)TX error count 超過255,ECU就必須進(jìn)入Bus Off 狀態(tài),并需要邏輯上斷開總線。
4、CAN
frame 的一些常見錯(cuò)誤
發(fā)送ECU檢查: 有無ACK; CRC檢查,CRC Delimiter, ACK Delimiter,EOF等; BIT監(jiān)控, 送的那個(gè)ECU,自己校對(duì)每個(gè)BIT,看有沒有都送對(duì)(ID區(qū)域,和ACK區(qū)域除外)。
接收ECU檢查: CRC檢查,CRC Delimiter, ACK Delimiter,EOF等; 檢查有無聯(lián)系6比特是全0、或全1的。
|