www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]TinyOS是UC Berkeley(加州大學伯克利分校)開發(fā)的開放源代碼操作系統(tǒng),是專為嵌入式無線傳感器網絡(WSN:wireless sensor network)設計的操作系統(tǒng)。文中介紹了TinyOS無線傳感器網絡操作系統(tǒng)的主要特點,詳細分析了TinyOS無線傳感器網絡操作系統(tǒng)的工作機制。

0  引言

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

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

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

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



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

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

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

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

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

2 TinyOS操作系統(tǒng)

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

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

3 nesC語言

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



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

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

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

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

4 TinyOS系統(tǒng)的工作原理

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

4.1  組件模型

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

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



4.2  輕量級線程

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

4.3  主動消息通信

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

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

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

4.4  事件驅動模型

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

5  結束語

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

Lua RTOS 是一個實時操作系統(tǒng),設計在嵌入式系統(tǒng)上運行,對 FLASH 和 RAM 內存的要求最低。目前 Lua RTOS 可用于 ESP32, ESP8266 和 PIC32MZ 平臺,并可以輕松移植到其他32位...

關鍵字: Lua RTOS 操作系統(tǒng) 嵌入式系統(tǒng)

今天下午,一則重磅消息。路透社報道,谷歌一直被詬病壟斷的操作系統(tǒng):安卓,或將收費。

關鍵字: 谷歌 操作系統(tǒng) 安卓

亞當?格羅塞爾(Adam Grosser)希望讓人員、貨物和能源的運輸對每個人來說更快速、更高效。因此,早期風險投資基金UP Partners的這位董事長兼合伙人正在對多個交通運輸項目進行投資。這些項目包括貝塔科技公司的...

關鍵字: 貨物 能源 操作系統(tǒng)

北京2022年10月8日 /美通社/ -- 日前,全球領先的IT基礎設施提供商浪潮信息加入龍蜥社區(qū)并成為理事單位,致力于攜手社區(qū)生態(tài)伙伴,共同推動開源操作系統(tǒng)的全產業(yè)鏈協(xié)同創(chuàng)新和產業(yè)化應用。 龍蜥社區(qū)成立于2020...

關鍵字: 開源 操作系統(tǒng) 通信 大數據

(全球TMT2022年10月8日訊)IT基礎設施提供商浪潮信息加入龍蜥社區(qū)并成為理事單位,致力于攜手社區(qū)生態(tài)伙伴,共同推動開源操作系統(tǒng)的全產業(yè)鏈協(xié)同創(chuàng)新和產業(yè)化應用。 龍蜥社區(qū)成立于2020年9月,是國內...

關鍵字: 操作系統(tǒng) 開源 通信 裝機量

(全球TMT2022年9月28日訊)歐洲奢侈品手機品牌VERTU,宣布于2022年9月28日開啟全球首款WEB3手機METAVERTU的全球預約,并于10月24日在倫敦正式發(fā)布并開啟全球發(fā)售。這是目前市場上首款WEB3...

關鍵字: 手機 操作系統(tǒng) 智能終端 芯片

在這篇文章中,小編將對可穿戴設備智能眼鏡的相關內容和情況加以介紹以幫助大家增進對它的了解程度,和小編一起來閱讀以下內容吧。

關鍵字: 智能眼鏡 可穿戴設備 操作系統(tǒng)

每次談及卡脖子問題,缺芯少魂(操作系統(tǒng))總是繞不開的話題。近年來隨著國家逐步加大對國產芯片和操作系統(tǒng)的研發(fā)支持力度,一批具備實力的芯片廠商正在加速崛起并開始嶄露頭角。比如,在芯片指令集架構方面,龍芯推出的Loong Ar...

關鍵字: 國產芯片 操作系統(tǒng)

車規(guī)級芯片,指技術標準達到車規(guī)級,可應用于汽車控制的芯片。車規(guī)級是適用于汽車電子元件的規(guī)格標準等級之一。MCU芯片等級標準分為消費級、工業(yè)級、車規(guī)級、QJ、GJ五個等級。車規(guī)級芯片,顧名思義,是應用到汽車中的芯片。

關鍵字: 汽車 缺芯 操作系統(tǒng)

北京2022年9月6日 /美通社/ -- 9月5日思靈機器人發(fā)布“Agile Core & Diana”系列產品,該產品突破了單一的硬件或軟件技術,從思靈機器人專注的領域出發(fā),采取軟硬一體的整套解決方案,從而實現...

關鍵字: 機器人 AN 操作系統(tǒng) CORE

工業(yè)控制

13468 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉