《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 業(yè)界動態(tài) > CAN總線中節(jié)點ID相同會怎樣

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

2017-08-30
來源:ZLG致遠電子
關(guān)鍵詞: CAN-bus ID碼 控制器 致遠電子

  CAN-bus網(wǎng)絡(luò)中原則上不允許兩個節(jié)點具有相同的ID段,但如果兩個節(jié)點ID段相同會怎樣呢?

1.png

  實驗前,我們首先要對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):

2.png

  表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)錯誤。

3.png

  圖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)品詳見ZLG致遠電子官網(wǎng))

4.png

  圖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ù)場填充錯誤。

5.png

  圖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ù)。

6.png

  圖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。

7.png

  圖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)答定界符格式錯誤。

8.png

  圖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)答時的波形對比。

9.png

  圖7  ACK應(yīng)答

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

proxy.png

  圖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)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 91极品反差婊在线观看| 中文字幕一区二区三区久久网站| 欧美视频一区二区三区在线观看| 初尝人妻少妇中文字幕| 青青青国产手机在线播放| 国产福利一区二区精品秒拍| 91久久香蕉国产线看观看软件| 女人双腿搬开让男人桶| 中国一级毛片在线观看| 日本暖暖视频在线播放| 五月婷婷六月爱| 欧美人与物videos另| 亚洲男女一区二区三区| 男人女人边摸边吃奶边做| 又黄又刺激视频| 色八a级在线观看| 国产免费av片在线播放| 91精品国产人成网站| 国产精品久久久亚洲| 69国产成人精品午夜福中文| 在线综合 亚洲 欧美中文字幕| www.夜夜操.com| 好硬好大好爽18漫画| 一进一出抽搐呻吟| 成人妇女免费播放久久久| 中文字幕精品无码一区二区三区| 日本爽爽爽爽爽爽在线观看免| 久久精品夜色国产亚洲av| 最近中文字幕资源8| 亚洲乱码一区二区三区在线观看 | 日本边添边摸边做边爱喷水| 二区久久国产乱子伦免费精品| 欧美videosgratis蛇交| 亚洲中文字幕日产乱码高清app| 欧美性猛交xxxx乱大交高清| 亚洲欧洲精品成人久久曰| 欧美精品高清在线观看| 亚洲欧美精品一区二区| 欧美黑人巨大videos精品| 亚洲第一网站男人都懂| 毛片免费观看的视频在线|