PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Materialintegrierte Sensorische Systeme

Mit Labor @home

PD Stefan Bosse

Universität Bremen - FB Mathematik und Informatik

1 / 41

PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Architektur und Funktion von Sensorknoten

Wie ist ein Sensorknoten aufgebaut?

Welche Randbedingungen gelten bei dieser Art von Eingebetteten Systemen?

Wie werden Sensoren angebunden?

Wie kommunizieren Sensorknoten?

2 / 41

Sensorevolution PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Sensorevolution

Intelligente Sensoren und Anstieg der Sensordichte

  • Entwicklung von Sensoren mit integrierten Informations- und Kommunikationstechnologien

    • Generation 1: Diskrete Sensoren, getrennte Sensorverarbeitung
    • Generation 2: Integrierte Smarte Sensoren
    • Generation 3: Netzwerke und Internetkonnektivität
    • Generation 4: Sensorclouds, IoT, MIIS
3 / 41

Sensorevolution PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Exponentieller Anstieg der aktiven Sensoren entlang der Zeitachse

4 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

Komponenten

  • Prozessor, i.A. RISC Architektur,
  • Nichtflüchtiger Programm- und Datenspeicher ROM (Read Only Memory), i.A. FLASH ROM
  • Flüchtiger Programm- und Datenspeicher RAM (Random Access Memory), i.A. DRAM
  • Timer und Clock Generator
  • IO
    • Verdrahtete serielle Kommunikation mit I2C / UART / RS232
      • Verdrahtete serielle Kommunikation mit Ethernet
      • Drahtlose serielle Kommunikation mit Bluetooth (kurzreichweitig, P2P)
      • Drahtlose serielle Kommunikation mit WLAN (kurzreichweitig, P2M)
      • Drahtlose serielle Kommunikation mit WWAN (langreichweitig, P2M)
      • General Purpose IO (Digitale Ports)
      • Analoge Eingänge mit ADC
5 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

  • Energieversorgung
    • Spannungskonverter
    • Spannungsüberwachung (Watchdog)
    • Energiegewinnung
    • Energiespeicher
6 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

Rapsberry PI

xdevs.com/article/rpi3_oc Raspberry Pi 3 Rechnerarchitektur

7 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

Modellierung eines Sensorknotens

Komponenten eines Sensorknotens (Datenflussarchitektur)

8 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

  • Sensormodell: Ein Sensorknoten ist mit verschiedenen Sensoren verbunden.

    1. Dehnungsmessstreifen (elektrische Größe)
    2. Energiesensor (Ladezustand eines Energiespeichers ∼ Ladespannung)
  • Energiemodell: Jeder Sensorknoten verfügt über einen Energiespeicher, der

    1. Über eine zeitlich fluktuierende Energiequelle (Energy Harvester) mit Energie gespeist wird, und der
    2. Durch Berechnungs- und Kommunikationaktivität des Sensorknotens entladen wird.
9 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

E(t)=E0+tτ=0eharvest(τ)tτ=0ecomputing(τ)ecomputing(t)=ni=0einstruction(i) 

10 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

  • Die Bilanzierung der Energie kann vereinfacht werden: Jede elementare Berechnung des Sensorknotens benötigt die gleiche Energiemenge einstruction.

  • Energiemanagement muss verwendet werden, um mit der zur Verfügung stehenden Energie E(t) die Aufgaben und Ziele

    1. Lokal (Knotenebene) und
    2. Global (Netzwerk) zu erfüllen.
11 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

Prozessor
Tasks und Prozesse sind softwarebasierte oder virtuelle Einheiten. Ein Prozessor, oder allgemein eine Datenverarbeitungseinheit (Processing Element PE) ist eine hardwarebasierte physikalische Ressource, deren Anzahl und Eigenschaften i.A. zur Laufzeit fest (statisch) sind. Ein oder mehrere Prozesse {P1,P2,..} sowie Taks {T1,T2,..} können temporal verteilt einem Prozessor PE zugeteilt und von ihm ausgeführt werden.
Programm
Schrittweise Ablaufvorschrift von Anweisungen {A1,A2,..}
Datenpfad
Der Datenpfad eines Programms stellt alle funktionalen Anteile (mit arithmetischen, relationalen, und booleschen Operation) und den Datenspeicher dar (Register, Speicherblöcke).
12 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

x = (a+b)/100;
y = f(a,b-1);

Beispiel für Datenpfadberechnungen in Lua

13 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

Kontrollpfad
Der Kontrollpfad eines Programms beschreibt und steuert die schrittweise Berechnung, die sich mit einem Kontrollflussgraphen bzw. Zustandsgraphen darstellen lässt. Der Programmfluss kann von der Entwicklung von Daten abhängen.
for i = 1 to 20 do x = x * i; end;
if x < 0 then x := 0; end;

Beispiel für Kontrollpfadanweisungen in Lua

14 / 41

Eingebettetes System PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Eingebettetes System

(Links) Programm (Mitte) Kontrollpfad als Zustandsdiagramm (Rechts) Datenpfad auf Registerebene

15 / 41

Softwarearchitektur und Abstraktion PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Softwarearchitektur und Abstraktion

SNTP, Meroth, 2018 Softwareebenen in einem Sensorknoten und Abstraktionsebenen

16 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Rechnerarchitekturen

Datenverarbeitung kann prinzipiell

  • Programmgesteuert mit einem generischen oder anwendungsoptimierten Prozessor [dynamisch], oder

  • Anwendungsspezifisch [statisch] mit Register-Transfer Logik Architekturen implementiert werden. Hier wird die Maschine zur Entwicklungszeit festgelegt.

Klassifikation von Parallelrechnerarchitekturen kann basierend auf dem Flynn’schen Modell erfolgen. Klassifikation nach

  • Datenstrom und
  • Instruktionsstrom

zwischen Speicher- und Datenverarbeitungseinheiten.

17 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

SISD

  • Single-Instruction Single-Data Stream

Tokhi,2003 SISD Klassifikation nach Flynn: Von-Neumann Rechnerarchitektur

18 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

SIMD

  • Trennung von Instruktions- und Datenspeicher
  • Ggfs. mehrere Datenspeicher

Tokhi,2003 Übergang von von-Neumann zu Harvard Rechnerarchitektur

19 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

  • Single-Instruction Multiple-Data Stream

Tokhi,2003 SIMD Klassifikation nach Flynn

20 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

MIMD

  • Multiple Instruction Multiple Data Streams
  • Parallelrechnerarchitektur

Tokhi,2003 MIMD Klassifikation nach Flynn

21 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Rechnerarchitekturen

Shared-Memory und Distributed-Memory Multiprozessor Architektur

Tokhi,2003 SM (stark gekoppelt) und DM Architektur (schwach gekoppelt)

22 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Rechnerarchitekturen

Applikationsspezifische Prozessoren

  • Generische Mikroprozessoren sind limitiert durch
    • fehlende oder eingeschränkte Parallelität im Datenpfad - meist nur eine Berechnung, i.R. eine funktionale Operation mit maximal zwei Operanden, pro Bearbeitungszyklus möglich (Ausnahme bei Pipelining und replizierten ALUs)
    • eingeschränkte Unterstützung bei Parallelität im Kontrollpfad - nur Pipelining mit Ausführung von mehreren Anweisungen in verschiedenen Phasen/Modulen der Verarbeitungspipeline und einfaches Multi-Threading
    • Multiprozessor Betrieb ermöglicht nur grob garnulierte Parallelität
    • Shared-Memory als globales Objekt führt zu erhöhter sequenzieller Ausführung (Mutex Scheduler muss Wettbewerb auflösen).
    • zentralern Hauptspeicher.
23 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Fazit: Schlechte Performanz in Latenz und Datendurchsatz, nur grob granulierte Parallelität.

24 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Rechnerarchitekturen

Anwendungsspezifische Mikroprozessoren

  • erweitern generische Prozessoren mit zusätzlichen Registern, Maschinenbefehlen, und spezialisierten und optimierten Funktionseinheiten.
  • Es wird unterschieden: erweiterbar und rein applikationsspezifisch
  • Vorteile erweiterbar:

    • Mikroprozessorkern und Software-Compiler existieren
  • Nachteile erweiterbar:

    • Nur eingeschränkte Möglichkeiten der Erweiterung, keine Anpassung von Datenwortbreiten, Architekturanpassungen, etc.
25 / 41

Rechnerarchitekturen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Rechnerarchitekturen

  • Vorteile appliaktionsspezifisch:

    • Verbesserte Möglichkeiten der Optimierung wie Datenwortbreite, Anzahl der Bussysteme, Kommunikationsstrukturen, Architektur, usw.
  • Nachteile applikationsspezifisch:

    • Es existieren keine getesteten oder verifizierten Prozessorkerne und Software-Compiler; Entwurfsprozeß daher fehleranfällig und deutlich langwieriger als bei erweiterbaren Mikroprozessoren

Erweiterbare Mikroprozessoren können bereits gefertigt sein, und sind mit (externen) Erweiterungsschnittstellen ausgestattet, um optimierte Funktionseinheiten wie z.B. Decoder, Encoder, oder kryptographische Funktionen zu implementieren.

26 / 41

Kanalbasierte Datenverarbeitung PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Kanalbasierte Datenverarbeitung

Queues und Pipelines

Parallele Systeme die aus mehreren Prozessoren oder Verarbeitungseinheiten bestehen erfordern Datenaustausch und Synchronisation.

  • Queues (First-In First-Out FIFO Speicher) können zum synchronisierten Datenaustausch zwischen einem Datenproduzenten und Konsumenten (zwei Prozessoren, Prozesse, oder PEs) verwendet werden.

  • Synchronisation:

    • Blockierung des Produzenten wenn die Queue vollständig gefüllt ist, und
    • Blockierung des Kosumenten wenn die Queue kein Datenwort enthält (leer ist).
27 / 41

Kanalbasierte Datenverarbeitung PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Kanalbasierte Datenverarbeitung

Queues zum synchronem Datenaustausch zwischen Verarbeitungseinheiten und Verwendung in Pipelines

28 / 41

Kanalbasierte Datenverarbeitung PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Kanalbasierte Datenverarbeitung

Verwendung von Queues in Pipelines zur Steuerung des Datenflusses

29 / 41

Kommunikationsschnittstellen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Kommunikationsschnittstellen

Es wird unterschieden zwischen interner und externer Kommunikation eines Sensorknotens

Interne Kommunikation
Anbindung von Peripheriegeräten wie Sensoren und Energiemanagement, z.B. mit I2C oder USB Verbindungen.
Externe Kommunikation
Verbindung von Sensorknoten über drahtgebundene oder drahtlose Verbindungen, z.B. mit WLAN, Bluetooth, oder RFID.
30 / 41

Kommunikationsschnittstellen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Universelle Digitale Ein- und Ausgänge

SNTP, meroth, 2018 Universelle Ein- und Ausgänge müssen die Signalrichtung, den Spannungspegel, und ggfs. eine Isolation (bei Bussystemen) schlatbar ermöglichen. Häufig sind die Schnittstellen mit digitalen Registern verbunden.

31 / 41

Kommunikationsschnittstellen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

  • Ein- und Ausgänge können unterschiedliche elektronisch beschaltet werden

SNTP, meroth, 2018 (Oben) Beschaltung von Eingängen (Unten) Beschaltung von Ausgängen

32 / 41

Kommunikationsschnittstellen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Nachrichtenbasierte Kommunikation

SNTP, Meroth, 2018 Vertikale und horizontale Kommunikation im Schichtenmodell: Nachrichtenbasierte Kommunikation kann über verschiedene technische Schnittstellen und Protokolle stattfinden

33 / 41

Kommunikationsschnittstellen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Übertragungsarten

SNTP, Meroth, 2018 (Links) Übertragungsarten Simplex, Vollduplex und Halbduplex (Rechts) Unsymmetrische und symmetrische Übertragung

34 / 41

Kommunikationsschnittstellen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

I2C

  • Häufig verwendete Zweidraht Kommunikationstechnologie und Protokoll für die Anbindung von Sensoren, Aktuatoren, und Schnittstellengeräten

Der I2C-Bus (oder I2C) wurde von der Firma Philips (heute NXP) [7–9] entwickelt und ermöglicht die Vernetzung von Mikrocontrollern, Sensoren und anderen Bausteinen wie: RAM- und EEPROM-Speicher, A/D-, D/A-Wandler, Port Erweiterungen, LCD- und LED-Display Ansteuerungen, Echtzeituhren, Radio- und TV-Empfänger, I2C-Bus Erweiterungen und vielen anderen.

35 / 41

Kommunikationsschnittstellen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Der I2C-Bus funktioniert nach dem Master-Slave Prinzip.

Master ist derjenige Busknoten, der die I2C-Kommunikation initiiert und beendet, den Takt für die Synchronisation der Datenübertragung bereitstellt und entsprechend der einprogrammierten Software Kom- munikationsprobleme erkennt und löst. Jeder Slave besitzt eine Adresse, die ihn in einem Bus eindeutig identifiziert. Die Adresse kann 7 oder 10 Bit groß sein und ermöglicht die Adressierung von 128 bzw. 1024 unterschiedlichen Slaves im selben Bus.

36 / 41

Kommunikationsschnittstellen PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

SNTP, Meroth, 2018 (verschiedene I2C Modi und deren maximale Übertragungsraten

37 / 41

Serial Peripheral Interface (SPI) PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Serial Peripheral Interface (SPI)

Die getaktete serielle Schnittstelle SPI (Serial Peripheral Interface), bisweilen auch Clocked Serial Interface (CSI) genannt, die in vielen Prozessortypen zur Verfügung steht, bietet einen der populärsten Wege, auf Sensoren auf der Leiterplatte oder außer- halb des Gehäuses zuzugreifen.

Durch die Übertragung des Taktes auf einer getrennten Takt- leitung (CLK, zuweilen auch SCK genannt) erlaubt sie die Synchronisation zwischen Sender und Empfänger bei wesentlich höheren Datenraten als bei asynchronen Schnitt- stellen.

38 / 41

Serial Peripheral Interface (SPI) PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

SPI verwendet Schieberegister um Daten seriell zu übertragen

39 / 41

Serial Peripheral Interface (SPI) PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

SNTP, Meroth, 2018 (Links) Multigerätevebrindung als Bussystem (Rechts) Ablauf einer SPI Sequenz mit Befehlsbyte

40 / 41

Zusammenfassung PD Stefan Bosse - MISS - Modul B: Architektur und Funktion von Sensorknoten

Zusammenfassung

Ein Sensorknoten besteht aus:

  1. Datenverarbeitung (Mikroprozessor)
  2. Datenspeicher (RAM, DRAM, SRAM, ROM, EEPROM)
  3. Energie (Speicherung, Gewinnung, Management)
  4. Kommunikation
    • intern (intrinsisch)
    • extern (extrinsisch)
  5. Sensoren
  6. Aktuatoren und Mensch-Maschine Schnittstellengeräte (optional)
41 / 41