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