0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAN總線錯(cuò)誤類型及校驗(yàn)方法

AGk5_ZLG_zhiyua ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-06-26 10:29 ? 次閱讀

你了解CAN總線嗎?你知道總線中有哪些錯(cuò)誤嗎?你想了解總線中的錯(cuò)誤是如何校驗(yàn)以及錯(cuò)誤之間的關(guān)系嗎?下文為大家揭開(kāi)它神秘的面紗。

CAN總線是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議。在汽車(chē)產(chǎn)業(yè)中,出于對(duì)安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開(kāi)發(fā)了出來(lái)。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對(duì)可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)“減少線束的數(shù)量”、“通過(guò)多個(gè)LAN,進(jìn)行大量數(shù)據(jù)的高速通信”的需要,CAN總線應(yīng)運(yùn)而生,圖1為CAN總線在汽車(chē)中的應(yīng)用圖。

圖1 汽車(chē)中CAN總線的應(yīng)用

CAN的高性能和可靠性已被認(rèn)同,并被廣泛地應(yīng)用于工業(yè)自動(dòng)化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等方面。現(xiàn)場(chǎng)總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。圖2為CAN總線網(wǎng)路圖,它的出現(xiàn)為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時(shí)、可靠的數(shù)據(jù)通信提供了強(qiáng)而有力的技術(shù)支持。

圖2 CAN總線網(wǎng)路圖

CAN總線作為可靠性非常高的總線,出錯(cuò)概率非常小,這也是它被廣泛應(yīng)用的原因之一。在CAN總線的實(shí)際研發(fā)中,相較于CAN總線的正確幀,工程師更關(guān)注CAN總線的錯(cuò)誤幀,下面將為大家展現(xiàn)CANscope波形常見(jiàn)的幾類錯(cuò)誤,圖3為干擾導(dǎo)致的CAN通訊錯(cuò)誤。

圖3 錯(cuò)誤波形圖

圖4為終端電阻并聯(lián)過(guò)多,差分電平幅值太小導(dǎo)致接收節(jié)點(diǎn)識(shí)別失敗的錯(cuò)誤。

圖4 錯(cuò)誤波形圖

圖5為總線支線過(guò)長(zhǎng),電平下降沿臺(tái)階過(guò)高,導(dǎo)致位寬度失調(diào)的錯(cuò)誤。

圖5 錯(cuò)誤波形圖

圖6為卡車(chē)打開(kāi)/關(guān)閉大燈時(shí),耦合到CAN總線上的干擾,導(dǎo)致的錯(cuò)誤。

圖6 錯(cuò)誤波形圖

圖7為波特率異常(位寬度從2us突然變成1.6us),導(dǎo)致位錯(cuò)誤。

圖7 錯(cuò)誤波形圖

CAN總線的錯(cuò)誤都有哪些形式,相互之間有什么樣的關(guān)系,以及總線的檢測(cè)與校驗(yàn)的原理是什么?

CAN總線的錯(cuò)誤幀可分為位錯(cuò)誤、位填充錯(cuò)誤、CRC錯(cuò)誤、格式錯(cuò)誤、應(yīng)答錯(cuò)誤五大類,每類錯(cuò)誤的具體解釋如圖8所示,此圖簡(jiǎn)潔明了的展現(xiàn)了各種錯(cuò)誤。

圖8 CAN總線錯(cuò)誤類型

CAN報(bào)文傳輸過(guò)程中出現(xiàn)通訊錯(cuò)誤,會(huì)發(fā)送錯(cuò)誤幀,以上所述的錯(cuò)誤幀類型中根據(jù)其錯(cuò)誤標(biāo)識(shí)符不同,可分為“主動(dòng)錯(cuò)誤”和“被動(dòng)錯(cuò)誤”。

主動(dòng)錯(cuò)誤:檢測(cè)錯(cuò)誤主動(dòng)報(bào)錯(cuò),發(fā)出錯(cuò)誤標(biāo)識(shí)符(連續(xù)6個(gè)顯性位)和錯(cuò)誤界定符(連續(xù)8個(gè)隱形位);目的在于“主動(dòng)”通知錯(cuò)誤,即使別的節(jié)點(diǎn)沒(méi)有發(fā)現(xiàn)此錯(cuò)誤;

被動(dòng)錯(cuò)誤:檢測(cè)錯(cuò)誤,被動(dòng)等待其他節(jié)點(diǎn)報(bào)錯(cuò)后發(fā)送錯(cuò)誤標(biāo)識(shí)符(連續(xù)6個(gè)隱形位)和錯(cuò)誤標(biāo)識(shí)符(連續(xù)8個(gè)隱形位);目的在于識(shí)別錯(cuò)誤,回應(yīng)主動(dòng)錯(cuò)誤。

總線關(guān)閉:節(jié)點(diǎn)不參與總線通訊。

為了避免某個(gè)設(shè)備因?yàn)樽陨碓颍ɡ?a href="http://www.ttokpm.com/v/tag/1751/" target="_blank">硬件損壞)導(dǎo)致無(wú)法正常收發(fā)數(shù)據(jù)而不斷地破壞數(shù)據(jù)幀,從而影響其他正常節(jié)點(diǎn)通訊,CAN-bus規(guī)范中規(guī)定每個(gè)CAN控制器都有一個(gè)發(fā)送錯(cuò)誤計(jì)數(shù)器和一個(gè)接收錯(cuò)誤計(jì)數(shù)器。根據(jù)計(jì)數(shù)值不同CAN節(jié)點(diǎn)會(huì)處于不同的設(shè)備狀態(tài),狀態(tài)之間的轉(zhuǎn)換關(guān)系如圖9所示。

圖9 錯(cuò)誤轉(zhuǎn)換圖

接收、發(fā)送錯(cuò)誤計(jì)數(shù)器對(duì)應(yīng)的變動(dòng)條件及數(shù)值變動(dòng)情況:

接收單元檢測(cè)出錯(cuò)誤時(shí),檢測(cè)到錯(cuò)誤標(biāo)識(shí)符或過(guò)載標(biāo)志的“位錯(cuò)誤”除外,此時(shí)REC+1、TEC不變;

接收單元在發(fā)送完錯(cuò)誤標(biāo)志后檢測(cè)到第一位為顯性電平,此時(shí)REC+8、TEC不變;

發(fā)送單元輸出錯(cuò)誤標(biāo)志,此時(shí)REC不變、TEC+8;

發(fā)送單元發(fā)送主動(dòng)錯(cuò)誤標(biāo)志或過(guò)載標(biāo)志,檢測(cè)出位錯(cuò)誤,REC不變、TEC+8;

接收單元發(fā)送主動(dòng)錯(cuò)誤標(biāo)志或過(guò)載標(biāo)志,檢測(cè)出位錯(cuò)誤,REC+8、TEC不變;

各單元從主動(dòng)錯(cuò)誤標(biāo)志、過(guò)載標(biāo)志的開(kāi)始檢測(cè)出連續(xù)14個(gè)顯性位,之后每檢測(cè)出連續(xù)8個(gè)顯性位,發(fā)送時(shí)REC+8、接收時(shí)TEC+8;

檢測(cè)出被動(dòng)錯(cuò)誤標(biāo)志后追加連續(xù)8個(gè)位的顯性位,發(fā)送時(shí)REC+8、接收時(shí)TEC+8;

發(fā)送單元正常接收數(shù)據(jù)結(jié)束時(shí)(返回ACK且到幀結(jié)束位檢測(cè)到錯(cuò)誤),REC不變、TEC-1;

接收單元正常接收數(shù)據(jù)結(jié)束時(shí)(到CRC未檢測(cè)出錯(cuò)誤且正常返回ACK),REC<127時(shí),REC-1,REC>127時(shí),REC=127;TEC不變;

處于總線關(guān)閉的單元,檢測(cè)到128次連續(xù)11個(gè)位的隱形位,錯(cuò)誤計(jì)數(shù)器歸零,REC、TEC=0;

CAN總線錯(cuò)誤處理功能屬于是鏈路層功能,此功能由CAN控制器決定,圖10為CAN控制介紹圖,其中詳細(xì)介紹與錯(cuò)誤處理有關(guān)的部分:位流處理器、位邏輯控制、錯(cuò)誤管理邏輯。

位流處理器(BSP)是一個(gè)控制發(fā)送緩沖器、接收FIFO和CAN總線之間數(shù)據(jù)流的程序裝置,它還執(zhí)行總線上的錯(cuò)誤檢測(cè)、仲載、總線填充和錯(cuò)誤處理。

位時(shí)序邏輯(BTL)監(jiān)視串行的CAN總線和位時(shí)序,它在信息開(kāi)頭“弱勢(shì)支配”的總線傳輸時(shí),同步CAN總線位流(硬同步),接收?qǐng)?bào)文時(shí)再次同步下一次傳送(軟同步)。

錯(cuò)誤管理邏輯(EML)負(fù)責(zé)限制傳輸層模塊的錯(cuò)誤,它接收來(lái)自位流處理器的出錯(cuò)報(bào)告,然后把有關(guān)錯(cuò)誤統(tǒng)計(jì)告訴位流處理器和接口管理邏輯(IML)。

圖10 CAN控制器

CAN控制器的信號(hào)從CAN收發(fā)器的TXD發(fā)送到總線,同時(shí)被RXD收回進(jìn)行檢測(cè),以此達(dá)到實(shí)時(shí)的接收錯(cuò)誤檢測(cè)、發(fā)送錯(cuò)誤檢測(cè)與ID仲裁功能。CAN總線是如何保證數(shù)據(jù)傳輸可靠性的,以下介紹CAN總線獨(dú)有的檢測(cè)機(jī)制:位流檢測(cè)和CRC校驗(yàn)。

位流檢測(cè):即位檢測(cè),如圖11所示節(jié)點(diǎn)在發(fā)送過(guò)程中,同時(shí)會(huì)監(jiān)測(cè)自身發(fā)送的位數(shù)值,假如檢測(cè)到位與自身送出的位數(shù)值不同,則會(huì)提示位錯(cuò)誤;

圖11 位檢測(cè)

CRC校驗(yàn):即循環(huán)冗余校驗(yàn)碼是數(shù)據(jù)通訊領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,其信息字段和校驗(yàn)字段的長(zhǎng)度可任意選定;CRC校驗(yàn)過(guò)程是通過(guò)循環(huán)計(jì)算冗余校驗(yàn)碼的方式實(shí)現(xiàn)的,CAN控制器內(nèi)部CRC的實(shí)現(xiàn)是基于多項(xiàng)式發(fā)生器和一個(gè)15位寄存器;其意義在于保證傳輸數(shù)據(jù)的正確性,未經(jīng)CRC校驗(yàn)檢測(cè)出的錯(cuò)誤低于10負(fù)九次方。

CANscope總線分析儀是一款綜合性的CAN總線開(kāi)發(fā)與測(cè)試的專業(yè)工具,集海量存儲(chǔ)示波器、網(wǎng)絡(luò)分析儀、誤碼率分析儀、協(xié)議分析儀及可靠性測(cè)試工具于一身,并把各種儀器有機(jī)的整合和關(guān)聯(lián),如圖12所示CANscope的軟件界面圖;重新定義CAN總線的開(kāi)發(fā)測(cè)試方法,可對(duì)CAN網(wǎng)絡(luò)通訊正確性、可靠性、合理性進(jìn)行多角度全方位的評(píng)估;幫助用戶快速定位故障節(jié)點(diǎn),解決CAN總線應(yīng)用的各種問(wèn)題,是CAN總線開(kāi)發(fā)測(cè)試的終極工具。

圖12 CANscope軟件界面

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1898

    瀏覽量

    130333
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    197

    瀏覽量

    29357

原文標(biāo)題:CAN總線錯(cuò)誤檢測(cè)機(jī)制

文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺談CAN總線錯(cuò)誤類型

    1.在CAN總線中存在5種錯(cuò)誤類型,它們互相并不排斥,下面介紹一下它們的區(qū)別方式、產(chǎn)生的原因以及處理方法。l位
    發(fā)表于 07-09 13:54

    不能糾錯(cuò)的校驗(yàn)方法

    昨天做了一道試題下面不能糾錯(cuò)的校驗(yàn)方法是:A.奇偶校驗(yàn)B.校驗(yàn)和C.CRC校驗(yàn)D.(忘了這選項(xiàng)是什么了)請(qǐng)問(wèn)答案是哪個(gè)???
    發(fā)表于 09-18 19:57

    CRC校驗(yàn)方法通過(guò)CAN總線通信來(lái)實(shí)現(xiàn)

    檢測(cè)、格式錯(cuò)誤檢測(cè)、填充錯(cuò)誤檢測(cè)、應(yīng)答錯(cuò)誤檢測(cè)和CRC錯(cuò)誤檢測(cè)。作為一種重要的錯(cuò)誤檢測(cè)手段,CRC錯(cuò)誤
    發(fā)表于 09-25 15:41

    CAN總線局部錯(cuò)誤及全局通知分析

    局部錯(cuò)誤,全局通知是CAN總線錯(cuò)誤類型中較為典型的一種,如何通過(guò)錯(cuò)誤報(bào)文及波形快速定位
    的頭像 發(fā)表于 02-16 07:57 ?7133次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>局部<b class='flag-5'>錯(cuò)誤</b>及全局通知分析

    關(guān)于CAN總線錯(cuò)誤的相關(guān)知識(shí)

    在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯(cuò)誤的相關(guān)知識(shí),包括CAN總線錯(cuò)誤的基礎(chǔ)概念、
    的頭像 發(fā)表于 05-27 17:56 ?2946次閱讀

    CAN總線錯(cuò)誤類型介紹

    在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯(cuò)誤的相關(guān)知識(shí),包括CAN總線錯(cuò)誤的基礎(chǔ)概念、
    的頭像 發(fā)表于 06-13 16:08 ?7903次閱讀

    虹科干貨 | 帶你全面認(rèn)識(shí)“CAN總線錯(cuò)誤”(二)——CAN錯(cuò)誤類型

    AsimpleintrotoCANerrorsCAN總線錯(cuò)誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯(cuò)誤的相關(guān)知識(shí),包括
    的頭像 發(fā)表于 06-09 09:46 ?1985次閱讀
    虹科干貨 | 帶你全面認(rèn)識(shí)“<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b>”(二)——<b class='flag-5'>CAN</b><b class='flag-5'>錯(cuò)誤</b><b class='flag-5'>類型</b>

    虹科干貨 | 帶你全面了解“CAN總線錯(cuò)誤”(三)——CAN節(jié)點(diǎn)狀態(tài)與錯(cuò)誤計(jì)數(shù)器

    AsimpleintrotoCANerrorsCAN總線錯(cuò)誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯(cuò)誤的相關(guān)知識(shí),包括
    的頭像 發(fā)表于 06-09 09:46 ?2144次閱讀
    虹科干貨 | 帶你全面了解“<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b>”(三)——<b class='flag-5'>CAN</b>節(jié)點(diǎn)狀態(tài)與<b class='flag-5'>錯(cuò)誤</b>計(jì)數(shù)器

    虹科干貨 | 帶你全面認(rèn)識(shí)“CAN總線錯(cuò)誤”(一)——CAN總線錯(cuò)誤錯(cuò)誤

    AsimpleintrotoCANerrorsCAN總線錯(cuò)誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯(cuò)誤的相關(guān)知識(shí),包括
    的頭像 發(fā)表于 05-27 10:39 ?4350次閱讀
    虹科干貨 | 帶你全面認(rèn)識(shí)“<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b>”(一)——<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b>與<b class='flag-5'>錯(cuò)誤</b>幀

    虹科干貨 | 帶你全面認(rèn)識(shí)“CAN總線錯(cuò)誤”(二)——CAN錯(cuò)誤類型

    AsimpleintrotoCANerrorsCAN總線錯(cuò)誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯(cuò)誤的相關(guān)知識(shí),包括
    的頭像 發(fā)表于 06-02 09:41 ?1256次閱讀
    虹科干貨 | 帶你全面認(rèn)識(shí)“<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b>”(二)——<b class='flag-5'>CAN</b><b class='flag-5'>錯(cuò)誤</b><b class='flag-5'>類型</b>

    虹科干貨 | 帶你全面了解“CAN總線錯(cuò)誤”(四)——在實(shí)踐中生成和記錄CAN錯(cuò)誤

    AsimpleintrotoCANerrorsCAN總線錯(cuò)誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯(cuò)誤的相關(guān)知識(shí),包括
    的頭像 發(fā)表于 06-09 10:21 ?1451次閱讀
    虹科干貨 | 帶你全面了解“<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b>”(四)——在實(shí)踐中生成和記錄<b class='flag-5'>CAN</b><b class='flag-5'>錯(cuò)誤</b>

    科普系列:CAN總線錯(cuò)誤幀及排查方法簡(jiǎn)介

    作者|蒹葭小編|吃不飽CAN幀有多種格式,錯(cuò)誤幀作為CAN幀中獨(dú)特的一種,了解其作用,類型與產(chǎn)生原因,對(duì)于進(jìn)行測(cè)試以及開(kāi)發(fā)有很大的幫助,本文將對(duì)錯(cuò)誤
    的頭像 發(fā)表于 02-23 15:11 ?2851次閱讀
    科普系列:<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b>幀及排查<b class='flag-5'>方法</b>簡(jiǎn)介

    認(rèn)識(shí)CAN總線錯(cuò)誤 CAN總線錯(cuò)誤分析與解決

    認(rèn)識(shí)CAN 總線錯(cuò)誤的第一步就是了解認(rèn)識(shí)CAN 總線協(xié)議和它的具體功能,這樣才能更容易地理解CAN
    發(fā)表于 08-14 15:18 ?5217次閱讀
    認(rèn)識(shí)<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b> <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>錯(cuò)誤</b>分析與解決

    詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗(yàn)方法

    面對(duì)切換工具鏈的用戶來(lái)說(shuō),在TSMaster上完成總線通訊中的CRC/E2E校驗(yàn)處理不是特別熟悉,該文章可以協(xié)助客戶快速使用TSMaster完成CAN/CANFD總線通訊的CRC/E2
    的頭像 發(fā)表于 05-25 08:21 ?1191次閱讀
    詳解TSMaster <b class='flag-5'>CAN</b> 與 CANFD 的 CRC E2E <b class='flag-5'>校驗(yàn)方法</b>

    CAN總線錯(cuò)誤狀態(tài)的種類

    CAN總線錯(cuò)誤狀態(tài)的種類主要包括以下幾種,每種狀態(tài)都反映了CAN總線網(wǎng)絡(luò)中節(jié)點(diǎn)或總線的不同
    的頭像 發(fā)表于 09-03 14:17 ?168次閱讀