ulrich gabor, christoph borchert · pdf file– msp430+cc110x/2500, cc1110/2510,...
TRANSCRIPT
![Page 1: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/1.jpg)
Software ubiquitärer Systeme
Übung 5: Drahtlose Kommunikation
http://ess.cs.tu-dortmund.de/DE/Teaching/SS2016/SuS/
Ulrich Gabor, Christoph Borchert
http://ess.cs.tu-dortmund.de/~ug
AG Eingebettete SystemsoftwareInformatik 12, TU Dortmund
![Page 2: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/2.jpg)
Software ubiquitärer Systeme: 5. Übung 2
Inhalt● Drahtlose Kommunikation
– Funkhardware der EZ430 Chronos– SimpliciTI: Ein Funkstack für die EZ430 Chronos
● Low-Power Listening– Preamble Sampling
![Page 3: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/3.jpg)
Software ubiquitärer Systeme: 5. Übung 3
Funkhardware der EZ430 Chronos● Je nach Modell: 433, 868 oder 915 MHz RF-Funk● Integrierter CC1101 <1 GHz wireless transceiver● Blockschaltbild:
![Page 4: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/4.jpg)
Software ubiquitärer Systeme: 5. Übung 4
Stromverbrauch vom CC1101● Sendeleistung: +10dBm = 10mW
– 30 mA
● Empfangsverstärker– 15 mA
● Schlafmodus– 0,1 mA
● Vergleich: MSP430 AOStuBS idle– 200 μA
![Page 5: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/5.jpg)
Software ubiquitärer Systeme: 5. Übung 5
Anbindung der Funkhardware● Aufwendig direkt in
Hardware zuprogrammieren– Datenbuch Kap. 22– 70 Seiten Doku!
● Fertige Funkstacks– SimpliciTI– BlueRobin– Weitere in Entwicklung
![Page 6: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/6.jpg)
Software ubiquitärer Systeme: 5. Übung 6
SimpliciTI-Netzwerkstack● Proprietäres, energiesparendes Funknetzwerk-Protokoll von TI
– Für EZ430-Chronos und andere RF-basierte Chips– 433/868/933 MHz und 2.4 GHz-Band (je nach Hardware)
● Effizient: verwendet < 8 kiB Flash und 1 kiB RAM– Abhängig von jeweiliger Konfiguration
● Flexibel– Einfache Stern-Netztopologie mit Bereichserweiterung– und/oder Peer-to-Peer-Kommunication
● Einfach: Verwendet sehr simples API● Unterstützung für viele Geräte
– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520
![Page 7: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/7.jpg)
Software ubiquitärer Systeme: 5. Übung 7
Eigenschaften von SimpliciTI ● Minimale Hardware-Abstraktion● Kein Heap notwendig
– Pakete werden in statischen Puffern verwaltet
● Kein Netzwerkkontext zur Laufzeit notwendig– „stateless“
● Single thread-Applikation– Keine Tasks oder Scheduling notwendig– ...aber in AOStuBS für andere Dinge nutzbar
● Netzwerk-API ist synchron– Kein return aus Funktionen bis die jew. Operation abgeschlossen ist– Übertragungswiederholungen (retries) und Bestätigungen (ACKs)
müssen von der Anwendung implementiert werden
![Page 8: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/8.jpg)
Software ubiquitärer Systeme: 5. Übung 8
SimpliciTI-Anwendungen● Alarm & Sicherheit
– Belegungs-Sensoren– Lichtsensoren– Kohlenmonoxid-Sensoren– Glasbruch-Detektoren
● Rauchmelder● Fernbedienungen● AMR (automatisierte Messung über RF)
– Gas-, Wasser-, Stromzähler
● Hausautomatisierung: – Garagentoröffner, Appliances– „environmental“-Geräte (Lichtsensor, Temperatur, etc.)
![Page 9: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/9.jpg)
Software ubiquitärer Systeme: 5. Übung 9
SimpliciTI: Netztopologien (1)● Drahtlose Sensor-Anwendung
– Bereich kann durch Repeater erweitert werden.– Kreise: Reichweite v. Gateway/erweiterte Reichweite der Repeater
![Page 10: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/10.jpg)
Software ubiquitärer Systeme: 5. Übung 10
SimpliciTI: Netztopologien (2)● Aktive RF-Tags
– Netzwerk wird „ad-hoc“ betreten und verlassen– Tags müssen sich schnell mit Netzwerk verbinden können
● Und gleichzeitig wenig Energie verbrauchen
![Page 11: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/11.jpg)
Software ubiquitärer Systeme: 5. Übung 11
Beispiel: Rauchmelder
![Page 12: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/12.jpg)
Software ubiquitärer Systeme: 5. Übung 12
SimpliciTI: Architektur● Layer:
– MRFI (“minimal RF interface”) – NWK – nwk applications (Module) – customer applications
● Netzwerk-Support:– – init – ping – link / linklisten – nwk mgmt – send / receive – I/O
![Page 13: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/13.jpg)
Software ubiquitärer Systeme: 5. Übung 13
SimpliciTI: Paketformat
● Preamble: hw sync – Synchronisation Sender/Empfänger
● Sync: hw sync – Synchronisation Sender/Empfänger
● Length: bytes non-phy – Länge Nutzdaten
● Dstaddr – Zieladresse
● Srcaddr – Quelladresse
● Port: app port number – Unterscheidung mehrerer Anwendungen
● Devinfo: capabilities – Eigenschaften des Geräts
● Tractid: transaction or seq num – Paketfolgen
● App Payload: 0<=n<=52 Byte – Nutzdaten
● FCS: valid CRC – Checksumme
![Page 14: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/14.jpg)
Software ubiquitärer Systeme: 5. Übung 14
Adressierung und Kommunikation● Netzadresse = Hardware-Adresse (4 Byte) + Anwendungs-Port
– Statisch zugewiesene Hardware-Adresse● In Software pro Uhr konfigurierbar
– Broadcast-Adresse: Byte 1: 0x00 oder 0xFF● Kommunikationstopologien:
![Page 15: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/15.jpg)
Software ubiquitärer Systeme: 5. Übung 15
SimpliciTI: Statische Konfiguriation● Operations-Modus (type)
– Infrastruktur oder P2P ● Powermodi (sleep support)
● Topologie
● Adressierung / Identifikation
● RAM-Allokation
– Paketgröße
– Puffergrößen
– Anz. unterstützt. Links (Verbindungen)● Sicherheits-Tokens
● Messaging (hop count, repeaters)
● Funk
– Frequenz, Krypto-Schlüssel, Modulation, CCA-Parameter
![Page 16: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/16.jpg)
Software ubiquitärer Systeme: 5. Übung 16
SimpliciTI: Laufzeit-Konfiguriation● IOCTL Systemaufrufe:
![Page 17: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/17.jpg)
Software ubiquitärer Systeme: 5. Übung 17
Access-Point-Programmierung● Stern-Hub im Netzwerk (einer pro Netz)
– Immer aktiv (auch als Bereichserweiterung/Repeater)– Store-and-forward-Funktion für schlafende Geräte– Verbindungs- und Token (link and join)-Verwaltung– Kann auch Endgeräte-Funktionen haben (link listen, receive)
![Page 18: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/18.jpg)
Software ubiquitärer Systeme: 5. Übung 18
Endgeräte-Programmierung● API-Sequenz (Beisp.):
– Initialisierung (und Join)– Link (setzt listen voraus)– Temperatur lesen– Senden
● Option: Schlafmodi
![Page 19: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/19.jpg)
Software ubiquitärer Systeme: 5. Übung 19
Inhalt● Drahtlose Kommunikation
– Funkhardware der EZ430 Chronos– SimpliciTI: Ein Funkstack für die EZ430 Chronos
● Low-Power Listening– Preamble Sampling
![Page 20: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/20.jpg)
Software ubiquitärer Systeme: 5. Übung 20
Ursachen für Energieverschwendung● Protokolloverhead
● Paketkollisionen
● Overhearing (Pakete für andere Netzwerkteilnehmer)
● Idle Listening (Empfangsversuche, obwohl niemand sendet)
![Page 21: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/21.jpg)
Software ubiquitärer Systeme: 5. Übung 21
Regular Aloha („Pure Aloha“)● Erstes Funknetzwerk: ALOHAnet auf Hawaii (1970)
– Kommunikation zwischen einzelnen Standorten der Univ. Hawaii
● Simples Protokoll:– Eine Station, die Daten senden will, sendet
diese direkt– Wenn Nachricht mit anderer Übertragung
kollidiert, „später“ die Sendung wiederholen
● Vorraussetzung:– Jede Station ist immer empfangsbereit
![Page 22: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/22.jpg)
Software ubiquitärer Systeme: 5. Übung 22
Aloha – Verkehrsmodell● Jede Station hat N Nachbarstationen● Jede Station sendet mit der Wahrscheinlichkeit g
– Durchschnittliche Paketanzahl in festen Zeitabschnitt:– mit Paketlänge
● Modellierung als Poisson-Prozess
– P{N(a,b]=n} ist die Wahrscheinlichkeit, dass n Pakete im Intervall (a,b] gesendet werden
λ=Ng
P {N (a ,b ]=n }=(λ(b−a))n
n!⋅e−λ(b−a)
T M
![Page 23: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/23.jpg)
Software ubiquitärer Systeme: 5. Übung 23
Aloha – Analyse● Ein Paket wird erfolgreich versendet, wenn in zwei
Zeitabschnitten keine anderen Pakete versendet werden
– mit Paketlänge
● Eine Station i sendet nicht = kein Versand im vorangegangenen Zeitraum (ohne Nachbarn):
● Energieverbrauch:
P s=P {N (0, 2T M )=0}=e−2 NgT M
T M
e−g T M=1−b1
T M
PRA=b1PTX+(1−b1)PRX
![Page 24: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/24.jpg)
Software ubiquitärer Systeme: 5. Übung 24
Aloha mit Preamble Sampling („LPL“)
Test auf Sendeenergiein der Umgebung. Keinvollständiges Empfangen.
Test auf Sendeenergiein der Umgebung. Keinvollständiges Empfangen.
Präambel ist so langwie die Testperiode.Präambel ist so langwie die Testperiode.
Wenn der Test positiv war,können Daten empfangenwerden.
Wenn der Test positiv war,können Daten empfangenwerden.
![Page 25: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/25.jpg)
Software ubiquitärer Systeme: 5. Übung 25
Aloha mit Preamble Sampling● Paketlänge wird effektiv erhöht (in den Formeln: )● Preamble-Länge bestimmt Energieverbrauch
T M
![Page 26: Ulrich Gabor, Christoph Borchert · PDF file– MSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme: 5. Übung 7 ... Netzwerk-API ist synchron](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a78f2ad7f8b9a83238ece90/html5/thumbnails/26.jpg)
Software ubiquitärer Systeme: 5. Übung 26
Alternativen?● Lässt sich ein ähnliches Verfahren in Software nachbauen?
– Ohne Preamble?– Ohne Test auf Sendeenergie?
● Zur Verfügung steht folgende Funktionalität– send(...)– enable_rx()– disable_rx()– receive()– sleep(...)