色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Vector工具進行CAN協議錯誤幀的分析實踐

北匯信息POLELINK ? 2025-01-15 10:03 ? 次閱讀


作者 |Dawnfly
小編 | 不吃豬頭肉

f45a9360-d2e4-11ef-9434-92fbcf53809c.png

引言

CAN(Controller Area Network)協議是當前使用最普遍的車載通信協議之一,其優點不只體現在多主并行、最高達1Mbit/sec的傳輸速率(針對標準CAN)、基于優先級的仲裁機制以及廣播發送的短幀結構,還體現在其錯誤檢測機制上。通過總線數據以及總線波形來分析總線故障時,CAN協議錯誤檢測機制中豐富的錯誤幀類型能讓定位問題的效率更高。錯誤幀是CAN協議進行錯誤報告的方式,可以將總線上任何一個節點發現錯誤的信號通知給其他節點。作為一名總線測試工程師,在日常測試過程中不可避免的會接觸到錯誤幀,因此了解錯誤幀的作用、類型與產生原因,對于測試工作的順利開展有很大的幫助。

f472fcde-d2e4-11ef-9434-92fbcf53809c.png

CAN錯誤幀格式

f485820a-d2e4-11ef-9434-92fbcf53809c.png

圖1 錯誤幀通用格式

CAN錯誤幀通用格式如上圖1所示,主要包括錯誤標志和錯誤界定符兩個部分,其形成的原理以及作用如下:

錯誤標志

出現錯誤后若CAN節點處在主動錯誤階段則發送6個連續顯性位,在被動錯誤階段則發送6個連續隱性位。由于6個連續相同的位違背了位填充規則會引發填充錯誤,會使其他節點也發送錯誤標志,因此,一個錯誤標志通常由兩個連續6位的信號組成,由于會存在錯誤標志的重疊,所以錯誤標志的長度會在6-12位的范圍。

錯誤界定符

錯誤界定符由8個連續隱性位組成,所有節點在發送錯誤標志后,都會向總線發送1個隱性位,若檢測到總線上該位為隱性,則發送剩下的7個隱性位。

f4969324-d2e4-11ef-9434-92fbcf53809c.png

CAN錯誤幀分類

CAN錯誤幀根據產生錯誤的節點類型可以分為發送錯誤接收錯誤兩大類,根據錯誤產生的原因則可以分為位錯誤、填充錯誤、ACK錯誤、格式錯誤以及CRC錯誤,下圖2為各類錯誤幀所檢測范圍的分布。

f4a939f2-d2e4-11ef-9434-92fbcf53809c.png

圖2 錯誤檢測分布

位錯誤:回讀總線位狀態與自身發送的位不同,發送節點發送錯誤幀,需要注意仲裁段和ACK位發送隱性位但是回讀到顯性位除外。

填充錯誤:違反位填充規則,發送節點在發送報文時遇到5個相同極性位后需要插入1個極性相反的位,接收節點再接收報文時則需要刪除填充位。如果接收到的報文存在6個相同極性的位,則第6個位便是出現了填充錯誤,需要在該位后發送錯誤幀。

ACK錯誤:當發送節點發送報文后,在ACK位沒有在總線上檢測到其他節點發送的顯性電平。

格式錯誤:固定格式位場(如CRC界定符、ACK界定符、EOF等)與協議標準定義的顯隱性不同則會被檢測為非法位觸發格式錯誤,發送和接收節點都會發送錯誤幀。

CRC錯誤:接收節點計算的CRC序列與接收到報文中的CRC序列不同。

f4bc49ac-d2e4-11ef-9434-92fbcf53809c.png

錯誤幀的表現形式

f4d47d9c-d2e4-11ef-9434-92fbcf53809c.png

圖3 實驗環境配置

為了更直觀的展示各種錯誤幀類型,搭建了如圖3所示的實驗環境,以VN1630為發送節點,VH6501為接收節點,結合VH6501的報文干擾功能制造各類錯誤幀。

1. 發送錯誤

位錯誤

如圖4所示,用VH6501干擾發送節點仿真報文的SOF位后,SOF位出現位錯誤,在Bit0開始發送錯誤幀,接收節點在Bit5檢測到存在6個連續的隱性位,觸發填充錯誤。

f4db96cc-d2e4-11ef-9434-92fbcf53809c.png

圖4 位錯誤報文示例

ACK錯誤

按照CAN協議的規定,在一幀報文發出之后,如果接收節點成功接收了該幀報文,則接收節點需要在該幀報文ACK段內向總線上發送一個顯性位來對發送節點的報文進行應答,此時發送節點會在ACK段內從總線上回讀到一個顯性位。如圖5所示,通過配置關閉接收節點的ACK應答功能,此時發送節點在ACK位沒有收到其他節點應答,觸發ACK錯誤。

f4f9d902-d2e4-11ef-9434-92fbcf53809c.png

圖5 ACK錯誤報文示例

格式錯誤

如圖6所示,分別干擾EOF的第一位和第六位都會導致發送和接收節點出現格式錯誤,是由于發送節點發送隱性位EOF,回讀到總線為顯性位,在該位后發送格式錯誤幀。

f5073bc4-d2e4-11ef-9434-92fbcf53809c.png

圖6 EOF格式錯誤報文示例

2. 接收錯誤

填充錯誤

如圖7所示,干擾報文0x210,使Bit7隱性變為顯性,總線出現6個連續顯性位,使得發送節點和接收節點都檢測到填充錯誤,發送錯誤幀。

f513ce52-d2e4-11ef-9434-92fbcf53809c.png

圖7 報文填充錯誤

CRC錯誤

如圖8所示,通過VH6501直接發送報文序列,并篡改數據場使其與CRC序列不匹配,觸發接收節點檢測到CRC錯誤,錯誤位置是100(ACK DEL),ISO 11898-1中規定檢測到CRC錯誤后,應該在ACK界定符之后發送錯誤標志。

f5243d00-d2e4-11ef-9434-92fbcf53809c.png

圖8 CRC錯誤報文示例

格式錯誤

如圖9所示,Position 98和Position 100分別為CRC界定符和ACK界定符,干擾發送報文固定格式位后,接收節點檢測到格式錯誤幀。

f530ade2-d2e4-11ef-9434-92fbcf53809c.pngf546be84-d2e4-11ef-9434-92fbcf53809c.png

圖9 界定符格式錯誤報文示例

f567b1ac-d2e4-11ef-9434-92fbcf53809c.png

錯誤標志重疊由于錯誤標志為6個極性相同的位,因此錯誤標志會導致填充錯誤,引起其他節點發送錯誤標志,或在發送錯誤標志時將原本個,從而使其他節點緊跟著發送錯誤標志,當引起全局錯誤時,所有節點都會同時發送錯誤標志,使得錯誤標志為6個位。以下為三種典型錯誤標志重疊范例

重疊部分為6個位時

如圖10所示,在固定格式ACK界定符發送后,總線獲取到的信號為顯性位,由此發送節點和接收節點同時檢測到格式錯誤,都在ACK界定符后發送6個連續顯性位。

f5781d3a-d2e4-11ef-9434-92fbcf53809c.png

圖10 錯誤標志完全重疊

重疊部分為5個位時

用定位可以如圖11所示,當接收節點B出現CRC錯誤時,在ACK DEL后發送主動錯誤標志,發送節點和接收節點A監測到EOF的第一位被顯性位覆蓋,發送格式錯誤幀,總線上表現為7位長度的錯誤標志。

f5896acc-d2e4-11ef-9434-92fbcf53809c.png

圖11 錯誤標志部分重疊

重疊部分為0時

如圖12所示,發送節點回讀總線監測到位錯誤,發送錯誤標志,當錯誤標志的6個連續顯性位發送完畢之后,總線上出現填充錯誤,引起其他節點發送錯誤標志,從而使錯誤標志達到12個位。

f59e3cf4-d2e4-11ef-9434-92fbcf53809c.png

圖12 錯誤標志不重疊

f5af5200-d2e4-11ef-9434-92fbcf53809c.png

總結

CAN總線在幾十年的使用和發展下,被使用在幾乎每一臺車輛上,可以說是車輛行業不可或缺的存在,是現如今國際上應用最廣泛的現場總線之一。而錯誤幀是CAN總線用于錯誤報告的報文,豐富的錯誤幀類型有助于迅速排查定位總線故障,因此錯誤幀的理解和使用也是作為總線測試工程師的必修課,希望這篇簡介能夠幫助了解錯誤幀的相關內容。北匯信息是一家專注于汽車電子測試領域的企業,網絡測試有著豐富經驗,并可提供相關培訓、咨詢服務以及測試解決方案,幫助汽車制造商和零部件供應商確保其車載網絡的可靠性和安全性。如果需要具體的測試服務或了解更多信息,歡迎大家來聯系我們。

參考文獻:【1】《ISO11898-1 - 2015》,Road vehicles - Controller area network (CAN) - Part 1:Data link layer and physical signalling【2】《CAN入門書》瑞薩科技RCJ05B0027-0100【3】文中部分圖片來源于Vector

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2764

    瀏覽量

    464093
  • 車載通信
    +關注

    關注

    0

    文章

    47

    瀏覽量

    13451
  • Vector
    +關注

    關注

    3

    文章

    62

    瀏覽量

    8637
收藏 人收藏

    評論

    相關推薦

    淺談CAN FD總線協議格式

    假期更新了一文搞懂CAN總線協議格式,CAN FD總線協議怎能錯過?本篇博文將講解CAN FD
    發表于 10-14 12:49 ?3508次閱讀
    淺談<b class='flag-5'>CAN</b> FD總線<b class='flag-5'>協議</b><b class='flag-5'>幀</b>格式

    CAN總線錯誤基礎知識及排查分析技術

    錯誤CAN總線用于進行錯誤通知的報文,可以將任何一個節點發現的錯誤通知給其他節點,包括發送節
    發表于 02-24 09:27 ?1859次閱讀

    示波器破解CAN錯誤/BusOff的經驗分享

    MCU內置了CAN控制器用來將MCU的數據封裝為CAN格式,同時它也負責CAN的校驗和錯誤
    發表于 09-08 09:19 ?1586次閱讀

    一文讀懂CAN通訊錯誤

    CAN總線通信技術廣泛應用于多個行業,是每個總線設計工程師必學的一個通訊網絡。然而,對于CAN通信中的錯誤,許多人僅停留在表面了解,缺乏深入理解,這導致許多工程師在面對總線通信故障時
    的頭像 發表于 06-12 08:24 ?2837次閱讀
    一文讀懂<b class='flag-5'>CAN</b>通訊<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>

    CAN錯誤定義

    ] &0x40為真,表明恢復到錯誤激活狀態。CAN通信協議出錯  #define CAN_ERR_PROT  0x00000008U  當錯誤
    發表于 01-03 15:57

    一文解析CAN總線遠程錯誤

    本文主要介紹了CAN總線遠程錯誤,首先我們先來了解了解一下通訊時使用的類型有哪些,他們的作用又是什么,具體的跟隨小編一起來了解一下吧
    的頭像 發表于 05-07 11:30 ?2.7w次閱讀
    一文解析<b class='flag-5'>CAN</b>總線遠程<b class='flag-5'>幀</b>和<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>

    虹科干貨 | 帶你全面認識“CAN總線錯誤”(二)——CAN錯誤類型

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

    虹科干貨 | 帶你全面認識“CAN總線錯誤”(一)——CAN總線錯誤錯誤

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

    虹科干貨 | 帶你全面認識“CAN總線錯誤”(二)——CAN錯誤類型

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

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

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

    科普系列:CAN總線錯誤及排查方法簡介

    作者|蒹葭小編|吃不飽CAN有多種格式,錯誤作為CAN中獨特的一種,了解其作用,類型與產生
    的頭像 發表于 02-23 15:11 ?3226次閱讀
    科普系列:<b class='flag-5'>CAN</b>總線<b class='flag-5'>錯誤</b><b class='flag-5'>幀</b>及排查方法簡介

    CAN協議數據的介紹

    通過 CAN 總線傳輸數據是需要按照一定協議進行的,CAN 協議提供了 5種格式來傳輸數據:數
    的頭像 發表于 07-25 10:36 ?1.1w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>協議</b>數據<b class='flag-5'>幀</b>的介紹

    CAN和CANFD協議簡介(下)

    則規定了通訊邏輯。 2.2.1 的種類 通信是通過以下5種類型的進行的。 ? 數據 ? 遙控 ?
    的頭像 發表于 08-02 12:15 ?3199次閱讀
    <b class='flag-5'>CAN</b>和CANFD<b class='flag-5'>協議</b>簡介(下)

    如何用示波器排查CAN的各種錯誤呢?

    如何用示波器排查CAN的各種錯誤呢? 導言: 控制器局域網絡(Controller Area Network,CAN)是一種常用的現場總線通信協議
    的頭像 發表于 12-07 11:09 ?1252次閱讀

    CAN通信協議中有哪幾種類型?CAN通信中格式的作用

    CAN通信協議中有四種類型,分別是數據、遠程錯誤
    的頭像 發表于 01-30 09:18 ?5716次閱讀
    主站蜘蛛池模板: 精品午夜寂寞影院在线观看| 中文字幕在线视频观看| 国产在线精品视频免费观看| 97人人碰免费视频公开| 午夜神器18以下不能进免费| 暖暖视频在线高清播放| 极品少妇粉嫩小泬啪啪AV| 德国黄色录像| 97精品少妇偷拍AV| 伊人精品影院| 亚洲AV无码A片在线观看蜜桃| 情欲.美女高潮| 免费精品美女久久久久久久久久| 国语对白刺激真实精品| 国产成人在线视频免费观看| GOGOGO高清在线播放韩国| 真人美女精美小穴| 亚洲欧洲无码AV在线观看你懂的 | 护士WC女子撒尿| 国产AV国产精品国产三级在线L| 99九九99九九九视频精品| 在线观看免费视频播放视频| 亚洲嫩草AV永久无码精品无码| 少妇连续高潮抽搐痉挛昏厥| 翘臀后进美女白嫩屁股视频| 男人脱女人衣服吃奶视频| 美女被爽cao免费漫画| 久久久久久久久亚洲| 极品少妇高潮啪啪AV无码吴梦梦 | 国产精品18久久久久久白浆.| nu77亚洲综合日韩精品| 99国产精品久久| 777福彩社区| 2022国产麻豆剧传媒剧情| 中文字幕无码A片久久| 在线看片成人免费视频| 印度老妇女bbbxxx| 在线 无码 中文 强 乱| 中国jjzz| 97成人在线| 99re久久热免费视频|