18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 基礎入門 >> 工控技術 >> 正文

CAN總線詳解

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2022-03-23

1、簡介

CAN是控製器局域網絡(Controller Area Network, CAN)的簡稱,是一種能夠實現分布式實時控製的串行通信網絡。

優(you) 點:

傳(chuan) 輸速度最高到1Mbps,通信距離最遠到10km,無損位仲裁機製,多主結構。近些年來,CAN控製器價(jia) 格越來越低。

Ø 低成本:ECUs通過單個(ge) CAN接口進行通信,布線成本低。

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

Ø 可靠性:該係統對子係統的故障和電磁幹擾具有很強的魯棒性,是汽車控製係統的理想選擇。

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

Ø 靈活性:每個(ge) ECU包含一個(ge) 用於(yu) CAN總線收發芯片,隨意添加CAN總線節點。

2、CAN總線網絡

 

CAN總線網絡主要掛在CAN_H和CAN_L,各個(ge) 節點通過這兩(liang) 條線實現信號的串行差分傳(chuan) 輸,為(wei) 了避免信號的反射和幹擾,還需要在CAN_H和CAN_L之間接上120歐姆的終端電阻。為(wei) 什麽(me) 是120Ω,因為(wei) 電纜的特性阻抗為(wei) 120Ω,為(wei) 了模擬無限遠的傳(chuan) 輸線。

3、CAN收發器

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

 

即從(cong) CAN控製芯片輸出邏輯電平到CAN收發器,然後經過CAN收發器內(nei) 部轉換將邏輯電平轉換為(wei) 差分信號輸出到CAN總線上,CAN總線上的節點都可以決(jue) 定自己是否需要總線上的數據。具體(ti) 的引腳定義(yi) 如下:

 

4、CAN信號表示

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

 

顯性與(yu) 隱性電平的解釋:

CAN的數據總線有兩(liang) 條,一條是黃色的CAN_High,一條是綠色的CAN_Low。當沒有數據發送時,兩(liang) 條線的電平一樣都為(wei) 2.5V,稱為(wei) 靜電平,也就是隱性電平。當有信號發送時,CAN_High的電平升高1V,即3.5V,CAN_Low的電平降低1V,即1.5V。

按照定義(yi) 的:

  • CAN_H-CAN_L < 0.5V 時候為(wei) 隱性的,邏輯信號表現為(wei) "邏輯1"- 高電平。

  • CAN_H-CAN_L > 0.9V 時候為(wei) 顯性的,邏輯信號表現為(wei) "邏輯0"- 低電平。

5、CAN信號傳(chuan) 輸

發送過程: CAN控製器將CPU傳(chuan) 來的信號轉換為(wei) 邏輯電平(即邏輯0-顯性電平或者邏輯1-隱性電平)。CAN發射器接收邏輯電平之後,再將其轉換為(wei) 差分電平輸出到CAN總線上。

 

接收過程: CAN接收器將CAN_H 和 CAN_L 線上傳(chuan) 來的差分電平轉換為(wei) 邏輯電平輸出到CAN控製器,CAN控製器再把該邏輯電平轉化為(wei) 相應的信號發送到CPU上。

 

5、CAN數據傳(chuan) 輸

CAN總線傳(chuan) 輸的是CAN幀,CAN的通信幀分成五種,分別為(wei) 數據幀、遠程幀、錯誤幀、過載幀和幀間隔。

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

 

幀起始

由一個(ge) 顯性位(低電平)組成,發送節點發送幀起始,其他節點同步於(yu) 幀起始;

幀結束

由7個(ge) 隱形位(高電平)組成。

 

仲裁段

隻要總線空閑,總線上任何節點都可以發送報文,如果有兩(liang) 個(ge) 或兩(liang) 個(ge) 以上的節點開始傳(chuan) 送報文,那麽(me) 就會(hui) 存在總線訪問衝(chong) 突的可能。但是CAN使用了標識符的逐位仲裁方法可以解決(jue) 這個(ge) 問題。

CAN總線控製器在發送數據的同時監控總線電平,如果電平不同,則停止發送並做其他處理。如果該位位於(yu) 仲裁段,則退出總線競爭(zheng) ;如果位於(yu) 其他段,則產(chan) 生錯誤事件。

 

幀ID越小,優(you) 先級越高。由於(yu) 數據幀的RTR位為(wei) 顯性電平,遠程幀為(wei) 隱性電平,所以幀格式和幀ID相同的情況下,數據幀優(you) 先於(yu) 遠程幀;由於(yu) 標準幀的IDE位為(wei) 顯性電平,擴展幀的IDE位為(wei) 隱形電平,對於(yu) 前11位ID相同的標準幀和擴展幀,標準幀優(you) 先級比擴展幀高。

 

數據段

一個(ge) 數據幀傳(chuan) 輸的數據量為(wei) 0~8個(ge) 字節,這種短幀結構使得CAN-bus實時性很高,非常適合汽車和工控應用場合如圖27所示。

 

數據量小,發送和接收時間短,實時性高,被幹擾的概率小,抗幹擾能力強。

Tags:總線,CAN總線,工控技術  
責任編輯:admin
  • 上一個文章:
  • 下一個文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁麵
    下到頁底
    晶體管查詢