CAN總線,國際上應用最廣泛的現場總線之一,它的出現簡直可以說是一種黑科技,CAN(ControllerAreaNetwork),即控制器局域網絡,一般稱為CANbus,CAN總線。是由德國BOSCH(博世)公司開發(fā)的,現已變成ISO世界標準化的串行通信協議,是現在在世界上使用最廣泛的開放式現場總線之一。CAN總線以報文的方法發(fā)送數據,每組報文的前十一位為標識符(在同一個體系中,標識符是僅有的),不包括詳細發(fā)送數據,是對報文優(yōu)先級的界說,我們將報文的這種格局稱為面向內容的編址計劃。
CAN 控制器根據兩根線上的電位差來判斷總線電平??偩€電平分為顯性電平和隱性電平, 二者必居其一。發(fā)送方通過使總線電平發(fā)生變化,將消息發(fā)送給接收方。 CAN 協議具有一下特點: 1) 多主控制。 在總線空閑時,所有單元都可以發(fā)送消息(多主控制), 而兩個以上的單元 同時開始發(fā)送消息時,根據標識符( Identifier 以下稱為 ID)決定優(yōu)先級。 ID 并不是 表示發(fā)送的目的地址,而是表示訪問總線的消息的優(yōu)先級。兩個以上的單元同時開始 發(fā)送消息時,對各消息 ID 的每個位進行逐個仲裁比較。仲裁獲勝(被判定為優(yōu)先級 最高)的單元可繼續(xù)發(fā)送消息,仲裁失利的單元則立刻停止發(fā)送而進行接收工作。 2) 系統(tǒng)的柔軟性。 與總線相連的單元沒有類似于“地址”的信息。因此在總線上增加單 元時,連接在總線上的其它單元的軟硬件及應用層都不需要改變。 3) 通信速度較快,通信距離遠。 最高 1Mbps(距離小于 40M),最遠可達 10KM(速率低 于 5Kbps)。 4) 具有錯誤檢測、錯誤通知和錯誤恢復功能。 所有單元都可以檢測錯誤(錯誤檢測功能), 檢測出錯誤的單元會立即同時通知其他所有單元(錯誤通知功能),正在發(fā)送消息的單 元一旦檢測出錯誤,會強制結束當前的發(fā)送。強制結束發(fā)送的單元會不斷反復地重新 發(fā)送此消息直到成功發(fā)送為止(錯誤恢復功能)。 5) 故障封閉功能。CAN 可以判斷出錯誤的類型是總線上暫時的數據錯誤(如外部噪聲等) 還是持續(xù)的數據錯誤(如單元內部故障、驅動器故障、斷線等)。由此功能,當總線上 發(fā)生持續(xù)數據錯誤時,可將引起此故障的單元從總線上隔離出去。 6) 連接節(jié)點多。 CAN 總線是可同時連接多個單元的總線??蛇B接的單元總數理論上是沒 有限制的。但實際上可連接的單元數受總線上的時間延遲及電氣負載的限制。降低通 信速度,可連接的單元數增加;提高通信速度,則可連接的單元數減少。 正是因為 CAN 協議的這些特點,使得 CAN 特別適合工業(yè)過程監(jiān)控設備的互連,因此,越 來越受到工業(yè)界的重視,并已公認為最有前途的現場總線之一。 CAN 協議經過 ISO 標準化后有兩個標準:ISO11898標準和 ISO11519-2 標準。其中 ISO11898是針對通信速率為 125Kbps~1Mbps 的高速通信標準,而 ISO11519-2 是針對通信速率為 125Kbps以下的低速通信標準。
CAN總線以播送的方法從一個節(jié)點向另一個節(jié)點發(fā)送數據,當一個節(jié)點發(fā)送數據時,該節(jié)點的CPU把即將發(fā)送的數據和標識符發(fā)送給本節(jié)點的CAN芯片,并使其進入準備階段;一旦該CAN芯片收到總線分配,就變?yōu)榘l(fā)送報文階段,該CAN芯片把將發(fā)送的數據構成規(guī)定的報文格式發(fā)出。此刻,網絡中別的的節(jié)點都處于接受階段,所有的節(jié)點都要先對其進行接受,經過檢查來判別該報文是不是是發(fā)給自己的。
CAN總線適用于大數據量短距離通信或者長距離小數據量,實時性要求比較高,適合多主多從或者各個節(jié)點平等的現場中使用。目前被廣泛應用于工業(yè)自動化、船舶、醫(yī)療設備、工業(yè)設備等行業(yè)領域?,F場總線是當今自動化領域技術發(fā)展的熱點之一,被譽為自動化領域的計算機局域網。它的出現為分布式控制系統(tǒng)實現各節(jié)點之間實時、可靠的數據通信提供了強有力的技術支持。





