26
1 Software ubiquitärer Systeme Übung 5: Drahtlose Kommunikation Christoph Borchert und Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/~chb/ http://ess.cs.tu-dortmund.de/DE/Teaching/SS2013/SuS/

Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Embed Size (px)

Citation preview

Page 1: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

11

Software ubiquitärer SystemeÜbung 5: Drahtlose Kommunikation

Christoph Borchert und Michael EngelArbeitsgruppe Eingebettete Systemsoftware

Lehrstuhl für Informatik 12TU Dortmund http://ess.cs.uni-dortmund.de/~chb/

http://ess.cs.tu-dortmund.de/DE/Teaching/SS2013/SuS/

Page 2: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 22

Inhalt● Drahtlose Kommunikation

● Funkhardware der EZ430 Chronos● SimpliciTI: Ein Funkstack für die EZ430 Chronos

● Low-Power Listening● Preamble Sampling

Page 3: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 33

Funkhardware der EZ430 Chronos● Je nach Modell: 433, 868 oder 915 MHz RF-Funk● Integrierter CC1101 <1 GHz wireless transceiver● Blockschaltbild:

Page 4: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 44

Leistung des CC1101 Funkchips● Sendeleistung: +10dBm = 1mW

● 30 mA

● Empfangsverstärker● 15 mA

● Schlafmodus● 0,1 mA

● Vergleich: MSP430 AOStuBS idle● 200 μA

Page 5: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 55

Anbindung der Funkhardware● Aufwendig direkt in

Hardware zuprogrammieren● Datenbuch Kap. 22● 70 Seiten Doku!

● Fertige Funkstacks● SimpliciTI● BlueRobin● Weitere in Entwicklung

Page 6: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 66

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 77

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 88

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 99

SimpliciTI: Netztopologien (1)● Drahtlose Sensor-Anwendung

● Bereich kann durch Repeater erweitert werden.● Kreise: Reichweite v. Gateway/erweiterte Reichweite der Repeater

Page 10: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1010

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1111

Beispiel: Rauchmelder

Page 12: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1212

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1313

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1414

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1515

SimpliciTI: Statische Konfiguriation● Operations-Modus (type)

● Infrastruktur oder P2P

● Powermodi (sleep support) ● Topologie ● Adressierung / Identifikation● RAM-Allokation

● Paketgröße● Puffergrößen● # unterstützt. Links (Verbindungen)

● Sicherheits-Tokens● Messaging (hop ct, repeaters)● Funk

● Frequenz, Krypto-Schlüssel, Modulation, CCA-Parameter

Page 16: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1616

SimpliciTI: Laufzeit-Konfiguriation● IOCTL Systemaufrufe:

Page 17: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1717

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1818

Endgeräte-Programmierung● API-Sequenz (Beisp.):

● Initialisierung (und Join)● Link (setzt listen voraus)● Temperatur lesen● Senden

● Option: Schlafmodi

Page 19: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 1919

Inhalt● Drahtlose Kommunikation

● Funkhardware der EZ430 Chronos● SimpliciTI: Ein Funkstack für die EZ430 Chronos

● Low-Power Listening● Preamble Sampling

Page 20: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 2020

Ursachen für Energieverschwendung● Protokolloverhead

● Paketkollisionen

● Overhearing (Pakete für andere Netzwerkteilnehmer)

● Idle Listening (Empfangsversuche, obwohl niemand sendet)

Page 21: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 2121

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 2222

Aloha - Verkehrsmodell● Jede Station hat N Nachbarstationen● Jede Station sendet mit der Wahrscheinlichkeit g

● Durchschnittliche Paketanzahl in festen Zeitabschnitt:

● Modellierung als Poisson-Prozess

● P(k) ist die Wahrscheinlichkeit, dass k Pakete im gegebenen Zeitabschnitt gesendet werden

λ=Ng

P (k )=λk e−λ

k !

Page 23: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 2323

Aloha - Analyse● Ein Paket wird erfolgreich versendet, wenn in zwei

Zeitabschnitten keine anderen Paket versendet werden

● mit festem Zeitabschnitt (Paketlänge)

● Eine Station i sendet nicht:

● Energieverbrauch:

P s=P (0)⋅P (0)=P (0)2=(λ0 e

−λ

0 !)2

=e−2 λ=e−2NgTM

T M

P i (0)=e−g T M=1−b1

PRA=b1PTX+(1−b1)P RX

Page 24: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 2424

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: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 2525

Aloha mit Preamble Sampling● Paketlänge wird effektiv erhöht (in den Formeln: )● Preamble-Länge bestimmt Energieverbrauch

T M

Page 26: Software ubiquitärer Systeme - ess.cs.tu- · PDF fileMSP430+CC110x/2500, CC1110/2510, CC1111/CC2511, CC2430, CC2520. Software ubiquitärer Systeme – Tafelübung 5 ... Netzwerk-API

Software ubiquitärer Systeme – Tafelübung 5 – Drahtlose Kommunikation 2626

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()● und ein Timer (AOStuBS Buzzer)