CAN總線原理介紹2015/05/08 來源:電子技術應用
CAN是Controller Area Network的縮寫,即「區域網控制器」的意思,可以歸屬於工業現場總線的範疇,通常稱為CAN BUS,即CAN總線,是目前國際上應用最為廣泛的開放式現場總線之一。
CAN總線最早用在汽車電子領域,世界上一些著名的汽車製造廠商都採用CAN總線來實現汽車內部控制系統與各檢測和執行機構間的數據通信。由於CAN總線在數據通信方面表現出來的高可靠性、實時性和靈活性,其應用領域已經成汽車電子領域擴展到自動控制、航空航天、航海、工業控制、醫療器械、安全防護等領域。CAN總線規範從CAN1.2規範發展為兼容CAN1.2規範的CAN2.0規範(CAN2.0A為標準格式,CAN2.0B為擴展格式),目前應用的CAN器件大多符合CAN2.0規範。
?CAN總線發展史
1986年,Bosch在SAE(汽車工程人員協會)大會上提出CAN總線概念;
1987年,Intel推出第一片CAN控制晶片82526,隨後Philips半導體也推出82C200;
1993年,CAN的國際標準ISO11898/ISO11519公布。ISO11898為高速應用,ISO11519為低速應用;
1994年開始有了國際CAN學術年會ICC。同年,美國汽車工程師協會以CAN為基礎制定了SAEJ1939標準,用於卡車和巴士控制和通信網絡。
?CAN總線特點
1).可以多主方式工作,網絡上任意一個節點均可以在任意時刻主動地向網絡上的其他節點發送信息,而不分主從,通信方式靈活。
2).網絡上的節點可分成不同的優先級,可以滿足不同的實時要求。
3).採用非破壞性位仲裁總線結構機制,當兩個節點同時向網絡上傳送信息時,優先級低的節點主動停止數據發送,而優先級高的節點可不受影響地繼續傳送數據。
4).可以點對點,一點對多點及全局廣播幾種傳送方式接收數據。
5).直接通信距離最遠可達10km(速率4Kbps以下)。
6).通信速率最高可達1MB/s(此時距離最長40m)。
使用非屏蔽雙絞線傳輸時,傳輸速率與傳輸距離的關係如下圖所示。
![](https://i1.read01.com/SIG=3cf8rb0/30393976514b3030.jpg)
7).節點數最多可達110個。
8).採用短幀結構,每一幀的有效字節數為8個。
9).每幀信息都有CRC校驗及其他檢錯措施,數據錯誤率極低。
10).通信介質可採用雙絞線,同軸電纜和光纖,一般採用廉價的雙絞線即可。
11).節點在錯誤嚴重的情況下,具有自動關閉總線的功能,切斷它與總線的聯繫,以使總線上的其他操作不受影響。
?CAN總線的仲裁
CAN總線採用CSMA/CD(Carrier Sense Multiple Access with collision Detect,載波監測多路訪問/衝突檢測)技術。「載波監測」的意思是指在總線上的每個節點在發送信息報文前都必須監測到總線上有一段時間的空閒狀態。「多路訪問」的意思是一旦此空閒狀態被監測到,那麼每個節點都有均等的機會來發送報文。「衝突檢測」是指在兩個節點同時發送信息時,節點本身首先會檢測到出現衝突,然後採取相應的措施來解決這一衝突情況。此時優先級高的報文先發送,低優先級的報文發送會暫停。這就是CAN總線的仲裁,仲裁過程是不會對報文產生破壞的。
![](https://i2.read01.com/SIG=30uun11/30393976514b3031.jpg)
?CAN總線的拓撲結構
CAN總線的拓撲結構如下,CAN hub是用於多分支擴展用的,可以省去。CAN總線和分支的末端都需要垮接一個120歐姆的電阻來終結,防止信號反射。
CAN總線的拓撲結構如下,CAN hub是用於多分支擴展用的,可以省去。CAN總線和分支的末端都需要垮接一個120歐姆的電阻來終結,防止信號反射。
![](https://i3.read01.com/SIG=3lc43v2/30393976514b3032.jpg)
?CAN總線的邏輯電平
CAN總線具有兩種邏輯狀態,隱性和顯性。隱性狀態下,VCAN_H和VCAN_L都被固定為平均電壓電平,兩者之間的電壓差為0;顯性狀態下,VCAN_H和VCAN_L的電平分別為3.5V和1.5V,兩者差分電壓大於2V,如下圖所示。
CAN總線具有兩種邏輯狀態,隱性和顯性。隱性狀態下,VCAN_H和VCAN_L都被固定為平均電壓電平,兩者之間的電壓差為0;顯性狀態下,VCAN_H和VCAN_L的電平分別為3.5V和1.5V,兩者差分電壓大於2V,如下圖所示。
![](https://i1.read01.com/SIG=3ptifl3/30393976514b3033.jpg)
?常用CAN總線晶片
CAN晶片有CAN控制器和CAN收發器,在實際電路中,這兩種晶片需要配合起來應用。
常用CAN控制器晶片有:P87C591,XAC37,SJA1000;
常用CAN收發器晶片有:PCA82C250,PCA82C251,PCA82C252,TJA1040,TJA1041,TJA1050,TJA1053,TJA1054。
CAN晶片有CAN控制器和CAN收發器,在實際電路中,這兩種晶片需要配合起來應用。
常用CAN控制器晶片有:P87C591,XAC37,SJA1000;
常用CAN收發器晶片有:PCA82C250,PCA82C251,PCA82C252,TJA1040,TJA1041,TJA1050,TJA1053,TJA1054。
沒有留言:
張貼留言