局部錯誤,全局通知是CAN總線錯誤類型中較為典型的一種,如何通過錯誤報文及波形快速定位錯誤原因呢?本文結(jié)合現(xiàn)場實測案例簡要分析。
一、CAN總線錯誤簡介
在CAN總線中存在5種錯誤類型,如圖1所示:它們互相并不排斥,下面簡單介紹一下它們的區(qū)別、產(chǎn)生的原因。
圖1 5種錯誤類型
位錯誤:向總線送出一位的某個節(jié)點同時也在監(jiān)視總線,當(dāng)監(jiān)視到總線位的電平和送出的電平不同時,則在該位時刻檢測到一個位錯誤。但是在仲裁區(qū)的填充位流期間或應(yīng)答間隙送出隱性位而檢測到顯性位時,不認(rèn)為是錯誤位。
填充錯誤:在使用位填充方法進(jìn)行編碼的報文中(幀起始到CR序列),出現(xiàn)了第6個連續(xù)相同的位電平時,將檢 測出一個填充錯誤。
CRC錯誤:CRC序列是由發(fā)送器CRC計算的結(jié)果組成的。接收器以和發(fā)送器相同的方法計算CRC。如果計算的結(jié)果和接收到的CRC序列不同,則檢測出一個CRC錯誤。
格式錯誤: 當(dāng)固定格式的位區(qū)中(如CRC認(rèn)可位、ACK認(rèn)可位、幀結(jié)束位)出現(xiàn)一個或多個非法位時,則檢測到一個形式錯誤。
應(yīng)答錯誤:在應(yīng)答間隙,每一個接收端都會向總線回一個顯性位,如果發(fā)送端在ACK場檢測不到顯性位應(yīng)答,將產(chǎn)生應(yīng)答錯誤。
當(dāng)出現(xiàn)5種錯誤類型之一時,發(fā)送或接收節(jié)點將發(fā)送錯誤幀。其中錯誤幀 又分主動錯誤幀和被動錯誤幀。
主動錯誤幀由處于主動錯誤狀態(tài)的節(jié)點發(fā)送 ,幀格式由主動錯誤標(biāo)志(6個連續(xù)顯性位)+錯誤標(biāo)志疊加(0~6個連續(xù)顯性位)+錯誤界定符(8個連續(xù)的隱性位)組成。
被動錯誤幀由被動錯誤狀態(tài)的節(jié)點發(fā)送,幀格式由被動錯誤標(biāo)志(6個連續(xù)隱性位)+錯誤標(biāo)志疊加(0~6個連續(xù)顯性位)+錯誤界定符(8個連續(xù)的隱性位)組成。被動錯誤標(biāo)志能夠部分或全部被其它節(jié)點的顯性位覆蓋。
二、什么是局部錯誤?
在整個CAN網(wǎng)絡(luò)中,由于干擾等原因引起總線局部錯誤(即某一個CAN節(jié)點出錯,其他節(jié)點正常),CAN總線上的主動報錯站點首先檢測到錯誤,并立即主動向總線上發(fā)出錯誤標(biāo)識,通知其他未發(fā)現(xiàn)錯誤的節(jié)點,如圖4所示:
圖4 錯誤幀的發(fā)送(局部錯誤)
檢測錯誤---發(fā)送錯誤幀---通知報文錯誤:首先,發(fā)送節(jié)點檢測到總線錯誤,發(fā)出錯誤標(biāo)識——六個連續(xù)的顯性電平位,總線接收到錯誤標(biāo)識后進(jìn)行全局通知——0~6個連續(xù)的顯性電平位+8個連續(xù)的隱性電平位,告知其他節(jié)點總線錯誤。
-
CAN總線
+關(guān)注
關(guān)注
145文章
1898瀏覽量
130333 -
CAN
+關(guān)注
關(guān)注
57文章
2663瀏覽量
462433
發(fā)布評論請先 登錄
相關(guān)推薦
評論