CAN總線系列講座第一講——我來告訴您什么是CAN總線
控制器局域網CAN(Controller Area Network),是由德國Bosch公司為汽車應用而開發(fā)的多主機局部網絡,應用于汽車的監(jiān)測和控制。德國Bosch公司開發(fā)CAN總線的最初目的是為了解決汽車上數量眾多的電子設備之間的通訊問題,減少電子設備之間繁多的信號線。于是設計了一個單一的網絡總線,所有的外圍器件可以被掛接在該總線上。
本文引用地址:http://www.ex-cimer.com/article/201612/330389.htm幫助您理解的CAN總線定義:
CAN總線就像您日常接觸的電腦網線一樣,是用來傳輸數據的”線”。只不過其構造簡單,只有兩根線:CAN_H、CAN_L。
既然是通信用的網絡,那么CAN總線上就可以接不通的設備,每一個設備都有自己的地址——這和您的連接互聯網的計算機一樣,您的計算機有自己的IP地址。
構建CAN總線的目的是實現總線上的數據通訊,和您利用計算機上網一樣,其就是利用互聯網傳輸數據信息。其便利性不言而喻,不再贅述。
CAN-bus具有以下主要特性:
成本低廉
數據傳輸距離遠(最遠長達10Km)
數據傳輸速率高(最高達1Mbps)
無破壞性的基于優(yōu)先權的逐位仲裁
借助驗收濾波器的多地址幀傳遞
遠程數據請求
可靠的錯誤檢測和出錯處理功能
發(fā)送的信息遭到破壞后,可自動重發(fā)
暫時錯誤和永久性故障節(jié)點的判別以及故障節(jié)點的自動脫離
脫離總線的節(jié)點不影響總線的正常工作
基于CAN總線的優(yōu)越特性,許多著名的芯片生產商,諸如Intel、Philips、Siemens、Motorola都推出了獨立的CAN控制器芯片,或者帶有CAN控制器的MCU芯片。
以上特性決定了其應用范圍:低成本、數據量不太大的工業(yè)互聯網領域。
二CAN總線通訊過程
caN總線數據的發(fā)送過程可以用信件郵遞來做一個比喻,對于CAN總線上的發(fā)送節(jié)點可以比喻為郵寄一封信件:
郵寄:北京市海淀區(qū)XX街道XX號(目的CAN節(jié)點地址)。 |
這是“北京市海淀區(qū)XX街道XX號”郵箱(自己的CAN節(jié)點地址),其他非郵寄到此信箱的信件,一概不接收(CAN地址設置屏蔽掉其他地址)。 如果是郵寄到此信箱的信件,則接收信件。 (信中內容為具體的數據信息) |
CAN總線數據的通訊過程中,數據信息通過不同的報文格式來傳送,例如:數據幀、遠程幀等。這就類似于郵件中可以有不同的內容:文件、衣物、書籍等。
CAN總線數據的通訊花費的時間跟總線傳輸距離、通訊波特率有關系,通訊距離遠,波特率就低,傳輸數據花費的時間就長。類似于從北京郵寄信件到石家莊,距離近,郵遞時間就短;如果從北京郵寄信件到廣州,郵遞時間相對就長。另外,CAN總線數據的通訊花費的時間還跟通訊介質的選?。ü饫w、雙絞線)、振蕩器容差、通訊線纜的固有特性(導線截面積、電阻等)等有關系,這就類似于郵遞信件時是選擇EMS快遞、掛號信,還是普通的平信。
當然,CAN總線傳輸也有其傳輸錯誤處理機制,以保證總線正常運行。類似于郵寄信件,也有出錯處理機制,例如:發(fā)送快遞時,如果地址寫錯了,快遞員就會聯系發(fā)件者,是否更改地址,重新投遞。還有,如果投遞郵件的數量過多,就會產生郵件的堆積,CAN總線如果傳輸的信息量過多,也會產生數據堆積,發(fā)生過載現象。
評論