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