CAN總線(一)

CAN—— Controller Area Network, 控制器局域網絡。

簡單介紹

是一種ISO國際標準化的串行通信協議
CAN屬於現場總線的一種(屬於工業現場總線的範疇),是一種有效支持分佈式控制或實時控制串行通信網絡。被譽爲自動化領域的計算機局域網絡。
CAN總線在數據傳輸通信方面具有可靠、實時、靈活的優點。
CAN總線經過ISO標準化後有兩個標準:
ISO 11898:針對通信速率爲125kbps ~ 1Mbps的高速通信標準;
ISO 11519-2:針對125kbps以下的低速通信標準。

結構

CAN總線結構分爲兩層:物理層和數據鏈路層(包括邏輯鏈路控制子層LLC和媒體訪問控制子層MAC)。
LLC子層爲數據傳遞和遠程數據請求提供服務;
MAC子層的主要功能主要是傳遞規則:控制幀結構,執行仲裁,錯誤檢驗,出錯標定和故障界定。
CAN總線網絡:


CAN總線網絡主要掛在CAN_H and CAN_L上,各個節點通過這兩條線實現信號的串行差分傳輸,爲了避免反射干擾還需要在CAN_H and CAN_L之間接上120Ω(電纜的特性阻抗爲120Ω)的終端電阻。

特點

通信距離與速率

CAN總線的最長通信距離爲10km,此時對應的通信速率爲5kbps; 最快通信速率爲1Mbps, 此時對應的通信距離爲40m.

報文傳輸

CAN報文傳輸即數據傳輸。

  1. 報文傳輸爲多主工作方式,即網絡上任意節點均可在任意是時刻主動的向網絡上的其他節點發送信息,部分主從。
  2. 在總線中傳輸的報文,每幀有7部分組成。CAN協議支持兩種報文格式,其唯一的不同是**標識符(ID)**長度不同,標準格式爲11位,擴展格式爲29位。

位數值表示

CAN控制器根據兩根線上的電位差來判斷總線電平。總線電平分爲顯性電平和隱形電平。發送通過使總線電平發生變化,將消息發送給接收方。

仲裁

只要總線空閒,總線上任意節點都可以發送報文,但是如果兩個或者兩個以上的節點開始傳送報文,則會造成總線訪問衝突的可能,CAN使用標識符的逐位仲裁方法解決這個問題。
如下:
在這裏插入圖片描述
在仲裁期間,每一個發送器都對發送的電平與被監控的總線電平進行比較,如果電平相同,則這個單元可以繼續發送。如果發送的是一個隱形電平,而被監視的是一顯性電平,則這個節點失去仲裁,必須退回發送狀態。
(被監視電平指的是總線電平嗎,總線電平一直是顯性嗎?)

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