網(wǎng)絡(luò)體系結(jié)構(gòu)《無線傳感器網(wǎng)絡(luò)技術(shù)》課件_第1頁
網(wǎng)絡(luò)體系結(jié)構(gòu)《無線傳感器網(wǎng)絡(luò)技術(shù)》課件_第2頁
網(wǎng)絡(luò)體系結(jié)構(gòu)《無線傳感器網(wǎng)絡(luò)技術(shù)》課件_第3頁
網(wǎng)絡(luò)體系結(jié)構(gòu)《無線傳感器網(wǎng)絡(luò)技術(shù)》課件_第4頁
網(wǎng)絡(luò)體系結(jié)構(gòu)《無線傳感器網(wǎng)絡(luò)技術(shù)》課件_第5頁
已閱讀5頁,還剩95頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第二章網(wǎng)絡(luò)體系架構(gòu)

WSN節(jié)點概述和分類WSN節(jié)點結(jié)構(gòu)WSN節(jié)點體系結(jié)構(gòu)WSN網(wǎng)絡(luò)結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)分類和特點WSN操作系統(tǒng)傳感器概述:功用:一感二傳,即感受被測信息,并傳送出去。傳感器定義

我國國標(biāo)(GB7665-2005)對傳感器的定義是:“能感受被測量并按照一定的規(guī)律轉(zhuǎn)換成可用輸出信號的器件或裝置”。傳感器的作用主要是感受和響應(yīng)規(guī)定的被測量,并按一定規(guī)律將其轉(zhuǎn)換成有用輸出,特別是完成非電量到電量的轉(zhuǎn)換。2/28

傳感器的組成

傳感器的組成,并無嚴格的規(guī)定。一般說來,可以把傳感器看作由敏感元件(有時又稱為預(yù)變換器)和變換元件(有時又稱為變換器)兩部分組成。qzm_mail@3/28傳感器的分類根據(jù)被測量與輸出電量的轉(zhuǎn)換原理分類能量轉(zhuǎn)換型、能量控制型根據(jù)傳感器感知的對象分類溫度傳感器、力傳感器、等根據(jù)輸出信號的性質(zhì)不同分類二值型、數(shù)字型、模擬型根據(jù)傳感器測量原理分類物理和化學(xué)….4常用物理傳感器

與化學(xué)傳感器5分類-物理傳感器1.物理傳感器物理傳感器的原理是利用力、熱、聲、光、電、磁、射線等物理效應(yīng),將被測信號量的微小變化轉(zhuǎn)換成電信號物理傳感器可以進一步分為:力傳感器、熱傳感器、聲傳感器、光傳感器、電傳感器、磁傳感器與射線傳感器等7類6(1)力傳感器力傳感器是能感受外力并將其轉(zhuǎn)換成可用輸出信號的傳感器。力傳感器的種類繁多,常用的力與壓力傳感器有電阻應(yīng)變式、半導(dǎo)體應(yīng)變式、壓阻式、電感式、電容式、諧振式壓力傳感器,以及光纖壓力傳感器等用金屬應(yīng)變絲作為敏感元件的壓力傳感器原理示意圖7不同用途的

力傳感器8(2)溫度傳感器(3)聲傳感器9(4)光傳感器圖像傳感器光纖傳感器10分布式光纖傳感系統(tǒng)分布式光纖傳感系統(tǒng)利用光纖作為傳感敏感元件和傳輸信號介質(zhì),探測出沿著光纖不同位置的溫度和應(yīng)變的變化,實現(xiàn)分布、自動、實時、連續(xù)、精確的測量。分布式光纖傳感系統(tǒng)應(yīng)用領(lǐng)域包括:

—智能電網(wǎng)的電力電纜表面溫度檢測、事故點定位

—發(fā)電廠和變電站的溫度監(jiān)測、故障點檢測和報警

—水庫大壩、河堤安全與滲漏監(jiān)測

—橋梁與高層建筑結(jié)構(gòu)安全性監(jiān)測

—公路、地鐵、隧道地質(zhì)狀況的監(jiān)測分布光纖溫度傳感系統(tǒng)可以在易燃、易爆的環(huán)境下同時測量上萬個點,可以對每個溫度測量點進行實時測量與定位11(5)電傳感器電傳感器可以分為:電阻式、電容式、電感式傳感器電阻式傳感器利用變阻器將非電量轉(zhuǎn)換成電阻信號的原理制成的。電阻式傳感器主要用于位移、壓力、應(yīng)變、力矩、氣流流速、液面與液體流量等參數(shù)的測量電容式是利用改變電容器的幾何尺寸或介質(zhì)參數(shù),來使電容量變化的原理制成的。電容式傳感器主要用于壓力、位移、液面、厚度、水分含量等參數(shù)的測量電感式是利用改變電感磁路的幾何尺寸或磁體位置,來使電感或互感量變化的原理制成的,主要用于壓力、位移、力、振動、加速度等參數(shù)的測量。12(6)磁傳感器磁傳感器是最古老的傳感器,指南針是磁傳感器的最早的一種應(yīng)用磁傳感器將磁信號轉(zhuǎn)化成為電信號輸出磁電式傳感器目前已經(jīng)被高性能磁敏感材料的新型磁傳感器所替代13(7)射線傳感器

射線傳感器是將射線強度轉(zhuǎn)換出可輸出的電信號的傳感器射線傳感器可以分為:X射線傳感器、γ射線傳感器、β射線傳感器、輻射劑量傳感器射線傳感器已經(jīng)在環(huán)境保護、醫(yī)療衛(wèi)生、科學(xué)研究與安全保護領(lǐng)域廣泛使用14分類-化學(xué)傳感器化學(xué)傳感器可以將化學(xué)吸附、電化學(xué)反應(yīng)過程中被測信號的微小變化轉(zhuǎn)換成電信號的一類傳感器

按傳感方式的不同,可分為:

—接觸式化學(xué)傳感器

—非接觸式化學(xué)傳感器按結(jié)構(gòu)形式的不同,可以分為:

—分離型化學(xué)傳感器

—組裝一體化化學(xué)傳感器按檢測對象的不同,可以分為:

—氣體傳感器

—離子傳感器

—濕度傳感器

15分類-生物傳感器生物傳感器是由生物敏感元件和信號傳導(dǎo)器組成生物敏感元件可以是生物體、組織、細胞、酶、核酸或有機物分子不同的生物元件對于光強度、熱量、聲強度、壓力有不同的感應(yīng)特性16生物傳感器的分類常用傳感器qzm_mail@17/28

智能傳感器qzm_mail@18/28

定義:傳統(tǒng)傳感器加上處理器具有智能功能的傳感器。所謂智能式傳感器,就是一種帶有微處理機的,兼有信息檢測、信號處理、信息記憶、邏輯分析與判斷功能的傳感器。組成:傳感器+微處理器+信號處理電路。微處理器為核心。智能傳感器的特點具有自動調(diào)零和自動校準(zhǔn)功能具有判斷和信息處理功能、對測量值進行修正和誤差補償實現(xiàn)多慘了綜合測量(復(fù)合感知能力)自動診斷故障靈活的通信能力智能傳感器的發(fā)展為傳感器技術(shù)的研究提出了很多富有挑戰(zhàn)性的課題qzm_mail@19/28微機電系統(tǒng)對智能傳感器發(fā)展的影響微機電系統(tǒng)(MEMS)是指集微型機構(gòu)、微型傳感器、微型執(zhí)行器以及信號處理和控制電路,直至接口、通信和電源等于一體的微型器件或系統(tǒng)qzm_mail@20/28性能指標(biāo)靜態(tài)指標(biāo)線性范圍:輸出量與輸入量呈線性關(guān)系的測量范圍線性度:傳感器實際輸入輸出量曲線與擬合曲線的重疊程度靈敏度:輸出變化量與輸入變化量的比值穩(wěn)定性:表示傳感器經(jīng)過長期使用后,輸出特性不發(fā)生變化的性能分辨率:能檢測到的被測量的最小變化量21/28(具體定義公式見教材)性能指標(biāo)

遲滯:傳感器在輸入量從小到大正向變化與反向變化,其輸入輸出特性曲線不重合的程度重復(fù)性:傳感器在輸入量按同一方向做全量程連續(xù)多次變化時所得特性曲線一致的程度漂移:輸入量不變的情況下,輸出量隨時間變化的現(xiàn)象測量范圍:最小/最大輸入量的范圍精度:測量結(jié)果的可靠程度,以給定的準(zhǔn)確度來表示重復(fù)某個讀數(shù)的能力動態(tài)指標(biāo)輸出信號對應(yīng)隨時間變化的輸入量的響應(yīng)特性,反映測量精度、重復(fù)性和可靠性第二章網(wǎng)絡(luò)體系架構(gòu)

WSN節(jié)點概述和分類WSN節(jié)點結(jié)構(gòu)WSN節(jié)點體系結(jié)構(gòu)WSN網(wǎng)絡(luò)結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)分類和特點WSN操作系統(tǒng)24無線傳感器節(jié)點結(jié)構(gòu)(1)無線傳感器節(jié)點通常由4個功能模塊組成:感知模塊、處理模塊、通信模塊和電源模塊25無線傳感器節(jié)點結(jié)構(gòu)(2)感知模塊:由一個或多個傳感器以及模數(shù)轉(zhuǎn)換器組成。傳感器負責(zé)感知監(jiān)測目標(biāo)的物理特征和現(xiàn)象,并產(chǎn)生相應(yīng)的模擬信號。感知聲、光、電、震動、磁、氣體等信號模數(shù)轉(zhuǎn)換器負責(zé)將模擬信號轉(zhuǎn)換為數(shù)字信號,并將數(shù)字信號送往處理模塊進行處理。處理模塊:由一個微處理器及相應(yīng)的內(nèi)存組成,負責(zé)對數(shù)據(jù)進行處理、濾波、決策、執(zhí)行、資源分配等判斷,并對傳感器節(jié)點進行控制通信模塊:由數(shù)模轉(zhuǎn)換器和無線收發(fā)送器(Zigbee,WiFi,GPRS,短波等)組成,負責(zé)發(fā)送和接收數(shù)據(jù)和控制信息26無線傳感器節(jié)點結(jié)構(gòu)(3)電源模塊:負責(zé)節(jié)點的供電(電池供電或從自然界采集能量)其他模塊位置模塊:節(jié)點可以配置全球定位系統(tǒng)(GlobalPositioningSystem,GPS)或北斗定位系統(tǒng)接收器移動模塊:在某些需要移動傳感器節(jié)點的應(yīng)用中,可以配置馬達來驅(qū)動傳感器節(jié)點/wiki/List_of_wireless_sensor_nodes一個簡單的應(yīng)用開發(fā)需要:一個簡單的應(yīng)用開發(fā)需要:Serialgateway

(MIB510)MICA2(MPR400)(處理模塊和通信模塊)MTS310(感知模塊)QTY:1

COST:$95.00

Serial"gateway"usedtoprogramandcommunicatewiththemotes.

NOTE:Ifyourcomputerdoesnothaveaserialport,youwillalsoneedtobuyaserialtoUSBadapter.QTY:2

COST:$150.00each

The900MHzmotesoffergreaterbandwidth,whichmeansmoreavailablechannels.Ifyouwanttohaveseveralmotenetworksoperatingatonce,thisisthewaytogo.The433MHzmotesgetbetterrange.Bestforoutdoorapplications.QTY:1

COST:$120.00

Basicsensorboardthatplugsintothemote.Containslightsensor,temperaturesensor,microphoneandsounder.Moreadvancedsensorboardshaveaccelerometers,magnetometersandGPS.ProgrammingBoard(MIB510)29Mica2MotesMICA2MOTE/isf/facilities/isa/internal/CrossBow/DataSheets/mica2.pdf30

SensorBoard-MTS31032第二章網(wǎng)絡(luò)體系架構(gòu)

WSN節(jié)點概述和分類WSN節(jié)點結(jié)構(gòu)WSN節(jié)點體系結(jié)構(gòu)WSN網(wǎng)絡(luò)結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)分類和特點WSN操作系統(tǒng)

跨層設(shè)計聯(lián)合優(yōu)化無線傳感器網(wǎng)絡(luò)協(xié)議棧WSN的體系架構(gòu)35WSN的通信協(xié)議

物理層(主要是電磁波)負責(zé)頻率選擇、頻率產(chǎn)生、信號檢測、調(diào)制解調(diào)和數(shù)據(jù)加密36WSN的通信協(xié)議(續(xù))鏈路層負責(zé)介質(zhì)訪問和差錯控制確保通信中點-點/點-多點的連接介質(zhì)訪問控制:創(chuàng)建網(wǎng)絡(luò)架構(gòu)在節(jié)點間公平有效的共享通信資源差錯控制前向糾錯FEC自動重發(fā)檢錯ARQ37WSN的通信協(xié)議(續(xù)網(wǎng)絡(luò)層(路由層)節(jié)能總是最重要的考慮傳感網(wǎng)絡(luò)多以數(shù)據(jù)為中心數(shù)據(jù)聚合不能影響傳感節(jié)點的協(xié)同理想的傳感器網(wǎng)絡(luò)基于屬性尋址并能感知位置38WSN的通信協(xié)議(續(xù)傳輸層負責(zé)數(shù)據(jù)流的傳輸控制可靠性和擁塞控制當(dāng)傳感系統(tǒng)需要被Internet或者其它外部網(wǎng)絡(luò)訪問時傳輸層設(shè)計與實現(xiàn)至關(guān)重要研究不成熟39WSN的通信協(xié)議(續(xù))跨層設(shè)計聯(lián)合優(yōu)化應(yīng)用層負責(zé)任務(wù)調(diào)度和數(shù)據(jù)分發(fā)等具體業(yè)務(wù),使得底層硬件和軟件對傳感應(yīng)用是透明的

Sensormanagementprotocol(SMP)Taskassignmentanddataadvertisementprotocol(TADAP)Sensorqueryanddatadisseminationprotocol(SQDDP)網(wǎng)絡(luò)管理平臺主要是對傳感器節(jié)點自身的管理和用戶對wsn的管理,包括:拓撲控制服務(wù)質(zhì)量管理能力管理安全管理移動管理網(wǎng)絡(luò)管理應(yīng)用支撐平臺包括一系列基于監(jiān)測任務(wù)的應(yīng)用層軟件,通過應(yīng)用服務(wù)借口和網(wǎng)絡(luò)管理接口為用戶提供各種應(yīng)用的支持。時間同步定位應(yīng)用服務(wù)接口網(wǎng)絡(luò)管理接口第二章網(wǎng)絡(luò)體系架構(gòu)

WSN節(jié)點概述和分類WSN節(jié)點結(jié)構(gòu)WSN節(jié)點體系結(jié)構(gòu)WSN網(wǎng)絡(luò)結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)分類和特點WSN操作系統(tǒng)43無線傳感網(wǎng)的布設(shè)形式隨機布設(shè)網(wǎng)戰(zhàn)場:炮射、空投應(yīng)急:火災(zāi)、毒氣固定布設(shè)網(wǎng)工控:自動控制監(jiān)測:遠程監(jiān)測44無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)(1)傳感器網(wǎng)絡(luò)基本組成:傳感器節(jié)點(sensornode)

匯聚節(jié)點(sink)管理節(jié)點(Management

node)匯聚節(jié)點→傳感器節(jié)點:查詢消息或指令匯聚節(jié)點還作為連接外部傳輸網(wǎng)絡(luò)(如互聯(lián)網(wǎng)、衛(wèi)星網(wǎng)等)的網(wǎng)關(guān),對收集到的數(shù)據(jù)進行簡單的處理,然后將數(shù)據(jù)通過互聯(lián)網(wǎng)或其它傳輸網(wǎng)絡(luò),傳送給監(jiān)控中心和需要使用這些數(shù)據(jù)的終端用戶傳感器節(jié)點→匯聚節(jié)點:監(jiān)測數(shù)據(jù)sinkInternet/SatelliteSensornode45無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)(2)單跳結(jié)構(gòu)各傳感器節(jié)點可以采用單跳的方式將各自的數(shù)據(jù)直接發(fā)送給匯聚節(jié)點基于蜂窩的窄帶物聯(lián)網(wǎng)(NarrowBandInternetofThings,NB-IoT)Sensornode

Ref:NB-IoT:AsustainabletechnologyforconnectingbillonsofdevicesEricssionTechnologyReviewApril22,2016

NB-IoT的應(yīng)用無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)(3)多跳結(jié)構(gòu)傳感器節(jié)點通過一個或多個網(wǎng)絡(luò)中間節(jié)點將所采集到的數(shù)據(jù)傳送給匯聚節(jié)點,從而有效地降低通信所需的能耗平面結(jié)構(gòu)多跳分簇結(jié)構(gòu)

多層分簇結(jié)構(gòu)第二章網(wǎng)絡(luò)體系架構(gòu)

WSN節(jié)點概述和分類WSN節(jié)點結(jié)構(gòu)WSN節(jié)點體系結(jié)構(gòu)WSN網(wǎng)絡(luò)結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)分類和特點WSN操作系統(tǒng)50無線傳感器網(wǎng)絡(luò)的分類(1)單跳網(wǎng)絡(luò)與多跳網(wǎng)絡(luò)single-hop/multi-hop靜止網(wǎng)絡(luò)與移動網(wǎng)絡(luò)static/mobile靜止傳感網(wǎng)中,所有傳感器節(jié)點都是靜止不動的。靜止傳感網(wǎng)實現(xiàn)簡單,但靜止WSN存在瓶頸;移動傳感網(wǎng)中,某些節(jié)點可以移動。移動可以平衡網(wǎng)絡(luò)流量和能耗分布,但動態(tài)性使得協(xié)議實現(xiàn)復(fù)雜。靜止匯聚節(jié)點網(wǎng)絡(luò)與移動匯聚節(jié)點網(wǎng)絡(luò)靜止匯聚節(jié)點網(wǎng)絡(luò)中,匯聚節(jié)點的位置靜止固定在監(jiān)測區(qū)域附近或內(nèi)部;移動匯聚節(jié)點網(wǎng)絡(luò)中,匯聚節(jié)點在監(jiān)測區(qū)域移動,收集傳感器節(jié)點的監(jiān)測數(shù)據(jù),可以平衡各網(wǎng)絡(luò)負載,減小熱點效應(yīng)。51無線傳感器網(wǎng)絡(luò)的分類(2)確定性網(wǎng)絡(luò)與非確定性網(wǎng)絡(luò)根據(jù)傳感器節(jié)點部署的情況不同確定性傳感器網(wǎng)絡(luò)中,傳感器節(jié)點的位置是預(yù)先規(guī)劃的,且一旦部署不再變化;非確定性傳感器網(wǎng)絡(luò)中,節(jié)點隨機布設(shè),甚至可以移動,適合自然條件惡劣或敵對的應(yīng)用場合,難以預(yù)先規(guī)劃。單匯聚節(jié)點網(wǎng)絡(luò)與多匯聚節(jié)點網(wǎng)絡(luò)根據(jù)匯聚節(jié)點的數(shù)量單匯聚節(jié)點網(wǎng)絡(luò)中,只有一個匯聚節(jié)點位于監(jiān)測區(qū)域的附近或內(nèi)部;多匯聚節(jié)點網(wǎng)絡(luò)中,多個匯聚節(jié)點布設(shè)于不同位置,各傳感器節(jié)點可以將其監(jiān)測數(shù)據(jù)發(fā)送給離自己最近的匯聚節(jié)點。52無線傳感器網(wǎng)絡(luò)的分類(3)同構(gòu)網(wǎng)絡(luò)與異構(gòu)網(wǎng)絡(luò)根據(jù)傳感器節(jié)點是否具有相同的能力(通信能力、感知能力、計算能力等的不同)同構(gòu)傳感器網(wǎng)絡(luò)中,所有傳感器節(jié)點能力完全相同;異構(gòu)傳感器網(wǎng)絡(luò)中,傳感器節(jié)點(或部分)能力不同,可以配備較強的通信、處理模塊或傳感器。先應(yīng)式網(wǎng)絡(luò)和反應(yīng)式網(wǎng)絡(luò)先應(yīng)式網(wǎng)絡(luò)采用連續(xù)操作模式,節(jié)點定期打開傳感器和發(fā)送器、感知環(huán)境并進行數(shù)據(jù)匯包適用于定期監(jiān)控的應(yīng)用反應(yīng)式網(wǎng)絡(luò)采用查詢-響應(yīng)的操作模式,節(jié)點按需的進行感知和數(shù)據(jù)匯報WSN的特征四大受限:能量受限

通信能力受限計算能力受限存儲能力受限組網(wǎng)特征:自組織性以數(shù)據(jù)為中心應(yīng)用相關(guān)性事件驅(qū)動拓撲動態(tài)性大規(guī)模需要考慮可靠性和魯棒性54無線傳感器網(wǎng)絡(luò)的設(shè)計目標(biāo)節(jié)點體積小型化節(jié)點成本低廉節(jié)點功耗超低節(jié)點可自組成網(wǎng)可擴展性強自適應(yīng)性強可靠性高滿足一定的安全性和服務(wù)質(zhì)量要求55傳感網(wǎng)絡(luò)面臨的問題和挑戰(zhàn)56影響傳感器網(wǎng)絡(luò)的因素(1)57影響傳感器網(wǎng)絡(luò)的因素(2)58影響傳感器網(wǎng)絡(luò)的因素(3)制造成本單個節(jié)點的成本是衡量整個網(wǎng)絡(luò)成本的關(guān)鍵如何以低于一美元的成本制造一定功能的傳感節(jié)點是很大的挑戰(zhàn)傳輸介質(zhì)(選擇的傳輸介質(zhì)必須是全球可用的)無線電紅外其他光波59影響傳感器網(wǎng)絡(luò)的因素(4)傳感器的環(huán)境敵方戰(zhàn)場居家/大型建筑物大型倉庫動物身上快速移動的車輛有水流動的排水管/河流第二章網(wǎng)絡(luò)體系架構(gòu)

WSN節(jié)點概述和分類WSN節(jié)點結(jié)構(gòu)WSN節(jié)點體系結(jié)構(gòu)WSN網(wǎng)絡(luò)結(jié)構(gòu)WSN分類WSN操作系統(tǒng)MajorConcernsinWSNOSDesign能在有限的資源上運行:WSN節(jié)點資源非常有限(通信帶寬資源/能量資源/計算資源),操作系統(tǒng)必須能夠高效地使用各種資源;允許高度的并發(fā)性:要求執(zhí)行模式能對事件作出快速的直接響應(yīng);適應(yīng)硬件升級支持一系列平臺:要求組件和執(zhí)行模式能夠應(yīng)對硬件/軟件的替換,具有可移植性;支持多樣化的應(yīng)用程序:良好的模塊化設(shè)計,使應(yīng)用/協(xié)議/服務(wù)與硬件資源之間可以隨意搭配,要求能夠根據(jù)實際需要,裁減操作系統(tǒng)的服務(wù);魯棒性強:要求通過組件間有限的交互渠道,就能應(yīng)對各種復(fù)雜情況;提供高效的組網(wǎng)機制:WSN是一個網(wǎng)絡(luò)系統(tǒng),其操作系統(tǒng)也必然是面向網(wǎng)絡(luò)化開發(fā)的。網(wǎng)絡(luò)化系統(tǒng)要求操作系統(tǒng)必須為應(yīng)用提供高效的組網(wǎng)和通信機制WSNOSOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluationOperatingSystemsAnoperatingSystemisathinsoftwarelayerresidesbetweenthehardwareandtheapplicationlayerprovidesbasicprogrammingabstractionstoapplicationdevelopersItsmaintask

istoenableapplicationstointeractwithhardwareresourcesOperatingSystemsOperatingsystemsareclassifiedas:

single-task/multitaskingand

single-user/multiuseroperatingsystemsmulti-taskingOS-theoverheadofconcurrentprocessingbecauseofthelimitedresourcessingletaskOS-tasksshouldhaveashortdurationThechoiceofaparticularOSdependsonseveralfactors;typicallyfunctional

and

non-functional

aspectsOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluation

DataTypesInteractionsbetweenthedifferentsubsystemstakeplacethrough:well-formulatedprotocolsdatatypesComplexdatatypeshavestrongexpressionpowerbutconsumeresources-structandenumSimpledatatypesareresourceefficientbuthavelimitedexpressioncapability-CprogramminglanguageSchedulingTwoschedulingmechanisms:queuing-basedscheduling

FIFO-thesimplestandhasminimumsystemoverhead,buttreatstasksunfairlysortedqueue-e.g.,shortestjobfirst(SJF)-incurssystemoverhead(toestimateexecutionduration)round-robinschedulingatimesharingschedulingtechniqueseveraltaskscanbeprocessedconcurrentlySchedulingRegardlessofhowtasksareexecuted,aschedulercanbeeitheranon-preemptivescheduler-ataskisexecutedtotheend,maynotbeinterruptedbyanothertaskorpreemptivescheduler-ataskofhigherprioritymayinterruptataskoflowpriorityStacks&SystemCallsStacksadatastructurethattemporarilystoresdataobjectsinmemorybypilingoneuponanotherobjectsareaccessedusinglast-in-first-out(LIFO)SystemCalls:istheprogrammaticwayinwhichacomputer

program

requests

a

service

from

the

kernel

of

the

operating

system

it

is

executed

ondecoupletheconcernofaccessinghardwareresourcesfromimplementationdetailswheneveruserswishtoaccessahardwareresource,theyinvoketheseoperationswithouttheneedtoconcernthemselveshowthehardwareisaccessedHandlingInterruptsAninterruptisanasynchronoussignalgeneratedby

ahardwaredeviceseveralsystemeventsOSitselfAninterruptcauses:theprocessortointerruptexecutingthepresentinstructiontocallforanappropriateinterrupthandlerInterruptsignalscanhavedifferentprioritylevels,ahighpriorityinterruptcaninterruptalowlevelinterruptInterruptmask:letprogramschoosewhetherornottheywishtobeinterruptedMulti-threadingA

thread

isthepathtakenbyaprocessororaprogramduringitsexecutionMulti-threading

-ataskisdividedintoseverallogicalpiecesscheduledindependentfromeachotherexecutedconcurrentlyTwoadvantagesofamulti-threadedOS:tasksdonotblockothertasksshort-durationtaskscanbeexecutedalongwithlong-durationtasksMulti-threadingThreadscannotbecreatedendlesslythecreationofthreadsslowsdown

theprocessornosufficientresourcestodivideTheOScankeepthenumberofthreadstoamanageable

size

usingathreadpoolThread-basedvs.Event-basedProgrammingDecisionwhethertousethreadsoreventsprogramming:needforseparatestacksneedtoestimatemaximumsizeforsavingcontextinformationThread-basedprograms

usemultiplethreadsofcontrolwithin:asingleprogramasingleaddressspaceThread-basedvs.Event-basedProgrammingAdvantage:athreadblockedcanbesuspendedwhileothertasksareexecutedindifferentthreadsDisadvantages:mustcarefullyprotectshareddatastructureswithlocksuseconditionvariablestocoordinatetheexecutionofthreadsThread-basedvs.Event-basedProgrammingInevent-basedprogramming:useeventsandeventhandlersevent-handlersregisterwiththeOSschedulertobenotifiedwhenanamedeventoccursaloopfunction:

pollsforeventscallstheappropriateevent-handlerswheneventsoccurAneventisprocessedtocompletionunlessitshandlerreachesatablockingoperation(callbackandreturnscontroltothescheduler)MemoryAllocationThememoryunitisapreciousresourceReadingandwritingtomemoryiscostlyHowandforhowlongamemoryisallocatedforapieceofprogramdeterminesthespeedoftaskexecutionMemoryAllocationMemorycanbeallocatedtoaprogram:statically

-afrugalapproach,buttherequirementofmemorymustbeknowninadvancememoryisusedefficientlyruntimeadaptationisnotalloweddynamically

-therequirementofmemoryisnotknowninadvance(onatransientbasis)enablesflexibilityinprogrammingbutproducesaconsiderablemanagementoverheadOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluationSeparationofConcernSoC

isadesignprincipleforseparatinga

computer

program

into

distinct

sections,

such

that

each

section

addresses

a

separate

concernIngeneral,separationbetweentheoperatingsystemandtheapplicationslayerTheoperationsystemscanprovide:anumberoflightweightmodules-“wired”together,oranindivisiblesystemkernel+asetoflibrarycomponentsforbuildinganapplication,orakernel+asetofreconfigurablelow-levelservicesSeparationofconcernenables:flexibleandefficientreprogrammingandreconfigurationPortabilityIdeally,operatingsystemsshouldbeabletoco-existandcollaboratewitheachotherHowever,existingoperatingsystemsdonot

providethistypeofsupportInordertoaccommodateunforeseenrequirements,operatingsystemsshouldbeportableandextensibleSystemOverheadAnoperatingsystemexecutesprogramcode-requiresitsownshareofresourcesTheresourcesconsumedbytheOSarethesystem’soverhead,itdependsonthesizeoftheoperatingsystemthetypeofservicesthattheOSprovidestothehigher-levelservicesandapplicationsSystemOverheadTheresourcesofwirelesssensornodeshavetobesharedbyprogramsthatcarryout:sensingdataaggregationself-organizationnetworkmanagementnetworkcommunication

DynamicReprogrammingOnceawirelesssensornetworkisdeployed,itmaybenecessarytoreprogramsomepartoftheapplicationortheoperatingsystemforthefollowingreasons:thenetworkmaynotperformoptimallyboththeapplicationrequirementsandthenetwork’soperatingenvironmentcanchangeovertimemaybenecessarytodetectandfixbugsDynamicReprogrammingManualreplacementmaynotbefeasible-developanoperatingsystemtoprovidedynamicreprogrammingsupport,whichdependsonclearseparationbetweentheapplicationandtheOStheOScanreceivesoftwareupdatesandassembleandstoreitinmemoryOSshouldmakesurethatthisisindeedanupdatedversionOScanremovethepieceofsoftwarethatshouldbeupdatedandinstallandconfigurethenewversionalltheseconsumeresourcesandmaycausetheirownbugsDynamicReprogrammingSoftwarereprogramming(update)requiresrobustcodedisseminationprotocols:splittingandcompressingthecodeensuringcodeconsistencyandversioncontrollingprovidingarobustdisseminationstrategytodeliverthecodeoverawirelesslinkOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluationTinyOS(Gayetal.2007)TinyOSisthemostwidelyused,richlydocumented,andtool-assisted

runtimeenvironmentinWSN

http://staticmemoryallocationevent-basedsystemTinyOS’sarchitectureconsistsofaschedulerasetofcomponents,whichareclassifiedintoconfigurationcomponents-"wiring"(howmodelsareconnectedwitheachother)modules-thebasicbuildingblocksofaTinyOSprogramTinyOS(Gayetal.2007)Acomponentismadeupofaframecommandhandlerseventhandlersasetofnon-preemptivetasksAcomponentissimilartoanobjectinobject-basedprogramminglanguages:itencapsulatesstateandinteractsthroughwell-definedinterfacesaninterfacethatcandefinecommands,eventhandlers,andtasksTinyOS(Gayetal.2007)ThelogicalstructureofcomponentsandcomponentconfigurationsFigure4.2ATinyOScomponentprovidinganinterfaceInFigure4.2,ComponentAdeclaresitsservicebyprovidinginterfaceC,whichinturnprovidescommandD1andsignalseventD2.Figure4.3ATinyOScomponentsthatusesaninterfaceFigure4.4ATinyOSconfigurationthatwiresaninterfaceproviderandaninterfaceuserInFigure4.3,ComponentBexpressesinterestininterfaceCbydeclaringacalltocommandD1andbyprovidinganeventhandlertoprocesseventD2.InFigure4.4,abindingbetweenComponentAandComponentBisestablishedthroughtheConfigurationE.TinyOS(Gayetal.2007)Figure4.1Logicaldistinctionbetweenlow-levelandhigh-levelcomponents(Hilletal.2000)TinyOS(Gayetal.2007)Componentsarestructuredhierarchicallyandcommunicatewitheachotherthroughcommandsandevents:higher-levelcomponentsissuecommandstolower-levelcomponentslower-levelcomponentssignaleventstohigher-levelcomponentsInFigure4.1,twocomponentsatthehighestlevelcommunicateasynchronouslythroughactivemessagesroutingcomponent-establishingandmaintainingthenetworksensorapplication-responsibleforsensingandprocessingTasks,CommandsandEventsThefundamentalbuildingblocksofaTinyOSruntimeenvironment:tasks,commands,andeventsenablingeffectivecommunicationbetweenthecomponentsofasingleframeTasks:monolithicprocesses

-shouldexecutetocompletion-theycannotbepreemptedbyothertasks,thoughtheycanbeinterruptedbyeventspossibletoallocateasinglestacktostorecontextinformationcalllowerlevelcommands;signalhigherlevelevents;andpost(schedule)othertasksscheduledbasedonFIFOprinciple(inTinyOS)Tasks,CommandsandEventsCommands:non-blockingrequestsmadebyhigher-levelcomponentstolower-levelcomponentssplit-phaseoperation:

afunctioncallreturnsimmediatelythecalledfunctionnotifiesthecallerwhenthetaskiscompletedEvents:

eventsareprocessedbytheeventhandlereventhandlersarecalledwhenhardwareeventsoccuraneventhandlermayreacttotheoccurrenceofaneventindifferentwaysdepositinformationintoitsframe,posttasks,signalhigherlevelevents,orcalllowerlevelcommandsOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluationLiteOS(Caoetal.2008)LiteOSisathread-basedoperatingsystemandsupportsmultipleapplicationsbasedontheprincipleofcleanseparationbetweentheOSandtheapplicationsdoesnotprovidecomponentsormodulesthatshouldbe“wired”togetherprovidesseveralsystemcallsprovidesashell-isolatesthesystemcallsfromauserprovidesahierarchicalfilemanagementsystemprovidesadynamic

reprogrammingtechniqueLiteOS(Caoetal.2008)LiteOSismodeledasadistributedfilesystemFigure4.8TheLiteOSoperatingsystemarchitecture(Caoetal.2008)ShellandSystemCallsTheshellprovides:

amountingmechanismtoawirelessnodewhichisone-hopawayfromitadistributedandhierarchicalfilesystemausercanaccesstheresourcesofanamednodealargenumberofLinuxcommandsfilecommands-move,copyand,deletefilesanddirectoriesprocesscommands-managethreadsdebuggingcommands-setupadebuggingenvironmentanddebugcodeenvironmentcommandsuser-managingtheenvironmentofOSmanual-displayinginteractionhistoryandprovidingcommandreferencedevicecommands-providedirectaccesstohardwaredevicesLiteFSFigure4.9ThefilesystemstructureofLiteFS(Caoetal.2008)DynamicReprogrammingTheLiteFSisadistributedfilesystemAusercanaccesstheentiresensornetworkprogramandmanageindividualnodesLiteOSsupportsthedynamicreplacementandreprogramming

ofuserapplicationsiftheoriginalsourcecodeisavailabletotheOSrecompiledwithanewmemorysettingtheoldversionwillberedirectedDynamicReprogrammingIftheoriginalsourcecodeisnotavailabletotheOSuseadifferentialpatching

mechanismtoreplaceanolderversionbinarythestartaddress(S)ofthebinaryexecutableintheflashmemorythestartaddressofallocatedmemoryinRAM(M)thestacktop(T)T-M=thememoryspaceallocatedfortheprogramcodebuttheparametersareobtainedempiricallyandrequireknowledgeofthenodearchitecture-limitstheusefulnessofthepatchingschemeTinyOS簡介TinyOS是一個開源的嵌入式操作系統(tǒng),它是由加州大學(xué)的伯利克分校開發(fā)出來的,主要應(yīng)用于無線傳感器網(wǎng)絡(luò)方面。它是基于一種組件(Component-Based)的架構(gòu)方式,使得能夠快速實現(xiàn)各種應(yīng)用。支持的平臺:eyesIFXv2、intelmote2、mica2、mica2dot、micaZ、telosb、tinynode。TinyOS的編程語言

TinyOS最初是用匯編和C語言編寫的,后來改用支持組件化編程的nesC語言。該語言把組件化模塊化思想和基于事件驅(qū)動的執(zhí)行模型結(jié)合起來。nesC:使用C作為其基礎(chǔ)語言,支持所有的C語言詞法和語法,其獨有的特色如下:增加了組件(component)和接口(interface)的關(guān)鍵字定義;定義了接口及如何使用接口表達組件之間關(guān)系的方法;目前只支持組件的靜態(tài)連接,不能實現(xiàn)動態(tài)連接和配置。TinyOS提供一系列可重用的組件component,包括networkprotocols,distributedservices,sensordrivers,anddataacquisitiontools

一個組件由兩部分組成Specification規(guī)范說明,包含要用接口的名字implementation接口的具體實現(xiàn)。組件分兩種:Module組件(模塊):實現(xiàn)某種邏輯功能;Configuration組件(配件):將各個組件連接起來成為一個整體。一個應(yīng)用程序可以通過連接配置文件(AWiringSpecification)將各種組件連接(wire)起來,以完成它所需要的功能組件特征:組件內(nèi)變量、函數(shù)可以自由訪問,但組件之間不能訪問和調(diào)用。Component

basedOS

組件component一個應(yīng)用程序都由一個或多個組件鏈接起來一個組件由接口(interface)組成,它是雙向的并且是組件間的唯一訪問點

可以提供(provides)接口,描述了該組件提供給調(diào)用者的功能

可以使用(uses)接口,則表示該組件本身工作時需要用到的功能

一個接口由命令(command)和事件(event)組成Acommandisarequesttoperformsomeservice,接口的提供者必須實現(xiàn)它們Aneventsignalsthecompletionoftheservice,接口的使用者必須實現(xiàn)它們

Theinterface’susermakesrequests(callscommands)ontheinterface’sprovider,theprovidermakescallbacks(signalsevents)totheinterface’suser.組件模型WiringcomponentsAconfigurationcanbindaninterfaceusertoaproviderusing->

or<-Uerface->

PerfacePerface<-

UerfaceBounceresponsibilitiesusing=Uerface=

UerfacePerface=

PerfaceTheinterfacemaybeimplicitifthereisnoambiguitye.g.,Uerface->

Provider Uerface->PerfaceTinyOS(Gayetal.2007)ThelogicalstructureofcomponentsandcomponentconfigurationsFigure4.2ATinyOScomponentprovidinganinterfaceInFigure4.2,ComponentAdeclaresitsservicebyprovidinginterfaceC,whichinturnprovidescommandD1andsignalseventD2.Figure4.3ATinyOScomponentsthatusesaninterfaceFigure4.4ATinyOSconfigurationthatwiresaninterfaceproviderandaninterfaceuserInFigure4.3,ComponentBexpressesinterestininterfaceCbydeclaringacalltocommandD1andbyprovidinganeventhandlertoprocesseventD2.InFigure4.4,abindingbetweenComponentAandComponentBisestablishedthroughtheConfigurationE.BlinkM.nc/*ImplementationforBlinkapplication.ToggletheredLEDwhenaTimerfires.*/moduleBlinkM{provides{//必須實現(xiàn)這個接口interfaceStdControl;}uses{//它可能調(diào)用這些接口中聲明的任何命令以及必須實現(xiàn)這些接口中聲明的任何事件。interfaceTimer;interfaceLeds;}}implementation{//Imandresult_tStdControl.init(){callLeds.init();returnSUCCESS;}/*Startthingsup.Thisjustsetstheratefortheclockcomponent.*/commandresult_tStdControl.start(){ returncallTimer.start(TIMER_REPEAT,1000);//Startarepeatingtimerthatfiresevery1000ms}/*Haltexecutionoftheapplication.Thisjustdisablestheclockcomponent.*/commandresult_tStdControl.stop(){ returncallTimer.stop();}/*ToggletheredLEDinresponsetothe<code>Timer.fired</code>event.*/eventresult_tTimer.fired(){callLeds.redToggle();returnSUCCESS;}}Example-modulefileExample-configuration

fileBlink.ncconfigurationBlink{}implementat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論