<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > CAN總線(xiàn)的仲裁

CAN總線(xiàn)的仲裁

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

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

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

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

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

  圖2 CAN總線(xiàn)節點(diǎn)訪(fǎng)問(wèn)總線(xiàn)過(guò)程   

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

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>