CAN總線中節點ID相同會如何?
發布時間:2017-08-31 責任編輯:susan
【導讀】CAN-bus網絡中原則上不允許兩個節點具有相同的ID段,但如果兩個節點ID段相同會怎樣呢?實驗前,我們首先要對CAN報文的結構組成、仲裁原理有清晰的認識。

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

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

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

圖2.實驗平台搭建
三、實驗一“ID段相同但數據不同”
使用一個CAN卡發送ID為000H數據為01020304050607H的CAN幀,使用另一個CAN卡發送ID為000H數據為02020304050607H的CAN幀。CANScope監聽的數據如圖3所示,可以觀察到有大量的數據場填充錯誤。

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

圖4.報文對應波形對比
現在我們聚焦數據段,第一個字節數據相同,均為為00H;第二個字節數據不同,分別為01H、02H。圖5箭頭標示處可以看到兩者對應位的邏輯分別為0和1。前麵我們提到CAN節(jie)點(dian)在(zai)發(fa)送(song)報(bao)文(wen)的(de)同(tong)時(shi)會(hui)檢(jian)測(ce)總(zong)線(xian)電(dian)平(ping)是(shi)否(fou)與(yu)自(zi)己(ji)發(fa)送(song)的(de)電(dian)平(ping)一(yi)致(zhi),若(ruo)不(bu)一(yi)致(zhi)發(fa)生(sheng)在(zai)非(fei)仲(zhong)裁(cai)區(qu)域(yu)則(ze)觸(chu)發(fa)相(xiang)應(ying)錯(cuo)誤(wu),因(yin)此(ci)若(ruo)這(zhe)兩(liang)幀(zhen)報(bao)文(wen)同(tong)時(shi)發(fa)送(song)到(dao)總(zong)線(xian)上(shang)必(bi)將(jiang)發(fa)生(sheng)位(wei)發(fa)送(song)錯(cuo)誤(wu)。因(yin)為(wei)位(wei)發(fa)送(song)錯(cuo)誤(wu)會(hui)引(yin)起(qi)節(jie)點(dian)發(fa)送(song)違(wei)反(fan)填(tian)充(chong)規(gui)則(ze)的(de)6個顯性位(主動錯誤破壞該幀數據),故出現數據場填充錯誤,如圖3。

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

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

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

圖8.啟動總線應答
總結:當兩節點同時發送ID相同數據不同的報文時,將發生數據場填充錯誤;當兩節點同時發送ID相同數據也相同的報文時,若有其他節點應答則不發生錯誤,若無其他節點應答則發生應答錯誤。因此,我們在設計CAN總線時應避免ID段相同的情況出現。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻


