工控網(wǎng)首頁
>

應(yīng)用設(shè)計

>

CAN總線的通信錯誤類型及處理方法

CAN總線的通信錯誤類型及處理方法

2017/10/17 15:48:23

  CAN總線中存在5種錯誤類型:

  位錯誤:向總線送出一位的某個節(jié)點同時也在監(jiān)視總線,當(dāng)監(jiān)視到總線位的電平與送出的電平不同時9則在該位時刻檢測到一個位錯誤。但是在仲裁區(qū)的填充位流期間或應(yīng)答間隙送出隱性位而檢測到顯性位時,不認(rèn)為是錯誤位。送出認(rèn)可錯誤標(biāo)注的發(fā)送器,在檢測到顯性位時也不認(rèn)為是錯誤位。

  填充錯誤:在使用位填充方法進(jìn)行編碼的報文中,出現(xiàn)了第6個連續(xù)相同的位電平時,將檢 測出一個填充錯誤。

  CRC錯誤:CRC序列是由發(fā)送器CRC計算的結(jié)果組成的。接收器以與發(fā)送器相同的方法計算CRC。如果計算的結(jié)果與接收到的CRC序列不同,則檢測出一個CRC錯誤。

  形式錯誤: 當(dāng)固定形式的位區(qū)中出現(xiàn)一個或多個非法位時,則檢測到一個形式錯誤。

  應(yīng)答錯誤:在應(yīng)答間隙,發(fā)送器未檢測到顯性位時,則由它檢測出一個應(yīng)答錯誤。

檢測到出錯條件的節(jié)點通過發(fā)送錯誤標(biāo)志進(jìn)行標(biāo)定。當(dāng)任何節(jié)點檢測出位錯誤、填充錯誤、形式錯誤或應(yīng)答錯誤時,由該節(jié)點在下一位開始發(fā)送出錯誤標(biāo)志。

  在CAN總線中,任何一個單元可能處于下列3種故障狀態(tài)之一:錯誤激活狀態(tài)(ErrorAcTIve)、錯誤認(rèn)可狀態(tài)(Error PasiTIve)和總線關(guān)閉狀態(tài)(Bus off)。

  錯誤激活單元可以照常參與總線通信,并且當(dāng)檢測到錯誤時,送出一個活動錯誤標(biāo)志。錯誤認(rèn)可節(jié)點可參與總線通信,但是不允許送出活動錯誤標(biāo)志。當(dāng)其檢測到錯誤時,只能送出認(rèn)可錯誤標(biāo)志,并且發(fā)送后仍為錯誤認(rèn)可狀態(tài),直到下一次發(fā)送初始化??偩€關(guān)閉狀態(tài)不允許單元對總 線有任何影響。

  為了界定故障,在每個總線單元中都設(shè)有2個計數(shù):發(fā)送出錯計數(shù)和接收出錯計數(shù)。這些 計數(shù)按照下列規(guī)則進(jìn)行。

(1)接收器檢查出錯誤時,接收器錯誤計數(shù)器加1,除非所有檢測錯誤是發(fā)送活動錯誤標(biāo)志或超載標(biāo)志期間的位錯誤。

(2)接收器在送出錯誤標(biāo)志后的第一位檢查出顯性位時,錯誤計數(shù)器加8。

(3)發(fā)送器送出一個錯誤標(biāo)志時,發(fā)送器錯誤計數(shù)器加8。有兩種情況例外:其一是如果發(fā) 送器為錯誤認(rèn)可,由于未檢測到顯性位應(yīng)答或檢測到應(yīng)答錯誤,并且在送出其認(rèn)可錯誤標(biāo)志時,未檢測到顯性位;另外一種情況是如果仲裁器件產(chǎn)生填充錯誤,發(fā)送器送出一個隱性位錯誤標(biāo)志,而檢測到的是顯性位。除以上兩種情況外,發(fā)送器錯誤計數(shù)器計數(shù)不改變。

(4)發(fā)送器送出一個活動錯誤標(biāo)志或超載標(biāo)志時,檢測到位錯誤,則發(fā)送器錯誤計數(shù)器加8。

(5)在送出活動鐠誤標(biāo)志、認(rèn)可錯誤標(biāo)志或超載錯誤標(biāo)志后,任何節(jié)點都最多允許連續(xù)7個顯性位。在檢測到第11個連續(xù)顯性位后,或緊隨認(rèn)可錯誤標(biāo)志檢測到第8個連續(xù)的顯性位,以及附加的8個連續(xù)的顯性位的每個序列后,每個發(fā)送器的發(fā)送錯誤計數(shù)都加8,并且每個接收器的接收錯誤計數(shù)也加8。

(6)報文成功發(fā)送后,發(fā)送錯誤計數(shù)減1,除非計數(shù)值已經(jīng)為0。

(7)報文成功發(fā)送后,如果接收錯誤計數(shù)處于1~197之間,則其值減1;如果接收錯誤計數(shù)為0,則仍保持為0;如果大于127,則將其值記為119~127之間的某個數(shù)值。

(8)當(dāng)發(fā)送錯誤計數(shù)等于或大于128,或接收錯誤汁數(shù)等于或大于128時,節(jié)點進(jìn)人錯誤認(rèn),可狀態(tài),節(jié)點送出一個活動錯誤標(biāo)志。

(9)當(dāng)發(fā)送錯誤計數(shù)器大于或等于256時,節(jié)點進(jìn)人總線關(guān)閉狀態(tài)。

(1O)當(dāng)發(fā)送錯誤計數(shù)和接收錯誤計數(shù)均小于或等于127時,錯誤認(rèn)可節(jié)點再次變?yōu)殄e誤激活節(jié)點。

(11)在檢測到總線上11個連續(xù)的隱性位發(fā)送128次后,總線關(guān)閉節(jié)點將變?yōu)?個錯誤計數(shù)器均為0的錯誤激活節(jié)點。

(12)當(dāng)錯誤計數(shù)器數(shù)值大于96時,說明總線被嚴(yán)重干擾。

如果系統(tǒng)啟動期間僅有1個節(jié)點掛在總線上,此節(jié)點發(fā)出報文后,將得不到應(yīng)答,檢查出錯誤并重復(fù)該報文,此時該節(jié)點可以變?yōu)殄e誤認(rèn)可節(jié)點,但不會因此關(guān)閉總線。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

新大陸自動識別精彩亮相2024華南國際工業(yè)博覽會

派拓網(wǎng)絡(luò)被Forrester評為XDR領(lǐng)域領(lǐng)導(dǎo)者

智能工控,存儲強(qiáng)基 | ??低晭砭手黝}演講

展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會

中國聯(lián)通首個量子通信產(chǎn)品“量子密信”亮相!