1 簡介
CAN 是Controller Area Network 的縮寫,最早應用于汽車領域,由于這些系統之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。為適應“減少線束的數量”、“通過多個LAN,進行大量數據的高速通信”的需要,1986 年德國電氣商博世公司開發出面向汽車的CAN 通信協議。此后,CAN 通過ISO11898 及ISO11519 進行了標準化,現在在歐洲已是汽車網絡的標準協議。
現在CAN通信已經被廣泛應用于各個領域,例如醫療,工業等領域。CAN 控制器根據兩根線上的電位差來判斷總線電平。總線電平分為顯性電平和隱性電平,二者必居其一。發送方通過使總線電平發生變化,將消息發送給接收方。
在總線上顯性電平具有優先權,只要有一個單元輸出顯性電平,總線上即為顯性電平。而隱形電平則具有包容的意味,只有所有的單元都輸出隱性電平,總線上才為隱性電平(顯性電平比隱性電平更強)。另外,在CAN總線的起止端都有一個120Ω的終端電阻,來做阻抗匹配,以減少回波反射。
2 CAN總線特點
- 多主控制
當總線處于空閑狀態時,任何Device都可以發送消息,總線通過標志符號來決定發送優先級。只有仲裁獲勝方可以繼續發送消息,其余Device可以立刻停止數據發送,進入數據接收狀態。
- 數據傳輸速率快
由于CAN通信采用的是差分通信的方式,其能傳輸更遠的距離,且傳輸的速率最高可以1Mbps。
- 支持多節點通信
CAN通信可同時連接多個Device,且連接Device理論上是沒有上限的,但是Device數量過多可能會影響數據傳輸的延時以及最高的傳輸速率。最高的通信速率不僅與傳輸線纜的長度有關,還與掛載節點的數量有關系。
3 CAN電平標準
CAN通信有高速CAN通信(ISO11898標準)和低速CAN通信(ISO11519-2標準)兩種,一般所說的CAN通常是ISO11898標準的高速CAN通信,其最高的傳輸速率為 1Mbps 。低速CAN的最高的傳輸速率為 125Kbps ,主要應用于汽車領域,其具有較高的可靠性。
物理層 | ISO11898 | ISO11519-2標準 |
---|---|---|
電平 | 顯性 | 隱性 |
CAN_H | 3.5V | 3V |
CAN_L | 1.5V | 3V |
電位差 | 2.0V | 0V |
4 CAN電路設計
- TJA1050 CAN電路設計
TJA1050 供電采用5V供電,有些CAN收發器采用的3.3V供電,可直接連接至MCU。
- 建議在CAH_H和CAN_L之間添加共模電感,抑制共模噪聲。
- 在對外連接器上需要添加TVS管,防止靜電損壞內部電子元器件。
- 建議將120Ω電阻差分為兩個60Ω電阻,中間連接一個4.7pF對地電容,能有效濾除信號中干擾。
- ISO1042BQDWVRQ1 隔離CAN電路設計
隔離CAN電路能將板載與CAN總線完全隔離,但是需要注意的是電源部分也需要進行隔離。
隔離電源UCC12051DVE-Q1的設計見下:
- 不使用CAN收發器通信
經常會有這樣的一種使用場景:同一板載上兩個MCU之間進行CAN通信。此時,我們就會考慮能否直接將CAN_TX連接至CAN_RX,CAN_RX連接至CAN_TX(見下圖)?答案是 否定的 。
CAN_RX需要去監聽CAN_TX的狀態,我們不能簡單的直接這樣互聯。對于CAN通信的每個節點,可以通過一個二極管實現CAN_RX對CAN_TX的監聽,具體的電路如下:
這種通信方式親測可用,但是還是不建議使用。
-
收發器
+關注
關注
10文章
3438瀏覽量
106077 -
CAN總線
+關注
關注
145文章
1952瀏覽量
130879 -
電路設計
+關注
關注
6678文章
2457瀏覽量
204746 -
CAN
+關注
關注
57文章
2757瀏覽量
463939 -
硬件電路
+關注
關注
39文章
244瀏覽量
29256
發布評論請先 登錄
相關推薦
評論