CAN總線錯誤
介
紹
在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯誤的相關(guān)知識,包括CAN總線錯誤的基礎(chǔ)概念、CAN總線錯誤的類型、CAN錯誤幀和CAN節(jié)點錯誤狀態(tài),并通過實際的應(yīng)用測試生成并記錄CAN錯誤。
CAN總線錯誤類型
CAN總線協(xié)議規(guī)定了5種CAN錯誤類型:
位錯誤[發(fā)送器]
位填充錯誤[接收器]
格式錯誤[接收者]
ACK應(yīng)答錯誤(應(yīng)答)[發(fā)送器]
CRC校驗錯誤(循環(huán)冗余校驗)[接收器]

在前文中,我們已經(jīng)對位錯誤和位填充錯誤有所了解,這兩者都是在位級別進行評估的。其余三種CAN錯誤類型在消息級別進行評估。下面我們詳細(xì)介紹每種錯誤類型。
前文回顧:虹科干貨 | 帶你全面認(rèn)識“CAN總線錯誤”(一)——CAN總線錯誤與錯誤幀
01
位錯誤
CAN總線上的每個CAN節(jié)點都會在任何給定時間監(jiān)控信號電平——這意味著發(fā)送CAN節(jié)點也會“讀回”它發(fā)送的每一位。如果發(fā)送器讀取的數(shù)據(jù)位級別與其發(fā)送的內(nèi)容不同,則發(fā)送器會將其檢測為位錯誤。但是,如果在仲裁過程中(即發(fā)送CAN ID時)發(fā)生位不匹配,則不會將其解釋為位錯誤。類似地,應(yīng)答時隙(ACK字段)中的不匹配不會導(dǎo)致位錯誤,因為ACK字段特別要求來自發(fā)送器的隱性位被來自接收器的顯性位覆蓋。

02
位填充錯誤
如前文所述,位填充是CAN標(biāo)準(zhǔn)的一部分。它規(guī)定在同一邏輯級別的每5個連續(xù)位之后,第6位必須是補碼。這是通過提供上升沿來確保網(wǎng)絡(luò)的持續(xù)同步所必需的。此外,它確保位流不會被誤解為錯誤幀或標(biāo)記消息結(jié)束的幀間空間(7位隱性序列)。所有CAN節(jié)點都會自動刪除多余的位。
如果在CAN消息內(nèi)(在SOF和CRC字段之間)的總線上觀察到具有相同邏輯電平的6位序列,則接收器將其檢測為位填充錯誤,即填充錯誤。

03
格式錯誤
此消息級別檢查利用CAN消息中的某些字段/位必須始終處于某個邏輯級別的事實。具體來說,1位SOF必須是顯性的,而整個8位EOF字段必須是隱性的。此外,ACK和CRC界定符必須是隱性的。如果接收器發(fā)現(xiàn)這些位中的任何一個具有無效的邏輯電平,則接收器將其檢測為格式錯誤。

04
ACK應(yīng)答錯誤(應(yīng)答)
當(dāng)發(fā)送器發(fā)送CAN報文時,它將包含ACK字段(應(yīng)答),發(fā)送器將在其中發(fā)送一個隱性位。所有偵聽CAN節(jié)點都應(yīng)在該字段中發(fā)送顯性位以驗證消息的接收(無論節(jié)點是否對消息感興趣)。如果發(fā)送器未讀取ACK時隙中的顯性位,則發(fā)送器將其檢測為ACK錯誤。

05
CRC校驗錯誤(循環(huán)冗余校驗)
每個CAN報文都包含一個15位的循環(huán)冗余校驗和字段。在這里,發(fā)送器已經(jīng)計算了CRC值并將其添加到消息中。每個接收節(jié)點也會自己計算CRC。如果接收器的CRC計算與發(fā)送器的CRC不匹配,接收器會將其檢測為CRC錯誤。

-
CAN
+關(guān)注
關(guān)注
59文章
3066瀏覽量
472732
發(fā)布評論請先 登錄
虹科答疑 | 如何快速上手CAN診斷儀?10分鐘從開機到實戰(zhàn)
賦能儲能系統(tǒng)集成:虹科CAN中繼器/網(wǎng)橋如何破解BMS儲能通信難題?
虹科HK-CoreTest:專業(yè)的CAN/CAN FD總線測試軟件,高效易用
CAN被動錯誤恢復(fù)后為什么rt_device_write還會返回異常呢?
虹科干貨 | 嵌入式AI崛起,CAN總線如何重塑新角色?
直播預(yù)告 | 11月11日15點!虹科CAN XL總線技術(shù)直播,權(quán)威解讀下一代車載通信標(biāo)準(zhǔn)的技術(shù)革新與落地實踐
直播回顧 | 硬核干貨放送,虹科CAN總線應(yīng)用層直播助您告別低效聯(lián)調(diào),破解車載網(wǎng)絡(luò)開發(fā)核心難題
虹科干貨 | CAN XL:打破2048字節(jié)壁壘的下一代CAN總線,到底強在哪?
CAN總線電容過大?三種解決方案來了
如何評估CAN總線信號質(zhì)量
CAN節(jié)點錯誤管理機制工作原理解析
虹科干貨 | 帶你全面認(rèn)識“CAN總線錯誤”(二)——CAN錯誤類型
評論