CAN總線仲裁機(jī)制_第1頁
CAN總線仲裁機(jī)制_第2頁
CAN總線仲裁機(jī)制_第3頁
CAN總線仲裁機(jī)制_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、CAN總線是一種基于優(yōu)先級的串行通信網(wǎng)絡(luò),采用載波監(jiān)聽多路轉(zhuǎn)換沖突避免協(xié)議,CAN總線中傳輸?shù)臄?shù)據(jù)幀的起始部分為數(shù)據(jù)的標(biāo)識符,標(biāo)識符可以區(qū)分消息又可以表示消息的優(yōu)先級(0的優(yōu)先級最高)。CAN總線為多主工作方式,網(wǎng)絡(luò)上任意一節(jié)點(diǎn)均可在任意時刻主 動向網(wǎng)絡(luò)上的其它節(jié)點(diǎn)同時發(fā)送消息。若兩個或兩個以上的節(jié)點(diǎn)同時開始傳送報文,就會產(chǎn)生總線訪問沖突,根據(jù)逐位仲裁原則,借助幀開始部分的標(biāo)識符,優(yōu)先級低的節(jié)點(diǎn)主動停止 發(fā)送數(shù)據(jù),而優(yōu)先級高的節(jié)點(diǎn)繼續(xù)發(fā)送信息。在仲裁期間,CAN總線作“與”運(yùn)算,每一個節(jié)點(diǎn)都對節(jié)點(diǎn)發(fā)送的電平與總線電平進(jìn)行比較,如果電平相同,則節(jié)點(diǎn)可以繼續(xù)發(fā)送。如規(guī)定0的優(yōu)先級高,當(dāng)某一個節(jié)點(diǎn)發(fā)

2、送1而檢測到0時,此節(jié)點(diǎn)知道有更高優(yōu)先級的信息在發(fā) 送,它就停止發(fā)送消息,直到再一次檢測到網(wǎng)絡(luò)空閑。CAN總線采用的是一種叫做“載波監(jiān)測,多主掌控/沖突避免” (CSMA7CA)的通信模式。這種總線仲裁方式允許總線上的任何一個設(shè)各都有機(jī)會取得總線的控制權(quán)并向外發(fā)送數(shù) 據(jù)。如果在同一時刻有2個或2個以上的設(shè)各要求發(fā)送數(shù)據(jù),就會產(chǎn)生總線沖突,CAN總線能夠?qū)崟r地檢測這些沖突并對其進(jìn)行仲裁,從而使具有高優(yōu)先級的數(shù)據(jù)不受任何損壞地傳 輸。當(dāng)總線處于空閑狀態(tài)時呈隱性電平,此時任何節(jié)點(diǎn)都可以向總線發(fā)送顯性電平作為幀的開始。如果2個或2個以上同時發(fā)送就會產(chǎn)生競爭。CAN總線解決競爭的方法同以太網(wǎng)的CSMA/

3、CD (Carrier Sense Multiple Access with Collision Detection)方法基本相似,如圖1所示。此外, CAN總線做了改進(jìn)并采用CSMA7CA (Carrier Sense Multiple Access with Collision Avoidance)訪問總線,按位對標(biāo)識符進(jìn)行仲裁。各節(jié)點(diǎn)在向總線發(fā)送電平的同 時,也對總線上的電平讀取, 并與自身發(fā)送的電平進(jìn)行比較,如果電平相同繼續(xù)發(fā)送下一位,不同則停止發(fā)送退出總線競爭。剩余的節(jié)點(diǎn)繼續(xù)上述過程,直到總線上只剩下1個節(jié)點(diǎn)發(fā)送的電平,總線競爭結(jié)束,優(yōu)先級高的節(jié)點(diǎn)獲得總線的控制權(quán)。圖1 CSMA /

4、 CD總線訪問過程送報文??偩€2 CAN總線節(jié)點(diǎn)訪問總線過程CAN總線以報文為單位進(jìn)行數(shù)據(jù)傳輸,報文的優(yōu)先級結(jié)合在44位標(biāo)識符中(擴(kuò)展幀的標(biāo)識符29位),具有最小二進(jìn)制數(shù)的標(biāo)識符的節(jié)點(diǎn)具有最高的優(yōu)先級。這種優(yōu)先級一旦在系統(tǒng)設(shè)計時確定就不能隨意地更改,總線讀取產(chǎn)生的沖突主要靠這些位仲裁解決。之所以CAN總線不采用以太網(wǎng)使用的延時避免沖突,主要是為了保證具有更高優(yōu)先級的節(jié)點(diǎn)能夠完整地實(shí)時傳輸,而且CSMA / CA可以有效地避免沖突。如圖2所示,節(jié)點(diǎn)A和節(jié)點(diǎn)B的標(biāo)識符的第10、9、8位電平相同,因此兩個節(jié)點(diǎn)偵聽到的信息和它們發(fā)出的信息相同。第7位節(jié)點(diǎn)B發(fā)出一個1;但從節(jié)點(diǎn)上接收到的消息卻是“0;說

5、明有更高優(yōu)先級的節(jié)點(diǎn)占用總線發(fā)送消息。節(jié)點(diǎn)B會退出發(fā)送處于單純監(jiān)聽方式而不發(fā)送數(shù)據(jù);節(jié)點(diǎn)A成功發(fā)送仲裁位從而獲得總線的控制權(quán),繼而發(fā)送全部消息??偩€中的信號持續(xù)跟蹤最后獲得總線控制權(quán)發(fā)出的報文,本例中節(jié)點(diǎn)A的報文將被跟蹤。這種非破壞性位仲裁方法的優(yōu)點(diǎn)在于,在網(wǎng)絡(luò)最終確定哪個節(jié)點(diǎn)被傳送前,報文的起始部分已經(jīng)在網(wǎng)絡(luò)中傳輸了, 因此具有高優(yōu)先級的節(jié)點(diǎn)的數(shù)據(jù)傳輸沒有任何延時。在秋得總線控制權(quán)的節(jié)點(diǎn)發(fā)送數(shù)據(jù)過程中,其他節(jié)點(diǎn)成為報文的接收節(jié)點(diǎn),并且不會在總線再次空閑之前發(fā)節(jié)點(diǎn)A+1starts IDltk|- ID9i-jjID8*ID6卜圖3為CAN總線上節(jié)點(diǎn)的電平邏輯, 總線上的節(jié)點(diǎn)電平對于總線電平而

6、言是相與的關(guān) 系,只有當(dāng)3個節(jié)點(diǎn)的電壓都等于1(隱性電平),總線才會保持在vcc(隱性電平)狀態(tài)。 只要有1個節(jié)點(diǎn)切換到0狀態(tài)(顯性電平),總線就會被強(qiáng)制在顯性狀態(tài)(0)。這種避免總 線沖突的仲裁方式能夠使具有高優(yōu)先級的消息沒有延時地占用總線傳輸。Node1Node2Node3High :隱性位(1)highhighhighhighLow :顯性位(0)highlowhighlowlowlowhighlow按位仲裁是CAN總線特有的仲裁方式,顯性位覆蓋隱性位。優(yōu)先級高的報文根據(jù)此機(jī)制搶占總線,優(yōu)先級低的報文退出競爭。正因?yàn)镃AN有這樣的仲裁機(jī)制, 它難以抵抗高優(yōu)先級攻擊和重發(fā)報文攻擊。舉例:1

7、因?yàn)镃AN的模塊在發(fā)送數(shù)據(jù)的時候,也同時會對總線進(jìn)行監(jiān)聽,假設(shè)兩個節(jié)點(diǎn)同時 發(fā)送數(shù)據(jù),A節(jié)點(diǎn)發(fā)送的前3個位是100,B節(jié)點(diǎn)為101,在前2個位發(fā)送完畢的時候, 兩個節(jié) 點(diǎn)都會認(rèn)為自己發(fā)送成功,但是當(dāng)發(fā)送到第三個位的時候,B節(jié)點(diǎn)會失去仲裁,因?yàn)?的優(yōu)先 級高于1的優(yōu)先級,B節(jié)點(diǎn)監(jiān)聽到總線上不是1,因此失去仲裁,等待重新發(fā)送數(shù)據(jù)。CAN節(jié)點(diǎn)在仲裁丟失后,根據(jù)CAN2.0B協(xié)議規(guī)范,會自動重發(fā)。如果高優(yōu)先級的報文一直占用著 總線,則其他低優(yōu)先級的報文將無法獲得仲裁,但是會嘗試重新發(fā)送。只有當(dāng)高優(yōu)先級報文不再占用總線時,低優(yōu)先級的報文才可能發(fā)送成功。否則低優(yōu)先級報文會出現(xiàn)“假餓死”狀態(tài)。(例如在CAN_NM的邏輯環(huán)網(wǎng)絡(luò)管理中,利用T_max,T_type等定時器來防止報文假餓死)2如果在某一時刻CAN總線上的多個單元同時向總線發(fā)送數(shù)據(jù),優(yōu)先級高的繼續(xù)發(fā) 送,那么怎樣保證優(yōu)先級低的數(shù)據(jù)不丟失呢?如果整個can網(wǎng)絡(luò)都是自己管理的,那么可 以通過應(yīng)用層協(xié)議來調(diào)整每個節(jié)點(diǎn)的發(fā)送時間,無論優(yōu)先級高低,如果發(fā)送時間過長(長短程度這個根據(jù)您的項(xiàng)目來把握)則暫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論