一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

CAN-bus網(wǎng)絡(luò)中,出現(xiàn)具有相同ID段的兩個節(jié)點會發(fā)生什么?

AGk5_ZLG_zhiyua ? 來源:未知 ? 作者:佚名 ? 2017-09-14 14:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

CAN報文結(jié)構(gòu)

目前使用最廣泛的CAN-bus網(wǎng)絡(luò)標(biāo)準(zhǔn)是V2.0版本,該標(biāo)準(zhǔn)又分為A、B兩部分,它們主要的區(qū)別在仲裁區(qū)域的ID碼長度。其中CAN2.0A(標(biāo)準(zhǔn)幀)為11位ID,CAN2.0B(擴展幀)為29位ID。下表1為CAN報文結(jié)構(gòu):

表1 CAN報文結(jié)構(gòu)

仲裁原理

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

圖1 線“與”示意圖

下面進入重點,如果兩個節(jié)點ID段相同會怎樣?我們用兩個CAN卡 和一臺CANScope開始實驗,CAN卡模擬CAN標(biāo)準(zhǔn)節(jié)點收發(fā)報文,CANScope做通信監(jiān)控,如圖2所示。(注:CAN卡為USB轉(zhuǎn)CAN工具,CANScope為CAN總線分析儀,產(chǎn)品詳見致遠電子官網(wǎng))

圖2 實驗平臺搭建

實驗一:ID段相同但數(shù)據(jù)不同

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

圖3 數(shù)據(jù)場填充錯誤

為什么會這樣呢?我們首先分別獲取兩個CAN卡發(fā)送報文對應(yīng)的波形,如圖4。因為兩針報文同為標(biāo)準(zhǔn)數(shù)據(jù)幀,且每幀包含8個字節(jié)數(shù)據(jù),所以兩幀報文對應(yīng)的波形在ID段、RTR、IDE、R0以及DLC段完全一致。因此,仲裁作用失效,兩節(jié)點都認為自己獲得了優(yōu)先權(quán),繼續(xù)發(fā)送數(shù)據(jù)。

圖4 報文對應(yīng)波形對比

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

圖5 數(shù)據(jù)場沖突

實驗二:ID相同數(shù)據(jù)也相同

同時使用兩個CAN卡發(fā)送ID為000H數(shù)據(jù)為01020304050607H的CAN幀,CANScope做通信監(jiān)控。首先,我們不勾選“總線應(yīng)答”選項,使CANScope工作在僅監(jiān)聽模式。實驗結(jié)果如圖6所示,出現(xiàn)的是應(yīng)答定界符格式錯誤。

圖6 應(yīng)答界定符格式錯誤

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

圖7 ACK應(yīng)答

我們勾選上總線應(yīng)答,再次開始實驗(此時總線中相當(dāng)于有3個節(jié)點)。這時如圖8所示,總線數(shù)據(jù)收發(fā)正常。

圖8 啟動總線應(yīng)答

總結(jié)

當(dāng)兩節(jié)點同時發(fā)送ID相同數(shù)據(jù)不同的報文時,將發(fā)生數(shù)據(jù)場填充錯誤;當(dāng)兩節(jié)點同時發(fā)送ID相同數(shù)據(jù)也相同的報文時,若有其他節(jié)點應(yīng)答則不發(fā)生錯誤,若無其他節(jié)點應(yīng)答則發(fā)生應(yīng)答錯誤。因此,我們在設(shè)計CAN總線時應(yīng)避免ID段相同的情況出現(xiàn)。

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

    關(guān)注

    0

    文章

    222

    瀏覽量

    24964
  • CAN-BUS
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    16854

原文標(biāo)題:為什么CAN節(jié)點ID不能相同?

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    合理的CAN-bus總線設(shè)計 保證通訊的可靠性和節(jié)點數(shù)

    CAN-bus電路設(shè)計,理論上收發(fā)器支持節(jié)點數(shù)最多可做到110,但實際應(yīng)用往往達不到這個數(shù)量。這里我們談?wù)勅绾瓮ㄟ^合理的
    發(fā)表于 08-17 11:34 ?2460次閱讀
    合理的<b class='flag-5'>CAN-bus</b>總線設(shè)計 保證通訊的可靠性和<b class='flag-5'>節(jié)點</b>數(shù)

    CAN總線節(jié)點ID相同會怎樣?

    CAN-bus網(wǎng)絡(luò)中原則上不允許兩個節(jié)點具有相同ID
    發(fā)表于 08-31 15:38 ?2971次閱讀

    CAN-bus應(yīng)用方案

    作為一種技術(shù)先進、可靠性高、功能完善、成本合理的遠程網(wǎng)絡(luò)通訊控制方式,CAN-bus已被廣泛應(yīng)用到各個自動化控制系統(tǒng)。例如,在汽車電子、自動控制、智能大廈、電力系統(tǒng)、安防監(jiān)控等各領(lǐng)域CAN-
    發(fā)表于 03-09 12:43

    CAN-bus應(yīng)用解決方案

    CAN-bus應(yīng)用解決方案:作為一種技術(shù)先進、可靠性高、功能完善、成本合理的遠程網(wǎng)絡(luò)通訊控制方式,CAN-bus已被廣泛應(yīng)用到各個自動化控制系統(tǒng)。例如,在汽車電子、自動控制、智
    發(fā)表于 09-25 15:33 ?18次下載

    CAN-bus應(yīng)用方案(1)

    CAN-bus應(yīng)用方案(1) 概述作為一種技術(shù)先進、可靠性高、功能完善、成本合理的遠程網(wǎng)絡(luò)通訊控制方式,CAN-bus已被廣泛應(yīng)用到各個自動化控制系統(tǒng)。例如,在汽車電子
    發(fā)表于 03-22 15:35 ?23次下載

    CAN-bus 網(wǎng)絡(luò)的虛擬串口 (VCOM)

    CAN-bus 網(wǎng)絡(luò)的虛擬串口 (VCOM) 基于CAN-bus 網(wǎng)絡(luò)的虛擬串口在工業(yè)串行通訊領(lǐng)域中,RS-232 與RS-485 都是
    發(fā)表于 03-27 13:40 ?43次下載

    CAN-bus接口控制實驗

    CAN-bus 接口控制實驗 一.實驗?zāi)康耐ㄟ^調(diào)用CAN 程序庫SJA1000_PELI.LIB 的基本函數(shù),實現(xiàn)實驗板上CAN 節(jié)點的初始化以及
    發(fā)表于 09-26 16:03 ?2214次閱讀
    <b class='flag-5'>CAN-bus</b>接口控制實驗

    CAN-BUS,CAN-BUS是什么意思

    CAN-BUS,CAN-BUS是什么意思 CAN-BUS  1,CAN-BUS的起源  控制器局域網(wǎng)(controllerareanetwork 簡稱
    發(fā)表于 03-11 15:31 ?1.8w次閱讀

    CAN-bus器件是什么意思

    CAN-bus器件是什么意思 概述  
    發(fā)表于 03-18 17:07 ?3502次閱讀
    <b class='flag-5'>CAN-bus</b>器件是什么意思

    CAN-BUS,CAN-BUS原理是什么?

    CAN-BUS,CAN-BUS原理是什么?  1,CAN-BUS的起源  控制器局域網(wǎng)(controllerareanetwork 簡稱CAN)最初是德國Bosch公司于1983年為汽
    發(fā)表于 03-22 15:51 ?2824次閱讀

    如何保證CAN網(wǎng)絡(luò)通訊的可靠性和節(jié)點數(shù)

    CAN-bus電路設(shè)計,理論上收發(fā)器支持節(jié)點數(shù)最多可做到110,但實際應(yīng)用往往達不到這個數(shù)量。這里我們談?wù)勅绾瓮ㄟ^合理的
    發(fā)表于 08-09 15:37 ?1950次閱讀

    CAN總線節(jié)點ID相同出現(xiàn)什么

    CAN-bus網(wǎng)絡(luò)中原則上不允許兩個節(jié)點具有相同ID
    發(fā)表于 11-12 10:52 ?8次下載
    <b class='flag-5'>CAN</b>總線<b class='flag-5'>中</b><b class='flag-5'>節(jié)點</b><b class='flag-5'>ID</b><b class='flag-5'>相同</b>會<b class='flag-5'>出現(xiàn)</b>什么

    CAN-bus總線技術(shù)在工程機車控制網(wǎng)絡(luò)的應(yīng)用研究

    本文主要介紹CAN-bus 總線技術(shù)在工程機械的應(yīng)用。重點以工程起重機為例,介紹如何將 iCAN系列功能模塊 、ZLG系列、CAN-bus接口卡、組建成一可靠控制、易于開發(fā)的
    的頭像 發(fā)表于 03-27 08:07 ?2504次閱讀
    <b class='flag-5'>CAN-bus</b>總線技術(shù)在工程機車控制<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>中</b>的應(yīng)用研究

    CAN-bus應(yīng)用筆記:節(jié)點

    CAN-bus電路設(shè)計,理論上收發(fā)器支持節(jié)點數(shù)最多可做到110,但實際應(yīng)用往往達不到這個數(shù)量。今天我們就來談?wù)勅绾瓮ㄟ^合理的
    的頭像 發(fā)表于 05-12 08:24 ?925次閱讀
    <b class='flag-5'>CAN-bus</b>應(yīng)用筆記:<b class='flag-5'>節(jié)點</b>篇

    CAN總線知識】為什么CAN節(jié)點ID不能相同?

    CAN-bus網(wǎng)絡(luò)中原則上不允許兩個及以上節(jié)點具有相同ID
    的頭像 發(fā)表于 08-30 12:48 ?1970次閱讀
    【<b class='flag-5'>CAN</b>總線知識】為什么<b class='flag-5'>CAN</b><b class='flag-5'>節(jié)點</b><b class='flag-5'>ID</b>不能<b class='flag-5'>相同</b>?