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

相關專題: 無線

0  引言

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

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

傳感器網絡節(jié)點硬件一般都由數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)收發(fā)和電源等四個單元組成。數(shù)據(jù)采集單元通過傳感器采集外界數(shù)據(jù)并將其轉化為數(shù)字信號;數(shù)據(jù)處理單元是節(jié)點的核心模塊,負責協(xié)調節(jié)點各部分的工作,如對數(shù)據(jù)采集單元采集的數(shù)據(jù)進行必要的處理和保存,以及數(shù)據(jù)收發(fā)單元工作模式的設置等;數(shù)據(jù)收發(fā)單元負責數(shù)據(jù)的無線傳輸以及與數(shù)據(jù)處理單元的數(shù)據(jù)交互。上述四大基本模塊與相應的操作系統(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é)點數(shù)量大,分布范圍廣,網絡中的傳感器節(jié)點十分密集,數(shù)量巨大,有時可能達到幾百,幾千,甚至更多。

(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ā)現(xiàn),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),接口可以被認為是這個軟件組件實現(xiàn)的一組函數(shù)的聲明,是單獨定義的一組命令和事件,其他組件通過引用相同接口聲明來使用這個組件(ComA)的函數(shù),從而實現(xiàn)組件間功能的相互調用,即組件的接口是實現(xiàn)組件間互連的通道。但若組件中實現(xiàn)的函數(shù)并未被它在接口中說明,就不能被其他組件所使用。nesC語言的定義中存在兩種不同功能的組件:其中組件接口中的函數(shù)功能專門在模塊的組件文件中實現(xiàn),而不同組件之間的關系則是專門通過稱為配件的組件文件來描述的。

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

 

作者:邱璐璐   來源:中電網
微信掃描分享本文到朋友圈
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
  • 1、回復“YD5GAI”免費領取《中國移動:5G網絡AI應用典型場景技術解決方案白皮書
  • 2、回復“5G6G”免費領取《5G_6G毫米波測試技術白皮書-2022_03-21
  • 3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網白皮書
  • 4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領取《中國電信5GNTN技術白皮書
  • 6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領取《中國移動算力并網白皮書
  • 8、回復“5GX3”免費領取《R1623501-g605G的系統(tǒng)架構1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息