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種幀型別 資料幀 遠...