<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 互連技術(shù) > 正文

    一文讀懂CAN節(jié)點錯誤管理機制

    發(fā)布時間:2021-10-19 來源:ZLG 責(zé)任編輯:wenwei

    【導(dǎo)讀】CAN節(jié)點的穩(wěn)定性、可靠性和安全性得益于其強大的錯誤管理機制。那么,CAN節(jié)點為什么能感知錯誤?又是如何響應(yīng)錯誤?您是否能清晰地想象出這一過程?本文將為大家詳細分析CAN節(jié)點錯誤管理的工作過程。

     

    節(jié)點電路構(gòu)成

     

    如圖1所示,MCU作為主控制器,完成CAN控制器和功能電路的控制。

     

    一文讀懂CAN節(jié)點錯誤管理機制

    圖1 CAN節(jié)點組成框圖

     

    CAN控制器是工作于數(shù)據(jù)鏈路層的器件,集成了CAN規(guī)范中數(shù)據(jù)鏈路層的全部功能,其功能由軟件和硬件共同實現(xiàn),從設(shè)備供應(yīng)商買回來的CAN控制器已經(jīng)把相應(yīng)的邏輯固化在其硅片之中;MCU是工作于應(yīng)用層的器件,其功能由軟件和硬件共同實現(xiàn),MCU運行的程序可由設(shè)計者靈活設(shè)計,以實現(xiàn)CAN節(jié)點的特定功能;CAN收發(fā)器工作于物理層,其功能完全由硬件實現(xiàn),其作用是將CAN控制器的邏輯電平轉(zhuǎn)化為CAN總線的模擬差分信號,以及把總線模擬差分信號轉(zhuǎn)換成CAN控制器的邏輯電平。

     

    CAN節(jié)點的錯誤管理屬于CAN通信規(guī)范數(shù)據(jù)鏈路層的內(nèi)容,具體來說,錯誤管理是通過MCU和CAN控制器來實施的。可以說,CAN控制器是錯誤管理的基礎(chǔ)設(shè)施,我們可以從兩個方面理解其工作邏輯:一是如何感知錯誤,二是如何響應(yīng)錯誤。

     

    注:1、本文所說的CAN規(guī)范指的是德國BOSCH公司的《CAN Specification Version 2.0》。

     

    節(jié)點如何感知錯誤?

     

    如前文所述,節(jié)點對總線錯誤的識別是通過CAN控制器來完成的。CAN控制器輸出給收發(fā)器發(fā)送引腳TX的邏輯信號位會從收發(fā)器接收引腳RX接收,這使得CAN控制器可以在發(fā)送一個邏輯位期間同時監(jiān)測總線的實際電平值。CAN控制器檢測總線錯誤原理如圖2所示:

     

    一文讀懂CAN節(jié)點錯誤管理機制

    圖2 監(jiān)測總線錯誤原理圖

     

    如圖2描述,CAN控制器監(jiān)測一個總線電平的電平值是在采樣點位置進行的,判斷是否出現(xiàn)錯誤是在信息處理時間內(nèi)完成的。

     

    綜上所述,CAN控制器對錯誤的識別可概括為:無論是作為發(fā)送器還是接收器,在采樣點位置成功監(jiān)測到當(dāng)前總線的實際電平值后,CAN控制器便按照CAN規(guī)范中描述的錯誤管理規(guī)則判斷是否出現(xiàn)錯誤。

     

    CAN通信過程中的錯誤類型包括5種,分別是:位錯誤、填充錯誤、CRC錯誤、幀格式錯誤、應(yīng)答錯誤。接下來分別對5種錯誤的檢測識別過程進行解析。

     

    1、位錯誤

     

    位錯誤是由作為發(fā)送器的節(jié)點在發(fā)送報文期間進行檢測識別的。CAN控制器的程序邏輯發(fā)送的電平與監(jiān)測到總線的實際信號不一致即在此位期間檢測到位錯誤。

     

    例外情況,在仲裁場或應(yīng)答間隙期間發(fā)送一&ldquo;隱性&rdquo;位卻監(jiān)視到一&ldquo;顯性&rdquo;位,以及當(dāng)發(fā)送器發(fā)送一個被動錯誤標(biāo)志但檢測到&ldquo;顯性&rdquo;位時,均也不被視為位錯誤,以實現(xiàn)特定的功能。

     

    2、填充錯誤

     

    在CAN幀的位場中,幀起始、仲裁場、控制場、數(shù)據(jù)場以及CRC序列,均通過位填充的方法編碼。無論何時,發(fā)送器只要檢測到這些位場對應(yīng)位流里有5個連續(xù)相同值的位,便自動在接著的下一位插入一個補碼位。CAN控制器在監(jiān)測總線電平值的同時對連續(xù)相同的位電平值會進行計數(shù),如果在使用位填充法進行編碼的信息中,出現(xiàn)了第6個連續(xù)相同的位電平值時,便檢測到一個填充錯誤。

     

    3、CRC錯誤

     

    CRC錯誤是由作為接收器的節(jié)點進行檢測識別的。CRC序列共15位(不包含填充位),其內(nèi)容由幀起始、仲裁場、控制場、數(shù)據(jù)場(如果有)的無填充位流計算而來。

     

    CRC序列計算使用CAN規(guī)范規(guī)定的方法。作為發(fā)送器的節(jié)點發(fā)送CAN報文時CRC序列由規(guī)定的計算方法確定,作為接收器的節(jié)點從總線上接收完數(shù)據(jù)場最后一個數(shù)據(jù)位(沒有數(shù)據(jù)場時是接收完控制場的最后一個位)后,如果接下來接收到實際的CRC序列與接收器的計算結(jié)果不一致,便檢測到CRC錯誤。

     

    4、格式錯誤

     

    節(jié)點無論是作為發(fā)送器的還是作為接收器均可在監(jiān)測報文期間檢測識別格式錯誤。由于CAN通信嚴(yán)格按照CAN規(guī)范定義的幀格式進行報文封裝傳輸,CAN控制器在監(jiān)測總線電平位時明確知道當(dāng)前位、后續(xù)位屬于幀格式中哪個位場,以及屬于位場的第幾個位,當(dāng)接收到一個屬于幀格式固定形式的位時,如果實際電平值與幀格式定義不一致,則檢測到一個格式錯誤。

     

    例外情況,對于接收器來說,幀結(jié)束最后的位被置于&ldquo;不重要&rdquo;狀態(tài),監(jiān)測到的幀結(jié)束最后一位期間的顯性位不被當(dāng)作幀錯誤。

     

    5、應(yīng)答錯誤

     

    應(yīng)答錯誤是由作為發(fā)送器的節(jié)點檢測識別的。在發(fā)送報文時,只要在發(fā)送應(yīng)答間隙(隱性)期間所監(jiān)測到的位不為&ldquo;顯性&rdquo;,則發(fā)送器會檢測到一個應(yīng)答錯誤。

     

    注:

     

    1、上述5種錯誤不會相互排斥,也就是說CAN幀中的某個錯誤有可能同屬一種以上的錯誤類型。

    2、如上所述,作為發(fā)送器或接收器的不同角色時,直接能檢測到的錯誤類型是不一樣的。

     

    節(jié)點如何響應(yīng)錯誤?

     

    CAN規(guī)范中規(guī)定每個CAN控制器中實現(xiàn)一個發(fā)送錯誤計數(shù)器和一個接收錯誤計數(shù)器。根據(jù)計數(shù)值不同,節(jié)點會處于不同的節(jié)點狀態(tài),并根據(jù)計數(shù)值的變化進行狀態(tài)轉(zhuǎn)換,狀態(tài)轉(zhuǎn)換如圖3所示。

     

    一文讀懂CAN節(jié)點錯誤管理機制

    圖3 節(jié)點轉(zhuǎn)態(tài)轉(zhuǎn)換圖

     

    當(dāng)CAN控制器檢測到總線錯誤后通過發(fā)送錯誤標(biāo)志指示錯誤。對于&ldquo;錯誤主動&rdquo;的節(jié)點,錯誤標(biāo)志表現(xiàn)為&ldquo;主動錯誤標(biāo)志&rdquo;,對于&ldquo;錯誤被動&rdquo;的節(jié)點,錯誤標(biāo)志表現(xiàn)為&ldquo;被動錯誤標(biāo)志&rdquo;。

     

    無論檢測到位錯誤、填充錯誤、幀格式錯誤、還是應(yīng)答錯誤,CAN控制器會在緊鄰的下一位發(fā)送錯誤標(biāo)志。如果檢測到的錯誤類型是CRC錯誤,錯誤標(biāo)志的發(fā)送開始于ACK定界符之后的位,即幀結(jié)尾。

     

    綜上所述,CAN控制器對錯誤的響應(yīng)可概括為:根據(jù)當(dāng)前的節(jié)點狀態(tài)在位流序列相應(yīng)的位置用錯誤標(biāo)志標(biāo)示錯誤,并按照CAN規(guī)范更新錯誤計數(shù)值,進行節(jié)點狀態(tài)轉(zhuǎn)換。并且是每成功監(jiān)測到一次錯誤便進行一次響應(yīng)。

     

    注:

     

    1、由于篇幅有限,關(guān)于錯誤計數(shù)的詳細規(guī)則、節(jié)點狀態(tài)轉(zhuǎn)換以及錯誤幀格式等細節(jié)均不在本文進行討論,請讀者查閱CAN協(xié)議規(guī)范。

    2、上述分析可知道,錯誤響應(yīng)的關(guān)鍵要素包括錯誤標(biāo)志的類型和響應(yīng)的位置。

     

    錯誤管理機制的作用

     

    錯誤管理機制的作用主要體現(xiàn)在對錯誤的響應(yīng)過程。
     

    作為發(fā)送器發(fā)送錯誤標(biāo)志時,無論&ldquo;主動錯誤&rdquo;還是&ldquo;被動錯誤&rdquo;都必然包括6個連續(xù)同極性的位,使其他節(jié)點也識別到總線錯誤,進而使所有節(jié)點都能丟棄當(dāng)前出錯的幀。

     

    作為接收器發(fā)送錯誤標(biāo)志時,&ldquo;主動錯誤&rdquo;標(biāo)志使其他節(jié)點也識別到總線錯誤從而使所有節(jié)點(包括作為發(fā)送器的節(jié)點)都能丟棄當(dāng)前出錯的幀;&ldquo;被動錯誤&rdquo;標(biāo)志不影響總線通信從而使其他節(jié)點都能成功接收當(dāng)前幀,處于&ldquo;被動錯誤&rdquo;狀態(tài)的節(jié)點屬于&ldquo;不可信&rdquo;狀態(tài),其檢測到錯誤僅是自己丟棄當(dāng)前幀,這也是錯誤管理的靈活性所在,即錯誤響應(yīng)并不是嚴(yán)格在任何情況下都使所有節(jié)點丟棄同一幀報文。

     

    綜上所述,錯誤管理機制可以使所有的節(jié)點同時接收或丟棄總線的同一幀報文,又可以使作為接收器的被動錯誤狀態(tài)的節(jié)點僅自己丟棄當(dāng)前報文而不影響其他節(jié)點。因此,錯誤管理是實現(xiàn)CAN通信數(shù)據(jù)一致性的機制之一。

     

    總結(jié)

     

    CAN節(jié)點錯誤管理功能是由CAN節(jié)點組成中的CAN控制器負責(zé)的,對錯誤管理的工作過程可以從&ldquo;錯誤識別&rdquo;和&ldquo;錯誤響應(yīng)&rdquo;兩個方面進行理解。錯誤管理是實現(xiàn)CAN通信數(shù)據(jù)的一致性的機制之一。

     

    ZPS-CANFD是致遠電子總線分析儀第二代CAN總線開發(fā)輔助工具,適用于CANFD、CAN、LIN總線的測量及測試儀器,支持總線數(shù)據(jù)的發(fā)送和接收,高層協(xié)議解析及診斷,能對CANFD、CAN總線物理層電氣信號實時采集和記錄,并附帶有高速模擬通道、通用數(shù)字IO及模擬IO,通過提供的硬件接口及軟件功能,用戶能夠便捷地構(gòu)建總線信號測量與分析、節(jié)點功能仿真及測試、網(wǎng)絡(luò)可靠性診斷及評估的自動化系統(tǒng)。ZPS-CANFD可實現(xiàn)CAN/CANFD報文和波形的同步監(jiān)測,可以直觀的定位排查節(jié)點錯誤問題,以及更高效的錯誤干擾等模擬測試。

     

    來源:ZLG致遠儀器,原創(chuàng):研發(fā)部  

     

     

    免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理。

     

    推薦閱讀:

     

    設(shè)計人員如何實現(xiàn) Wi-Fi 三頻段千兆網(wǎng)速和高吞吐量

    凌華科技推出邊緣視覺分析軟件開發(fā)套件EVA SDK加速邊緣AI視覺

    &ldquo;愛芯科技&rdquo;完成新一輪品牌升級,正式更名&ldquo;愛芯元智&rdquo;

    開發(fā)基于碳化硅的25kW快速直流充電樁 (第一部分):電動車應(yīng)用

    TM1810-3, TM1810-2 LED恒流驅(qū)動IC

    特別推薦
    技術(shù)文章更多>>
    技術(shù)白皮書下載更多>>
    熱門搜索
    ?

    關(guān)閉

    ?

    關(guān)閉

    亚洲国产精品成人精品无码区 | 天堂а√在线中文在线| 亚洲欧美中文字幕| 人妻无码一区二区不卡无码av| 无码人妻一区二区三区在线水卜樱| 亚洲成a人片在线观看中文动漫| 亚洲精品无码久久千人斩| 日韩乱码人妻无码中文字幕视频| 亚洲欧美在线一区中文字幕 | 久久久久亚洲av无码专区 | 国产精品无码素人福利| 日韩精品无码中文字幕一区二区| 亚洲av日韩av高潮潮喷无码 | AV无码人妻中文字幕| 天堂√最新版中文在线天堂| 欧洲成人午夜精品无码区久久 | 99久久无色码中文字幕| 日韩精品真人荷官无码| 中文字幕人妻在线视频不卡乱码| 亚洲精品国产日韩无码AV永久免费网 | 国产网红无码精品视频| 久草中文在线观看| 亚洲AV无码不卡在线观看下载| 精品无码成人片一区二区98| 亚洲熟妇无码八V在线播放| 亚洲午夜国产精品无码| 无码精品日韩中文字幕| 国产a级理论片无码老男人| 内射人妻少妇无码一本一道| 久久亚洲中文字幕精品有坂深雪| 久久99久久无码毛片一区二区 | 中文字幕日韩精品无码内射| 日本一区二区三区精品中文字幕| 国产精品无码一区二区在线观一| 亚洲精品无码MV在线观看| 一区 二区 三区 中文字幕| 精品久久久久中文字幕日本 | 久久有码中文字幕| 中文亚洲欧美日韩无线码| 久久av高潮av无码av喷吹 | 亚洲精品无码久久久久去q|