天天看點

[工業互聯-2]:工業有線互聯總線之CAN總線

目錄

​​第1章 CAN總線概述​​

​​1.1 概述​​

​​1.2 CAN總線的優點​​

​​1.3 應用廣泛​​

​​1.4 CAN總線的發展曆史​​

​​ 1.5 傳輸距離與傳輸速度的關系​​

​​第2章 CAN總線的網絡拓撲​​

​​2.1 總線拓撲​​

​​2.2 星形拓撲​​

​​2.3 樹形拓撲​​

​​2.4 環形​​

​​第3章 CAN總線裝置的硬體連接配接方式​​

​​3.1 單個網絡節點的硬體連接配接框圖​​

​​3.2 多個網絡節點的連接配接方式​​

​​第4章 CAN總線的網絡協定棧​​

​​4.1 ISO七層協定與CAN總線協定棧​​

​​4.2 CAN協定棧​​

​​4.3 CAN總線通信模型​​

​​4.4 CAN總線實體電氣特性​​

第1章 CAN總線概述

1.1 概述

CAN 即控制器區域網路絡,屬于工業現場總線的範疇。

CAN 是Controller Area Network 的縮寫(以下稱為CAN),是ISO國際标準化的​​串行通信協定​​。

CAN協定主要用于汽車中各種不同元件之間的通信,以此取代昂貴而笨重的配電線束

[工業互聯-2]:工業有線互聯總線之CAN總線

 在汽車産業中,出于對安全性、舒适性、友善性、低功耗、低成本的要求,各種各樣的電子​​控制系統​​被開發了出來。由于這些系統之間通信所用的資料類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也随之增加。為适應“減少線束的數量”、“通過多個LAN,進行大量資料的高速通信”的需要,1986 年德國電氣商​​博世​​公司開發出面向汽車的CAN

1.2 CAN總線的優點

CAN屬于​​現場總線​​​的範疇,它是一種有效支援分布式控制或實時控制的串行通信網絡。較之許多​​RS-485​​​基于R線建構的​​分布式控制系統​​而言,基于CAN總線的分布式控制系統在以下方面具有明顯的優越性:

[工業互聯-2]:工業有線互聯總線之CAN總線

除上面所述,CAN還具備如下的優勢:

(1)網絡各節點之間的資料通信實時性強

首先,CAN控制器工作于多種方式,網絡中的各​​節點​​​都可根據總線通路優先權(取決于​​封包​​​​辨別符​​​)采用無損結構的逐位仲裁的方式競争向總線發送資料,且CAN協定廢除了站位址編碼,而代之以對通信資料進行編碼,這可使不同的節點同時接收到相同的資料,這些特點使得CAN總線構成的網絡各節點之間的資料通信實時性強,并且容易構成​​備援​​​結構,提高​​系統的可靠性​​和系統的靈活性。而利用RS-485隻能構成主從式結構系統,通信方式也隻能以主站輪詢的方式進行,系統的實時性、可靠性較差;

(2)開發周期短

CAN總線通過CAN收發器接口晶片82C250的兩個輸出端CANH和CANL與實體總線相連,而CANH端的狀态隻能是高電平或懸浮狀态,CANL端隻能是低電平或懸浮狀态。這就保證不會再出現在RS-485網絡中的現象,即當系統有錯誤,出現多​​節點​​​同時向總線發送資料時,導緻總線呈現短路,進而損壞某些節點的現象。而且​​CAN節點​​​在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,進而保證不會出現像在網絡中,因個别節點出現問題,使得總線處于“​​死鎖​​​”狀态。而且,CAN具有的完善的​​通信協定​​可由CAN控制器晶片及其接口晶片來實作,進而大大降低系統開發難度,縮短了開發周期,這些是僅有電氣協定的RS-485所無法比拟的。

(3)已形成國際标準的現場總線

另外,與其它​​現場總線​​比較而言,CAN總線是具有通信速率高、容易實作、且成本效益高等諸多特點的一種已形成國際标準的現場總線。這些也是CAN總線應用于衆多領域,具有強勁的市場競争力的重要原因。

1.3 應用廣泛

該協定的健壯性使其同樣适用于自動化和工業環境中。

與一般的通信總線相比,CAN總線的資料通信具有突出的可靠性、實時性和靈活性。由于其良好的性能及獨特的設計,CAN總線越來越受到人們的重視。它在汽車領域上的應用是最廣泛的,世界上一些著名的汽車制造廠商都采用了CAN總線來實作汽車内部控制系統與各檢測和執行機構間的資料通信。

[工業互聯-2]:工業有線互聯總線之CAN總線

不再局限于汽車行業,而向自動控制、航空航天、航海、過程工業、機械工業、紡織機械、農用機械、機器人、​​數控機床​​、醫療器械及傳感器等領域發展。

CAN已經形成國際标準,并已被公認為幾種最有前途的​​現場總線​​之一。

CAN 的高性能和可靠性已被認同,并被廣泛地應用于工業自動化、船舶、醫療裝置、工業裝置等方面。​​現場總線​​​是當今自動化領域技術發展的熱點之一,被譽為自動化領域的​​計算機區域網路​​​。它的出現為​​分布式控制系統​​​實作各​​節點​​之間實時、可靠的資料通信提供了強有力的技術支援。

1.4 CAN總線的發展曆史

CAN總線協定距今已經發展40多年。如今,CAN總線已成為汽車(汽車、卡車、公共汽車、拖拉機等)、輪船、飛機、電動汽車電池、機械等的标準配置。

[工業互聯-2]:工業有線互聯總線之CAN總線
  • CAN之前的版本:汽車ECU采用的是複雜的點對點布線
  • 1986年:BOSCH(博世)開發了CAN協定作為解決方案
  • 1991年:BOSCH(博世)釋出了CAN 2.0(CAN 2.0A:11位,2.0B:29位)
  • 1993年:CAN被采用為國際标準(ISO 11898)
  • 2003年:ISO 11898成為标準系列
  • 2012年:博世釋出了CAN FD 1.0
  • 2015年:CAN FD協定标準化(ISO 11898-1)
  • 2016年:CAN實體層,資料速率高達5 Mbit/s,已認證ISO 11898-2标準化

 1.5 傳輸距離與傳輸速度的關系

CAN總線是一種串行資料通信總線,其通信速率最高可達1 Mb/s。

CAN系統内兩個任意節點之間的最大傳輸距離與其位速率有關。

[工業互聯-2]:工業有線互聯總線之CAN總線
[工業互聯-2]:工業有線互聯總線之CAN總線

第2章 CAN總線的網絡拓撲

2.1 總線拓撲

CAN總線是一種廣播類型的總線,可支援線形拓撲、星形拓撲、樹形拓撲和環形拓撲等。

CAN網絡中至少需要兩個節點裝置才可進行通信,無法僅向某一個特定節點裝置發送消息,發送資料時所有節點都不可避免地接收所有流量。但是,CAN總線硬體支援本地過濾,是以每個節點可以設定對有效的消息做出反應。

線形拓撲是在一條主幹總線分出各個節點支線,其優點在于布線施工簡單,接線友善,阻抗比對規則固定,缺點是拓撲不夠靈活,在一定程度上影響通訊距離,如下圖所示:

[工業互聯-2]:工業有線互聯總線之CAN總線

2.2 星形拓撲

星形拓撲是每個節點通過中央裝置連到一起,其優點是容易擴充。

缺點是一旦中央裝置出故障會導緻總線集體故障,而且分支線長不同,阻抗比對複雜,可能需要通過一些中繼器或集線器進行擴充,如下圖所示:

[工業互聯-2]:工業有線互聯總線之CAN總線

2.3 樹形拓撲

樹形拓撲是節點分支比較多,且分支長度不同,其優點是布線友善

缺點是網絡拓撲複雜,阻抗比對困難,通訊中極易出現問題,必須加一些集線器裝置,如下圖所示: 

[工業互聯-2]:工業有線互聯總線之CAN總線

2.4 環形

環形拓撲是将CAN總線頭尾相連,形成環狀

其優點是線纜任意位置斷開,總線都不會出現問題

缺點是信号反射嚴重,無法用于高波特率和遠距離傳輸,如下圖所示:

[工業互聯-2]:工業有線互聯總線之CAN總線

第3章 CAN總線裝置的硬體連接配接方式

3.1 單個網絡節點的硬體連接配接框圖

CAN節點通常由如下幾部分組成:

[工業互聯-2]:工業有線互聯總線之CAN總線
  • CAN總線:CAN總線通過差分信号進行資料傳輸
  • CAN收發器:CAN收發器将TTL電平信号轉換為差分信号,或差分信号轉換為TTL電平信号。
  • CAN控制器:CAN控制器将TTL電平信号接收并傳輸給MCU
  • MCU:可以采用STM32、華大、瑞薩等單片機,其内部就內建了CAN控制器外設,通過配置就可實作對CAN封包(MAC層)資料的讀取和發送。

3.2 多個網絡節點的連接配接方式

雖然CAN總線可以支援多種網絡拓撲,但在實際應用中比較推薦使用總線形拓撲,且在IOS 11898-2中高速CAN實體層規範推薦也是總線形拓撲。

在ISO 11898-2和ISO 11898-3中分别規定了兩種CAN總線結構的硬體連接配接方式(在BOSCH CAN2.0規範中,并沒有關于總線拓撲結構的說明)。

[工業互聯-2]:工業有線互聯總線之CAN總線

在發送資料時,CAN控制器把要發送的二進制編碼通過CAN_Tx線發送到CAN收發器,然後由收發器把這個普通的邏輯電平信号轉化成差分信号,通過差分線CAN_High和CAN_Low輸出到CAN總線網絡。

接收資料過程,相反。

采用差分信号,可以取得更好的電磁相容效果。是以,CAN總線實體傳輸媒介隻需要兩根線。

(1)高速互聯

ISO 11898-2中定義了通信速率為125Kbps~1Mbps的高速閉環CAN通信标準,當通信總線長度≤40米,最大通信速率可達到1Mbps,高速閉環CAN(高速CAN)通信如下圖所示:

[工業互聯-2]:工業有線互聯總線之CAN總線

(2)低速互聯

ISO 11898-3中定義了通信速率為10~125Kbps的低速開環CAN通信标準,當傳輸速率為40Kbps時,總線距離可達到1000米。低速開環CAN(低速容錯CAN)通信如下圖所示:

[工業互聯-2]:工業有線互聯總線之CAN總線

第4章 CAN總線的網絡協定棧

4.1 ISO七層協定與CAN總線協定棧

[工業互聯-2]:工業有線互聯總線之CAN總線
[工業互聯-2]:工業有線互聯總線之CAN總線

4.2 CAN協定棧

CAN總線标準之規定了實體層和資料鍊路層,至于應用層需要使用者自行定義,不同的應用領域,标準不同,有些領域的應用層是沒有國際标準的。

(1)實體層和資料鍊路層:ISO11898; =》CAN總線标準

  • CAN總線與以太網總線類似,工作在實體層和MAC層。
  • 不同的CAN标準僅實體層不同,MAC層是相同的。

(2)應用層:不同的應用領域使用不同的應用層标準。 =》 非CAN總線标準,屬于工業應用标準。

[工業互聯-2]:工業有線互聯總線之CAN總線

其典型的應用協定有:

  • SAE J1939/ISO11783
  • CANOpen
  • ​​CANaerospace​​
  • DeviceNet
  • NMEA 2000等。

4.3 CAN總線通信模型

[工業互聯-2]:工業有線互聯總線之CAN總線

4.4 CAN收發器

[工業互聯-2]:工業有線互聯總線之CAN總線

 CAN總線分高速CAN和低速CAN,收發器也分為高速CAN收發器(1Mbps)和低速CAN收發器(125Kbps)。

低速CAN也叫Fault Tolerance CAN,指的是即使總線上一根線失效,總線依然可以通信。如同序列槽中的MAX3232用作電平轉換,CAN收發器的作用則是把TTL電平邏輯信号轉換為差分信号。

4.5 CAN總線實體電氣特性

在CAN總線上,利用CAN_H和CAN_L兩根線上的電位差來表示CAN信号。這與以太網采用差分信号是一樣的,不同的是以太網是單向的,CAN總線是雙向的。

CAN 總線上的電位差分為顯性電平(Dominant Voltage)和隐性電平(Recessive Voltage),其中顯性電平為邏輯 0,隐性電平為邏輯 1。

[工業互聯-2]:工業有線互聯總線之CAN總線

(1)高速CAN總線

高速CAN總線(ISO 11898-2,通信速率為125Kbps~1Mbps)在傳輸顯性(0)信号時,會将 CAN_H端擡向5V高電平,将CAN_L拉向0V低電平。當傳輸隐性(1)信号時,并不會驅動 CAN_H 或者 CAN_L 端。 顯性信号 CAN_H 和 CAN_L 兩端差分标稱電壓為 2V。 終端電阻在沒有驅動時,将差分标稱電壓降回 0V。顯性信号(0)的共模電壓需要在 1.5V 到 3.5V 之間。隐性信号(1)的共模電壓需要在+/-12V。

[工業互聯-2]:工業有線互聯總線之CAN總線

 (2)低速CAN總線

低速/容錯CAN(ISO 11898-3,通信速率為10~125Kbps)在傳輸顯性信号(0)時,驅動CANH端擡向5V,将CANL端降向0V。在傳輸隐性信号(1)時并不驅動CAN 總線的任何一端。在電源電壓VCC為5V時,顯性信号差分電壓需要大于2.3V,隐性信号的差分電壓需要小于0.6V。CAN總線兩端未被驅動時,終端電阻使CAN L端回歸到RTH電壓(當電源電壓VCC為5V時,RTH電壓至少為Vcc-0.3V=4.7V),同時使CAN H端回歸至RTL電壓(RTL電壓最大為0.3V)。兩根線需要能夠承受-27V至40V的電壓而不被損壞。

[工業互聯-2]:工業有線互聯總線之CAN總線

在高速和低速CAN中從隐性信号向顯性信号過渡的速度更快,因為此時CAN線纜被主動積極地驅動,顯性向隐性的過渡速度主要取決于CAN網絡的長度和導線的電容。

4.6 CAN總線連接配接器

[工業互聯-2]:工業有線互聯總線之CAN總線

繼續閱讀