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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > TinyOS無線傳感器網(wǎng)絡(luò)操作系統(tǒng)分析

          TinyOS無線傳感器網(wǎng)絡(luò)操作系統(tǒng)分析

          作者: 時間:2010-10-12 來源:網(wǎng)絡(luò) 收藏


          TinyOS操作系統(tǒng)中的組件通常分為硬件抽象組件、合成組件、高層次的軟件組件三類。其中硬件抽象組件用于將物理硬件映射成為TinyOS操作系統(tǒng)中的組件,無線發(fā)送模塊是這種組件的代表,它可提供命令以操縱與射頻收發(fā)器相連的各個單獨的I/O引腳,并且發(fā)信號給事件以將數(shù)據(jù)位的發(fā)送和接收通知其他組件,圖3所示是天線傳感器應(yīng)用程序的組件結(jié)構(gòu):合成組件可以模擬高級硬件的行為,這種組件的一個例子是圖3中的Radio Byte組件,它以字節(jié)為單位與上層組件交互,并以位為單位與下層無線發(fā)送模塊組件交互,最后將無線接口映射到UART設(shè)備接口上;高層次的軟件組件可完成控制、路由以及數(shù)據(jù)傳輸?shù)裙δ?,圖3中的主動消息處理模塊是這種組件的代表,它可履行在傳輸前填充包緩存區(qū)以及將收到的消息分發(fā)給相應(yīng)的任務(wù)的功能。



          4.2 輕量級線程

          在TinyOS操作系統(tǒng)中,一般的輕量級線程task(即TinyOS操作系統(tǒng)中的任務(wù))可按照FIFO方式進行調(diào)度,輕量級線程之間不允許搶占。任務(wù)一旦執(zhí)行,就必須執(zhí)行完畢,不能被其他任務(wù)中斷。而硬件處理線程(即中斷處理線程)則可以打斷用戶的輕量級線程和低優(yōu)先級的中斷處理線程,故可對硬件中斷快速響應(yīng)。

          4.3 主動消息通信

          主動消息通信是一個面向消息通信的高性能通信模型。在無線傳感器網(wǎng)絡(luò)中采用主動消息機制的主要目的是使無線傳感器節(jié)點的計算能力和通信重疊。為使主動消息更適用于無線傳感器網(wǎng)絡(luò)的需求,主動消息提供了三個最基本的通信機制,其一是帶確認的消息傳遞,其二是有明確的消息地址,其三是消息分發(fā)。在TinyOS操作系統(tǒng)中,主動消息通信被視為一個系統(tǒng)組件,它屏蔽了下層各種不同的通信硬件,從而為上層提供了一致的通信原語,可方便開發(fā)人員實現(xiàn)各種功能的高層通信組件。

          在TinyOS的主動通信中,當數(shù)據(jù)到達傳感器節(jié)點時,首先進行緩存,然后由主動消息把緩存中的數(shù)據(jù)分發(fā)到上層應(yīng)用。TinyOS操作系統(tǒng)不支持動態(tài)內(nèi)存分配,所以要求每個應(yīng)用程序在其所需的消息被釋放后,要能夠返回一塊未使用的消息緩存,以用于接收下一個將要來到的消息。因為在TinyOS操作系統(tǒng)中,各個應(yīng)用程序之間的執(zhí)行是不能搶占的,所以不會出現(xiàn)多個未使用的消息緩存發(fā)生沖突,因此,TinyOS操作系統(tǒng)的主動消息通信組件只需要維持一個額外的消息緩存以用于接收下一個消息。如果一個應(yīng)用程序需要同時存儲多個消息,則需要在其私有數(shù)據(jù)幀上靜態(tài)分配額外的空間以保存消息。

          一般情況下,由于TinyOS操作系統(tǒng)中只提供best-effort消息傳遞機制.所以需要接收方提供確認反饋信息給發(fā)送方,以確定發(fā)送是否成功。確認消息可由主動消息通信組件生成,這樣比在應(yīng)用層生成確認消息包更能節(jié)省開銷,而且反饋時間短。

          4.4 事件驅(qū)動模型

          TinyOS操作系統(tǒng)是事件驅(qū)動的操作系統(tǒng),故當一個任務(wù)完成后,就可以使其觸發(fā)一個事件,然后由TinyOS操作系統(tǒng)自動調(diào)用相應(yīng)的處理函數(shù)。事件驅(qū)動分為硬件事件驅(qū)動和軟件事件驅(qū)動。硬件事件驅(qū)動也就是一個硬件發(fā)出中斷,然后進入中斷處理函數(shù);而軟件驅(qū)動則是通過signal關(guān)鍵字來觸發(fā)一個事件。

          5 結(jié)束語

          盡管TinyOS已被廣泛使用,而且也得到了相當?shù)恼J可,但這并不意味著TinyOS能夠適用于WSN的所有應(yīng)用場景。事實上,在某些場合下,TinyOS并不能很好的工作,它也存在不足的地方,比如可能出現(xiàn)過載、導(dǎo)致任務(wù)丟失、通信吞吐量下降等。無線傳感器網(wǎng)絡(luò)節(jié)點的三個典型任務(wù)一般是傳感器采集、本地數(shù)據(jù)發(fā)送和作為中繼節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包。當本地任務(wù)發(fā)生頻率過高時,任務(wù)隊列很快就滿了,這時發(fā)送或接收任務(wù)就可能丟失,從而導(dǎo)致數(shù)據(jù)包丟失;另外,如果本地任務(wù)運行時間過長,則發(fā)送或接收數(shù)據(jù)包的任務(wù)也要等待較長時間才能得到處理,這樣,會降低通信速率。因此TinyOS的調(diào)度策略可能導(dǎo)致問題的出現(xiàn)。而FIFO的調(diào)度機制也可能引起一些重要的任務(wù)得不到實時響應(yīng)的問題。對于這些問題的解決,將在以后的文章中進行討論。

          本文引用地址:http://www.ex-cimer.com/article/162785.htm
          風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 音頻

          評論


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