系統組成
CANBus系統通過相應的CAN接口連線工業設備(如限位開關、光電感測器、管道閥門、電機啟動器、過程感測器、變頻器、顯示板、PLC和PCI工作站等)構成低成本網路。
性能
直接連線不僅提供了設備級故障診斷方法,而且提高了通信效率和設備的互換性。CANBus數據傳輸速率為1Mbps時,傳輸最大距離為40m,速率為5kbps時傳輸最大距離為10km,基本站點數64,傳輸媒體是禁止雙絞線或光纖。
控制特點
CANBus數據鏈路層協定採用對等式(Peer to peer)通信方式,即使主機出現故障,系統其餘部分仍可運行(當然性能受一定影響)。當一個站點狀態改變時,它可廣播傳送信息到所有站點。
CANBus的信息傳輸通過報文進行,報文幀有4種類型:數據幀、遠程幀、出錯幀和超載幀,其中數據幀格式如圖8所示。CANBus幀的數據場較短,小於8B,數據長度在控制場中給出。短幀傳送一方面降低了報文出錯率,同時也有利於減少其他站點的傳送延遲時間。幀傳送的確認由傳送站與接收站共同完成,傳送站發出的ACK場包含兩個“空閒”位(recessive bit),接收站在收到正確的CRC場後,立即傳送一個“占有”位(dominant bit),給傳送站一個確認的回答。CANBus還提供很強的錯誤處理能力,可區分位錯誤、填充錯誤、CRC錯誤、形式錯誤和應答錯誤等。
CANBus套用一種面向位型的損傷仲裁方法來解決媒體多路訪問帶來的衝突問題。其仲裁過程是:當匯流排空閒時,線路表現為“閒置”電平(recessive level),此時任何站均可傳送報文。傳送站發出的幀起始欄位產生一個“占有”電平(dominant level),標誌傳送開始。所有站以首先開始傳送站的幀起始前沿來同步。若有多個站同時傳送,那么在傳送的仲裁場進行逐位比較。仲裁場包含標識符ID(標準為llbit),對應其優先權。每個站在傳送仲裁場時,將傳送位與線路電平比較,若相同則傳送;若不同則得知優先權低而退出仲裁, 不再傳送。系統回響時間與站點數無關,只取決於安排的優先權。可以看出,這種媒體訪問控制方式不像Ethetnet的CSMA/CDCA協定那樣會造成數據與信道頻寬受損。
協定
CANBus除配置設備網(DeviceNet)協定外,還提供基於CAL(CAN Application Layer) 的CANopen協定(CiA DS-301),即支持設備參數的直接訪問,又可實現有苛刻時間要求的過程數據通信。
CANBus的DeviceNet協定具有開放性,用戶無須購買加入系統所需的硬體、軟體和允許權,多廠家設備能夠在單一網路上相互操作。CANBus也允許與Ethernet或其他區域網路相連,接入控制算法組態及管理信息PC系統,從而形成管控一體化的工業網路。