<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          電子通信協(xié)議之CAN總線協(xié)議篇

          共 1698字,需瀏覽 4分鐘

           ·

          2022-04-11 12:44

          ????關(guān)注、星標(biāo)公眾號,直達精彩內(nèi)容

          來源: 網(wǎng)路素材


          CAN總線在硬件系統(tǒng)中占有一席之地,是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,與我們收藏過的SPI、UART不同,屬于“高端高效”系列。

          嵌入式的工程師一般都知道CAN總線廣泛應(yīng)用到汽車中,其實船艦電子設(shè)備通信也廣泛使用CAN,像機器人、工業(yè)、自動控制系統(tǒng)中,也都有廣泛的應(yīng)用。隨著國家對海防的越來越重視,對CAN的需求也會越來越大。


          概述


          CAN(Controller Area Network)即控制器局域網(wǎng),是一種能夠?qū)崿F(xiàn)分布式實時控制的串行通信網(wǎng)絡(luò)。

          想到CAN就要想到德國的?Bosch公司,因為CAN就是這個公司和Intel于80年代末開發(fā)的。??

          CAN有很多優(yōu)秀的特點,使得它能夠被廣泛的應(yīng)用。比如:傳輸速度最高到1Mbps,通信距離最遠到10km,無損位仲裁機制,多主結(jié)構(gòu)。??

          近些年來,CAN控制器價格越來越低,很多MCU也集成了CAN控制器?,F(xiàn)在每一輛汽車上都裝有CAN總線。

          一個典型的CAN應(yīng)用場景:

          圖1. 一個典型的CAN應(yīng)用場景

          CAN總線標(biāo)準(zhǔn)


          CAN總線標(biāo)準(zhǔn)?只規(guī)定了物理層和數(shù)據(jù)鏈路層,需要用戶自定義應(yīng)用層。不同的CAN標(biāo)準(zhǔn)僅物理層不同。

          圖2. CAN總線標(biāo)準(zhǔn)

          CAN收發(fā)器負責(zé)邏輯電平和物理信號之間的轉(zhuǎn)換,如圖3所示:

          圖3. CAN收發(fā)器的邏輯電平和物理信號轉(zhuǎn)換??

          將邏輯信號轉(zhuǎn)換成物理信號(差分電平),或者將物理信號轉(zhuǎn)換成邏輯電平。??
          即從CAN控制芯片輸出邏輯電平到CAN收發(fā)器,然后經(jīng)過CAN收發(fā)器內(nèi)部轉(zhuǎn)換將邏輯電平轉(zhuǎn)換為差分信號輸出到CAN總線上,CAN總線上的節(jié)點都可以決定自己是否需要總線上的數(shù)據(jù)。具體的管腳定義如下表1所示:?
          表1. 管腳定義

          CAN標(biāo)準(zhǔn)有兩個,即?IOS11898(圖4-1)和?IOS11519(圖4-2),兩者差分電平特性不同。圖5展示了兩個CAN標(biāo)準(zhǔn)的比對。

          圖4-1. ISO11898高速CAN電平??
          (高低電平幅度低,對應(yīng)的傳輸速度快)

          圖4-2. ISO11519-2低速CAN電平

          圖5. CAN標(biāo)準(zhǔn)比對

          *雙絞線共模消除干擾,是因為電平同時變化,電壓差不變。

          物理層
          CAN有三種接口器件,如下圖6所示:

          圖6. CAN的三種接口器件

          圖7. 通過切換開關(guān)狀態(tài)輸出高低電平??

          多個節(jié)點連接,只要有一個為低電平,總線就為低電平,只有所有節(jié)點輸出高電平時,才為高電平。所謂"線與"??赏ㄟ^切換開關(guān)狀態(tài)輸出高低電平,如圖7所示。??

          CAN總線有5個連續(xù)相同位后,就插入一個相反位,產(chǎn)生跳變沿,用于同步。從而消除累積誤差。??

          和485、232一樣, CAN的傳輸速度與距離成反比,如圖8所示。

          圖8. CAN的傳輸速度與距離成反比??

          CAN總線的 終端電阻的接法如下圖9所示:

          圖9. 低速/高速?CAN-bus終端電阻接法

          增加終端電阻的目的是為了增強CAN通訊的可靠性,消除CAN總線終端信號反射干擾。

          (注: 一般如果CAN總線使用的是在雙絞線上運行,這時我們會增加120Ω的電阻。?為什么是120Ω,因為電纜的特性阻抗為120Ω,為了模擬無限遠的傳輸線。)



          數(shù)據(jù)鏈路層

          CAN總線傳輸?shù)氖荂AN幀,CAN的通信幀分成五種,分別為?數(shù)據(jù)幀、?遠程幀、?錯誤幀、?過載幀和?幀間隔。

          數(shù)據(jù)幀用來節(jié)點之間收發(fā)數(shù)據(jù),是使用最多的幀類型;?、

          遠程幀用來接收節(jié)點向發(fā)送節(jié)點接收數(shù)據(jù);?

          錯誤幀是某節(jié)點發(fā)現(xiàn)幀錯誤時用來向其他節(jié)點通知的幀;?

          過載幀是接收節(jié)點用來向發(fā)送節(jié)點告知自身接收能力的幀;?

          幀間隔是用于將數(shù)據(jù)幀、遠程幀與前面幀隔離的幀。

          CAN的報文格式

          在總線中傳送的報文,每幀由7部分組成。CAN協(xié)議支持兩種報文格式,其唯一的不同是?標(biāo)識符(ID)長度不同,?標(biāo)準(zhǔn)格式為11位,擴展格式為29位。

          ???????????????? ?END ????????????????

          關(guān)注我的微信公眾號,回復(fù)“加群”按規(guī)則加入技術(shù)交流群。

          點擊下面圖片,有星球具體介紹,新用戶有新人優(yōu)惠券,老用戶半價優(yōu)惠,期待大家一起學(xué)習(xí)一起進步。


          點擊“閱讀原文”查看更多分享,歡迎點分享、收藏、點贊、在看。

          瀏覽 157
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲色诱 | 日韩另类色图 | 亚洲福利 | 阿∨在线播放 | 艹逼胖子网站免费视频 |