<th id="ik4gr"><pre id="ik4gr"></pre></th>
<rp id="ik4gr"></rp>
    <dd id="ik4gr"></dd>

  1. <rp id="ik4gr"><object id="ik4gr"><blockquote id="ik4gr"></blockquote></object></rp>
      <rp id="ik4gr"></rp>
        <button id="ik4gr"><acronym id="ik4gr"></acronym></button>
      1. <rp id="ik4gr"><object id="ik4gr"><input id="ik4gr"></input></object></rp>
        1. 杭州嵌入式培訓
          達內杭州嵌入式培訓中心

          13175137725

          嵌入式開發:什么是CAN總線?

          • 時間:2019-06-17 15:12
          • 發布:轉載
          • 來源:網絡

          什么是CAN總線?

          CAN即是一種總線,也是一種協議。因此,我們常聽見CAN總線,也常聽見CAN協議。CAN協議和CANOpen協議是兩套不同的協議。從軟硬件層次來劃分,CAN協議屬于硬件協議,而CANOpen屬于軟件協議。

          CAN總線應用于汽車,實現電子控制器和傳感器之間的通信

          l 高可靠性、低成本的通信協議。

          l 最初由Robert Bosch于1986年開發。

          l 主要應用于汽車、卡車、拖拉機、工業機器人。

          想象一下,一輛汽車就像一個人:

          ? CAN總線是神經系統,使身體各部分之間的通信得以實現。

          ? ECU通過CAN總線連接,該總線相當于一個中央網絡系統。

          什么是ECU?

          l 在汽車CAN總線系統中,ECUs可以是發動機控制單元、安全氣囊或音頻系統。

          l 一輛現代汽車最多可以有70輛ECUs。

          一、CAN總線5大特性

          嵌入式CAN協議的五大特征

          l 低成本:ECUs通過單個CAN接口進行通信,布線成本低。

          l 高集成:CAN總線系統允許在所有ECUs上進行集中錯誤診斷和配置。

          l 可靠性:該系統對子系統的故障和電磁干擾具有很強的魯棒性,是汽車控制系統的理想選擇。

          l 高效率:可以通過id對消息進行優先級排序,以便最高優先級的id不被中斷。

          l 靈活性:每個ECU包含一個用于CAN總線收發芯片,隨意添加CAN總線節點。

          二、CAN總線發展史

          l 未出現前:汽車ECUs依靠越來越復雜的點對點布線。

          l 1986年:Bosch公司開發了CAN總線協議作為汽車電子解決方案,并在SAE大會上發布。

          l 1991年:Bosch公司發布了CAN2.0,包涵CAN 2.0A (11 位) 和CAN 2.0B (29 位)。

          l 1993年:CAN總線列入標準(ISO 11898)。

          l 2012年:Bosch公司發布了CAN FD 1.0

          l 今天:幾乎每一輛汽車都有CAN總線系統,它廣泛應用于卡車、公共汽車、工業車輛、船舶、飛機和工業自動化。

          三、CAN總線網絡

          CAN總線網絡

          CAN總線網絡主要掛在CAN_H和CAN_L,各個節點通過這兩條線實現信號的串行差分傳輸,為了避免信號的反射和干擾,還需要在CAN_H和CAN_L之間接上120歐姆的終端電阻,但是為什么是120歐姆呢?那是因為電纜的特性阻抗為120歐。

          四、CAN收發器

          CAN收發器的作用是負責邏輯電平和信號電平之間的轉換。

          CAN收發器

          即從CAN控制芯片輸出邏輯電平到CAN收發器,然后經過CAN收發器內部轉換將邏輯電平轉換為差分信號輸出到CAN總線上,CAN總線上的節點都可以決定自己是否需要總線上的數據。具體的管教定義如下:

          CAN收發器

          五、CAN信號表示

          CAN總線采用不歸零碼位填充技術,也就是說CAN總線上的信號有兩種不同的信號狀態,分別是顯性的(Dominant)邏輯0和隱形的(recessive)邏輯1,信號每一次傳輸完后不需要返回到邏輯0(顯性)的電平。

          CAN信號表示

          CAN收發器有TXD,RXD是與CAN控制器連接的。發送器接到網絡的是CL和CH。CL與CH是差分電路。CAN網絡上是用CL于CH的電壓差來表示邏輯“0”和邏輯“1”。所以CAN網絡中只能單向傳輸。

          六、CAN總線通信協議

          協議格式

          CAN總線通信協議之協議格式

          如何解析

          下面是使用CANLoggerX000的汽車的一個示例日志文件:

          # Logger type: CANLogger2000

          # HW rev: 6.xx

          # FW rev: 5.51

          # Logger ID: ID0001

          # Session No.: 9

          # Split No.: 3

          # Time: 20170508T064128

          # Value separator: ";"

          # Time format: 4

          # Time separator: ""

          # Time separator ms: ""

          # Date separator: ""

          # Time and date separator: "T"

          # Bit-rate: 500000

          # Silent mode: false

          # Cyclic mode: false

          Timestamp;Type;ID;Data

          08T064254150;0;34d;1003fafa000d00ff

          如果我們查看上面的原始CAN總線數據樣本,可能會注意到:

          原始的CAN總線數據沒有意義!

          這是因為我們需要將數據轉換成按比例計算的工程值——也就是人類可讀的形式。

          要做到這一點,我們需要知道一些事情:

          嵌入式工程師常用的CAN總線協議

          例如,在34d中的64位數據中,可能會有3個不同參數的數據,每個參數都有一個特定的起始點和位長。

          針對這3個不同參數的數據,我們需要要知道如何解碼:

          每個參數都需要偏移量和刻度值

          [數據值]=[偏移]+[刻度]x[原始數據值]

          以上就是本文為大家分享的什么是CAN總線的文章,希望能對嵌入式的小伙伴們有所幫助。

          預約申請免費試聽課

          怕錢不夠?就業掙錢后再付學費!    怕學不會?從入學起,達內定制課程!     擔心就業?達內多家實踐企業供你挑選!

          上一篇:嵌入式就業怎么樣?能干一輩子嗎?
          下一篇:c++程序員是怎樣煉成的?

          初學者如何能學好編程?

          B端信息錄入:輸入框基礎設計細節解析(二)

          B端信息錄入:輸入框基礎設計細節解析(一)

          B端產品全局導航樣式與分析

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          江西省

          貴州省

          廣西省

          海南省

          香蕉视频在线一级a做爰片免费观看视频 欧美成年性色生活片 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>