在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TinyOS操作系統的工作原理、應用技術及應用分析

電子設計 ? 來源:電子元器件應用 ? 作者:邱璐璐 ? 2021-06-29 15:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

無線傳感器網絡(WSN)是由部署在監測區域內的大量廉價微型傳感器節點,通過無線通信方式組成一個多跳的自組織的網絡系統,其目的是協同感知、采集和處理網絡覆蓋區域中感知對象的信息,并發送給觀測者。無線無線傳感器網絡技術研究涉及到多個熱點學科的前沿領域,比如傳感器技術、現代網絡技術、嵌入式計算機技術、無線通信技術等。由于無線傳感器網絡在工業監測、環境檢測、醫療監護、軍事偵察等眾多的領域都有著廣闊的應用前景,因而引起了世界各國工業界,學術界和軍事部門的重視,并且迅速成為當今世界研究的熱點之一。

1 無線傳感器網絡的主要特點

傳感器網絡節點硬件一般都由數據采集、數據處理、數據收發和電源等四個單元組成。數據采集單元通過傳感器采集外界數據并將其轉化為數字信號;數據處理單元是節點的核心模塊,負責協調節點各部分的工作,如對數據采集單元采集的數據進行必要的處理和保存,以及數據收發單元工作模式的設置等;數據收發單元負責數據的無線傳輸以及與數據處理單元的數據交互。上述四大基本模塊與相應的操作系統、協議棧和應用程序共同構成一個基本的無線傳感器網絡節點,眾多的網絡節點分布在一起,就可以完成無線傳感器網絡的基本功能。

在軟件設計方面,本系統以專用嵌入式實時操作系統為依托,來管理、協調傳感器節點各硬件部分的工作。上層應用以及各層的通信協議都以節能為中心,必要時可以犧牲其他的一些網絡性能指標來獲得更高的電源效率。圖1所示是一個傳感器網絡節點的基本組成。

pYYBAGDaxsyAT2m_AABPl84ZJPc798.png

傳統的無線網絡設計基本上都是為了同時滿足人們各種各樣的需要,如語音、視頻、圖像等。而無線傳感器網絡一般是為了某個特定的需要而設計的,它是一種基于應用的無線網絡,與移動通信網、無線局域網、Bluetooth相比,無線傳感器網絡具有以下主要特點:

(1)電源能量有限:無線網絡中,每個節點的電源都是有限的,網絡大多工作在無人區或者對人體有傷害的惡劣環境中,一般更換電源幾乎都是很困難的事。

(2)計算能力有限:傳感器網絡節點都采用具有嵌入式特性的處理器,但嵌入式處理器的處理能力,使傳感器節點的計算能力比較有限。

(3)無線傳感器網絡節點數量大,分布范圍廣,網絡中的傳感器節點十分密集,數量巨大,有時可能達到幾百,幾千,甚至更多。

(4)動態性拓撲:傳感器網絡的拓撲結構可能因為環境或節點電能耗盡等因素而改變,這就要求傳感器網絡系統能夠適應這種變化。

2 TinyOS操作系統

由于無線傳感器網絡節點的資源十分有限,傳統的嵌入式操作系統難以正常有效地運行和工作,特別對能量和內存的需求矛盾比較突出。因此,需要一種全新的嵌入式操作系統來滿足無線傳感器節點的基本需求。TinyOS操作系統就是美國加州大學伯克利分校的研究人員針對無線傳感器網絡設計的開源嵌入式操作系統。TinyOS操作系統主要使用了輕量級線程、主動消息通信、事件驅動模式、組件化編程等技術。

TinyOS操作系統最初使用匯編C語言。但經研究人員進一步的研究及使用后發現,C語言并不能有效和方便地支持無線傳感器網絡應用程序的開發。因而在經過仔細研究和設計,并在對C語言進行了一定擴展的基礎上,提出了支持組件化編程的nesC語言,該語言可以把組件化、模塊化思想和基于事件驅動的執行模型結合起來。由于TinyOS操作系統和基于TinyOS操作系統的應用程序全部使用nesC語言編寫,因此,在介紹TinyOS操作系統之前,首先介紹一下nesC語言。

3 nesC語言

TinyOS和在其上運行的應用程序可以看成是一個大的“執行程序”,它由許多功能獨立且相互有聯系的軟件組件構成,圖2所示是nesC語言的一般程序框架。該系統中的一個組件一般會提供一些接口(假定組件名為ComA),接口可以被認為是這個軟件組件實現的一組函數的聲明,是單獨定義的一組命令和事件,其他組件通過引用相同接口聲明來使用這個組件(ComA)的函數,從而實現組件間功能的相互調用,即組件的接口是實現組件間互連的通道。但若組件中實現的函數并未被它在接口中說明,就不能被其他組件所使用。nesC語言的定義中存在兩種不同功能的組件:其中組件接口中的函數功能專門在模塊的組件文件中實現,而不同組件之間的關系則是專門通過稱為配件的組件文件來描述的。

poYBAGDaxsSAK0slAACRrM7KaG8835.png

本系統中的接口一般指一系列聲明的有名函數的集合,同時,接口也是連接不同組件的紐帶。組件的接口通常是雙向的,這種接口實際上是提供者組件和使用者組件之間的一個多功能交互通道。接口的提供者所實現的接口的一組功能函數稱為命令;接口的使用者需要實現的一組功能函數稱為事件。

組件是nesC程序的基本單元,組件可分為模塊與配件兩種。

其中模塊是組件的邏輯功能實體,主要包括命令、事件、任務的具體實現。在TinyOS中,命令都是非阻塞的,它們完成后會通知相關的事件調用。一般情況下,命令調用都是向下的,即應用組件調用那些與硬件緊密結合的組件,事件調用則正好相反。一些特殊的基本事件的調用必須綁定在硬件中斷上。nesC語言中還有一類特殊的函數稱為任務。在TinyOS系統中,任務是一個可以被調度的實體,類似于傳統操作系統中的進程或線程概念。

配件通常可通過一系列其他組件來實現一個組件規范,它主要實現組件間的相互訪問方式。配件包括組件列表和連接說明,組件列表定義了實現配件的組件,連接通常可將定義的元素(接口、命令、事件等)聯系在一起,以完成組件之間功能的調用。

4 TinyOS系統的工作原理

為了適應無線傳感器網絡的特點,TinyOS操作系統使用了四個主要技術,組件化編程、輕量級線程、主動消息通信和事件驅動模型。

4.1 組件模型

TinyOS操作系統中的組件有四個相互關聯的部分:一組命令處理程序句柄、一組事件處理程序句柄、一個經過封裝的私有數據幀和一組簡單的任務。任務、命令和事件處理程序在私有數據幀的上下文中執行并切換幀的狀態。

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

pYYBAGDaxrqAeRQDAABkoQ3ZhGI564.png

4.2 輕量級線程

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

4.3 主動消息通信

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

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

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

4.4 事件驅動模型

TinyOS操作系統是事件驅動的操作系統,故當一個任務完成后,就可以使其觸發一個事件,然后由TinyOS操作系統自動調用相應的處理函數。事件驅動分為硬件事件驅動和軟件事件驅動。硬件事件驅動也就是一個硬件發出中斷,然后進入中斷處理函數;而軟件驅動則是通過signal關鍵字來觸發一個事件。

5 總結

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

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2564

    文章

    52793

    瀏覽量

    765471
  • 無線
    +關注

    關注

    31

    文章

    5543

    瀏覽量

    175723
  • 操作系統
    +關注

    關注

    37

    文章

    7122

    瀏覽量

    125291
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    zigbee無線傳感器網絡節點/Tinyos-CC2420無線開發平臺/無線模塊

    低功耗zigbee無線傳感模塊,內部集成Tinyos操作系統,功能更強大,該模塊可以做為Tinyos操作系統開發平臺模塊使用,系統提供全套
    發表于 03-22 14:04

    非常明了的解釋 “實時操作系統” 的原理

    一篇非常簡短的文章,清晰明了的解釋了“實時操作系統”的工作原理。對學習操作系統很有幫助。
    發表于 07-03 16:30

    基于TinyOS操作系統的I/O控制

    測試平臺的選擇  1.1 TinyOS操作系統  TinyOS是美國加州大學伯克利分校專門針對無線傳感器網絡設計的開源操作系統,它是一個事件驅動的.基于組件的無線傳感器網絡
    發表于 11-13 16:27

    基于TinyOS操作系統實現無線傳感器節點Mica的設計

    發生的操作;另一個是無線傳感器節點模塊化程序高,要求操作系統為應用程序對硬件控制提供方便操作。2.2 TInyOS操作系統
    發表于 05-14 07:00

    物聯網應用技術是學什么的?

    WSN、RFID系統、局域網、安防監控系統等工程設計、施工、安裝、調試、維護等工作,這就是物聯網應用技術。物聯網應用技術學什么?物聯網
    發表于 09-22 14:17

    嵌入式系統與桌面操作系統的區別是什么

    嵌入式系統與桌面操作系統的區別嵌入式系統開發式一項綜合的計算機應用技術系統結構:狀態控制器,中斷控制器匯編語言:操控外圍設備,端口
    發表于 12-22 06:03

    無線傳感器網絡節點操作系統TinyOS綜述

    無線傳感器網絡節點操作系統TinyOS 綜述摘要:無線傳感器網絡作為計算、通信和傳感器三項技術結合的產物,是一種全新的信息獲取和處理技術,而網絡節點上
    發表于 05-28 14:04 ?19次下載

    Linux0.01內核分析操作系統設計

    操作系統設計 存儲管理分析 編程技術實例 內核介紹
    發表于 08-13 17:32 ?66次下載

    操作系統工作原理

    操作系統工作原理 引言 如果您擁有一臺計算機,那么您對操作系統一定不陌生。人們購買的任何臺式或便攜式PC通常都預先安裝了Windows XP;Macintosh計算機預先安裝的
    發表于 07-31 15:55 ?2503次閱讀

    游戲設備的適用操作系統/應用技術

    游戲設備的適用操作系統/應用技術 適用操作系統              適用操作系統
    發表于 12-28 13:54 ?1013次閱讀

    嵌入式操作系統內存管理技術分析與比較

    嵌入式操作系統內存管理技術分析與比較  1 概 述   內存管理是操作系統的中心任務之一。內存管理模塊通常是操作系統內核的一部分,
    發表于 01-14 11:30 ?811次閱讀
    嵌入式<b class='flag-5'>操作系統</b>內存管理<b class='flag-5'>技術</b>的<b class='flag-5'>分析</b>與比較

    傳感器網絡操作系統平臺之nesC語言及TinyOS操作系統詳述

    網絡節點是構成無線傳感器網絡的基本單位,無線傳感器網絡節點有兩種常用體系結構:Atmel AVR處理器+TinyOS[1]和MSP430+TinyOS[2]。本文
    發表于 10-26 15:44 ?5次下載
    傳感器網絡<b class='flag-5'>操作系統</b>平臺之nesC語言及<b class='flag-5'>TinyOS</b><b class='flag-5'>操作系統</b>詳述

    基于QNX實時操作系統及應用分析

    基于QNX實時操作系統及應用分析
    發表于 10-30 14:53 ?12次下載
    基于QNX實時<b class='flag-5'>操作系統</b>及應用<b class='flag-5'>分析</b>

    物聯網操作系統技術路線有哪些之中國廠商的機遇有哪些

    雖然“物聯網”之熱有所冷卻,但以企業為主體的務實創新階段正悄然來臨。物聯網操作系統是ICT產業發展的競爭制高點。成熟的物聯網操作系統尚屬空白,正呈現著兩條技術路線:一是以Contiki和Tin
    發表于 07-31 17:35 ?0次下載
    物聯網<b class='flag-5'>操作系統</b>的<b class='flag-5'>技術</b>路線有哪些之中國廠商的機遇有哪些

    新書發布——《實時操作系統應用技術:RT-Thread與ARM編程實踐》

    RT-Thread又一本新書《實時操作系統應用技術——基于RT-Thread與ARM的編程實踐》發布,標志著RT-Thread生態和實時操作系統技術教育領域又迎來了一個重要里程碑。本書
    的頭像 發表于 05-11 08:35 ?1287次閱讀
    新書發布——《實時<b class='flag-5'>操作系統</b><b class='flag-5'>應用技術</b>:RT-Thread與ARM編程實踐》
    主站蜘蛛池模板: 91久久婷婷国产综合精品青草 | 成人午夜毛片 | 99久久免费精品国产免费高清 | 久久精品国产亚洲5555 | 欧美整片第一页 | 日本五十交尾在线观看 | 欧美hh| 免看一级a毛片一片成人不卡 | eeuss秋霞成人影院 | 亚洲伊人99综合网 | 天天摸天天操天天射 | 美女和帅哥在床上玩的不可描述 | 一区在线播放 | 4388x17亚洲最大成人网 | 四虎影院免费视频 | 亚洲1234区乱码 | 国产成+人+综合+亚洲欧美丁香花 | 色福利在线 | 美女扒开下面让男人捅 | 国产一区二区三区影院 | 日本一区二区三区不卡在线看 | 91视频综合网 | 天天透天天射 | 午夜在线免费观看 | 绝色村妇的泛滥春情 | www在线视频 | 成年网站在线播放 | 香焦视频在线观看黄 | 免费看av的网址 | 天天天天天操 | 在线观看你懂的网站 | 色噜噜亚洲 | 综合伊人 | 免费人成在线观看网站品爱网 | 欧美特黄特色aaa大片免费看 | 国产午夜精品久久久久九九 | 亚洲精品福利你懂 | a网站免费 | 色先峰| 在线伊人网 | 国产黄色大全 |