聊聊 CAN 總線

CAN(Controller Area Network)總線

CAN(Controller Area Network)即控制器局域網,是一種能夠實現分佈式實時控制串行通信網絡。

CAN 總線廣泛應用於汽車、船艦等電子設備通信

概述

CAN是由 Bosch (德國)和 Intel 公司開發的

CAN有很多優秀的特點,使得它能夠被廣泛的應用。比如:

  • 傳輸速度最高到 1Mbps
  • 通信距離最遠到 10km
  • 無損位仲裁機制
  • 多主結構。

現在每一輛汽車上都裝有CAN總線。

一個 CAN 應用場景:
在這裏插入圖片描述

CAN總線標準

CAN總線標準只規定了物理層數據鏈路層,需要用戶自定義應用層。

CAN收發器負責邏輯電平物理信號之間的轉換
在這裏插入圖片描述

物理層

在這裏插入圖片描述
多個節點連接,只要有一個爲低電平,總線就爲低電平,只有所有節點輸出高電平時,才爲高電平。所謂"線與"。

CAN總線有5個連續相同位後,就插入一個相反位,產生跳變沿,用於同步。從而消除累積誤差。

CAN的傳輸速度與距離成反比:
在這裏插入圖片描述

數據鏈路層

CAN總線傳輸的是CAN幀,CAN的通信幀分爲五種,分別是:

  • 數據幀:用來節點之間收發數據,是使用最多的幀類型;
  • 遠程幀:用來接收節點向發送節點接收數據;
  • 錯誤幀:是某節點發現幀錯誤時用來向其他節點通知的幀;
  • 過載幀:是接收節點用來向發送節點告知自身接收能力的幀;
  • 隔離幀:用於將數據幀、遠程幀與前面幀隔離的幀。

數據幀根據仲裁段長度不同分爲標準幀(2.0A)擴展幀(2.0B)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章