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