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

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

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

淺淡CAN總線,CAN總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-03-22 11:13 ? 次閱讀

在前2天的推送中我們介紹了I2C、SPI 總線,但它們多用于傳輸距離短、協(xié)議簡單、數(shù)據(jù)量小、主要面向 IC集成電路)間通信的“輕量級”場合。而 CAN 總線則不同,CAN 總線定義了更為優(yōu)秀的物理層、數(shù)據(jù)鏈路層,并且擁有種類豐富、簡繁不一的上層協(xié)議。

什么是CAN 總線

CAN 是“Controller Area Network”的縮寫,即“控制器局域網(wǎng)”,是一個 ISO 標(biāo)準(zhǔn)的串行通信協(xié)議。CAN 總線由德國 BOSCH 公司研發(fā)設(shè)計,用于應(yīng)對汽車上日益龐大的電子控制系統(tǒng)的需求,其最大的特點是可拓展性好,可承受大量數(shù)據(jù)的高速通信,并且高度穩(wěn)定可到。ISO 組織通過 ISO11898 和 ISO11519 對 CAN 總線進行了標(biāo)準(zhǔn)化,使其早早確立了歐洲汽車總線標(biāo)準(zhǔn)的地位。時至今日,CAN 總線已經(jīng)獲得業(yè)界的高度認(rèn)可,其應(yīng)用也從汽車電子領(lǐng)域延伸至工業(yè)自動化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等領(lǐng)域。

CAN 總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

CAN 總線的物理連接只需要兩根線,常稱為CAN_H和CAN_L,通過差分信號進行數(shù)據(jù)的傳輸。CAN 總線有兩種電平,分別為隱性電平和顯性電平,這兩種電平有著類似漏極 I/O 電平信號之間“與”的關(guān)系:

·若隱性電平相遇,則總線表現(xiàn)為隱性電平;

·若顯性電平相遇,則總線表現(xiàn)為顯性電平;

·若隱性電平和顯性電平相遇,則總線表現(xiàn)為顯性電平。

一個典型的 CAN 總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示,注意兩端的終端電阻是必需的。

圖1. CAN 總線網(wǎng)絡(luò)拓?fù)?/p>

CAN 總線的幾種數(shù)據(jù)幀

CAN 總線協(xié)議規(guī)定了5種幀,分別是數(shù)據(jù)幀、遙控幀、錯誤幀、過載幀以及幀間隔,實踐中數(shù)據(jù)幀的應(yīng)用最為頻繁。各種幀的用途如表1所示。

表1. CAN 總線數(shù)據(jù)幀的種類及用途

CAN 總線的特點

CAN 總線網(wǎng)絡(luò)是一種真正的多主機網(wǎng)絡(luò),在總線處于空閑狀態(tài)時,任何一個節(jié)點單元都可以申請成為主機,向總線發(fā)送消息。其原則是:最先訪問總線的節(jié)點單元可以獲得總線的控制權(quán);多個節(jié)點單元同時嘗試獲取總線的控制權(quán)時,將發(fā)生仲裁事件,具有高優(yōu)先級的節(jié)點單元將獲得總線控制權(quán)。

CAN 協(xié)議中,所有的消息都以固定的數(shù)據(jù)格式打包發(fā)送。兩個以上的節(jié)點單元同時發(fā)送信息時,根據(jù)節(jié)點標(biāo)識符(常稱為 ID,亦打包在固定的數(shù)據(jù)格式中)決定各自優(yōu)先級關(guān)系,所以 ID 并非表示數(shù)據(jù)發(fā)送的目的地址,而是代表著各個節(jié)點訪問總線的優(yōu)先級。如此看來,CAN 總線并無類似其他總線“地址”的概念,在總線上增加節(jié)點單元時,連接在總線的其他節(jié)點單元的軟硬件都不需要改變。

CAN 總線的通信速率和總線長度有關(guān),在總線長度小于 40m 的場合中,數(shù)據(jù)傳輸速率可以達(dá)到 1Mbps,而即便總線長度上升至 1000m,數(shù)據(jù)的傳輸速率仍可達(dá)到 50Kbps,無論在速率還是傳輸距離都明顯優(yōu)于常見的 RS232、RS485 和 I2C 總線。

對于總線錯誤,CAN 總線有錯誤檢測功能、錯誤通知功能、錯誤恢復(fù)功能三種應(yīng)對措施,分別應(yīng)對于下面三點表述:所有的單元節(jié)點都可以自動檢測總線上的錯誤;檢測出錯誤的節(jié)點單元會立刻將錯誤通知給其他節(jié)點單元;若正在發(fā)送消息的單元檢測到當(dāng)前總線發(fā)生錯誤,則立刻強制取消當(dāng)前發(fā)送,并不斷反復(fù)發(fā)送此消息至成功為止。

CAN 總線上的每個節(jié)點都可以通過判斷得出,當(dāng)前總線上的錯誤時暫時的錯誤(如瞬間的強干擾)還是持續(xù)的錯誤(如總線斷裂)。當(dāng)總線上發(fā)生持續(xù)錯誤時,引起故障的節(jié)點單元會自動脫離總線。

CAN 總線上的節(jié)點數(shù)量在理論上沒有上限,但在實際上收到總線上的時間延時及電氣負(fù)載的限制。降低最大通信速率,可以增加節(jié)點單元的連接數(shù);反之,減少節(jié)點單元的連接數(shù),則最大通信速率可以提高。

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

    關(guān)注

    57

    文章

    2760

    瀏覽量

    463993
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2892

    瀏覽量

    88210
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1490

    瀏覽量

    124080

原文標(biāo)題:淺淡CAN總線,相比I2C、SPI?,它有更為擁有種類豐富、簡繁不一的上層協(xié)議

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    未知多節(jié)點CAN總線網(wǎng)絡(luò),如何準(zhǔn)確識別?

    CAN網(wǎng)絡(luò)中,所有節(jié)點的數(shù)據(jù)收發(fā)共享一條總線。當(dāng)面對未知的多節(jié)點CAN總線網(wǎng)絡(luò)時,如何準(zhǔn)確分析各節(jié)點間的通信協(xié)議呢?
    的頭像 發(fā)表于 02-27 09:29 ?1.6w次閱讀
    未知多節(jié)點<b class='flag-5'>CAN</b><b class='flag-5'>總線網(wǎng)絡(luò)</b>,如何準(zhǔn)確識別?

    汽車電子與汽車CAN總線網(wǎng)絡(luò)實驗開發(fā)系統(tǒng)

    汽車電子與汽車CAN總線網(wǎng)絡(luò)實驗開發(fā)系統(tǒng),如何掌握ECU開發(fā)、CAN網(wǎng)絡(luò)設(shè)計、CAN總線仿真工具
    發(fā)表于 06-23 14:05

    CAN總線的應(yīng)用

    產(chǎn)品的開發(fā),CAN總線的穩(wěn)定性是毋庸置疑的。CAN總線物理結(jié)構(gòu)與特性CAN
    發(fā)表于 07-27 06:18

    CAN總線物理結(jié)構(gòu)與特性

    產(chǎn)品的開發(fā),CAN總線的穩(wěn)定性是毋庸置疑的。CAN總線物理結(jié)構(gòu)與特性CAN
    發(fā)表于 07-27 07:40

    基于ADG663的CAN總線網(wǎng)絡(luò)擴展方案設(shè)計

    由于受CAN收發(fā)器的限制,在一個CAN總線網(wǎng)絡(luò)中最多只能有110個CAN節(jié)點,或達(dá)到10km的通信距離,所以當(dāng)所需CAN
    發(fā)表于 11-26 16:16 ?12次下載

    例舉CAN總線網(wǎng)絡(luò)應(yīng)用

    本文要對CAN總線網(wǎng)絡(luò)應(yīng)用例舉及其拓寬的現(xiàn)場總線控制系統(tǒng)(FCS)作其說明
    發(fā)表于 06-22 18:17 ?1822次閱讀
    例舉<b class='flag-5'>CAN</b><b class='flag-5'>總線網(wǎng)絡(luò)</b>應(yīng)用

    CAN總線網(wǎng)絡(luò)拓?fù)?/b>結(jié)構(gòu)

    對于一般的CAN總線網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)圖可以化簡圖、CAN總線網(wǎng)絡(luò)拓?fù)?/b>
    發(fā)表于 05-03 16:42 ?48次下載

    高鐵中的CAN總線網(wǎng)絡(luò)轉(zhuǎn)換-CPCI接口CAN

    CAN總線因為它的傳輸速率快,不容易出錯等等特點被廣泛的應(yīng)用在高精度行業(yè),作為鐵軌上的最強者,高鐵也存在CAN總線網(wǎng)絡(luò),用來傳輸高鐵上的空調(diào)、開關(guān)門、顯示燈等等信號,我們高鐵的每一節(jié)車
    發(fā)表于 12-29 10:12 ?2774次閱讀

    can總線結(jié)構(gòu)

    CAN總線用戶接口簡單,編程方便。網(wǎng)絡(luò)拓?fù)?/b>結(jié)構(gòu)采用總線結(jié)構(gòu)
    的頭像 發(fā)表于 11-28 17:16 ?1.8w次閱讀
    <b class='flag-5'>can</b><b class='flag-5'>總線結(jié)構(gòu)</b>

    測量CAN總線網(wǎng)絡(luò)阻抗的原理及方法

    CAN應(yīng)用中,有時會出現(xiàn)我們料想不到的問題,此時,為了準(zhǔn)確的排查問題,我們需要通過測量CAN總線網(wǎng)絡(luò)阻抗來確定是否滿足CAN規(guī)范。本文將闡述測量C
    的頭像 發(fā)表于 02-19 14:27 ?1w次閱讀
    測量<b class='flag-5'>CAN</b><b class='flag-5'>總線網(wǎng)絡(luò)</b>阻抗的原理及方法

    CAN總線網(wǎng)關(guān)的設(shè)計與實現(xiàn)

    為了解決車載總線網(wǎng)絡(luò)間的通信問題, 基于 CAN ( Contro ller Area Netw ork) 網(wǎng)絡(luò), 設(shè)計并實現(xiàn)了一個CAN 網(wǎng)關(guān)的基本原型。結(jié)合
    發(fā)表于 04-19 17:18 ?53次下載

    CAN總線網(wǎng)絡(luò)拓?fù)?/b>結(jié)構(gòu)設(shè)計

    一般情況下,通訊網(wǎng)絡(luò)拓?fù)?/b>結(jié)構(gòu)種類多,支線復(fù)雜繁瑣,而總線往往檢測矯正能力較強,實施信號好,可靠性有保證,能夠有效地判斷錯誤節(jié)點和自動校正簡單錯誤,所以將通信
    的頭像 發(fā)表于 08-31 15:27 ?3400次閱讀

    一種車用CAN總線網(wǎng)絡(luò)測試系統(tǒng)的研究

    電子發(fā)燒友網(wǎng)站提供《一種車用CAN總線網(wǎng)絡(luò)測試系統(tǒng)的研究.pdf》資料免費下載
    發(fā)表于 10-13 11:35 ?0次下載
    一種車用<b class='flag-5'>CAN</b><b class='flag-5'>總線網(wǎng)絡(luò)</b>測試系統(tǒng)的研究

    使用者最關(guān)心光纖can總線網(wǎng)關(guān)的哪些方面?

    使用者在選擇和關(guān)注光纖CAN總線網(wǎng)關(guān)時,通常關(guān)心以下方面: (1)兼容性:使用者關(guān)心光纖CAN總線網(wǎng)關(guān)是否兼容他們所使用的CAN
    的頭像 發(fā)表于 12-07 10:45 ?399次閱讀
    使用者最關(guān)心光纖<b class='flag-5'>can</b><b class='flag-5'>總線網(wǎng)</b>關(guān)的哪些方面?

    如何搭建CAN總線網(wǎng)絡(luò) CAN總線故障診斷方法

    搭建CAN總線網(wǎng)絡(luò) CAN(Controller Area Network)總線是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子和工業(yè)自動化領(lǐng)域。搭建
    的頭像 發(fā)表于 11-21 10:18 ?444次閱讀