方便靈活的CAN總線網絡及應用
CAN總線網絡是炙手可熱的技術
CAN總線網絡的問世已超過15年,它是德國Bosch公司及幾個半導體集成電路制造商開發,芯片由摩托羅拉、Intel等公司生產。起初是專門為汽車工業設計的,面向需要可預測而無錯誤通訊的汽車應用,目的是為了節省接線的工作量,后來由于自身的特點被廣泛地應用于各行各業。特別是近年來,由于價格不斷下降,CAN成了炙手可熱的技術,并不再局限于汽車應用領域。目前它正在工業網絡、醫療設備、軌道交通信號、樓宇控制及其它眾多系統中得到應用。
圖1:CAN 總線網絡多主機系統-分布式網絡(圖右所示)
與以太網-集中式網絡(圖左所示)之比較
圖2:為基于 CAN 總線網絡的光電經緯儀通信結構框圖
牢靠而高速的通訊
上述眾多應用領城系統之所以采用CAN總線網絡,不僅因為其成本低廉,還由于通過這種網絡可進行牢靠而高速的通訊。CAN總線可采用雙絞線、同軸電纜或光纖作為傳輸介質;它的直接通信距離最遠可達10km,通信速率通信比特率可高達1Mbps(此時通信距離為40m);總線上可掛設備數主要取決于總線驅動電路,最多可達110個。
CAN總線網絡是一個多主機系統
CAN采用多主工作方式,節點之間不分主從,但節點之間有優先級之分,通信方式靈活,可實現點對點、一點對多點及廣播方式傳輸數據,無需調度。也就是說,它可向系統中的所有節點進行報文發送廣播。在這種網絡中,每個節點均可濾除不需要的報文。
與以太網之區別
傳統的客戶機/服務器網絡(如以太網)依賴于網絡尋址方式將數據發送到單一節點上,如果網絡中存在多個節點,則需用星形配置實現集中控制(見圖1左所示集中式網絡)。這種以太網絡中只需較少的單片機即可執行各種不同的任務,但所使用的是MCU(多芯片單元),通常需要有較多引腳,而且功能也更加復雜,很不方便。
與之相反,CAN系統中的每個節點均同時接收到同樣的數據。缺省情況下,CAN是基于報文而非地址的。系統采用分布式控制實現方法集成了多節點(見圖1右所示分布式網絡)。這種拓撲結構的好處之一是,節點的增加和去除非常簡單,對軟件的影響也很小。CAN網絡要求每個節點均具備智能,但智能化水平可根據節點所承載的任務進行調整。因此CAN系統中使用的單片機通常較簡單并且引腳數也較少。由于使用的導線較少并且采用分散式智能,而且CAN網絡還具有較高的可靠性。
圖1進一步顯示了在多任務網絡中,集中式網絡通常用于以太網系統,如果在系統中增加節點,則要求對系統MCU(多芯片單元)作很大的變動;而CAN網絡可實現分布式網絡,從系統中增加或刪除節點只需改變少量的固件。
CAN采用的是非破壞性總線仲裁技術,按優先級發送,可以大大節省總線沖突仲裁時間
而以太網在于它在發送結束前進行沖突檢測。而CAN在發送開始時采用沖突檢測并有解決方法。當同時發送的兩個或更多CAN節點在仲裁期間出現沖突時,報文優先級較低的節點會檢測到沖突。隨后優先級較低的節點切換到接收模式,等待下一次總線空閑才再次嘗試發送。
仲裁成功的發送器將繼續如常發送報文,由于在報文仲裁期間,模式的變更在發送的一開始就發生了,而優先級高的報文沒有遭到破壞,因此系統對沖突的仲裁結果能做出更快的回應。報文標志符可達2032種,而擴展標準的報文標志符幾乎不受限制。
目前CAN已由ISO TC22技術委員會批準為國際標準,在現場總線中,它是唯一被國際標準化組織批準的現場總線。CAN協議也遵循ISO/OSI模型,采用了其中的物理層、數據鏈路層與應用層。由Bosch公司負責編寫的CAN總線網絡技術規范已通過ISO和SAE標準化。完整的CAN規范標準參見ISO 11898-1。ISO 11898-2包含了CAN物理層規范。
評論