您好,登錄后才能下訂單哦!
CAN是Controller Area Network 的縮寫(以下稱為CAN),是ISO國際標準化的串行通信協議。在汽車產業中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統被開發了出來。由于這些系統之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。為適應"減少線束的數量"、"通過多個LAN進行大量數據的高速通信"的需要,1986 年德國電氣商博世公司開發出面向汽車的CAN 通信協議。此后CAN 通過ISO11898 及ISO11519 進行了標準化,在歐洲已是汽車網絡的標準協議。
CAN 的高性能和可靠性已被認同,并被廣泛地應用于工業自動化、船舶、醫療設備、工業設備等方面。現場總線是當今自動化領域技術發展的熱點之一,被譽為自動化領域的計算機局域網。它的出現為分布式控制系統實現各節點之間實時、可靠的數據通信提供了強有力的技術支持。
CAN總線是德國BOSCH公司從80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行數據通信協議。它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維,通信速率最高可達1Mbps。
CAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗余檢驗、優先級判別等項工作。
CAN協議的一個最大特點是廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼。采用這種方法的優點可使網絡內的節點個數在理論上不受限制,數據塊的標識符可由11位或29位二進制數組成,因此可以定義2或2個以上不同的數據塊,這種按數據塊編碼的方式,還可使不同的節點同時接收到相同的數據,這一點在分布式控制系統中非常有用。數據段長度最多為8個字節,可滿足通常工業領域中控制命令、工作狀態及測試數據的一般要求。同時,8個字節不會占用總線時間過長,從而保證了通信的實時性。CAN協議采用CRC檢驗并可提供相應的錯誤處理功能,保證了數據通信的可靠性。CAN卓越的特性、極高的可靠性和獨特的設計,特別適合工業過程監控設備的互連,因此,越來越受到工業界的重視,并已公認為最有前途的現場總線之一。
CAN總線采用了多主競爭式總線結構,具有多主站運行和分散仲裁的串行總線以及廣播通信的特點。CAN總線上任意節點可在任意時刻主動地向網絡上其它節點發送信息而不分主次,因此可在各節點之間實現自由通信。CAN總線協議已被國際標準化組織認證,技術比較成熟,控制的芯片已經商品化,性價比高,特別適用于分布式測控系統之間的數據通訊。CAN總線插卡可以任意插在PC AT XT兼容機上,方便地構成分布式監控系統。
只有2根線與外部相連,并且內部集成了錯誤探測和管理模塊。
CAN總線特點:
(1) 數據通信沒有主從之分,任意一個節點可以向任何其他(一個或多個)節點發起數據通信,靠各個節點信息優先級先后順序來決定通信次序,高優先級節點信息在134μs通信。
(2) 多個節點同時發起通信時,優先級低的避讓優先級高的,不會對通信線路造成擁塞; (3) 通信距離最遠可達10KM(速率低于5Kbps)速率可達到1Mbps(通信距離小于40M)。(4) CAN總線傳輸介質可以是雙絞線,同軸電纜。CAN總線適用于大數據量短距離通信或者長距離小數據量,實時性要求比較高,多主多從或者各個節點平等的現場中使用。
國際標準化組織ISO對通信系統的詳細劃分如圖31所示
圖31 ISO國際標準化組織對通信系統的劃分
CAN總線規范定義了ISO模型中的物理層和數據鏈路層。
在SylixOS在應用層和數據鏈路層中間還加了一層系統層,上層應用通過調用操作系統提供的相應的接口實現對底層數據鏈路層的操作和控制。
圖32 CAN總線協議層框圖
一些國際組織定義了應用層,如CIA組織的CANopen、ODVA組織的DeviceNet等,也有一些用戶根據需求自行設計應用層。
CAN總線有ISO11898和ISO11519兩個通信標準,此兩個標準中差分電平的特性不相同如圖4-3所示。
圖43 ISO11898和ISO11519標準
ISO11898和ISO11519-2的CAN_H和CAN_L的電平值是不一樣的(注:經過CAN控制器出來的信號是TTL 電頻(RX和TX),RX 或TX 的TTL電平經過CAN收發器以后出來的是CAN_H和CAN_L的差分信號)。現在用的大多數器件采用的都是ISO11898協議。
為何CAN要采取差分信號傳輸數據?
雙絞線上傳輸差分信號,共振干擾使信號線上產生相同幅度和相位的該擾脈沖如圖44所示。
圖44CAN總線傳輸時CAN_H和CAN_L電平信號圖
線路受到共模信號干擾后,信號差值不變,信號依然正確傳輸。
CAN總線采用的是異步串行通信的方式沒有時鐘線,按照約定的頻率采樣數據如圖15所示。
圖55異步串行通信采樣介紹
采用同步采樣會帶來一些,由于沒有時鐘線,信號的接收者內部定時采集數據,由于系統時鐘的偏差,或者波特率的偏差會產生數據的讀取錯誤如圖56所示。
圖56波特率采樣偏差
CAN總線是如何進行同步的呢?如圖57所示。
圖57CAN信號同步
CAN總線以信號跳變沿作為同步時刻,有效的把累計誤差限制在兩個跳變沿之間。
但是這樣做任然有一個問題,就是在長時間連續高電平或者低電平中后仍然會有較大的累計誤差,仍然會有數據出錯的情況。
CAN總線的設計者們也考慮到了這種情況如圖58所示。
圖58 CAN同步機制
在連續的5個相同的位之后插入一個相位,產生一個跳變沿,再結合上面以信號跳變沿作為同步時刻,有效消除了累計誤差保證了CAN總線數據的可靠性(注:填充的這個相位是硬件上自動完成無需軟件設計完成)
《項目驅動--CAN-BUS現場總線基礎教程----周立功,黃曉清》。
《現場總線技術及其應用第二版–清華大學出版社》。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。