新聞中心

EEPW首頁 > 手機與無線通信 > 基于無線傳感器網絡仿真平臺的研究

基于無線傳感器網絡仿真平臺的研究

——
作者: 時間:2007-07-06 來源: 收藏

一、引言

     網絡(WSN)日新月異,各種網絡方案和協(xié)議日趨復雜,網絡規(guī)模日趨龐大,對網絡研究人員而言,掌握網絡仿真的重要性是不言而喻的。WSN仿真能夠在一個可控制的環(huán)境里研究WSN應用,包括操作系統(tǒng)和網絡協(xié)議棧,能夠仿真數量眾多的節(jié)點,能夠觀察由不可預測的干擾和噪聲引起的難以琢磨的節(jié)點間的相互作用,獲取節(jié)點間詳細的細節(jié),從而提高節(jié)點投放后的網絡成功率,減少投放后的網絡維護工作。目前網絡使用的仿真工具主要有NS2、TinyOS、OPNET、OMNET++等等。其中TinyOS是專門針對網絡的特點而研究開發(fā)的。

二、傳感器網絡仿真簡介

     在傳感器網絡中,單個傳感器節(jié)點有兩個很突出的特點。一個特點是它的并發(fā)性很密集;另一個特點是傳感器節(jié)點模塊化程度很高.上述這些特點使得無線傳感器網絡仿真需要解決可擴展性與仿真效率、分布與異步特性、動態(tài)性、綜合仿真平臺等等問題。

三、無線傳感器網絡常用仿真工具

     無線傳感器網絡常用仿真工具有NS2、OPNET、OMNET++、TinyOS,下面我們簡要介紹它們各自的性能和特點。

3.1 NS2
     NS是一種可擴展、以配置和可編程的時間驅動的仿真工具,它是由REAL仿真器發(fā)展而來.在NS的設計中,使用C++和OTCL兩種程序設計語言, C++是一種相對運行速度較快但是轉換比較慢的語言,所以C++語言被用來實現(xiàn)網絡協(xié)議, 編寫NS底層的仿真引擎; OTCL是運行速度較慢,但可以快速轉換的腳本語言,正好和C++互補,所以OTCL語言被用來配置仿真中各種參數,建立仿真的整體結構, OTCL的腳本通過調用引擎中各類屬性、方法,定義網絡的拓撲,配置源節(jié)點、目的節(jié)點建立鏈接,產生所有事件的時間表,運行并跟蹤仿真結果,還可以對結果進行相應的統(tǒng)計處理或制圖.NS可以提供有線網絡、無線網絡中鏈路層及其上層精確到數據包的一系列行為仿真。NS中的許多協(xié)議都和真實代碼十分接近,其真實性和可靠性是非常高的。

3.2 OPNET
     OPNET是在MIT研究成果的基礎上由MIL3公司開發(fā)的網絡仿真軟件產品。  OPNET的主要特點包括以下幾個方面:(1)采用面向對象的技術,對象的屬性可以任意配置,每一對象屬于相應行為和功能的類,可以通過定義新的類來滿足不同的系統(tǒng)要求; (2)OPNET提供了各種通信網絡和信息系統(tǒng)的處理構件和模塊;(3) OPNET采用圖形化界面建模,為使用者提供三層(網絡層、節(jié)點層、進程層)建模機制來描述現(xiàn)實的系統(tǒng);(4) OPNET在過程層次中使用有限狀態(tài)機來對其它協(xié)議和過程進行建模,用戶模型及OPNET內置模型將會自動生成C語言實現(xiàn)可執(zhí)行的高效、高離散事件的模擬流程;(5) OPNET內建了很多性能分析器,它會自動采集模擬過程的結果數據;(6)OPNET幾乎預定義了所有常用的業(yè)務模型,如均勻分布、泊松分布、歐蘭分等。

3.3 OMNET++
     OMNET++是面向對象的離散事件模擬工具,為基于進程式和事件驅動兩種方式的仿真提供了支持。 OMNET++采用混合式的建模方式,同時使用了OMNET++特有的ned(Network Discription,網絡描述)語言和C++進行建模。OMNET++主要由六個部分組成:仿真內核庫、網絡描述語言的編譯器、圖形化的網絡編譯器、仿真程序的圖形化用戶接口、仿真程序的命令行用戶接口和圖形化的向量輸出工具。OMNET++的主要模型拓撲描述語言NED,采用它可以完成一個網絡模型的描述。 網絡描述包括下列組件:輸入申明、信道定義、系統(tǒng)模塊定義、簡單模塊和復合模塊定義。使用NED描述網絡,產生.NED文件,該文件不能直接被C++編譯器使用,需要首先采用OMNET++提供的編譯工具NEDC將.NED文件編譯成.cpp文件。最后,使用C++編譯器將這些文件與用戶和自己設計的簡單模塊程序連接成可執(zhí)行程序。

3.4 TinyOS
     TinyOS是專門針對傳感器研發(fā)出的操作系統(tǒng)。在TinyOS上編程序使用的語言為nesC(C language for network embedded systems) 語言。

     nesC語言是由C語言擴展而來的,意在把組件化/模塊化思想和TinyOS基于事件驅動的執(zhí)行模型結合起來。 nesC 組件有Module(模塊)和Configuration(連接配置文件)兩種。在模塊中主要實現(xiàn)代碼的編制,在連接配置文件中主要是將各個組件和模塊連接起來成為一個整體。

     TinyOS程序采用的是模塊化設計,所以它的程序核心往往都很小,能夠突破傳感器存儲資源少的限制,這能夠讓TinyOS很有效的運行在無線傳感器網絡上并去執(zhí)行相應的管理工作等。TinyOS的特點主要體現(xiàn)在以下幾個方面:

     (1)組件化編程(Componented-Based Architecture)。TinyOS的組件通常可以分為以下三類:硬件抽象組件、合成組件、高層次的軟件組件;硬件抽象組件將物理硬件映射到TinyOS組件模型.合成硬件組件模擬高級硬件的行為.高層次軟件模塊完成控制、路由以及數據傳輸等。}

     (2)事件驅動模式(Event-Driven Architecture)。事件驅動分為硬件驅動和軟件事件驅動。硬件事件驅動也就是由一個硬件發(fā)出中斷,然后進入中斷處理函數。而軟件驅動則是通過singal關鍵字發(fā)出一個事件。

     (3)任務和事件并發(fā)模式(Tasks And Events Concurrency Model)。任務用在對于時間要求不是很高的應用中,任務之間是平等的,即在執(zhí)行時是按順序先后來的,而不能相互搶占,TinyOS對任務是按簡單的FIFO隊列進行處理的。事件用在對于時間的要求很嚴格的應用中,而且它可以占先優(yōu)于任務和其他事件執(zhí)行。

     (4)分段執(zhí)行(Split-Phase Operations)。在TinyOS中由于tasks 之間不能互相占先執(zhí)行,所以TinyOS沒有提供任何阻塞操作,為了讓一個耗時較長的操作盡快完成,一般來說都是將對這個操作的需求和這個操作的完成分開來實現(xiàn),以便獲得較高的執(zhí)行效率。

     (5) 輕量級線程(lightweight thread)。輕量級線程(task, 即TinyOS中的任務)按FIFO方式進行調度,輕量級線程之間不允許搶占;而硬件處理線程(在TinyOS中,稱為硬件處理器),即中斷處理線程可以打斷用戶的輕量級線程和低優(yōu)先級的中斷處理線程,對硬件中斷進行快速處理響應。

     (6) 主動通信消息(active message)。每一個消息都維護一個應用層和處理器。當目標節(jié)點收到這個消息后,就會把消息中的數據作為參數,并傳遞給應用層的處理器進行處理。應用層的處理器一般完成消息數據的解包操作、計算處理或發(fā)送響應消息等工作。

TinyOS操作系統(tǒng)中常用的仿真平臺主要是TOSSIM和Avrora

     (1)TOSSIM(TinyOS simulation)是一個支持基于TinyOS的應用在PC機上運行的模擬器.TOSSIM運行和傳感器硬件相同的代碼,仿真編譯器能直接從TinyOS應用的組件表中編譯生成仿真程序。

     (2)Avrora是一種專門為Atmel和Mica2節(jié)點上以AVR單片機語言編寫的程序提供仿真分析的工具。它的主要特點如下:1) 為AVR單片機提供了cycle accurate級的仿真,使靜態(tài)程序可以準確的運行。它可以仿真片上(chip-on)設備驅動程序,并為片外(off-chip)程序提供了有規(guī)則的接口;2)可以添加監(jiān)測代碼來報告仿真程序運行的性能,或者可以在仿真結束后收集統(tǒng)計數據,并產生報告;3)提供了一套基本的監(jiān)控器來剖析程序,這有助于分析程序的執(zhí)行模式和資源使用等等;4)Avrora可以用gdb調試程序;5) Avrora可以為程序提供一個程序流圖,通過這個流程圖可以清楚的表示機器代碼程序的結構和組織;6) Avrora中提供了分析能量消耗的工具,并且可以設置設備的帶電大小;7) Avrora可以用來限制程序的最大堆??臻g,它會提供一些關于目前程序中的最大的堆棧結構,和一些關于空間和時間消耗的信息報告。

3.5性能比較

     TinyOS 用行為建模,可以仿真跨層協(xié)議;仿真程序移植到節(jié)點上,不需要二次編碼。
     通過對上述幾種仿真軟件的分析比較,我們可以清楚的看到各個仿真軟件的特點、適用范圍,我們可以根據研究需要選擇適合的仿真軟件,使得我們的學習研究可以事半功倍。

結束語

     網絡仿真技術為通信網絡規(guī)劃和優(yōu)化提供了一種科學高效的方法。網絡仿真在國內是近幾年才發(fā)展起來的,但在國外網絡仿真技術已經相當成熟,我們應該大膽地借鑒國外先進技術,促進國內網絡仿真技術迅速發(fā)展。

參考文獻
【1】于海斌,曾鵬等.智能無線傳感器網絡.科學出版社,2006,p283~p303,
【2】石懷偉,李明生,王少華,網絡仿真技術與OPNET應用實踐,計算機系統(tǒng)應用2006.第3期
【3】李玥,吳辰文,基于OMNeT++地TCP/IP協(xié)議仿真,蘭州交通大學學報(自然科學版),2005年8月
【4】袁紅林,徐晨,章國安,TOSSIM:無線傳感器網絡仿真環(huán)境,傳感器與儀表儀器 ,2006年第22卷第7-1期

c語言相關文章:c語言教程


c++相關文章:c++教程


傳感器相關文章:傳感器工作原理


風速傳感器相關文章:風速傳感器原理


評論


相關推薦

技術專區(qū)

關閉