can總線使用串行數據傳輸方式,可以1mb/s的速率在40m的雙絞線上運行,也可以使用光纜連接,而且在這種總線上總線協議支持多主控制器。can與i2c總線的許多細節很類似,但也有一些明顯的區別。
當can總線上的一個節點(站)發送數據時,它以報文形式廣播給網絡中所有節點。對每個節點來說,無論數據是否是發給自己的,都對其進行接收。每組報文開頭的11位字符為標識符,定義了報文的優先級,這種報文格式稱為面向內容的編址方案。在同一系統中標識符是唯一的,不可能有兩個站發送具有相同標識符的報文。當幾個站同時競爭總線讀取時,這種配置十分重要。
當一個站要向其它站發送數據時,該站的cpu將要發送的數據和自己的標識符傳送給本站的can芯片,并處于準備狀態;當它收到總線分配時,轉為發送報文狀 態。can芯片將數據根據協議組織成一定的報文格式發出,這時網上的其它站處于接收狀態。每個處于接收狀態的站對接收到的報文進行檢測,判斷這些報文是否是發給自己的,以確定是否接收它。
由于can總線是一種面向內容的編址方案,因此很容易建立高水準的控制系統并靈活地進行配置。我們可以很容易地在can總線中加進一些新站而無需在硬件或 軟件上進行修改。當所提供的新站是純數據接收設備時,數據傳輸協議不要求獨立的部分有物理目的地址。它允許分布過程同步化,即總線上控制器需要測量數據時,可由網上獲得,而無須每個控制器都有自己獨立的。










