<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > CAN總線協(xié)議及概念

          CAN總線協(xié)議及概念

          作者: 時間:2016-12-12 來源:網(wǎng)絡(luò) 收藏
          現(xiàn)在的汽車已經(jīng)不再僅僅是一種死氣沉沉的交通工具了。計算機的發(fā)明,也讓汽車有了一個職能的心。跟中嵌入式的計算機核心應(yīng)用到汽車當中。那么如何規(guī)范這個核心的工作呢?這就需要CAN總線協(xié)議來幫忙了。現(xiàn)在讓我們來了解一下這方面的知識吧。
          1,CAN總線協(xié)議基本概念:
          (1),報文:總線上的信息以不同格式的報文發(fā)送,但長度有限。當總線開放時,任何連接的單元均可開始發(fā)送一個新報文。
          (2),信息路由:在CAN系統(tǒng)中,一個CAN節(jié)點不使用有關(guān)系統(tǒng)結(jié)構(gòu)的任何信息,這里包含一些重要的概念:系統(tǒng)靈活性——節(jié)點可以在不要求所有節(jié)點及其應(yīng)用層改變?nèi)魏诬浖蛴布那闆r下,被接于CAN網(wǎng)絡(luò)。報文通信——一個報文的內(nèi)容由其標示符ID命名,ID并不指出報文的目的,但描述數(shù)據(jù)的含義,以便網(wǎng)絡(luò)中的所有節(jié)點有可能借助報文濾波決定該數(shù)據(jù)是否使它們激活。成組——由于采用了報文濾波,所有節(jié)點均可接受報文,并同時被相同的報文激活。數(shù)據(jù)相容性——在CAN網(wǎng)絡(luò)中,可以確保報文同時被所有的節(jié)點或者沒有節(jié)點接受,因此,系統(tǒng)的數(shù)據(jù)相容性是借助于成組和出錯處理達到的。
          (3),位速率:CAN的數(shù)據(jù)傳輸率在不同的系統(tǒng)中是不同的,而在一個系統(tǒng)中是固定的速率。
          (4),優(yōu)先權(quán):在總線訪問期間,標示符定義了一個報文靜態(tài)的優(yōu)先權(quán)。
          (5),遠程數(shù)據(jù)請求:通過發(fā)送一個遠程幀,需要數(shù)據(jù)的節(jié)點可以請求另一個節(jié)點發(fā)送相應(yīng)的數(shù)據(jù)幀,該數(shù)據(jù)幀與對應(yīng)的遠程幀以相同的標示符ID命名。
          (6),多主站:當總線開放時,任何單元均可以開始發(fā)送報文,發(fā)送具有最高優(yōu)先權(quán)報文的單元會贏得總線的訪問權(quán)。
          (7),仲裁:當總線開放時,任何單元均可以開始發(fā)送報文,若同時有兩個或者更多的單元開始發(fā)送,總線訪問沖突運用逐位仲裁規(guī)則,借助標示符ID解決,這種仲裁規(guī)則可以使信息和時間均無損失,若具有相同標示符的一個數(shù)據(jù)幀和一個遠程幀同時發(fā)送,數(shù)據(jù)幀優(yōu)先于遠程幀,仲裁期間,每個發(fā)送器都對發(fā)送位電平與總線上檢測到的電平進行比較,若相同則該單元可以繼續(xù)發(fā)送,當發(fā)送一個隱性電平,而在總線上檢測為顯性電平時,該單元退出仲裁,并不再傳送后繼位了。
          (8),安全性:CAN總線協(xié)議為了獲得盡可能高的數(shù)據(jù)傳輸安全性,在每個CAN節(jié)點中均設(shè)有錯誤檢測,標定和自檢的強有力措施。檢測措施包括:發(fā)送自檢,循環(huán)冗余校驗,位填充,和報文格式檢查。
          (9),出錯標注和恢復(fù)時間:已損壞的報文由檢驗出錯的節(jié)點進行標注。這樣的報文將失效,并自動進行重發(fā)送。如果不存在新的錯誤,從檢出錯誤到下一個報文開始發(fā)送的恢復(fù)實踐最多為29個位時間。
          (10),故障界定:CAN節(jié)點又能力識別永久性的故障和暫時擾動,可自動關(guān)閉故障節(jié)點。
          (11),連接:CAN串行通信鏈路是一條眾多單元均可被連接的總線,理論上單元數(shù)目是無限的,實際上,單元總數(shù)受限于延遲時間和總線的電器負載。
          (12),應(yīng)答:所有接收器均對接收報文的相容性進行檢查,回答一個相容的報文,并標注一個不相容的報文。
          2,CAN的特點:屬于串行通信網(wǎng)絡(luò)
          (1),通信方式靈活。多主從方式工作,網(wǎng)絡(luò)上任何節(jié)點均可以在任何時刻主動的向其他節(jié)點發(fā)送信息,不分主從。無需站地址等節(jié)點信息。可以構(gòu)成多機備份系統(tǒng)。
          (2),CAN網(wǎng)絡(luò)上的節(jié)點信息分成不同的優(yōu)先級,可以滿足不同的實時要求。
          (3),CAN采取非破壞性的總線仲裁技術(shù),多個節(jié)點同時發(fā)送信息時,優(yōu)先級低的節(jié)點會主動退出發(fā)送。
          (4),CAN只需通過報文濾波就可以實現(xiàn)點對點,1點對多點及全局廣播等幾種方式傳送接收,無需調(diào)度。
          (5),CAN的直接通信距離最遠可達10KM(5Kb/s),通信速率最高可達1Mb/s(40M)。
          (6),CAN上的節(jié)點數(shù)目前可達110個;報文標示符可達2032種(CAN2.0A ),而CAN2.0B報文標示符幾乎不受限制。
          (7),CAN通信采用短幀格式,傳輸時間短,抗干擾強,極好的驗錯效果,每幀最多8B足以滿足控制要求,不會占用過長總線時間,實時性強。
          (8),CAN每幀都有CRC校驗及其他驗錯措施。
          (9),接口中集成了CAN總線協(xié)議的物理層和數(shù)據(jù)鏈路層。
          (10),CAN的通信介質(zhì)可為雙絞線或同軸電纜,光纖。
          (11),CAN節(jié)點在錯誤嚴重情況下具有自動關(guān)閉輸出功能。
          3,CAN總線協(xié)議基本規(guī)則:
          (1),總線訪問:采用載波監(jiān)聽多路訪問,CAN控制器之恩能夠在總線空閑時,就是節(jié)點偵聽到網(wǎng)絡(luò)上至少存在3個空閑位(隱性位)時開始發(fā)送,采用硬同步,所有的控制器同步都為與幀的起始的前沿。過了一定時間,并在一定條件后,重同步。
          (2),仲裁:各節(jié)點向總線發(fā)電平時,也對總線上電平進行讀取,并于自身發(fā)送的電平進行比較,相同則發(fā)下一位,直至全部發(fā)完。不同則說明網(wǎng)絡(luò)上有更高優(yōu)先級的信息幀正在發(fā)送,即停止發(fā)送,退出競爭。
          (3),編碼/解碼:幀起始域,仲裁域,控制域,數(shù)據(jù)域和CRC序列均使用位填充技術(shù)進行編碼,就是5個連續(xù)的同狀態(tài)電平插入一位與它相補的電平,還原時每5個同狀態(tài)的電平后的相補電平被刪除。
          (4),出錯標注:當檢測到位錯誤,填充錯誤,形式錯誤或應(yīng)答錯誤時,檢測出錯條件的CAN控制器將發(fā)送一個出錯標志。
          (5),超載標注,一些控制器會發(fā)送一個或多個超載幀以延遲下一個數(shù)據(jù)幀或遠程幀的發(fā)送。
          相關(guān)組織
            依據(jù)國際標準化組織/開放系統(tǒng)互連(International Standardi-zation Organization/Open SystemInterconnection,ISO/OSI)參考模型,CAN的ISO/OSI參考模型的層結(jié)構(gòu)如圖7-6所示。
          概念和特征
            下面對CAN協(xié)議的媒體訪問控制子層的一些概念和特征做如下說明:
            (1)報文(Message)總線上的報文以不同報文格式發(fā)送,但長度受到限制。當總線空閑時,任何一個網(wǎng)絡(luò)上的節(jié)點都可以發(fā)送報文。
            (2)信息路由(Information Routing)在CAN中,節(jié)點不使用任何關(guān)于系統(tǒng)配置的報文,比如站地址,由接收節(jié)點根據(jù)報文本身特征判斷是否接收這幀信息。因此系統(tǒng)擴展時,不用對應(yīng)用層以及任何節(jié)點的軟件和硬件作改變,可以直接在CAN中增加節(jié)點。
            (3)標識符(Identifier)要傳送的報文有特征標識符(是數(shù)據(jù)幀和遠程幀的一個域),它給出的不是目標節(jié)點地址,而是這個報文本身的特征。信息以廣播方式在網(wǎng)絡(luò)上發(fā)送,所有節(jié)點都可以接收到。節(jié)點通過標識符判定是否接收這幀信息。
            (4)數(shù)據(jù)一致性應(yīng)確保報文在CAN里同時被所有節(jié)點接收或同時不接收,這是配合錯誤處理和再同步功能實現(xiàn)的。
            (5)位傳輸速率不同的CAN系統(tǒng)速度不同,但在一個給定的系統(tǒng)里,位傳輸速率是唯一的,并且是固定的。
            (6)優(yōu)先權(quán) 由發(fā)送數(shù)據(jù)的報文中的標識符決定報文占用總線的優(yōu)先權(quán)。標識符越小,優(yōu)先權(quán)越高。
            (7)遠程數(shù)據(jù)請求(Remote Data Request)通過發(fā)送遠程幀,需要數(shù)據(jù)的節(jié)點請求另一節(jié)點發(fā)送相應(yīng)的數(shù)據(jù)?;貞?yīng)節(jié)點傳送的數(shù)據(jù)幀與請求數(shù)據(jù)的遠程幀由相同的標識符命名。
            (8)仲裁(Arbitration)只要總線空閑,任何節(jié)點都可以向總線發(fā)送報文。如果有兩個或兩個以上的節(jié)點同時發(fā)送報文,就會引起總線訪問碰撞。通過使用標識符的逐位仲裁可以解決這個碰撞。仲裁的機制確保了報文和時間均不損失。當具有相同標識符的數(shù)據(jù)幀和遠程幀同時發(fā)送時,數(shù)據(jù)幀優(yōu)先于遠程幀。在仲裁期間,每一個發(fā)送器都對發(fā)送位的電平與被監(jiān)控的總線電平進行比較。如果電平相同,則這個單元可以繼續(xù)發(fā)送,如果發(fā)送的是“隱性”電平而監(jiān)視到的是“顯性”電平,那么這個單元就失去了仲裁,必須退出發(fā)送狀態(tài)。
            (9)總線狀態(tài) 總線有“顯性”和“隱性”兩個狀態(tài),“顯性”對應(yīng)邏輯“0”,“隱性”對應(yīng)邏輯“1”。“顯性”狀態(tài)和“隱性”狀態(tài)與為“顯性”狀態(tài),所以兩個節(jié)點同時分別發(fā)送“0”和“1”時,總線上呈現(xiàn)“0”。CAN總線采用二進制不歸零(NRZ)編碼方式,所以總線上不是“0”,就是“1”。但是CAN協(xié)議并沒有具體定義這兩種狀態(tài)的具體實現(xiàn)方式,如圖7-7所示。 (10)故障界定(Confinement) CAN節(jié)點能區(qū)分瞬時擾動引起的故障和永久性故障。故障節(jié)點會被關(guān)閉。
            (11)應(yīng)答接收節(jié)點對正確接收的報文給出應(yīng)答,對不一致報文進行標記。
           (12)CAN通訊距離最大是10公里(設(shè)速率為5Kbps),或最大通信速率為1Mbps(設(shè)通信距離為40米)。
            (13)CAN總線上的節(jié)點數(shù)可達110個。通信介質(zhì)可在雙絞線,同軸電纜,光纖中選擇。
            (14)報文是短幀結(jié)構(gòu),短的傳送時間使其受干擾概率低,CAN有很好的效驗機制,這些都保證了CAN通信的可靠性。
          2 CAN總線協(xié)議內(nèi)容
            CAN總線的物理層是將ECU連接至總線的驅(qū)動電路。ECU的總數(shù)將受限于總線上的電氣負荷。物理層定義了物理數(shù)據(jù)在總線上各節(jié)點間的傳輸過程,主要是連接介質(zhì)、線路電氣特性、數(shù)據(jù)的編碼/解碼、位定時和同步的實施標準。
          總線競爭的原則
            BOSCH CAN基本上沒有對物理層進行定義,但基于CAN的ISO標準對物理層進行了定義。設(shè)計一個CAN系統(tǒng)時,物理層具有很大的選擇余地,但必須保證CAN協(xié)議中媒體訪問層非破壞性位仲裁的要求,即出現(xiàn)總線競爭時,具有較高優(yōu)先權(quán)的報文獲取總線競爭的原則,所以要求物理層必須支持CAN總線中隱性位和顯性位的狀態(tài)特征。在沒有發(fā)送顯性位時,總線處于隱性狀態(tài),空閑時,總線處于隱性狀態(tài);當有一個或多個節(jié)點發(fā)送顯性位,顯性位覆蓋隱性位,使總線處于顯性狀態(tài)。
            在此基礎(chǔ)上,物理層主要取決于傳輸速度的要求。從物理結(jié)構(gòu)上看,CAN節(jié)點的構(gòu)成如圖7-8所示。在CAN中,物理層從結(jié)構(gòu)上可分為三層:分別是物理層信令(Physical Layer Signaling,PLS)、物理介質(zhì)附件(Physical MediaAttachment,PMA)層和介質(zhì)從屬接口(Media Dependent:Inter-face,MDI)層。其中PLS連同數(shù)據(jù)鏈路層功能由CAN控制器完成,PMA層功能由CAN收發(fā)器完成,MDI層定義了電纜和連接器的特性。目前也有支持CAN的微處理器內(nèi)部集成了CAN控制器和收發(fā)器電路,如MC68HC908GZl6。PMA和MDI兩層有很多不同的國際或國家或行業(yè)標準,也可自行定義,比較流行的是ISOll898定義的高速CAN發(fā)送/接收器標準。
          節(jié)點數(shù)量
            理論上,CAN總線上的節(jié)點數(shù)幾乎不受限制,可達到2000個,實際上受電氣特性的限制,最多只能接100多個節(jié)點。
          CAN的數(shù)據(jù)鏈路層
            CAN的數(shù)據(jù)鏈路層是其核心內(nèi)容,其中邏輯鏈路控制(Logical Link control,LLC)完成過濾、過載通知和管理恢復(fù)等功能,媒體訪問控制(Medium Aeeess control,MAC)子層完成數(shù)據(jù)打包/解包、幀編碼、媒體訪問管理、錯誤檢測、錯誤信令、應(yīng)答、串并轉(zhuǎn)換等功能。這些功能都是圍繞信息幀傳送過程展開的。
          3 CAN總線的報文傳輸和結(jié)構(gòu)
          報文類型
            在CAN2.0B的版本協(xié)議中有兩種不同的幀格式,不同之處為標識符域的長度不同,含有l(wèi)l位標識符的幀稱之為標準幀,而含有29位標識符的幀稱為擴展幀。如CAN1.2版本協(xié)議所描述,兩個版本的標準數(shù)據(jù)幀格式和遠程幀格式分別是等效的,而擴展格式是CAN2.0B協(xié)議新增加的特性。為使控制器設(shè)計相對簡單,并不要求執(zhí)行完全的擴展格式,對于新型控制器而言,必須不加任何限制的支持標準格式。但無論是哪種幀格式,在報文
          幀類型
            傳輸時都有以下四種不同類型的幀:
            (1)數(shù)據(jù)幀(Data )數(shù)據(jù)幀將數(shù)據(jù)從發(fā)送器傳輸?shù)浇邮掌鳌?/div>
            (2)遠程幀(Remote )總線單元發(fā)出遠程幀,請求發(fā)送具有同一標識符的數(shù)據(jù)幀。
            (3)錯誤幀(Error )任何單元檢測到總線錯誤就發(fā)出錯誤幀。
            (4)過載幀(Overload )過載幀用在相鄰數(shù)據(jù)幀或遠程幀之間提供附加的延時。
            數(shù)據(jù)幀或遠程幀與前一個幀之間都會有一個隔離域,即幀間間隔。數(shù)據(jù)幀和遠程幀可以使用標準幀及擴展幀兩種格式。
          現(xiàn)在的汽車已經(jīng)不再僅僅是一種死氣沉沉的交通工具了。計算機的發(fā)明,也讓汽車有了一個職能的心。跟中嵌入式的計算機核心應(yīng)用到汽車當中。那么如何規(guī)范這個核心的工作呢?這就需要CAN總線協(xié)議來幫忙了?,F(xiàn)在讓我們來了解一下這方面的知識吧。
          1,CAN總線協(xié)議基本概念:
          (1),報文:總線上的信息以不同格式的報文發(fā)送,但長度有限。當總線開放時,任何連接的單元均可開始發(fā)送一個新報文。
          (2),信息路由:在CAN系統(tǒng)中,一個CAN節(jié)點不使用有關(guān)系統(tǒng)結(jié)構(gòu)的任何信息,這里包含一些重要的概念:系統(tǒng)靈活性——節(jié)點可以在不要求所有節(jié)點及其應(yīng)用層改變?nèi)魏诬浖蛴布那闆r下,被接于CAN網(wǎng)絡(luò)。報文通信——一個報文的內(nèi)容由其標示符ID命名,ID并不指出報文的目的,但描述數(shù)據(jù)的含義,以便網(wǎng)絡(luò)中的所有節(jié)點有可能借助報文濾波決定該數(shù)據(jù)是否使它們激活。成組——由于采用了報文濾波,所有節(jié)點均可接受報文,并同時被相同的報文激活。數(shù)據(jù)相容性——在CAN網(wǎng)絡(luò)中,可以確保報文同時被所有的節(jié)點或者沒有節(jié)點接受,因此,系統(tǒng)的數(shù)據(jù)相容性是借助于成組和出錯處理達到的。
          (3),位速率:CAN的數(shù)據(jù)傳輸率在不同的系統(tǒng)中是不同的,而在一個系統(tǒng)中是固定的速率。
          (4),優(yōu)先權(quán):在總線訪問期間,標示符定義了一個報文靜態(tài)的優(yōu)先權(quán)。
          (5),遠程數(shù)據(jù)請求:通過發(fā)送一個遠程幀,需要數(shù)據(jù)的節(jié)點可以請求另一個節(jié)點發(fā)送相應(yīng)的數(shù)據(jù)幀,該數(shù)據(jù)幀與對應(yīng)的遠程幀以相同的標示符ID命名。
          (6),多主站:當總線開放時,任何單元均可以開始發(fā)送報文,發(fā)送具有最高優(yōu)先權(quán)報文的單元會贏得總線的訪問權(quán)。
          (7),仲裁:當總線開放時,任何單元均可以開始發(fā)送報文,若同時有兩個或者更多的單元開始發(fā)送,總線訪問沖突運用逐位仲裁規(guī)則,借助標示符ID解決,這種仲裁規(guī)則可以使信息和時間均無損失,若具有相同標示符的一個數(shù)據(jù)幀和一個遠程幀同時發(fā)送,數(shù)據(jù)幀優(yōu)先于遠程幀,仲裁期間,每個發(fā)送器都對發(fā)送位電平與總線上檢測到的電平進行比較,若相同則該單元可以繼續(xù)發(fā)送,當發(fā)送一個隱性電平,而在總線上檢測為顯性電平時,該單元退出仲裁,并不再傳送后繼位了。
          (8),安全性:CAN總線協(xié)議為了獲得盡可能高的數(shù)據(jù)傳輸安全性,在每個CAN節(jié)點中均設(shè)有錯誤檢測,標定和自檢的強有力措施。檢測措施包括:發(fā)送自檢,循環(huán)冗余校驗,位填充,和報文格式檢查。
          (9),出錯標注和恢復(fù)時間:已損壞的報文由檢驗出錯的節(jié)點進行標注。這樣的報文將失效,并自動進行重發(fā)送。如果不存在新的錯誤,從檢出錯誤到下一個報文開始發(fā)送的恢復(fù)實踐最多為29個位時間。
          (10),故障界定:CAN節(jié)點又能力識別永久性的故障和暫時擾動,可自動關(guān)閉故障節(jié)點。
          (11),連接:CAN串行通信鏈路是一條眾多單元均可被連接的總線,理論上單元數(shù)目是無限的,實際上,單元總數(shù)受限于延遲時間和總線的電器負載。
          (12),應(yīng)答:所有接收器均對接收報文的相容性進行檢查,回答一個相容的報文,并標注一個不相容的報文。
          2,CAN的特點:屬于串行通信網(wǎng)絡(luò)
          (1),通信方式靈活。多主從方式工作,網(wǎng)絡(luò)上任何節(jié)點均可以在任何時刻主動的向其他節(jié)點發(fā)送信息,不分主從。無需站地址等節(jié)點信息。可以構(gòu)成多機備份系統(tǒng)。
          (2),CAN網(wǎng)絡(luò)上的節(jié)點信息分成不同的優(yōu)先級,可以滿足不同的實時要求。
          (3),CAN采取非破壞性的總線仲裁技術(shù),多個節(jié)點同時發(fā)送信息時,優(yōu)先級低的節(jié)點會主動退出發(fā)送。
          (4),CAN只需通過報文濾波就可以實現(xiàn)點對點,1點對多點及全局廣播等幾種方式傳送接收,無需調(diào)度。
          (5),CAN的直接通信距離最遠可達10KM(5Kb/s),通信速率最高可達1Mb/s(40M)。
          (6),CAN上的節(jié)點數(shù)目前可達110個;報文標示符可達2032種(CAN2.0A ),而CAN2.0B報文標示符幾乎不受限制。
          (7),CAN通信采用短幀格式,傳輸時間短,抗干擾強,極好的驗錯效果,每幀最多8B足以滿足控制要求,不會占用過長總線時間,實時性強。
          (8),CAN每幀都有CRC校驗及其他驗錯措施。
          (9),接口中集成了CAN總線協(xié)議的物理層和數(shù)據(jù)鏈路層。
          (10),CAN的通信介質(zhì)可為雙絞線或同軸電纜,光纖。
          (11),CAN節(jié)點在錯誤嚴重情況下具有自動關(guān)閉輸出功能。
          3,CAN總線協(xié)議基本規(guī)則:
          (1),總線訪問:采用載波監(jiān)聽多路訪問,CAN控制器之恩能夠在總線空閑時,就是節(jié)點偵聽到網(wǎng)絡(luò)上至少存在3個空閑位(隱性位)時開始發(fā)送,采用硬同步,所有的控制器同步都為與幀的起始的前沿。過了一定時間,并在一定條件后,重同步。
          (2),仲裁:各節(jié)點向總線發(fā)電平時,也對總線上電平進行讀取,并于自身發(fā)送的電平進行比較,相同則發(fā)下一位,直至全部發(fā)完。不同則說明網(wǎng)絡(luò)上有更高優(yōu)先級的信息幀正在發(fā)送,即停止發(fā)送,退出競爭。
          (3),編碼/解碼:幀起始域,仲裁域,控制域,數(shù)據(jù)域和CRC序列均使用位填充技術(shù)進行編碼,就是5個連續(xù)的同狀態(tài)電平插入一位與它相補的電平,還原時每5個同狀態(tài)的電平后的相補電平被刪除。
          (4),出錯標注:當檢測到位錯誤,填充錯誤,形式錯誤或應(yīng)答錯誤時,檢測出錯條件的CAN控制器將發(fā)送一個出錯標志。
          (5),超載標注,一些控制器會發(fā)送一個或多個超載幀以延遲下一個數(shù)據(jù)幀或遠程幀的發(fā)送。
          相關(guān)組織
            依據(jù)國際標準化組織/開放系統(tǒng)互連(International Standardi-zation Organization/Open SystemInterconnection,ISO/OSI)參考模型,CAN的ISO/OSI參考模型的層結(jié)構(gòu)如圖7-6所示。
          概念和特征
            下面對CAN協(xié)議的媒體訪問控制子層的一些概念和特征做如下說明:
            (1)報文(Message)總線上的報文以不同報文格式發(fā)送,但長度受到限制。當總線空閑時,任何一個網(wǎng)絡(luò)上的節(jié)點都可以發(fā)送報文。
            (2)信息路由(Information Routing)在CAN中,節(jié)點不使用任何關(guān)于系統(tǒng)配置的報文,比如站地址,由接收節(jié)點根據(jù)報文本身特征判斷是否接收這幀信息。因此系統(tǒng)擴展時,不用對應(yīng)用層以及任何節(jié)點的軟件和硬件作改變,可以直接在CAN中增加節(jié)點。
            (3)標識符(Identifier)要傳送的報文有特征標識符(是數(shù)據(jù)幀和遠程幀的一個域),它給出的不是目標節(jié)點地址,而是這個報文本身的特征。信息以廣播方式在網(wǎng)絡(luò)上發(fā)送,所有節(jié)點都可以接收到。節(jié)點通過標識符判定是否接收這幀信息。
            (4)數(shù)據(jù)一致性應(yīng)確保報文在CAN里同時被所有節(jié)點接收或同時不接收,這是配合錯誤處理和再同步功能實現(xiàn)的。
            (5)位傳輸速率不同的CAN系統(tǒng)速度不同,但在一個給定的系統(tǒng)里,位傳輸速率是唯一的,并且是固定的。
            (6)優(yōu)先權(quán) 由發(fā)送數(shù)據(jù)的報文中的標識符決定報文占用總線的優(yōu)先權(quán)。標識符越小,優(yōu)先權(quán)越高。
            (7)遠程數(shù)據(jù)請求(Remote Data Request)通過發(fā)送遠程幀,需要數(shù)據(jù)的節(jié)點請求另一節(jié)點發(fā)送相應(yīng)的數(shù)據(jù)?;貞?yīng)節(jié)點傳送的數(shù)據(jù)幀與請求數(shù)據(jù)的遠程幀由相同的標識符命名。
            (8)仲裁(Arbitration)只要總線空閑,任何節(jié)點都可以向總線發(fā)送報文。如果有兩個或兩個以上的節(jié)點同時發(fā)送報文,就會引起總線訪問碰撞。通過使用標識符的逐位仲裁可以解決這個碰撞。仲裁的機制確保了報文和時間均不損失。當具有相同標識符的數(shù)據(jù)幀和遠程幀同時發(fā)送時,數(shù)據(jù)幀優(yōu)先于遠程幀。在仲裁期間,每一個發(fā)送器都對發(fā)送位的電平與被監(jiān)控的總線電平進行比較。如果電平相同,則這個單元可以繼續(xù)發(fā)送,如果發(fā)送的是“隱性”電平而監(jiān)視到的是“顯性”電平,那么這個單元就失去了仲裁,必須退出發(fā)送狀態(tài)。
            (9)總線狀態(tài) 總線有“顯性”和“隱性”兩個狀態(tài),“顯性”對應(yīng)邏輯“0”,“隱性”對應(yīng)邏輯“1”。“顯性”狀態(tài)和“隱性”狀態(tài)與為“顯性”狀態(tài),所以兩個節(jié)點同時分別發(fā)送“0”和“1”時,總線上呈現(xiàn)“0”。CAN總線采用二進制不歸零(NRZ)編碼方式,所以總線上不是“0”,就是“1”。但是CAN協(xié)議并沒有具體定義這兩種狀態(tài)的具體實現(xiàn)方式,如圖7-7所示。 (10)故障界定(Confinement) CAN節(jié)點能區(qū)分瞬時擾動引起的故障和永久性故障。故障節(jié)點會被關(guān)閉。
            (11)應(yīng)答接收節(jié)點對正確接收的報文給出應(yīng)答,對不一致報文進行標記。
           (12)CAN通訊距離最大是10公里(設(shè)速率為5Kbps),或最大通信速率為1Mbps(設(shè)通信距離為40米)。
            (13)CAN總線上的節(jié)點數(shù)可達110個。通信介質(zhì)可在雙絞線,同軸電纜,光纖中選擇。
            (14)報文是短幀結(jié)構(gòu),短的傳送時間使其受干擾概率低,CAN有很好的效驗機制,這些都保證了CAN通信的可靠性。
          2 CAN總線協(xié)議內(nèi)容
            CAN總線的物理層是將ECU連接至總線的驅(qū)動電路。ECU的總數(shù)將受限于總線上的電氣負荷。物理層定義了物理數(shù)據(jù)在總線上各節(jié)點間的傳輸過程,主要是連接介質(zhì)、線路電氣特性、數(shù)據(jù)的編碼/解碼、位定時和同步的實施標準。
          總線競爭的原則
            BOSCH CAN基本上沒有對物理層進行定義,但基于CAN的ISO標準對物理層進行了定義。設(shè)計一個CAN系統(tǒng)時,物理層具有很大的選擇余地,但必須保證CAN協(xié)議中媒體訪問層非破壞性位仲裁的要求,即出現(xiàn)總線競爭時,具有較高優(yōu)先權(quán)的報文獲取總線競爭的原則,所以要求物理層必須支持CAN總線中隱性位和顯性位的狀態(tài)特征。在沒有發(fā)送顯性位時,總線處于隱性狀態(tài),空閑時,總線處于隱性狀態(tài);當有一個或多個節(jié)點發(fā)送顯性位,顯性位覆蓋隱性位,使總線處于顯性狀態(tài)。
            在此基礎(chǔ)上,物理層主要取決于傳輸速度的要求。從物理結(jié)構(gòu)上看,CAN節(jié)點的構(gòu)成如圖7-8所示。在CAN中,物理層從結(jié)構(gòu)上可分為三層:分別是物理層信令(Physical Layer Signaling,PLS)、物理介質(zhì)附件(Physical MediaAttachment,PMA)層和介質(zhì)從屬接口(Media Dependent:Inter-face,MDI)層。其中PLS連同數(shù)據(jù)鏈路層功能由CAN控制器完成,PMA層功能由CAN收發(fā)器完成,MDI層定義了電纜和連接器的特性。目前也有支持CAN的微處理器內(nèi)部集成了CAN控制器和收發(fā)器電路,如MC68HC908GZl6。PMA和MDI兩層有很多不同的國際或國家或行業(yè)標準,也可自行定義,比較流行的是ISOll898定義的高速CAN發(fā)送/接收器標準。
          節(jié)點數(shù)量
            理論上,CAN總線上的節(jié)點數(shù)幾乎不受限制,可達到2000個,實際上受電氣特性的限制,最多只能接100多個節(jié)點。
          CAN的數(shù)據(jù)鏈路層
            CAN的數(shù)據(jù)鏈路層是其核心內(nèi)容,其中邏輯鏈路控制(Logical Link control,LLC)完成過濾、過載通知和管理恢復(fù)等功能,媒體訪問控制(Medium Aeeess control,MAC)子層完成數(shù)據(jù)打包/解包、幀編碼、媒體訪問管理、錯誤檢測、錯誤信令、應(yīng)答、串并轉(zhuǎn)換等功能。這些功能都是圍繞信息幀傳送過程展開的。
          3 CAN總線的報文傳輸和結(jié)構(gòu)
          報文類型
            在CAN2.0B的版本協(xié)議中有兩種不同的幀格式,不同之處為標識符域的長度不同,含有l(wèi)l位標識符的幀稱之為標準幀,而含有29位標識符的幀稱為擴展幀。如CAN1.2版本協(xié)議所描述,兩個版本的標準數(shù)據(jù)幀格式和遠程幀格式分別是等效的,而擴展格式是CAN2.0B協(xié)議新增加的特性。為使控制器設(shè)計相對簡單,并不要求執(zhí)行完全的擴展格式,對于新型控制器而言,必須不加任何限制的支持標準格式。但無論是哪種幀格式,在報文
          幀類型
            傳輸時都有以下四種不同類型的幀:
            (1)數(shù)據(jù)幀(Data )數(shù)據(jù)幀將數(shù)據(jù)從發(fā)送器傳輸?shù)浇邮掌鳌?/div>
            (2)遠程幀(Remote )總線單元發(fā)出遠程幀,請求發(fā)送具有同一標識符的數(shù)據(jù)幀。
            (3)錯誤幀(Error )任何單元檢測到總線錯誤就發(fā)出錯誤幀。
            (4)過載幀(Overload )過載幀用在相鄰數(shù)據(jù)幀或遠程幀之間提供附加的延時。
            數(shù)據(jù)幀或遠程幀與前一個幀之間都會有一個隔離域,即幀間間隔。數(shù)據(jù)幀和遠程幀可以使用標準幀及擴展幀兩種格式。


          關(guān)鍵詞: CAN總線協(xié)議概

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();