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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于無線傳感器網(wǎng)絡(luò)的CAN總線互聯(lián)

          基于無線傳感器網(wǎng)絡(luò)的CAN總線互聯(lián)

          作者: 時(shí)間:2009-09-30 來源:網(wǎng)絡(luò) 收藏

          TinyOS是一種組件架構(gòu)方式的開源的嵌入式操作系統(tǒng),一個(gè)應(yīng)用程序可以通過連接配置文件(a wiring specification)將各種組件連接起來,以完成它所需要的功能。TinyOS的應(yīng)用程序都是事件驅(qū)動(dòng)模式的,采用事件觸發(fā)去喚醒工作。tasks一般用在對于時(shí)間要求不是很高的應(yīng)用中,且tasks之間是平等的,即在執(zhí)行時(shí)是按先后順序,一般為了減少tasks的運(yùn)行時(shí)間,要求每一個(gè)task都很短小,能夠使系統(tǒng)的負(fù)擔(dān)較輕;events一般用在對于時(shí)間要求很嚴(yán)格的應(yīng)用中,而且它可以優(yōu)先于tasks和其他events執(zhí)行,可以被一個(gè)操作完成或是來自外部環(huán)境的事件觸發(fā),在TinyOS中一般由硬件中斷處理來驅(qū)動(dòng)事件。在TinyOS中由于tasks之間不能互相占先執(zhí)行,所以TinyOS沒有提供任何阻塞操作,為了讓一個(gè)耗時(shí)較長的操作盡快完成,一般都是將對這個(gè)操作的需求及其完成分開來實(shí)現(xiàn),以便獲得較高的執(zhí)行效率。由于在Tiny-OS中沒有進(jìn)程管理的概念,它對任務(wù)是按簡單的FIFO隊(duì)列進(jìn)行處理的,對資源采取預(yù)先分配,且這個(gè)隊(duì)列里最多只能有7個(gè)未解決的任務(wù)。我們設(shè)計(jì)時(shí),主要處理三類事件,即串口接收數(shù)據(jù)事件、接收數(shù)據(jù)事件和定時(shí)器事件。

          ①串口接收數(shù)據(jù)事件。每次節(jié)點(diǎn)從串口接收到一個(gè)字節(jié)的數(shù)據(jù)將觸發(fā)該事件。對于信息采集任務(wù)來說,其信息是定時(shí)采集的。同時(shí),的速率遠(yuǎn)遠(yuǎn)大于傳輸?shù)乃俾?。因此,在?jié)點(diǎn)開辟了一段較大的緩存區(qū),對傳過來的數(shù)據(jù)進(jìn)行緩存。該緩存區(qū)的大小取決于傳輸?shù)乃俾室约?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/CAN">在一個(gè)定時(shí)采集周期的數(shù)據(jù)量大小。假設(shè)無線傳輸?shù)乃俾蕿閂、緩存區(qū)大小為Mem、采集周期為T、每個(gè)采集周期的數(shù)據(jù)量為Data,注意V為傳輸有效數(shù)據(jù)的速率,即要去掉協(xié)議開銷以及管理和控制開銷,則至少滿足V×T≥Data,Mem≥Data。為提高無線傳輸?shù)男?,不是每次從串口接受到一個(gè)字節(jié)就從無線接口發(fā)走,而是每次緩存的字節(jié)數(shù)達(dá)到無線傳輸一個(gè)數(shù)據(jù)包的大小時(shí),啟動(dòng)任務(wù)一UARTRcvdTask。這種采用任務(wù)的方式進(jìn)行實(shí)際的無線數(shù)據(jù)傳輸可以避免阻塞其他event事件。

          ②無線接受數(shù)據(jù)事件。每次節(jié)點(diǎn)從無線接口接受到一個(gè)數(shù)據(jù)包將觸發(fā)該事件。事件處理程序主要從協(xié)議數(shù)據(jù)包中獲取傳輸數(shù)據(jù),并且緩存于接受緩存區(qū),具體地怎么處理無線接受的數(shù)據(jù)的工作,通過啟動(dòng)任務(wù)――RadioRcvdTask來完成,以避免阻塞其他event事件。

          ③定時(shí)器事件。該事件定時(shí)觸發(fā)。該事件處理程序主要定時(shí)判斷串口接受數(shù)據(jù)緩存區(qū)是否有數(shù)據(jù),如果有的話,則啟動(dòng)任務(wù)――UARTRcvdTask,以避免到串口收到的數(shù)據(jù)不足一個(gè)協(xié)議數(shù)據(jù)包時(shí),會(huì)長期滯留在串口接受數(shù)據(jù)緩存區(qū)中。

          4 性能分析和實(shí)驗(yàn)

          整個(gè)系統(tǒng)的性能主要取決于無線傳輸?shù)乃俾省o線CC1000使用頻率為14.745 MHz的晶振作為驅(qū)動(dòng),在該驅(qū)動(dòng)下面CC1000可以提供的最大數(shù)據(jù)傳輸率為19.2 KB/s??紤]無線傳輸協(xié)議消耗,無線傳輸數(shù)據(jù)報(bào)的格式如下:

          其中TOSH_DATA_LENGTH=29,故協(xié)議的理論有效數(shù)據(jù)比率約為70%。同時(shí),為提高無線傳輸?shù)男?,不是每次從串口接受到一個(gè)字節(jié)就從無線接口發(fā)走,而是每次緩存的字節(jié)數(shù)達(dá)到無線傳輸一個(gè)數(shù)據(jù)包的大小時(shí),才啟動(dòng)發(fā)送任務(wù),故無線有效傳輸速率約為13.4 KB/s,,對于本系統(tǒng)應(yīng)用來說,CAN總線的采樣周期為10 s,每次采樣數(shù)據(jù)為1 K數(shù)據(jù)。雖然,CAN總線速率相對來說較高,但是通過緩存完全可以滿足需求。在性能測試中,該系統(tǒng)持續(xù)運(yùn)行20多個(gè)小時(shí),收發(fā)均無問題。

          5 結(jié) 論

          本文無線給出一種連接CAN總線的無線通道設(shè)計(jì),主要包括CAN總線無線接入控制模塊電路設(shè)計(jì)以及無線節(jié)點(diǎn)的通信協(xié)議設(shè)計(jì)等內(nèi)容。目前,該系統(tǒng)已經(jīng)實(shí)現(xiàn),實(shí)際使用效果良好。本文內(nèi)容對于一般的信息采集無線傳輸系統(tǒng)設(shè)計(jì)具有較好的借鑒意義。


          上一頁 1 2 下一頁

          評論


          相關(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); })();