CAN匯流排協議

2021-09-10 01:12:02 字數 2468 閱讀 1602

can[control(controller)area network]是控制(器)區域網的簡稱

can是一種有效支援分布式控制或實時控制的序列通訊網路,最初由德國bosch公司80年代用於汽車內部測試和控制儀器之間的資料通訊。

目前can 匯流排規範已被國際標準化組織iso制訂為國際標準iso11898,並得到了motorola,intel ,philips等大半導體器件生產廠家的支援,迅速推出各種整合有can協議的產品。

目前can匯流排主要用於汽車自動化領域,如發動機自動點火、注油、複雜的加速剎車控制(asc)、抗鎖定剎車系統(abs)和抗滑系統等。

benz、bmw等著名汽車上已經採用can來滿足上述功能。在工業過程控制領域,can也得到了廣泛的應用。

can協議can匯流排採用分層結構,規範規定了任意兩個節點之間的相容性。包括電氣特件利資料解釋協議。

can協議可分為:目標層、傳送層、物理層。

目標層和傳送層包括了iso/osi定義的資料鏈路的所有功能。

目標層的功能包括:確認要傳送的資訊;

位應用層提供介面。

傳送層功能包括:資料幀組織:匯流排仲裁:檢錯、錯誤報告、錯誤處理。

can匯流排以報文為單位進行資訊交換,報文中含有標示符(id),它既描述了資料的含義又表明了報文的優先權。

can匯流排上的各個協點都可主動傳送資料。當同時有兩個或兩個以上的節點傳送報文時,can控制器採用id進行仲裁。

id控制節點對匯流排的訪問。傳送具有最高優先權報文的節點獲得匯流排的使用權,其他節點自動停止傳送,匯流排空閒後,這些節點將自動重發報文。

can支援四類資訊幀型別:

(1)資料幀 can協議有兩種資料幀型別標準2.0a和標準2.0b。兩者本質的不同在於id的長度不同。在2.0a型別中,id的長度為l l位;在2.0b型別中id為29位。

乙個資訊震中包括7個主要的域: 幀起始域——標誌資料幀的開始,由乙個顯性位組成。

仲裁域——內容由標示符和遠端傳輸請求位(rtr)組成,rtr用以表明此資訊幀是資料幀還是不包含任何資料的遠地請求幀。

當2.0a的資料幀和2.0b的資料幀必須在同一條匯流排上傳輸時,首先判斷其優先權,如果id相同,則非擴充套件資料幀的優先權高於擴充套件資料幀。

控制域——r0、r1是保留位,作為擴充套件位,dlc表示一幀中資料位元組的數目。

資料域——包含0~8位元組的資料。校驗域——檢驗位錯用的迴圈冗餘校驗域,共15位。

應答域——包括應答位和應答分隔符。正確接收到有效報文的接收站在應答期間將匯流排值為顯性電平。

幀結束——由七位隱性電平組成。

(2)遠端幀接受資料的節點可通過發遠端幀請求源節點傳送資料。

它由6個域組成:幀起始、仲裁域、控制域、校驗域、應答域、幀結束。

(3)錯誤指示幀由錯誤標誌和錯誤分界兩個域組成。接收節點發現匯流排上的報文有誤時,將自動發出「活動錯誤標誌」其他節點檢測到活動錯誤標誌後傳送「錯誤認可標誌」。

(4)超載幀由超載標誌和超載分隔符組成。超載幀只能在乙個幀結束後開始。當接收方接收下一幀之前,需要過多的時間處理當前的資料,

或在幀問空隙域檢測到顯性電平時,則導致傳送超載幀。

(5)幀間空隙位於資料幀和遠地幀與前面的資訊幀之間,由幀間空隙和匯流排空閒狀態組成。

幀間空隙是必要的,在此期間, can不進行新的幀傳送,為的是can控制器在下次資訊傳遞前有時間進行內部處理操作。

當匯流排空閒時can控制器方可傳送資料。

電氣引數及訊號表示

匯流排上的資料採用不歸零編碼方式(nrz),可具有兩種互補的邏輯值之一:顯性及隱性。can匯流排中各節點使用相同的位速率。

它的每位時間由同步段、傳播段、相位緩衝段1及相位緩衝段2組成。

傳送器在同步段前改變輸出的位數值,接受器在兩個相位緩衝段間取樣輸入位值,而兩個相位緩衝段長度可自由調節,以保證取樣的可靠性。

另外,can匯流排採用時鐘同步技術來保證通訊的同步。

can的主要技術特點

can網路上的節點不分主從,任一節點均可在任意時刻主動地向網路上其他節點傳送資訊,通訊方式靈活,

利用這一特點可方便地構成多機備份系統,can只需通過報文濾波即可實現點對點、一點對多點及全域性廣播等幾種方式傳送接收資料,

無需專門的"排程" can的直接通訊距離最遠可達10km(速率5kbps以下);

通訊速率最高可達1mbps(此時通訊距離最長為40m)。

can上的節點數主要決定於匯流排驅動電路,目前可達110個;

報文識別符號可達2032種(can2.0a),而擴充套件標準(can2.0b)的報文識別符號幾乎不受限制。

can匯流排通過can收發器介面晶元82c250的兩個輸出端canh和canl與物理匯流排相連,

而canh端的狀態只能是高電平或懸浮狀態,canl端只能是低電平或懸浮狀態。

這就保證不會在出現在rs-485網路中的現象,即當系統有錯誤,

出現多節點同時向匯流排傳送資料時,導致匯流排呈現短路,從而損壞某些節點的現象。而且can節點在錯誤嚴重的情況下具有自動關閉輸出功能,

以使匯流排上其他節點的操作不受影響,從而保證不會出現象在網路中,因個別節點出現問題,使得匯流排處於「死鎖」狀態。

CAN匯流排協議

can control controller area network 是控制 器 區域網的簡稱 can是一種有效支援分布式控制或實時控制的序列通訊網路,最初由德國bosch公司80年代用於汽車內部測試和控制儀器之間的資料通訊。目前can 匯流排規範已被國際標準化組織iso制訂為國際標準iso118...

can匯流排協議(二)

can協議已經由iso標準化,有2個版本,如iso11898和iso11519 2,它們之間在資料鏈路層沒什麼不同,但是在物理層有些區別。1 關於iso11898 這個標準用於高速can通訊。開始的時候,資料鏈路層和物理層都在標準iso11898中規定,後來被拆分為iso11898 1 僅涉及資料鏈...

CAN匯流排協議簡介

can匯流排協議有can1.0 can2.0 can2.0a can2.0b can2.0b協議報文按照識別符號的長度不同,分為兩種格式 標準幀 11位識別符號 擴充套件幀 29位識別符號 其中擴充套件幀只適合於can2.0b can2.0b中為了適應不同的資料傳遞過程,定義了4種幀型別 資料幀 遠...