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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > CAN總線網(wǎng)絡(luò)的實時性研究和改進(jìn)

          CAN總線網(wǎng)絡(luò)的實時性研究和改進(jìn)

          作者: 時間:2012-03-16 來源:網(wǎng)絡(luò) 收藏

          目前有很多文獻(xiàn)關(guān)于協(xié)議的,基本都是局限于周期型消息的處理,但是在實際工業(yè)現(xiàn)場有很多諸如報警、故障等突發(fā)型消息,這些都是事件型消息,都未能有效處理?;诖?,本文兼顧周期型和事件型消息,以 2.0B擴(kuò)展幀格式為例,通過重新定義ID字段的含義來解決帶寬分配不均的問題。這種重新定義的幀并未改變擴(kuò)展幀的格式,所以能與其他系統(tǒng)兼容,如圖3所示。擴(kuò)展格式幀的ID字段被重新定義為3個部分:類間優(yōu)先級域(1b)、類內(nèi)優(yōu)先級域(8b)、內(nèi)容標(biāo)示域(20b)。

          本文引用地址:http://www.ex-cimer.com/article/155170.htm

          c.JPG


          圖3中,類間優(yōu)先級域為1 b,在實際應(yīng)用中將0分給事件型消息,使其具有最高優(yōu)先級,將1分給周期型消息;類內(nèi)優(yōu)先級域為8 b,用于標(biāo)示同種類型消息的優(yōu)先級大小,數(shù)值越小,優(yōu)先級越高;內(nèi)容標(biāo)識符域為20 b,可以根據(jù)實際的需要對其進(jìn)行定義,在類間優(yōu)先級和類內(nèi)優(yōu)先級大小都一樣的情況少,也可進(jìn)一步起到輔助仲裁的作用。

          2 動態(tài)優(yōu)先級調(diào)度算法
          CAN的特點(diǎn)之一就是多主發(fā)送,各個站點(diǎn)在任何時候都可以隨機(jī)發(fā)送數(shù)據(jù),如果在某一個時刻有2個或都2個以上的站點(diǎn)要發(fā)送數(shù)據(jù),就要通過非破壞性仲裁機(jī)制進(jìn)行仲裁來競爭的使用權(quán),標(biāo)識符數(shù)值小的站點(diǎn)即優(yōu)先級較高的站點(diǎn)可以獲得使用權(quán),競爭失敗的站點(diǎn)則需等待下次重新競爭,當(dāng)負(fù)載較大時,優(yōu)先級較低的站點(diǎn)很可能在多次競爭中失敗,從而數(shù)據(jù)不能及時發(fā)送,或有時發(fā)送產(chǎn)生沖突有時順利發(fā)送,造成發(fā)送延時的不確定性,這就是帶寬分配不均所造成的。為了解決隨著負(fù)載增加所造成的帶寬分配不均,本文提出了動態(tài)優(yōu)先級算法。動態(tài)優(yōu)先級算法是一種隨著時間推移動態(tài)改變各個站點(diǎn)優(yōu)先級的算法,與原有的靜態(tài)分配優(yōu)先級算法相比,該算法可使每個站點(diǎn)均等地競爭總線的使用權(quán),即能夠均等地分配帶寬,從而保證消息的實時傳輸。方法如下:初始情況下各個站點(diǎn)均有事先分配好的優(yōu)先級,在不發(fā)生沖突的情況下,按原有優(yōu)先級來完成數(shù)據(jù)的傳送。當(dāng)發(fā)生沖突之后,高優(yōu)先級站點(diǎn)可以順利完成數(shù)據(jù)發(fā)送,為了能讓競爭失敗的站點(diǎn)在下次競爭中成功的概率變大,可以將競爭失敗的站點(diǎn)提高一個優(yōu)先等級參加下次競爭,即使失敗了若干次,這時該站點(diǎn)的優(yōu)先級也很高了,競爭勝出的概率會很大。但是需要注意的是優(yōu)先級較低的站點(diǎn)在提高優(yōu)先級的情況下獲得總線使用權(quán)并順利完成數(shù)據(jù)發(fā)送之后,需要將優(yōu)先級降低為初始優(yōu)先級,以保證的正常運(yùn)行。
          如果把CAN總線上要發(fā)送數(shù)據(jù)的站點(diǎn)看成一個隊列,某個節(jié)點(diǎn)j在隊列的位置可表示為:
          Pj=P0-f(n)
          式中:Pj為節(jié)點(diǎn)j某時刻在隊列中的位置,即節(jié)點(diǎn)在此時刻的優(yōu)先級;P0為節(jié)點(diǎn)j在隊列中的初始位置,即初始優(yōu)先級。圖3中類內(nèi)優(yōu)先級分配了8位,當(dāng)優(yōu)先級最低時,P0=28-1=255;f(n)為優(yōu)先級晉升項,為關(guān)于競爭失敗次數(shù)n的函數(shù),可取正比例函數(shù)、指數(shù)函數(shù)等。在本文中取的為正比例函數(shù),即f(n)=kn,k為系數(shù)項,決定著晉升優(yōu)先級的快慢程度,一般取為CAN系統(tǒng)中節(jié)點(diǎn)的個數(shù)。由此可得:
          Pj=28-1-kn=255-kn
          采用該算法還可以避免當(dāng)節(jié)點(diǎn)優(yōu)先級提高之后出現(xiàn)2個或2個以上優(yōu)先級相同的情況,例如,在某個網(wǎng)絡(luò)中節(jié)點(diǎn)個數(shù)為5,即k=5,所以Pj=255-5n,則各站點(diǎn)初始及晉升之后優(yōu)先級如表1所示。

          f.JPG



          評論


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