CAN總線在汽車電子中占有非常重要的地位,尤其對于行業新手來說,CAN總線總會出現各種各樣的問題,那么本文就將針對在CAN總線中通常會出現的錯誤類型以及相應的處理方案進行講解。
位錯誤是最普通的錯誤之一,所謂位錯誤顧名思義就是向總線送出一位的某個節點同時也在監視總線,當監視到總線位的電平與送出的電平不同時9則在該位時刻檢測到一個位錯誤。但是在仲裁區的填充位流期間或應答間隙送出隱性位而檢測到顯性位時,不認為是錯誤位。送出認可錯誤標注的發送器,在檢測到顯性位時也不認為是錯誤位。
原因解析:填充錯誤,在使用位填充方法進行編碼的報文中,出現了第6個連續相同的位電平時,將檢測出一個填充錯誤。
其二是CRC錯誤,CRC錯誤可以理解為CRC序列是由發送器CRC計算的結果組成的,接收器以與發送器相同的方法計算CRC,如果計算的結果與接收到的CRC序列不同,則檢測出一個CRC錯誤。
三、形式錯誤: 當固定形式的位區中出現一個或多個非法位時,則檢測到一個形式錯誤。
四、應答錯誤:在應答間隙,發送器未檢測到顯性位時,則由它檢測出一個應答錯誤。
檢測到出錯條件的節點通過發送錯誤標志進行標定。當任何節點檢測出位錯誤、填充錯誤、形式錯誤或應答錯誤時,由該節點在下一位開始發送出錯誤標志。
在CAN總線中,任何一個單元可能處于下列3種故障狀態之一:錯誤激活狀態、錯誤認可狀態和總線關閉狀態。
錯誤激活單元可以照常參與總線通信,并且當檢測到錯誤時,送出一個活動錯誤標志。錯誤 認可節點可參與總線通信,但是不允許送出活動錯誤標志。當其檢測到錯誤時,只能送出認可錯誤標志,并且發送后仍為錯誤認可狀態,直到下一次發送初始化。總線關閉狀態不允許單元對總線有任何影響。