CAN總線通信錯誤類型與處理措施
時間:2018-04-28 11:14 來源:ob体育竞彩
CAN總線通信錯誤類型與處理措施
在CAN總線中存在5種錯誤類型:
位錯誤:
向總線送出一位的某個節點同時也在監視總線,當監視到總線位的電平與送出的電平不同時9則在該位時刻檢測到一個位錯誤。但是在仲裁區的填充位流期間或應答間隙送出隱性位而檢測到顯性位時,不認為是錯誤位。送出認可錯誤標注的發送器,在檢測到顯性位時也不認為是錯誤位。
填充錯誤:
在使用位填充方法進行編碼的報文中,出現了第6個連續相同的位電平時,將檢測出一個填充錯誤。
CRC錯誤:
CRC序列是由發送器CRC計算的結果組成的。接收器以與發送器相同的方法計算CRC。如果計算的結果與接收到的CRC序列不同,則檢測出一個CRC錯誤。
形式錯誤:
當固定形式的位區中出現一個或多個非法位時,則檢測到一個形式錯誤。
應答錯誤:
在應答間隙,發送器未檢測到顯性位時,則由它檢測出一個應答錯誤。
檢測到出錯條件的節點通過發送錯誤標誌進行標定。當任何節點檢測出位錯誤、填充錯誤、形式錯誤或應答錯誤時,由該節點在下一位開始發送出錯誤標誌。
在CAN總線中,任何一個單元可能處於下列3種故障狀態之一:
錯誤激活狀態(ErrorAcTIve)
錯誤認可狀態(ErrorPasiTIve)
總線關閉狀態(Busoff)
錯誤激活單元可以照常參與總線通信,並且當檢測到錯誤時,送出一個活動錯誤標誌。錯誤認可節點可參與總線通信,但是不允許送出活動錯誤標誌。當其檢測到錯誤時,隻能送出認可錯誤標誌,並且發送後仍為錯誤認可狀態,直到下一次發送初始化。總線關閉狀態不允許單元對總線有任何影響。
為了界定故障,在每個總線單元中都設有2個計數:發送出錯計數和接收出錯計數。這些計數按照下列規則進行。
計數規則:
(1)接收器檢查出錯誤時,接收器錯誤計數器加1,除非所有檢測錯誤是發送活動錯誤標誌或超載標誌期間的位錯誤。
(2)接收器在送出錯誤標誌後的第一位檢查出顯性位時,錯誤計數器加8。
(3)發送器送出一個錯誤標誌時,發送器錯誤計數器加8。有兩種情況例外:其一是如果發送器為錯誤認可,由於未檢測到顯性位應答或檢測到應答錯誤,並且在送出其認可錯誤標誌時,未檢測到顯性位;另外一種情況是如果仲裁器件產生填充錯誤,發送器送出一個隱性位錯誤標誌,而檢測到的是顯性位。除以上兩種情況外,發送器錯誤計數器計數不改變。
(4)發送器送出一個活動錯誤標誌或超載標誌時,(//www.gdzxks.com/ob体育竞彩
)檢測到位錯誤,則發送器錯誤計數器加8。
(5)在送出活動鐠誤標誌、認可錯誤標誌或超載錯誤標誌後,任何節點都最多允許連續7個顯性位。在檢測到第11個連續顯性位後,或緊隨認可錯誤標誌檢測到第8個連續的顯性位,以及附加的8個連續的顯性位的每個序列後,每個發送器的發送錯誤計數都加8,並且每個接收器的接收錯誤計數也加8。
(6)報文成功發送後,發送錯誤計數減1,除非計數值已經為0。
(7)報文成功發送後,如果接收錯誤計數處於1~197之間,則其值減1;如果接收錯誤計數為0,則仍保持為0;如果大於127,則將其值記為119~127之間的某個數值。
(8)當發送錯誤計數等於或大於128,或接收錯誤汁數等於或大於128時,節點進人錯誤認,可狀態,節點送出一個活動錯誤標誌。
(9)當發送錯誤計數器大於或等於256時,節點進人總線關閉狀態。
(1O)當發送錯誤計數和接收錯誤計數均小於或等於127時,錯誤認可節點再次變為錯誤激活節點。
(11)在檢測到總線上11個連續的隱性位發送128次後,總線關閉節點將變為2個錯誤計數器均為0的錯誤激活節點。
(12)當錯誤計數器數值大於96時,說明總線被嚴重幹擾。
如果係統啟動期間僅有1個節點掛在總線上,此節點發出報文後,將得不到應答,檢查出錯誤並重複該報文,此時該節點可以變為錯誤認可節點,但不會因此關閉總線。
看過《CAN總線通信錯誤類型與處理措施》的人還看了以下文章
|
關於CAN總線的一些事情 |
CAN總線是各種總線中使用比較廣泛的一種通信技術,它在單片機控製技術中和PLC控製技術中會常常使用這種通信技術。下麵我們來說說關於CAN總線的一些事情。 什麼叫CAN總線 CAN總線它是控製器局域網絡(Controller Area Network, CAN)的簡稱,是由德國博世(BOSC... |
|
iic總線為什麼需要上拉電阻 |
II總線是當今電子係統中應用最廣泛的芯片間通信標準,它是一種開漏通信標準,需要上拉電阻將總線電平拉到Vdd 在設計中需要增加上拉電阻,但關鍵是上拉電阻阻值取多少合適呢?通常芯片手冊中會有推薦的上拉阻值,所以在設計時按推薦的取值就可以了。下圖是一... |
|
組態王HTConvertTime函數年份上限2019怎麼 |
如下圖:組態王HTConvertTime使用2019年 相信用過組態王軟件的人都會知道,組態王HTConvertTime這個函數到了現在2020年已經不能用了,那以前做的項目怎麼辦能,接下來我來為大家介紹以下2種解決方案,如果適用,請采納。 方案1.致電組態王,要求組態王廠家發... |
|
電子開發中如何確定使用I2C總線還是SPI總線 |
電子項目開發中經常用到通訊功能,包括板子上芯片間的通訊和設備間的通訊。而常用的有線通訊方式無非就這幾種,如I2C、SPI、RS232、RS485接口、CAN、USB等。其中I2C也叫IIC,對於題目中提到的幾種通訊方式,I2C和SPI是芯片間的短距離通訊,無法長距離通訊。... |
|
can協議是什麼 |
CAN總線是德國公司BOSCH公司為解決現代汽車中眾多控製和測試儀器之間的數據交換而開發的一種串行數據通信協議,即控製器局域網總線。 其是一種多主總線,通信介質可以是雙絞線、同軸電纜、光纖,通信速率可達1Mb/s,通信距離可達10Km。此協議的最大特點是廢... |