CAN總線特性概述

  1. CAN總線簡介

    CAN是Controller Area Network 的縮寫(以下稱爲CAN),是ISO國際標準化的串行通信協議。在汽車產業中,出於對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統被開發了出來。由於這些系統之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。爲適應"減少線束的數量"、"通過多個LAN進行大量數據的高速通信"的需要,1986 年德國電氣商博世公司開發出面向汽車的CAN 通信協議。此後CAN 通過ISO11898 及ISO11519 進行了標準化,在歐洲已是汽車網絡的標準協議。

    CAN 的高性能和可靠性已被認同,並被廣泛地應用於工業自動化、船舶、醫療設備、工業設備等方面。現場總線是當今自動化領域技術發展的熱點之一,被譽爲自動化領域的計算機局域網。它的出現爲分佈式控制系統實現各節點之間實時、可靠的數據通信提供了強有力的技術支持。

  2. CAN通信的特點

    CAN總線是德國BOSCH公司從80年代初爲解決現代汽車中衆多的控制與測試儀器之間的數據交換而開發的一種串行數據通信協議。它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維,通信速率最高可達1Mbps。

  3. 完成對通信數據的幀處理

    CAN總線通信接口中集成了CAN協議的物理層數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗餘檢驗、優先級判別等項工作。

  4. 網絡節點個數不受限制

    CAN協議的一個最大特點是廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼。採用這種方法的優點可使網絡內的節點個數在理論上不受限制,數據塊的標識符可由11位或29位二進制數組成,因此可以定義2或2個以上不同的數據塊,這種按數據塊編碼的方式,還可使不同的節點同時接收到相同的數據,這一點在分佈式控制系統中非常有用。數據段長度最多爲8個字節,可滿足通常工業領域中控制命令、工作狀態及測試數據的一般要求。同時,8個字節不會佔用總線時間過長,從而保證了通信的實時性。CAN協議採用CRC檢驗並可提供相應的錯誤處理功能,保證了數據通信的可靠性。CAN卓越的特性、極高的可靠性和獨特的設計,特別適合工業過程監控設備的互連,因此,越來越受到工業界的重視,並已公認爲最有前途的現場總線之一。

  5. 各個節點之間自由通信

    CAN總線採用了多主競爭式總線結構,具有多主站運行和分散仲裁的串行總線以及廣播通信的特點。CAN總線上任意節點可在任意時刻主動地向網絡上其它節點發送信息而不分主次,因此可在各節點之間實現自由通信。CAN總線協議已被國際標準化組織認證,技術比較成熟,控制的芯片已經商品化,性價比高,特別適用於分佈式測控系統之間的數據通訊。CAN總線插卡可以任意插在PC AT XT兼容機上,方便地構成分佈式監控系統

  6. 結構簡單

    只有2根線與外部相連,並且內部集成了錯誤探測和管理模塊。

  7. 傳輸距離和速率

    CAN總線特點:

    (1) 數據通信沒有主從之分,任意一個節點可以向任何其他(一個或多個)節點發起數據通信,靠各個節點信息優先級先後順序來決定通信次序,高優先級節點信息在134μs通信。

    (2) 多個節點同時發起通信時,優先級低的避讓優先級高的,不會對通信線路造成擁塞; (3) 通信距離最遠可達10KM(速率低於5Kbps)速率可達到1Mbps(通信距離小於40M)。(4) CAN總線傳輸介質可以是雙絞線,同軸電纜。CAN總線適用於大數據量短距離通信或者長距離小數據量,實時性要求比較高,多主多從或者各個節點平等的現場中使用。

     

  8. CAN通信的參考模型

    國際標準化組織ISO對通信系統的詳細劃分如圖31所示

     

    31 ISO國際標準化組織對通信系統的劃分

     

    CAN總線規範定義了ISO模型中的物理層和數據鏈路層。

    在SylixOS在應用層和數據鏈路層中間還加了一層系統層,上層應用通過調用操作系統提供的相應的接口實現對底層數據鏈路層的操作和控制。

     

    32 CAN總線協議層框圖

    一些國際組織定義了應用層,如CIA組織的CANopen、ODVA組織的DeviceNet等,也有一些用戶根據需求自行設計應用層。

     

  9. CAN信號的位電平

    CAN總線有ISO11898和ISO11519兩個通信標準,此兩個標準中差分電平的特性不相同如圖4-3所示。

    43 ISO11898ISO11519標準

    ISO11898和ISO11519-2的CAN_H和CAN_L的電平值是不一樣的(注:經過CAN控制器出來的信號是TTL 電頻(RX和TX),RX 或TX 的TTL電平經過CAN收發器以後出來的是CAN_H和CAN_L的差分信號)。現在用的大多數器件採用的都是ISO11898協議。

     

    爲何CAN要採取差分信號傳輸數據?

    雙絞線上傳輸差分信號,共振干擾使信號線上產生相同幅度和相位的該擾脈衝如圖44所示。

     

    44CAN總線傳輸時CAN_HCAN_L電平信號圖

    線路受到共模信號干擾後,信號差值不變,信號依然正確傳輸。

     

  10. CAN總線的同步機制

    CAN總線採用的是異步串行通信的方式沒有時鐘線,按照約定的頻率採樣數據如圖15所示。

    55異步串行通信採樣介紹

    採用同步採樣會帶來一些,由於沒有時鐘線,信號的接收者內部定時採集數據,由於系統時鐘的偏差,或者波特率的偏差會產生數據的讀取錯誤如圖56所示。

    56波特率採樣偏差

    CAN總線是如何進行同步的呢?如圖57所示。

    57CAN信號同步

    CAN總線以信號跳變沿作爲同步時刻,有效的把累計誤差限制在兩個跳變沿之間。

    但是這樣做任然有一個問題,就是在長時間連續高電平或者低電平中後仍然會有較大的累計誤差,仍然會有數據出錯的情況。

    CAN總線的設計者們也考慮到了這種情況如圖58所示。

    58 CAN同步機制

    在連續的5個相同的位之後插入一個相位,產生一個跳變沿,再結合上面以信號跳變沿作爲同步時刻,有效消除了累計誤差保證了CAN總線數據的可靠性(注:填充的這個相位是硬件上自動完成無需軟件設計完成)

     

  11. 參考資料

    《項目驅動--CAN-BUS現場總線基礎教程----周立功,黃曉清》。

    《現場總線技術及其應用第二版–清華大學出版社》。

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