CAN總線的仲裁
發(fā)布時(shí)間:2009/1/13 0:00:00 訪問次數(shù):1973
can總線采用的是一種叫做“載波監(jiān)測,多主掌控/沖突避免”(csma/ca)的通信模式。這種總線仲裁方式允許總線上的任何一個(gè)設(shè)各都有機(jī)會取得總線的控制權(quán)并向外發(fā)送數(shù)據(jù)。如果在同一時(shí)刻有2個(gè)或2個(gè)以上的設(shè)各要求發(fā)送數(shù)據(jù),就會產(chǎn)生總線沖突,can總線能夠?qū)崟r(shí)地檢測這些沖突并對其進(jìn)行仲裁,從而使具有高優(yōu)先級的數(shù)據(jù)不受任何損壞地傳輸。
當(dāng)總線處于空閑狀態(tài)時(shí)呈隱性電平,此時(shí)任何節(jié)點(diǎn)都可以向總線發(fā)送顯性電平作為幀的開始。如果2個(gè)或2個(gè)以上同時(shí)發(fā)送就會產(chǎn)生競爭。can總線解決競爭的方法同以太網(wǎng)的csma/cd(carrier sense multiple access with collislon detection)方法基本相似,如圖1所示。此外,can總線做了改進(jìn)并采用csma/ca(carrier sense multiple access with collision avoidance)訪問總線,按位對標(biāo)識符進(jìn)行仲裁。各節(jié)點(diǎn)在向總線發(fā)送電平的同時(shí),也對總線上的電平讀取,并與自身發(fā)送的電平進(jìn)行比較,如果電平相同繼續(xù)發(fā)送下一位,不同則停止發(fā)送退出總線競爭。剩余的節(jié)點(diǎn)繼續(xù)上述過程,直到總線上只剩下1個(gè)節(jié)點(diǎn)發(fā)送的電平,總線競爭結(jié)束,優(yōu)先級高的節(jié)點(diǎn)獲得總線的控制權(quán)。
圖1 ethernet采用的csma/ cd總線訪問過程
can總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳輸,報(bào)文的優(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è)計(jì)時(shí)確定就不能隨意地更改,總線讀取產(chǎn)生的沖突主要靠這些位仲裁解決。之所以can總線不采用以太網(wǎng)使用的延時(shí)避免沖突,主要是為了保證具有更高優(yōu)先級的節(jié)點(diǎn)能夠完整地實(shí)時(shí)傳輸,而且csma/ca可以有效地避免沖突。
如圖2所示,節(jié)點(diǎn)a和節(jié)點(diǎn)b的標(biāo)識符的第lo、9、8位電平相同,因此兩個(gè)節(jié)點(diǎn)偵聽到的信息和它們發(fā)出的信息相同。第7位節(jié)點(diǎn)b發(fā)出一個(gè)“1”,但從節(jié)點(diǎn)上接收到的消息卻是“0”,說明有更高優(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ā)出的報(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)先級的節(jié)點(diǎn)的數(shù)據(jù)傳輸沒有任何延時(shí)。在獲得總線控制權(quán)的節(jié)點(diǎn)發(fā)送數(shù)據(jù)過程中,其他節(jié)點(diǎn)成為報(bào)文的接收節(jié)點(diǎn),并且不會在總線再次空閑之前發(fā)送報(bào)文。
圖2 can總線節(jié)點(diǎn)訪問總線過程
圖3為can總線上節(jié)點(diǎn)的電平邏輯,總線上的節(jié)點(diǎn)電平對于總線電平而言是相與的關(guān)系,只有當(dāng)3個(gè)節(jié)點(diǎn)的電壓都等于1(隱性電平),總線才會保持在ycc(隱性電平)狀態(tài)。只要有1個(gè)節(jié)點(diǎn)切換到0狀態(tài)(顯性電平),總線就會被強(qiáng)制在顯性狀態(tài)(0)。這種避免總線沖突的仲裁方式能夠使具有高優(yōu)先級的消息沒有延時(shí)地占用總線傳輸。
圖3 can總線上節(jié)點(diǎn)的電平邏輯
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.dzsc.com)
can總線采用的是一種叫做“載波監(jiān)測,多主掌控/沖突避免”(csma/ca)的通信模式。這種總線仲裁方式允許總線上的任何一個(gè)設(shè)各都有機(jī)會取得總線的控制權(quán)并向外發(fā)送數(shù)據(jù)。如果在同一時(shí)刻有2個(gè)或2個(gè)以上的設(shè)各要求發(fā)送數(shù)據(jù),就會產(chǎn)生總線沖突,can總線能夠?qū)崟r(shí)地檢測這些沖突并對其進(jìn)行仲裁,從而使具有高優(yōu)先級的數(shù)據(jù)不受任何損壞地傳輸。
當(dāng)總線處于空閑狀態(tài)時(shí)呈隱性電平,此時(shí)任何節(jié)點(diǎn)都可以向總線發(fā)送顯性電平作為幀的開始。如果2個(gè)或2個(gè)以上同時(shí)發(fā)送就會產(chǎn)生競爭。can總線解決競爭的方法同以太網(wǎng)的csma/cd(carrier sense multiple access with collislon detection)方法基本相似,如圖1所示。此外,can總線做了改進(jìn)并采用csma/ca(carrier sense multiple access with collision avoidance)訪問總線,按位對標(biāo)識符進(jìn)行仲裁。各節(jié)點(diǎn)在向總線發(fā)送電平的同時(shí),也對總線上的電平讀取,并與自身發(fā)送的電平進(jìn)行比較,如果電平相同繼續(xù)發(fā)送下一位,不同則停止發(fā)送退出總線競爭。剩余的節(jié)點(diǎn)繼續(xù)上述過程,直到總線上只剩下1個(gè)節(jié)點(diǎn)發(fā)送的電平,總線競爭結(jié)束,優(yōu)先級高的節(jié)點(diǎn)獲得總線的控制權(quán)。
圖1 ethernet采用的csma/ cd總線訪問過程
can總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳輸,報(bào)文的優(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è)計(jì)時(shí)確定就不能隨意地更改,總線讀取產(chǎn)生的沖突主要靠這些位仲裁解決。之所以can總線不采用以太網(wǎng)使用的延時(shí)避免沖突,主要是為了保證具有更高優(yōu)先級的節(jié)點(diǎn)能夠完整地實(shí)時(shí)傳輸,而且csma/ca可以有效地避免沖突。
如圖2所示,節(jié)點(diǎn)a和節(jié)點(diǎn)b的標(biāo)識符的第lo、9、8位電平相同,因此兩個(gè)節(jié)點(diǎn)偵聽到的信息和它們發(fā)出的信息相同。第7位節(jié)點(diǎn)b發(fā)出一個(gè)“1”,但從節(jié)點(diǎn)上接收到的消息卻是“0”,說明有更高優(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ā)出的報(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)先級的節(jié)點(diǎn)的數(shù)據(jù)傳輸沒有任何延時(shí)。在獲得總線控制權(quán)的節(jié)點(diǎn)發(fā)送數(shù)據(jù)過程中,其他節(jié)點(diǎn)成為報(bào)文的接收節(jié)點(diǎn),并且不會在總線再次空閑之前發(fā)送報(bào)文。
圖2 can總線節(jié)點(diǎn)訪問總線過程
圖3為can總線上節(jié)點(diǎn)的電平邏輯,總線上的節(jié)點(diǎn)電平對于總線電平而言是相與的關(guān)系,只有當(dāng)3個(gè)節(jié)點(diǎn)的電壓都等于1(隱性電平),總線才會保持在ycc(隱性電平)狀態(tài)。只要有1個(gè)節(jié)點(diǎn)切換到0狀態(tài)(顯性電平),總線就會被強(qiáng)制在顯性狀態(tài)(0)。這種避免總線沖突的仲裁方式能夠使具有高優(yōu)先級的消息沒有延時(shí)地占用總線傳輸。
圖3 can總線上節(jié)點(diǎn)的電平邏輯
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.dzsc.com)
熱門點(diǎn)擊
- USB接口內(nèi)部結(jié)構(gòu)
- USB封包格式
- A/D轉(zhuǎn)換過程
- CAN總線的仲裁
- USB通信協(xié)議——傳輸類型
- JTAG接線描述
- A/D變換類型
- eCAN總線模塊的位時(shí)間(Bit-Timin
- 外部DMA請求/應(yīng)答協(xié)議
- USB硬件原理圖
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究