CAN 總線介紹

此篇文章用來介紹 CAN 協議,絕大部分內容從 知乎:一口氣從零讀懂CAN總線 轉載。

0 摘要

上世紀八十年代以來,汽車 ECU 越來越多,如 ABS,電控門窗,電子燃油噴射裝置。如果仍然採用常規的點對點佈線方式,即電線一段與開關相接,另一端與用電設備相通,將會導致車上電線數目的急劇增加,從而帶來線束的冗餘及維修成本的提高。這就對汽車的線束分佈及信息通訊提出了更高的要求。總線技術可以實現信息的實時共享,解決了傳統佈線方式中線束多,佈線難,成本高等問題,CAN(Controller Area Network)總線技術應運而生。

點對點通信 & 總線通信

1 介紹

CAN 總線是由德國研發和生產汽車電子產品著稱的 BOSCH 公司開發的,並最終成爲國際標準(ISO11519),是國際上應用最廣泛的現場總線之一。CAN 總線是一種多主控(Multi-Master)的總線系統。傳統總線系統如 USB 或以太網等是在總線控制器的協調下,實現從 A 節點到 B 節點大量數據的傳輸。CAN 網絡的消息是廣播式的,即在同一時刻網絡上所有節點偵測的數據是一致的,它是一種基於消息廣播模式的串行通信總線。

CAN 總線示例
CAN 總線的很多優點,使得它得到了廣泛的應用,如傳輸速度最高到 1 Mbps, 通信距離最遠到 10 km,無損位仲裁機制,多主結構。

2 CAN 總線標準

CAN 總線標準之規定了物理層和數據鏈路層,至於應用層需要用戶自定義。不同的 CAN 標準僅物理層不同。

  • 物理層和數據鏈路層:ISO11898
  • 應用層:不同的應用領域使用不同的應用層標準

CAN 總線標準

3 CAN 物理層

3.1 CAN 拓撲網絡

連接在 CAN 總線上的設備叫做節點設備(CAN Node),CAN 網絡的拓撲一般爲線型。線束最常用的是雙絞線,線上傳輸爲對稱的差分電平信號。下圖爲 CAN 總線網絡示意圖,節點主要包括 Host、控制器和收發器。Host 常集成有 CAN 控制器,CAN 控制器負責處理協議相關功能,以減輕 Host 的負擔。CAN 收發器將控制器連接到傳輸媒介。通常控制器和總線收發器通過光耦或磁耦隔離,這樣即使總線上過壓損壞收發器,控制器和 Host 設備也可以得到保護。

在發送數據時,CAN 控制器把要發送的二進制編碼通過 CAN_Tx 線發送到 CAN 收發器,然後由收發器把這個普通的邏輯電平信號轉化成差分信號,通過差分線 CAN_High 和 CAN_Low 輸出到 CAN 總線網絡。接收數據過程,相反。採用差分信號,可以取得更好的電磁兼容效果。因此,CAN 總線物理傳輸媒介只需要兩根線
CAN 拓撲網絡

注:ECU(Electronic Control Unit)電子控制單元,又稱“行車電腦”、“車載電腦”等。

高速 CAN 總線最高信號傳輸速率爲 1 Mbps,支持最長距離 40 m。ISO11898-2 要求在高速 CAN 總線兩段安裝端接電阻 RL(端接電阻一般爲 120 Ω,因爲電纜的特性阻抗爲 120 Ω,爲了模擬無限遠的傳輸線。)以消除反射。低速 CAN 最高速度只有 125 Kbps,所以ISO11898-3 沒有端接要求。

CAN-bus 終端電阻接法
因爲傳輸距離越大,信號時延也越大,爲了保證消息的正確採樣,總線上的信號速率相應也要下降。下圖是推薦的信號速率與距離的關係。

信號速率與距離的關係

3.2 CAN 收發器

CAN 總線分高速 CAN 和低速 CAN,收發器也分爲高速 CAN 收發器(1 Mbps)和低速 CAN 收發器(125Kbps)。低速 CAN 也叫 Fault
Tolerance CAN,指的是即使總線上一根線失效,總線依然可以通信。如同串口中的 MAX3232 用作電平轉換,CAN 收發器的作用則是把邏輯信號轉換爲差分信號。
CAN 收發器

3.3 差分信號

CAN 總線採用差分信號傳輸,通常情況下只需要兩根信號線就可以進行正常的通信。在差分信號中,邏輯 0 和邏輯 1 是用兩根差分信號線的電壓差來表示。當處於邏輯 1,CAN_High 和 CAN_Low 的電壓差小於 0.5 V 時,稱爲隱性電平(Recessive);當處於邏輯 0,CAN_High 和 CAN_Low 的電壓差大於 0.9 V,稱爲顯性電平(Dominant)。

  • 高速 CAN
    高速 CAN
  • 低速容錯CAN (Fault Tolerance CAN)
    在這裏插入圖片描述
    CAN 總線遵從 “線與” 機制:“顯性” 位可以覆蓋 “隱性” 位;只有所有節點都發送 “隱性” 位, 總線才處於 “隱性” 狀態。這種 “線與” 機制使 CAN 總線呈現顯性優先的特性。
    CAN 線與機制

3.4 CAN 總線連接器

CAN 總線連接器

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