CAN基礎內容詳解(一)

概念

CAN(Controller Area Network)總線就是網絡系統的控制器區域,想象汽車像身體一樣,那麼CAN就相當於人體的神經系統,協助人體進行各部分的溝通。以此類推,節點或者車內電子控制單元,都是由CAN總線連接起來的。在汽車系統中,在電控單元數量繁多的配置下,CAN標準就是一個便利工具,通過它,電控單元之間可以相互通信,不需要複雜多樣的接線來實現,所有的外圍器件都可以掛接在該總線上。設置CAN最初的目的就是減少線束的數量,允許任一電控單元與整個系統通信,同時不會使車載電腦負載。
CAN總線是一種有效支持分佈式控制或實時控制的串行通信網絡。
本文說的CAN即是一種總線,也是一種協議。所以說,我們常聽見CAN總線,也常聽見CAN協議。
USB轉CAN接口

特點

CAN總線是一種串行數據通信協議,其通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗餘檢驗、優先級判別等項工作。
(1)可以多主方式工作,網絡上任意一個節點均可以在任意時刻主動地向網絡上的其他節點發送信息,而不分主從,通信方式靈活。
(2)網絡上的節點(信息)可分成不同的優先級,可以滿足不同的實時要求。ID值越小,優先權越高。CAN通信基於標識符進行優先排列就能夠讓最高優先級標識符的通訊免於中斷;
(3)非破壞性位仲裁總線結構機制,當兩個節點同時向網絡上傳送信息時,優先級低的節點主動停止數據發送,而優先級高的節點可不受影響地繼續傳輸數據。
(4)可以點對點、一點對多點(成組)及全局廣播等幾種傳送方式接收數據。
(5)數據傳輸距離遠,最遠長達10Km、數據傳輸速率高,最高高達1Mbps;一個由CAN 總線構成的單一網絡中,理論上可以掛接無數個節點。實際應用中,節點數目受網絡硬件的電氣特性所限制。一般作爲CAN收發器時,同一網絡中允許掛接110個節點。CAN 可提供高達1Mbit/s的數據傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。當信號傳輸距離達到10K時,CAN 仍可提供高達50Kbit/s的數據傳輸速率。
(6)具有錯誤檢測、錯誤通知和錯誤恢復功能。所有單元都可以檢測錯誤(錯誤檢測功能),檢測出錯誤的單元會立即同時通知其他所有單元(錯誤通知功能),正在發送消息的單元一旦檢測出錯誤,會強制結束當前的發送。強制結束髮送的單元會不斷反覆地重新發送此消息直到成功發送爲止(錯誤恢復功能)。
(7)節點數實際可達110個。
(8)採用短幀結構,每一幀的有效字節數爲8個。
(9)每幀信息都有CRC校驗及其他檢錯措施,數據出錯率極低。
(10)通信介質可採用雙絞線,同軸電纜和光導纖維,一般採用廉價的雙絞線即可,無特殊要求。
(11) 數據在整個系統範圍內具有一致性。
(12)仲裁失敗或傳輸期間被故障損壞的幀能自動重發。
(13)節點在錯誤嚴重的情況下,具有自動關閉總線的功能,切斷它與總線的聯繫,以使總線上的其他操作不受影響,脫離總線的節點不影響總線的正常工作。但是CAN總線如果傳輸的信息過多,就會造成數據堆積,發生過載現象。
由於CAN總線上述的這些特點,它憑藉着可靠、實時、經濟和靈活的優勢在其他行業也得到了廣泛的應用,從汽車電子到工業控制慢慢普及,目前已成爲全球範圍內最重要的現場總線之一。

OSI模型與CAN的關係

國際標準化組織(ISO)對通信系統進行了更詳細的劃分:
在這裏插入圖片描述
下圖爲OSI模型與CAN的關係:
在這裏插入圖片描述
CAN-bus的規範定義了ISO規範中的物理層和數據鏈路層;一些國際組織定義了應用層,例如CiA組織的CANopen、ODVA組織的DeviceNet等;也有一些用戶根據需求自行設計應用層。ISO/OSI模型與CAN-bus的對應關係詳見下圖:
在這裏插入圖片描述
設備之間所謂的通信,其實是相同層次間的信息溝通,例如物理層與物理層的信息交換,應用層與應用層的信息交換,層與層之間是互相獨立的。正是基於這種層次化的結構,才使得大家能各司其職,高效而又相互獨立的工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章