be ž i č ne s enzorske m re ž e

38
1 Bežične Senzorske Mreže Arhitektura bežičnog senzorskog čvora Mario Čagalj [email protected] FESB, 19/3/2014. no na “Protocols and Architectures for Wireless Sensor Networks”, Holger Karl, 2005.

Upload: alan-sampson

Post on 04-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

Be ž i č ne S enzorske M re ž e. Arhitektura bežičnog senzorskog čvora. Mario Č agalj [email protected] FESB, 19 / 3 /20 14. Bazirano na “Protocols and Architectures for Wireless Sensor Networks”, Holger Karl , 2005. Pregled predavanja. Struktura bežičnog senzorskog čvora - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Be ž i č ne  S enzorske  M re ž e

1

Bežične Senzorske Mreže

Arhitektura bežičnog senzorskog čvora

Mario Č[email protected]

FESB, 19/3/2014.

Bazirano na “Protocols and Architectures for Wireless Sensor Networks”, Holger Karl, 2005.

Page 2: Be ž i č ne  S enzorske  M re ž e

2

Pregled predavanja

o Struktura bežičnog senzorskog čvora> Mikrokontroler, radio modem, detektori (senzori), baterije

o Paspodjela potrošnje energije osnovnih komponenti senzorskog čvora> Osnovni modovi rada senzorskog čvora i dizajn protokola za

čvorove sa ograničenom količinom energije za napajanje

o Operacijski sustavi za senzorske čvorove

Page 3: Be ž i č ne  S enzorske  M re ž e

3

Bežična senzorska mreža

Page 4: Be ž i č ne  S enzorske  M re ž e

4

Arhitektura bežičnog senzorskog čvora

o Osnovne komponente > Kontroler

• Procesira relevantne podatke, izvršava bilo koji kod

> Radio predajnik/prijemnik• Omogućuje razmjenu podataka (pretvara čvor u mrežni uređaj)

> Detektori i/ili aktuatori• “Sučelje” prema okruženju u kojem se čvor nalazi

> Memorija• Pohrana programske podrške, te privremenih podataka (očitanja)• ROM – programi, RAM – privremeni podaci

> Napajanje Memorija

KontrolerDetektori/Aktuatori

Radio modem

Napajanje

Page 5: Be ž i č ne  S enzorske  M re ž e

5

Kontrolerio Neke opcije za kontrolere

> Microkontroleri – procesori za generalne svrhe, optimizirani za rad sa malim kompaktinim aplikacijama, mala potrošnja

> DSPs (Digital Signal Processors) – optimizirani za obradu specifičnih signala

• Ovisno o aplikaciji, ali generalno se ne koriste (obrade podataka na senzorima nisu “zahtjevne”)

> FPGAs (Field-Programmable Gate Arrays)

• Mogu se rekonfigurirati “u polju” da bi se prilagodili novim zahtjevima• Dobro za testiranje

> ASICs (Application-Specific Integrated Circuits) • Nisu fleksibilni, mogu se koristiti za postizanje ekstremnih performansi• Npr. Specijalizirani procesori za “router” ili “switch”

o Neki primjeri mikrokontrolera> Texas Instruments MSP430

• 16-bit RISC core, 4 MHz, 2-10 kbytes RAM, cijena 0.49 US$

> Atmel ATMega• 8-bit controller, larger memory than MSP430, slower

Page 6: Be ž i č ne  S enzorske  M re ž e

6

Arhitektura bežičnog senzorskog čvora

o Osnovne komponente > Kontroler

• Procesira relevantne podatke, izvršava bilo koji kod

> Radio predajnik/prijemnik• Omogućuje razmjenu podataka (pretvara čvor u mrežni uređaj)

> Detektori i/ili aktuatori• “Sučelje” prema okruženju u kojem se čvor nalazi

> Memorija• Pohrana programske podrške, te privremenih podataka (očitanja)• ROM – programi, RAM – privremeni podaci

> Napajanje Memorija

KontrolerDetektori/Aktuatori

Radio modem

Napajanje

Page 7: Be ž i č ne  S enzorske  M re ž e

7

Komunikacijski uređaj

o Koji transmisijski medij koristiti?> Elektromagnetski spektar na radio frekvencijama

> Elektromagnetski spektar u području svijetla?

> Ultrazvuk?

o Radio primopredajnik emitira niz bitova (byte-ova) kao radio val> Prima radio val i konvertira ga nazad u niz bitova (byte-

ova)

> Obično se radi o “half-duplex” načinu rada

• Istovremena emisija signala i primanje drugog signala u istom frekvencijskom području nije praktična

Page 8: Be ž i č ne  S enzorske  M re ž e

8

Karakteristike primopredajnika

o Odabir odgovarajućeg primopredjanika ovisi o brojnim karakteristikama (mogućnosti)> Usluge za više razine komunikacijskog modela

• Prijemnik prosljeđuje primljene podatke Medium Access Control (MAC) razini u obliku “paketa”

• Alternativno Prijemnik prosljeđuje niz byte-ova ili bitova

> Podržan frekvencijski spektar

• Tipično u području 433 MHz – 2.4 GHz ISM (Industry, Scientific and Medical) band

> Podrška za komunikaciju preko više kanala• Izbjegavanje interferencije

> Podržana brzina prijenosa podataka

> Komunikacijski domet (od nekoliko metara do preko 100 m)

Page 9: Be ž i č ne  S enzorske  M re ž e

9

Karakteristike primopredajnika

o Odabir odgovarajućeg primopredjanika ovisi o brojnim karakteristikama (radio karakteristike i energetska efikasnost)> Podržane modulacije (ASK, FSK, ...)

> “Noise figure” NF = SNRInput/SNROutput (SNR – “Signal to Noise Ratio”)

> Osjetljivost prijemnika• Minimalna snaga signala na prijemniku da bi se postigla

zadovoljavajuće niska razina grešaka u prijemu

> “Gain”: omjer izlazne snage signala prema ulaznoj snazi signala

> “Carrier sensing” i RSSI (Received Signal Strength Indication)• Kod mnogih modernih bežičnih mreža, detekcija zauzeća kanala

(drugi čvor koristi kanal) je kritična informacija

• Preko RSSI i transmitirane snage, moguće je dati grubu procjenu udaljenosti transmitera

> Mogućnost kontrole snage sa kojom se transmitira signal

> Potrošnja snage za prijem i predaju

> Potrošnja snage prilikom promjene stanja primopredajnika • “prijem -> predaja” i obrnuto “predaja -> prijem”

Page 10: Be ž i č ne  S enzorske  M re ž e

10

Moguća stanja primopredajnika

o Primopredajnici se mogu nalaziti u različitim stanjima, a tipična stanja su > Stanje slanja (“transmit”)

> Stanje primanja (“receive”)

> Stanje mirovanja (“idle”) – spreman za prijem ali ne prima• U ovom stanju neke funkcije u hardveru primopredajnika

mogu biti isključene radi uštede energije

> Stanje potpunog mirovanja (“sleep”) – najveći dio hardverskih komponenti primopredajnika su isključene

• U ovom stanju primopredajnik nije u mogućnosti primiti signal

• Vrijeme opravka (“recovery time”) and “startup energy” potrebno za napuštanje ovog stanja može biti značajno

Page 11: Be ž i č ne  S enzorske  M re ž e

11

“Wakeup receivers”

o Velika potrošnja energije u stanjima: primanja i mirovanja> “Idle” i “spreman za primanje” stanja troše značajnu količinu

energije

o Važno pitanje: Kada uključiti prijemnik?> “Contention-based MAC” protokoli (e.g., WiFi): receiver stalno

uključen

> TDMA (Time Division Multiple Access)-bazirani MAC protokoli - veliki problem je sinkronizacija transmisija

o Moguće rješenje: prijemnik koji može samo detektirati dolazni signal (ne radi demodulaciju)> Kada je signal detektiran, “probudi” glavni prijemnik koji će

primiti i obraditi cijeli signal

> Idelno: “wakeup receiver” može procesirati jednostavne adrese

Page 12: Be ž i č ne  S enzorske  M re ž e

12

Arhitektura bežičnog senzorskog čvora

o Osnovne komponente > Kontroler

• Procesira relevantne podatke, izvršava bilo koji kod

> Radio predajnik/prijemnik• Omogućuje razmjenu podataka (pretvara čvor u mrežni uređaj)

> Detektori i/ili aktuatori• “Sučelje” prema okruženju u kojem se čvor nalazi

> Memorija• Pohrana programske podrške, te privremenih podataka (očitanja)• ROM – programi, RAM – privremeni podaci

> Napajanje Memorija

KontrolerDetektori/Aktuatori

Radio modem

Napajanje

Page 13: Be ž i č ne  S enzorske  M re ž e

13

Detektori (senzorske komponente)

o Osnovne kategorije> Pasivni i aktivni senzori (ovisno o tome je li emitiraju nekakvu

energiju)

> Je li pokrivaju sve smjerove ili samo uži smjer?

> Pasivni i “omnidirekcionalni” detektori• Detektori svijetla, termometri, mikrofoni, detektori vlažnosti

> Pasivni detektori koji pokrivaju usko područje• Kamera

> Aktivni senzori• Radar, ultrazvučni ili radio

o Važan parametar: područje pokrivenosti (“coverage”)

> Koliko kvalitetno i adekvatno neki detektor (senzor) pokriva određeno područje od interesa?

Page 14: Be ž i č ne  S enzorske  M re ž e

14

Arhitektura bežičnog senzorskog čvora

o Osnovne komponente > Kontroler

• Procesira relevantne podatke, izvršava bilo koji kod

> Radio predajnik/prijemnik• Omogućuje razmjenu podataka (pretvara čvor u mrežni uređaj)

> Detektori i/ili aktuatori• “Sučelje” prema okruženju u kojem se čvor nalazi

> Memorija• Pohrana programske podrške, te privremenih podataka (očitanja)• ROM – programi, RAM – privremeni podaci

> Napajanje Memorija

KontrolerDetektori/Aktuatori

Radio modem

Napajanje

Page 15: Be ž i č ne  S enzorske  M re ž e

15

Napajanje bežičnih senzorskih čvorova

o Osnovni cilj je osigurati što više energije uz najmanju moguću cijenu/volumen/težinu/trajanje napajanja > Kod bežične senzorske mreže, punjenje baterija može ali i

ne mora biti moguće

o Neke opcije> Primarne baterije – ne mogu se puniti

> Sekundarne baterije – mogu se puniti, ali je potrebna neka podruška za punjenjem iz okruženja (“energy harvesting”)

o Zahtjevi koji se postavljaju na baterije > Visok kapacitet uz mali volument/cijenu/težinu (J/cm3)

> Visok kapacitet pod (dinamičkim) opterećenjem

> Visoka stabilnost napona

> “Self-discharge” mora biti nizak (ne smiju se brzo prazniti)

Page 16: Be ž i č ne  S enzorske  M re ž e

16

Primjer baterija za napajanje

Primarne baterije

Chemistry Zinc-air Lithium Alkaline

Energy (J/cm3) 3780 2880 1200

Sekundarne baterije

Chemistry Lithium NiMHd NiCd

Energy (J/cm3) 1080 860 650

Bazirano na “Protocols and Architectures for Wireless Sensor Networks”, Holger Karl, 2005.

Page 17: Be ž i č ne  S enzorske  M re ž e

17

Prikupljanje energije iz okruženja

o Energy-scavenging

o Kako napuniti bateriju?> Laptop: vrlo jednostavno, spoji se na električnu mrežu

> Senzorski čvor – pokušaj prikupiti energiju iz okruženja

o Mogući izvori energije u okruženju> Svijetlo solarne ćelije – between 10 W/cm2 and 15 mW/cm2

> Temperaturna razlika – 80 W/cm2 na 1 V iz razlike od 5K

> Vibracije – između 0.1 i 10000 W/cm3

> Promjena pritiska (“piezo-electric”) – 330 W/cm2 peta cipele

> Protok zraka ili tekućine

• MEMS (Micro-Electro-Mechanical Systems) plinske/zračne turbine

Page 18: Be ž i č ne  S enzorske  M re ž e

18

Prikupljanje energije iz okruženja

MEMS uređaj koji pretvara vibracije u električnu energiju

Page 19: Be ž i č ne  S enzorske  M re ž e

19

Prikupljanje energije iz okruženja

Page 20: Be ž i č ne  S enzorske  M re ž e

20

Potrošnja energije senzorskih čvorova

o Glavni potrošači energije su mikrokontroleri, radio primopredajnik a u manjoj mjeri memorija i senzorski detektori (ovisno o tipu)

o Primjer: potrošnja mikrokontrolera> Pretpostavimo da je porebno 1 nJ energije po instrukciji

> Imamo malu bateriju (“smart dust” – 1mm3) koja može pohraniti negdje oko 1 J = 1 Ws energije

> Ovo je ekvivalentno 109 instrukcija

o Za ciljano vrijeme života baterije od 1 dan> 1 dan = 24x60x60s =86400 s

> Dobivamo ograničenje na kontinuiranu potrošnju mikrokontrolera od svega 1 Ws / 86400s ≈ 11.5 W

o Postojeći kontroleri ne mogu raditi sa ovako niskom potrošnjom!> Potreban je drugačiji pristup (dizajn “low-power” čipova)

Page 21: Be ž i č ne  S enzorske  M re ž e

21

Štednja energije kroz različite modove rada

o Obzervacija: senzorski čvor većinu vremena “ne radi ništa”> Ako nije aktivan, senzor može ući u “power safe” način rada

> Kada ući u “power safe” mod? Kako/kada izići iz istog?

o Tipični modovi rada> Mikrokontroler: “active”, “idle”, “sleep”

> Primopredajnik: isključi/uključi transmiter/prijemnik

o Neki kontroleri podržavaju više razina “sleep” načina rada (npr. “deep sleep”)> Ovo jako ovisi o hardveru koji se koristi

> Texas Ins. MSP 430 ima 4 različita “sleep” moda

> Atmel ATMega ima 6

Page 22: Be ž i č ne  S enzorske  M re ž e

22

Štednja energije kroz različite modove rada

o Primjeri za mikrokontrolere (2005.)> TI MSP 430 (@ 1 MHz, 3V):

• Normalan način rada 1.2 mW

• “Deepest sleep” mod 0.3 W – (ne radi čak ni interni “timer”)

> Atmel ATMega• Normalna operacijski način rada: 15 mW “active”, 6 mW

“idle”

• “Sleep” mod: 75 W

Page 23: Be ž i č ne  S enzorske  M re ž e

23

Promjena operacijskih modova (1/4)

o Najednostavnije je prijeći u niži mod rada kad god je to moguće

o Problem sa ovim pristupom: Vrijeme i potrošnja energije da be se sustav vratio u viši mod rada nisu zanemarivi > Dodatne operacije/radnje nužne

> Obično se pretpostavlja da što je “dublji san” tim je potrebno više energije za “buđenje” ili prijelaz u viši operacijski mod

> Prebacivanje između različitih modova rada ima smisla samo ako vrijedi Esaved > Eoverhead

Page 24: Be ž i č ne  S enzorske  M re ž e

24

Promjena operacijskih modova (2/4)

o Primjer “buđenja”: probudi se kada se dogodi nešto “zanimljivo” > “Event-triggered wake up”

> U trenutku t1 se odlučuje je li se npr. kontroler (ili radio) stavlja u “sleep”

mod

> Ukoliko kontroler ostaje aktivan do tevent, ukupna energija koja se utroši

iznosi

Eactive = Pactive(tevent – t1)

> Tdown je vrijeme potrebno za ulazak u “sleep” mod, te pretpostavimo da je prosječna potrošnja snage u ovom periodu jednaka (Pactive + Psleep)/2

Pactive

Psleep

timeteventt1

EsavedEoverhead

Tdown Tup

Page 25: Be ž i č ne  S enzorske  M re ž e

25

Promjena operacijskih modova (3/4)

o Ukupna potrošnja snage u “sleep” modu je:

Esleep=Tdown(Pactive+ Psleep)/2 + (tevent – t1 – Tdown)Psleep

o Ukupna sačuvana energija: Esaved = Eactive– Esleep

o Energija potrebna za “buđenje”: Eoverhead = Tup(Pactive+ Psleep)/2

Pactive

Psleep

timeteventt1

EsavedEoverhead

Tdown Tup

Page 26: Be ž i č ne  S enzorske  M re ž e

26

Promjena operacijskih modova (4/4)

o Prelazak u “sleep” mod rada ima smisla samo ako je Esaved > Eoverhaed

> Ako je tevent (vrijeme do sljedećeg događaja) dovoljno veliko, prelazak u “sleep” isplativ ako

(tevent – t1) > ½ [Tdown + (Pactive+ Psleep)/(Pactive- Psleep)Tup]

o Potrebno je pažljivo organizirati ove tranzicije između različitih modova rada kontrolera, radio primopredajnika,...

Pactive

Psleep

timeteventt1

EsavedEoverhead

Tdown Tup

Page 27: Be ž i č ne  S enzorske  M re ž e

27

Dinamičko podešavanje napona

o Strategija bazirana na prebacivanju između različitih operacijskih modova komplicira se nepoznavanjem trajanja “sleep” vremena

o Alternativa: Dynamic Voltage Scaling (DVS)

o Osnovna ideja: > Potrebna snaga P ovisi o:

• Frekvenciji f kontrolera • Kvadratu napona napajanja• P ~ f ∙ V2

> Što je manja frekvencija rada kontrolera, manja je potrošnja

• Napon napajanja može se smanjiti na nižim frekvencijama

> Jednostavno je vratiti kontroleru brži način rada

> Pri ovome treba voditi računa da izvršavanje naredbi traje duže

Page 28: Be ž i č ne  S enzorske  M re ž e

28

Dinamičko podešavanje napona

o Primjer: Transmeta Crusoe procesor (2005.)

> Moguće regulirati radnu frekvenciju i radni napon u rasponuod 700MHz na 1.65V do 200MHz na 1.1 V

> Potrebna snaga se smanji za približno 700x1.652/200x1.12=7.875 puta

> Pri tome se brzina rada smanji za 700/200=3.5 puta

> Energija (E=P∙T) potrebna za izvšavanje jedne instrukcije je smanjena za3.5/7.875 ≈ 44% !

Page 29: Be ž i č ne  S enzorske  M re ž e

29

Potrošnja radio primopredajnika

o Radio predajnik: dva glavna izvora potrošnje> Generiranje RF signala (ovisno o modulaciji, udaljenosti

prijemnika)> Elektronika za sintezu frekvencija, frekvencijski filteri...

o Radio prijemnik> “Receive, idle, off” (potrošnja “receive” ≈ potrošnja “idle”)> Potrošnja zbog elektronike (ovisna o broju bitova koji se šalju)

Page 30: Be ž i č ne  S enzorske  M re ž e

30

Potrošnja radio predajnika

o Snaga pojačala: Pamp = amp + amp Ptx

> Ptx snaga kojom se transmitira signal (funkcija udaljenosti d, modulacije)

> amp, amp konstante ovisne o modelu predajnika

o Uz pojačalo, elektronika predajnika treba snagu PtxElec

o Energija/vrijeme potrebno za emitiranje k bitova: k / (R * Rcode

)

> R nominalni “data rate”, Rcode

< 1 “coding rate” (broj korisnih

bitova)

o Energija/vrijeme potrebno za napuštanje “sleep” moda

> Time Tstart, average power Pstart

o Ukupna potrošnja energije za slanje k “korisnih” bitova E

tx = T

start P

start + k / (R * R

code) (PtxElec + amp + amp Ptx)

Page 31: Be ž i č ne  S enzorske  M re ž e

31

Potrošnja radio prijemnika

o Prijemnik također troši zbog inicijalizacije prijema

> Time Tstart, average power Pstart

o Vrijeme potrebno za prijem k bitova: k / (R * Rcode

)

o Elektronika prijemnika treba snagu PrxElec

o Dodatno: prijemnik toši energiju za dekodiranje k bitova EdecBits

o Ukupno za prijem: Erx = Tstart

Pstart

+ k / (R * Rcode

) PrxElec + k

EdecBits

Page 32: Be ž i č ne  S enzorske  M re ž e

32

Potrošnja primopredajnika: primjer

o “Startup” vrijeme i energija može biti jako velika (wakeup radio)

o “Idle” i “receive” potrošnje približno iste

o Snaga potrebna za transmisiju i prijem signala su približno iste

Page 33: Be ž i č ne  S enzorske  M re ž e

33

Odnos između procesiranja i komunikacije

o Je li moguć “trade-off” između potrošnje energije zbog procesiranja i potrošnje uslijed komunikacije?> Omjer potrošnje energija za “slanje jednog bita” i “obrade

jedne instrukcije” je negdje između 220 and 2900 u literaturi

> Stoga možemo zaključiti:

Slanje i primanje jednog kilobajta “košta” jednako energije

kao obrada (računanje) 3 milijuna (3x106) instrukcija.

> Slijedi iz navedenog da je bolje što više procesirati bitove lokalno nego iste komunicirati (kad god je to moguće)

o Osnovna tehnika kod bežičnih senzorskih mreža počiva na – “in-network processing”!> Koristi kompresiju, inteligentne kodove, agregaciju

podataka,...

Page 34: Be ž i č ne  S enzorske  M re ž e

34

Operacijski sustavi kod WSN: izazovi

o Zadaća operacijskog sustava je kontrola i zaštita pristupa resursima računalnog sustava i upravljanje alokacijom tih resursa između različitih korisnika (procesa)

o Opcije za “male” bežične čvorove> Moraju biti lako programabilni> Moraju imati podršku za procese > Može se žrtvovati zaštita i izolacija različitih procesa

od drugih procesa (samo jedan korisnik)> Budući da senzorski čvor obično implementira jednu aplikaciju,

da nema potrebe štititi je od drugom malicioznog softvera, te da aplikacijo obično može direktno kontrolirati hardver zapravo nema potrebe za kalsičnim operacijskim sustavom

o Umjesto cijelog operacijskog sustava, implementiraj (koristi) jednostavno “run-time” okruženje> Ovo je dovoljno da bi se “skrili” detalji komunikacije sa harverom> Jedna ozbiljna konzekvenca ovog pristupa: novi model za

programiranje

Page 35: Be ž i č ne  S enzorske  M re ž e

35

Istovremena obrada više procesa (“concurency”)

o Prvi pristup: Bez podrške za istovremenu obradu procesa> Problemi: Riskira se da se propuste

neki podaci (npr. od primopredajnika) kada je kontroler zauzet nekakvom obradom podataka.

> Interupti i askinkron način rada je nužan

o Zašto “concurrency”?> Senzorski kontroler mora

obrađivati/posluživati zahtjeve radio modema, detektora na senzoru, izvršavati odgovarajuću aplikaciju, izvršavati komunikacijski protokol,...

Poll sensorPoll sensor

Process sensor

data

Process sensor

data

Poll transceiverPoll transceiver

Process received packet

Process received packet

Page 36: Be ž i č ne  S enzorske  M re ž e

36

“Concurrency”: tradicionalan pristup

o Tradicionalni OS dozvoljavaju istovremeno izvšavanje više procesa (thread-ova)> Bazirano na interuptima i

“context switching”-u> “Context switching” ima određeni

“overhead” zbog promjene procesa koji se trenutno obrađuje

o Kod WSNs> Koncept jedan proces po jednom

protokolu implicira previše “context switching”-a

> Mnoge zadaće kod WSN su relativno male u odnosu na “overhead” koji unosi “context switching”

o Nadalje: zaštita između različitih procesa i nije nužna kod WSN> Izvode u pravilu samo jednu

aplikaciju(samo jedan korisnik)

Handle sensor process

Handle packet process

OS-mediatedprocess switching

Page 37: Be ž i č ne  S enzorske  M re ž e

37

WSN: “Event-based concurrency”

o U usporedbi sa “process-based concurrency” kod tradicionalnih OSa

o Ideja bazirana na “interrupt handler”-ima:> Izvršavaj regularnu obradu ili budi “idle”

> Reagiraj na događaje odmah, te ih obradi kompletno

> Obrada handler-a ne smije trajati predugo (gubitak podataka)

o Definiraju se dva konteksta> Jedan za “time-critical” operacije (“event-handlere”)

• Izvršavanje ovih operacije ne može se prekinuti nekim drugim događajem (“run to completition”)

> Drugi kontekst služi za obradu “normalnog” koda (aplikacija)

Idle /Regularprocessing

Radioevent

Radioeventhandler

Sensorevent

Sensoreventhandler

Page 38: Be ž i č ne  S enzorske  M re ž e

38

Zaključak

Memorija

KontrolerDetektori/Aktuatori

Radio modem

Napajanje