一張圖看懂CAN總線的原理
圖1 CAN通信原理
參考上圖,簡單來說CAN總線就如兩根黃線,通信的原理就好比開一個電話會議,大家都同時撥進來,然后有各種不同的狀態,比如:一個人說話,其他人聽;或者多個人同時想發言,但也會讓其中一個人先說,其他人聽;還有一個人要求另一個人來說;還有些掉線了,卡頓了等等。
為了確保每次電話會議針對上述情況正確有效地進行,我們需要一些每個人都應該遵守的規則或協議。CAN總線通信與這種電話會議形式既有相似之處,也有不同之處。那究竟什么是CAN總線通信?
CAN總線架構簡介
CAN總線是一種用于不同控制單元之間數據傳輸的導線。CAN總線協議是ISO國際標準化的串行通信協議,由兩個系列組成:ISO-11898和ISO-11519。其定義有:
ISO-11898 定義了通信速率為 125 Kbps ~1Mbps 的高速 CAN 通信標準,屬于閉環總線,傳輸速率可達1Mbps,總線長度≤ 40米,如圖2。
ISO11519 定義了通信速率為 10~125 Kbps 的低速 CAN 通信標準,屬于開環總線,傳輸速率為40kbps時,總線長度可達1000米,如圖2。
圖2
CAN的應用
CAN總線會有終端電阻,一般來說都是120歐姆,實際上在設計的時候,也是兩個60歐姆的電阻串起來的,而總線上一般有兩個120歐姆的節點。終端電阻的作用有三個:
①提高干擾防護能力,快速消除高頻低能量信號。
②確??偩€快速進入隱藏狀態,這樣寄生電容器的能量可以更快地耗散。
③通過將它們放置在總線兩端以減少反射能量來提高信號質量。
圖3
電信號的傳輸是通過區分高電壓和低電壓來進行的,就像CAN通信一樣。CAN總線的兩條信號線是CAN高(CAN_H)和CAN低(CAN_L)。關于CAN的邏輯0和邏輯1以及CAN總線的顯式和隱式方面,編制了以下圖表,以使每個人都能清楚地理解。
如下圖 4 所示:
圖4
注1:在實際開發中,兩條線路的電壓都以默認值波動,這也是使用差動傳輸減少誤差和噪聲干擾的優點;
注2:CAN總線采用“線路和”規則進行總線套利,即如果同時發送多個CAN信號,有些發送1,有些發送0,只要有0,則當前總線為0(1&0=0)。因此,總線上的顯式平面由邏輯“0”表示,而隱式平面則由邏輯“1”表示;
雖然差分信號有較好的抗干擾能力,但是長距離信號傳輸時,我們通常會采用雙絞線進行數據傳輸,以此來從物理上減弱噪聲對信號傳輸過程中的耦合。
圖 5 消除電容耦合
圖 6 消除電感耦合
圖 7 消除對外界的干擾
CAN信號傳輸
上述的電位差(差分電平)與邏輯電平是通過CAN收發器實現的。在傳輸過程中,CAN控制器將CPU傳輸的信號轉換為邏輯電平。CAN收發器接收到邏輯電平后,將其轉換為差分電平并輸出到CAN總線。
圖9 CAN信號發送
在接收過程中,CAN收發器發送CAN_H和CAN_L線路上傳輸的差電平被轉換為邏輯電平并輸出到CAN控制器,然后CAN控制器將邏輯電平轉換為相應的信號并發送到CPU。
圖10 CAN信號接收
簡單地說,這意味著變送器通過CAN收發器改變總線電平,并將其信息傳輸到CAN總線。接收器通過監測總線電平將總線上的信息讀取到自己的CAN收發器中。
如上所示,CAN總線有兩種架構,兩種形式的CAN信號,以及發送和接收CAN信號的兩個過程。
-
-
CAN
+關注
關注
57文章
2744瀏覽量
463613 -
通信
+關注
關注
18文章
6024瀏覽量
135950 -
信號
+關注
關注
11文章
2789瀏覽量
76730
原文標題:快速了解CAN通訊原理及應用
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論