精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

【CAN總線知識】為什么CAN節點ID不能相同?

ZLG致遠電子 ? 2024-08-30 12:48 ? 次閱讀

CAN-bus網絡中原則上不允許兩個及以上節點具有相同的ID段,但如果兩個及以上節點ID相同會怎樣呢?資深強迫癥患者想一探究竟!


實驗前,我們首先要對CAN報文的結構組成、仲裁原理有清晰的認識。


24a157dc-668b-11ef-89ff-92fbcf53809c.jpg ?CAN報文結構

目前使用最廣泛的CAN-bus網絡標準是V2.0版本,該標準又分為A、B兩部分,它們主要的區別在仲裁區域的ID碼長度。其中CAN2.0A(標準幀)為11位ID,CAN2.0B(擴展幀)為29位ID。下表1為CAN報文結構:圖1CAN報文結構 24b85ca2-668b-11ef-89ff-92fbcf53809c.png

仲裁原理

CAN總線的仲裁是基于“線與原理”,如圖1所示。當收發器同時發出不同電平信號時,隱性電平總是被顯性電平覆蓋。CAN控制器在發送報文的同時會監聽總線狀態與自己發送的電平是否一致,如果不一致發生在ID段則會發生仲裁,如果發生在其他區域則會觸發相應錯誤。

24dec180-668b-11ef-89ff-92fbcf53809c.png

圖1 線“與”示意圖下面進入重點,如果兩個節點ID段相同會怎樣?我們用兩個CAN卡和一臺CANScope開始實驗,CAN卡模擬CAN標準節點收發報文,CANScope做通信監控,如圖2所示。(注:CAN卡為USB轉CAN工具,CANScope為CAN總線分析儀,產品詳見致遠電子官網zlg.cn

24fbc94c-668b-11ef-89ff-92fbcf53809c.png

圖2 實驗平臺搭建


24a157dc-668b-11ef-89ff-92fbcf53809c.jpg ?實驗一:ID段相同但數據不同

使用一個CAN卡發送ID為000H數據為01020304050607H的CAN幀,使用另一個CAN卡發送ID為000H數據為02020304050607H的CAN幀。CANScope監聽的數據如圖3所示,可以觀察到有大量的數據場填充錯誤。

25264c1c-668b-11ef-89ff-92fbcf53809c.png

圖3 數據場填充錯誤為什么會這樣呢?我們首先分別獲取兩個CAN卡發送報文對應的波形,如圖4。因為兩幀報文同為標準數據幀,且每幀包含8個字節數據,所以兩幀報文對應的波形在ID段、RTR、IDE、R0以及DLC段完全一致。因此,仲裁作用失效,兩節點都認為自己獲得了優先權,繼續發送數據。

2541febc-668b-11ef-89ff-92fbcf53809c.png

圖4 報文對應波形對比現在我們聚焦數據段,第一個字節數據相同,均為為00H;第二個字節數據不同,分別為01H、02H。圖5箭頭標示處可以看到兩者對應位的邏輯分別為0和1。前面我們提到CAN節點在發送報文的同時會檢測總線電平是否與自己發送的電平一致,若不一致發生在非仲裁區域則觸發相應錯誤,因此若這兩幀報文同時發送到總線上必將發生位發送錯誤。因為位發送錯誤會引起節點發送違反填充規則的6個顯性位(主動錯誤破壞該幀數據),故出現數據場填充錯誤,如圖3。

2569bee8-668b-11ef-89ff-92fbcf53809c.png

圖5 數據場沖突
24a157dc-668b-11ef-89ff-92fbcf53809c.jpg ?實驗二:ID相同數據也相同同時使用兩個CAN卡發送ID為000H數據為01020304050607H的CAN幀,CANScope做通信監控。首先,我們不勾選“總線應答”選項,使CANScope工作在僅監聽模式。實驗結果如圖6所示,出現的是應答定界符格式錯誤。

258c6100-668b-11ef-89ff-92fbcf53809c.png

圖6 應答界定符格式錯誤為什么會發生這種錯誤呢?發送報文的節點會在ACK段發送兩個隱性位,若在第一個位期間接收到顯性電平則認為該幀被正確接收。由于仲裁段相同時兩節點都認為自己取得仲裁權,在ACK段等待應答,但該網絡中僅存在兩個節點,因此在ACK段不能收到應答,進而發生應答定界符錯誤。簡單說來這種情形就類似于總線中只有一個節點將不能實現數據發送。圖7是在ACK段有無應答時的波形對比。

25ad9406-668b-11ef-89ff-92fbcf53809c.png

圖7 ACK應答我們勾選上總線應答,再次開始實驗(此時總線中相當于有3個節點)。這時如圖8所示,總線數據收發正常。

25ccd6a4-668b-11ef-89ff-92fbcf53809c.png

圖8 啟動總線應答

24a157dc-668b-11ef-89ff-92fbcf53809c.jpg ?總結

當兩節點同時發送ID相同數據不同的報文時,將發生數據場填充錯誤;當兩節點同時發送ID相同數據也相同的報文時,若有其他節點應答則不發生錯誤,若無其他節點應答則發生應答錯誤。因此,我們在設計CAN總線時應避免ID段相同的情況出現。

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

    關注

    10

    文章

    3393

    瀏覽量

    105863
  • CAN總線
    +關注

    關注

    145

    文章

    1936

    瀏覽量

    130629
  • 網絡
    +關注

    關注

    14

    文章

    7516

    瀏覽量

    88627
收藏 人收藏

    評論

    相關推薦

    CAN總線節點ID相同會怎樣?

    CAN-bus網絡中原則上不允許兩個節點具有相同ID段,但如果兩個節點ID
    發表于 08-31 15:38 ?2764次閱讀

    CAN-bus網絡中,出現具有相同ID段的兩個節點會發生什么?

    CAN-bus網絡中原則上不允許兩個節點具有相同ID段,但如果兩個節點ID
    的頭像 發表于 09-14 14:03 ?1.1w次閱讀
    <b class='flag-5'>CAN</b>-bus網絡中,出現具有<b class='flag-5'>相同</b><b class='flag-5'>ID</b>段的兩個<b class='flag-5'>節點</b>會發生什么?

    基于CAN總線的煤礦瓦斯報警節點系統的設計

    文章介紹了一種基于CAN 總線的煤礦瓦斯報警節點系統的設計,給出了基于CAN 總線的智能監控節點
    發表于 03-30 16:40 ?47次下載

    CAN總線節點電路的設計與實現

    CAN 總線作為一種現場總線,應用極為普及。本文給出了一種基于AT89C51 和SJA1000 的CAN 總線
    發表于 05-25 13:26 ?60次下載

    基于CAN總線智能節點設計

    CAN總線是一種應用極為普及的現場總線。文中提出了一種CAN總線通信接口的設計方案。CAN
    發表于 01-25 15:04 ?52次下載

    CAN總線系統智能節點設計

    摘要:CAN總線上的節點是網絡上的信息接收和發送站;智能節點能通過編程設置工作方式、ID、地址、波特率等參數。它主要由單片機和可編程的
    發表于 12-20 22:18 ?45次下載

    基于CAN總線的智能節點設計

    應用51單片機為控制核心結合其他的器件設計了一種能連接于CAN總線上的智能節點。通過單片機控制CAN總線控制器SJA1000,并進一步通過
    發表于 01-10 16:54 ?120次下載

    CAN總線節點ID相同會出現什么

    CAN-bus網絡中原則上不允許兩個節點具有相同ID段,但如果兩個節點ID
    發表于 11-12 10:52 ?8次下載
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>中<b class='flag-5'>節點</b><b class='flag-5'>ID</b><b class='flag-5'>相同</b>會出現什么

    can總線id如何定義設置?

    can總線ID是指標識符。也就是一個can節點的地址或者說名字。網絡中識別某一節點的信息。
    發表于 11-27 10:30 ?10.4w次閱讀

    CAN總線節點軟件的設計與實現

    CAN總線節點軟件的設計與實現說明。
    發表于 04-19 16:59 ?20次下載

    關于CAN總線錯誤的相關知識

    在本系列文章中,我們將為您詳細介紹CAN總線錯誤的相關知識,包括CAN總線錯誤的基礎概念、CAN
    的頭像 發表于 05-27 17:56 ?3057次閱讀

    CAN總線錯誤的類型介紹

    在本系列文章中,我們將為您詳細介紹CAN總線錯誤的相關知識,包括CAN總線錯誤的基礎概念、CAN
    的頭像 發表于 06-13 16:08 ?8148次閱讀

    CAN總線基礎知識

    CAN總線是一種常用的總線,對于剛開始接觸CAN總線的,面對著各式各樣的資料,可能不知道從何看起,今天科普一下
    的頭像 發表于 02-09 15:43 ?3816次閱讀

    基于FPGA的CAN總線通信節點設計

    點擊上方 藍字 關注我們 摘要:以FPGA 代替傳統的單片機和外圍擴展芯片, 給出了CAN 總線通信節點的詳細設計方案。其中以SJA1000為CAN
    的頭像 發表于 06-18 11:15 ?2855次閱讀

    基于CAN總線的智能節點設計

    電子發燒友網站提供《基于CAN總線的智能節點設計.pdf》資料免費下載
    發表于 10-20 14:44 ?4次下載
    基于<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的智能<b class='flag-5'>節點</b>設計