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

          新聞中心

          CAN總線的仲裁

          作者: 時(shí)間:2011-07-12 來(lái)源:網(wǎng)絡(luò) 收藏
            采用的是一種叫做“載波監(jiān)測(cè),多主掌控/沖突避免”(CSMA/CA)的通信模式。這種總線方式允許總線上的任何一個(gè)設(shè)各都有機(jī)會(huì)取得總線的控制權(quán)并向外發(fā)送數(shù)據(jù)。如果在同一時(shí)刻有2個(gè)或2個(gè)以上的設(shè)各要求發(fā)送數(shù)據(jù),就會(huì)產(chǎn)生總線沖突,能夠?qū)崟r(shí)地檢測(cè)這些沖突并對(duì)其進(jìn)行,從而使具有高優(yōu)先級(jí)的數(shù)據(jù)不受任何損壞地傳輸。

          當(dāng)總線處于空閑狀態(tài)時(shí)呈隱性電平,此時(shí)任何節(jié)點(diǎn)都可以向總線發(fā)送顯性電平作為幀的開始。如果2個(gè)或2個(gè)以上同時(shí)發(fā)送就會(huì)產(chǎn)生競(jìng)爭(zhēng)。解決競(jìng)爭(zhēng)的方法同以太網(wǎng)的CSMA/CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如圖1所示。此外,CAN總線做了改進(jìn)并采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)訪問(wèn)總線,按位對(duì)標(biāo)識(shí)符進(jìn)行。各節(jié)點(diǎn)在向總線發(fā)送電平的同時(shí),也對(duì)總線上的電平讀取,并與自身發(fā)送的電平進(jìn)行比較,如果電平相同繼續(xù)發(fā)送下一位,不同則停止發(fā)送退出總線競(jìng)爭(zhēng)。剩余的節(jié)點(diǎn)繼續(xù)上述過(guò)程,直到總線上只剩下1個(gè)節(jié)點(diǎn)發(fā)送的電平,總線競(jìng)爭(zhēng)結(jié)束,優(yōu)先級(jí)高的節(jié)點(diǎn)獲得總線的控制權(quán)。

          圖1 Ethernet采用的CSMA/ CD總線訪問(wèn)過(guò)程   

          CAN總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳輸,報(bào)文的優(yōu)先級(jí)結(jié)合在44位標(biāo)識(shí)符中(擴(kuò)展幀的標(biāo)識(shí)符29位),具有最小二進(jìn)制數(shù)的標(biāo)識(shí)符的節(jié)點(diǎn)具有最高的優(yōu)先級(jí)。這種優(yōu)先級(jí)一旦在系統(tǒng)設(shè)計(jì)時(shí)確定就不能隨意地更改,總線讀取產(chǎn)生的沖突主要靠這些位仲裁解決。之所以CAN總線不采用以太網(wǎng)使用的延時(shí)避免沖突,主要是為了保證具有更高優(yōu)先級(jí)的節(jié)點(diǎn)能夠完整地實(shí)時(shí)傳輸,而且CSMA/CA可以有效地避免沖突。

          如圖2所示,節(jié)點(diǎn)A和節(jié)點(diǎn)B的標(biāo)識(shí)符的第lO、9、8位電平相同,因此兩個(gè)節(jié)點(diǎn)偵聽到的信息和它們發(fā)出的信息相同。第7位節(jié)點(diǎn)B發(fā)出一個(gè)“1”,但從節(jié)點(diǎn)上接收到的消息卻是“0”,說(shuō)明有更高優(yōu)先級(jí)的節(jié)點(diǎn)占用總線發(fā)送消息。節(jié)點(diǎn)B會(huì)退出發(fā)送處于單純監(jiān)聽方式而不發(fā)送數(shù)據(jù);節(jié)點(diǎn)A成功發(fā)送仲裁位從而獲得總線的控制權(quán),繼而發(fā)送全部消息??偩€中的信號(hào)持續(xù)跟蹤最后獲得總線控制權(quán)發(fā)出的報(bào)文,本例中節(jié)點(diǎn)A的報(bào)文將被跟蹤。這種非破壞性位仲裁方法的優(yōu)點(diǎn)在于,在網(wǎng)絡(luò)最終確定哪個(gè)節(jié)點(diǎn)被傳送前,報(bào)文的起始部分已經(jīng)在網(wǎng)絡(luò)中傳輸了,因此具有高優(yōu)先級(jí)的節(jié)點(diǎn)的數(shù)據(jù)傳輸沒(méi)有任何延時(shí)。在獲得總線控制權(quán)的節(jié)點(diǎn)發(fā)送數(shù)據(jù)過(guò)程中,其他節(jié)點(diǎn)成為報(bào)文的接收節(jié)點(diǎn),并且不會(huì)在總線再次空閑之前發(fā)送報(bào)文。

            圖2 CAN總線節(jié)點(diǎn)訪問(wèn)總線過(guò)程   

          圖3為CAN總線上節(jié)點(diǎn)的電平邏輯,總線上的節(jié)點(diǎn)電平對(duì)于總線電平而言是相與的關(guān)系,只有當(dāng)3個(gè)節(jié)點(diǎn)的電壓都等于1(隱性電平),總線才會(huì)保持在ycc(隱性電平)狀態(tài)。只要有1個(gè)節(jié)點(diǎn)切換到0狀態(tài)(顯性電平),總線就會(huì)被強(qiáng)制在顯性狀態(tài)(0)。這種避免總線沖突的仲裁方式能夠使具有高優(yōu)先級(jí)的消息沒(méi)有延時(shí)地占用總線傳輸。

            圖3 CAN總線上節(jié)點(diǎn)的電平邏輯



          關(guān)鍵詞: CAN總線 仲裁

          評(píng)論


          相關(guān)推薦

          技術(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); })();