1. Grundlagen Grundlagen für eingebettete Systeme 1.2 Ubiquitäre Systeme 1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC 1.4 PC Systeme 1.5 Modellierung
1.1 Eingebettete Systeme Eingebettete Systeme: Datenverarbeitungssysteme, die in ein technisches Umfeld eingebettet sind Steuern, Überwachen und Regeln dieses Umfeld Beispiel: Steuerung einer Kaffeemaschine: Koordination von Wasserbehälter, Heizung und Ventilen zur Bereitung eines Kaffees
1.1 Eingebettete Systeme Weiteres Beispiel: PC auf dem Schreibtisch zu Hause kein eingebettetes System, stellt seine Datenverarbeitungsleistung dem Menschen zur Verfügung PC in der Fabrikhalle zur Steuerung einer Anlage eingebettetes System
1.1 Eingebettete Systeme Mehr Beispiele: Alltagsgegenstände
1.1 Eingebettete Systeme Raumfahrt
1.1 Eingebettete Systeme KFZ-Technik
1.1 Eingebettete Systeme Robotik
1.1 Eingebettete Systeme Autonomes Fahrzeug (z.B. für die Fabrikautomation)
1.1 Eingebettete Systeme Gegenüber reinen Rechensystemen stellen eingebettete Systeme weitere Anforderungen: Schnittstellenanforderungen mehr und vielfältigere Schnittstellen als bei reinen Rechensystemen Mechanische Anforderungen robuster Aufbau, rauhe Umgebung, mechanische Belastung, begrenzter Raum, vorgegebene geometrische Form
1.1 Eingebettete Systeme Elektrische Anforderungen vorgegebene Versorgungsspannung, limitierter Energieverbrauch, geringe Abwärme Zuverlässigkeitsanforderungen Ausfallsicherheit, Notbetrieb, z.B. bei Bremsen, der Steuerung eines Kernreaktors, einem Flugzeug, ... Zeitanforderungen Ausführung von Tätigkeiten innerhalb einer vorgegebenen Zeit => Echtzeitsysteme
1.1 Eingebettete Systeme Einige zusätzliche Bemerkungen zu Echtzeitsystemen Nicht-Echtzeitsystem: logische Korrektheit Echtzeitsystem: logische Korrektheit + zeitliche Korrektheit Ein Ergebnis ist nur korrekt, wenn es logisch korrekt ist und zur rechten Zeit zur Verfügung steht!
1.1 Eingebettete Systeme Klassen von Echtzeitsystemen: Harte Echtzeitsysteme Zeitbedingungen müssen unter allen Umständen eingehalten werden. Das Verpassen einer Zeitschranke ist nicht tolerierbar Beispiel: Kollisionserkennung in einem automatischen Fahrzeug
1.1 Eingebettete Systeme Klassen von Echtzeitsystemen: Feste Echtzeitsysteme Feste Zeitschranken Ein Ergebnis ist nach Überschreiten der Zeitschranke wertlos (Verfallsdatum) Die Folgen sind jedoch nicht unmittelbar katastrophal Beispiel: Positionserkennung in einem automatischen Fahrzeug
1.1 Eingebettete Systeme Klassen von Echtzeitsystemen: Weiche Echtzeitsysteme Weiche Zeitschranken Ein Überschreiten um einen gewissen Wert ist tolerierbar Mehr Richtlinie denn harte Zeitschranke Beispiel: Periodische Temperaturmessung für eine Anzeige
1.1 Eingebettete Systeme Wesentliche Anforderungen an Echtzeitsysteme Zeitliche Vorhersagbarkeit spielt die dominierende Rolle eine hohe Verarbeitungsgeschwindigkeit ohne Vorhersagbarkeit ist wertlos wichtige Größe: WCET (Worst Case Execution Time) heutige Prozessoren mit Caches und spekulativer Programmausführung sind hier problematisch
1.1 Eingebettete Systeme Längerfristige Verfügbarkeit Leistung muss über einen längeren Zeitraum erbracht werden Betriebspausen, z.B. zur Reorganisation, sind nicht zulässig (Beispiel Garbage Collection)
1.2 Ubiquitäre Systeme Ubiquitäre Systeme allgegenwärtig = überall verbreitet = ubiquitär Computer „unsichtbar“, hinter Alltags- gegenständen verborgen Neuer Begriff: Ubiquitous Computing
1.2 Ubiquitäre Systeme Begriff Anfang der 90er Jahre von Mark Weiser geprägt Zukunftsvision: Mit Mikroelektronik angereicherte Gegenstände sollen so alltäglich werden, dass die enthaltenen Rechner als solche nicht mehr wahrgenommen werden. Ubiquitäre Systeme sind eine Erweiterung der eingebetteten Systeme. Zusätzlich zu einem eingebetteten System kommt noch Umgebungswissen hinzu, das es diesem System erlaubt, sich in hohem Maße auf den Menschen einzustellen. Als ubiquitäre (allgegenwärtige) Systeme bezeichnet man eingebettete Rechnersysteme, die selbstständig auf ihre Umwelt reagieren. Rechner in dienender und nicht beherrschender Rolle. Die Benutzer sollen nicht in eine virtuelle Welt gezogen werden, sondern die gewohnte Umgebung soll mit Computerleistung angereichert werden.
Phase 2: Personal Computer 1.2 Ubiquitäre Systeme Die dritte Ära der Rechnernutzung Phase 1: Großrechner Phase 2: Personal Computer Phase 3: Ubiquitäre Systeme
1.2 Ubiquitäre Systeme Merkmale ubiquitärer Systeme Ubiquitäre Systeme sind eine Erweiterung sogenannter „eingebetteter Systeme“ Rechner, die in technische Systeme eingebettet sind, also z.B. Waschmaschine, Fahrkartenautomaten, ABS im Auto etc. überall in hoher Zahl vorhanden - Allgegenwart ubiquitäre Systeme nutzen drahtlose Vernetzung Handytechnologien, Funk-LAN, Bluetooth, Infrarot Umgebungswissen, das es ubiquitären Systemen erlaubt, sich in hohem Maße auf den Menschen einzustellen Neue Geräte wie z.B. Handhelds, tragbare Rechner
1.2 Ubiquitäre Systeme Technologien ubiquitärer Systeme Einbeziehung von Informationen aus der natürlichen Umgebung der Geräte Umgebungswissen erstellt durch Erfassung, Interpretation, Speicherung, Austausch und Verbindung von Sensorendaten Umgebungswissen erlaubt ubiquitären Systemen sich in hohem Maße auf den Menschen einzustellen Gerät kann Informationen in Abhängigkeit vom jeweiligen Aufenthaltsort auswählen und anzeigen Gerät passt sich in seinem Verhalten der jeweiligen Umgebung an
1.2 Ubiquitäre Systeme Anwendungsbeispiel: MediaCup (Teco Karlsruhe)
1.2 Ubiquitäre Systeme Der Boden der MediaCup enthält die Elektronik in einem abnehmbaren Gummiüberzieher. Kern ist ein kleiner Mikroocontroller Die Elektronik wird kabellos mit Energie versorgt; ein 15 minütiger Aufladevorgang kann die Tasse etwa 10 Stunden mit Energie versorgen. Sensoren erkennen Temperatur und Bewegungszustand der Tasse. Diese Informationen wird von der Tasse in den Raum gesendet.
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Einige grundlegende Begriffe zu Mikroprozessoren Mikroprozessor: Zentraleinheit eines Datenverarbeitungssystems heute meist mit weiteren Komponenten auf einem einzigen Chip untergebracht Zentraleinheit = CPU, Central Processing Unit
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Basiskomponenten eines Mikroprozessors Rechenwerk Steuerwerk Schnittstelle zur Außenwelt Weitere Komponenten (je nach Komplexität) Cache Virtuelle Speicherverwaltung Ziel: möglichst effiziente Ausführung eines Programms
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Weitere Begriffe: Mikroprozessorsystem Technisches System, welches einen Mikroprozessor enthält. Dies muss kein Rechner sein. Mikrorechner (Mikrocomputer) Rechner, der als Zentraleinheit einen oder mehrere Mikroprozessoren enthält. Enthält weiterhin Speicher, Ein-/Ausgabeschnittstellen sowie ein Verbindungssystem.
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Mikrorechnersystem (Mikrocomputersystem) Mikrorechner mit an die Ein-/Ausgabeschnittstellen angeschlossenen Peripheriegeräten, => Kontakt zum Umfeld im eingebetteten System
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Mikrorechner auf einem Chip Ziel: Steuerungs- oder Kommunikationsaufgabe mit möglichst wenigen Bausteinen lösen Prozessorkern, Speicher und Ein-/Ausgabeschnittstellen sind auf die Lösung solcher Aufgaben zugeschnitten es existiert eine Vielzahl verschiedener Mikrocontroller
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Deshalb meist: Organisation in Mikrocontrollerfamilien Die Mitglieder einer Familie besitzen meist gleichen Prozessorkern unterschiedlichen Speicher unterschiedliche Ein-/Ausgabeschnittstellen Ideale Hardware-Plattform für eingebettete Systeme
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC SoC (Systems on Chip) Konsequente Weiterentwicklung der Mikrocontrolleridee, Systeme mit möglichst wenigen Bausteinen zu realisieren Mikrocontroller: standardisierter Rechnerbaustein, mit wenigen anderen Komponenten entsteht anwendungsspezifisches System SoC: vollständiges anwendungsspezifisches System auf einem einzigen Chip
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Realisierungsmöglichkeiten von SoC Bereitstellung und Kombination von Hardwarebibliotheken => FPGA, ASIC Rekonfigurierbare Hardware - Fester Prozessorkern und Speicher - Rekonfigurierbare Zellen Weitere Herausforderung bei SoC: Kombination von analogen und digitalen Komponenten
1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Spezielle Prozessorarchitekturen zur Verarbeitung analoger Signale Hochleistungsarithmetik zur schnellen fortgesetzten Multiplikation und Addition (MAC, Multiply and Accumulate) => schnelle Berechnung von Polynomen vom Anwender steuerbare Parallelität spezielle Schnittstellen zur Ein- und Ausgabe von analogen Signalen
1.4 PC-Systeme PC-Systeme Heute verbreitetste Form von Mikrorechnern 1980 von IBM eingeführt unter ständiger Weiterentwicklung zum Quasi-Standard geworden Merkmale: zentrales Motherboard (Mainboard), zusätzliche Komponenten in Form von Steckkarten
1.4 PC-Systeme Grundlegende Bestandteile eines PCs: Mikroprozessor Cache Northbridge Systembus und Hauptspeicher Southbridge Ein-/Ausgabeeinheiten
1.4 PC-Systeme Beispiel: P7H55D-M Pro Motherboard von Asus
1.4 PC-Systeme Eigenschaften der verschiedenen Busse: Bus Übertragungsart Taktrate Übertragungsrate Memory Bus 64 Bit parallel, 2-fache Datenrate, DDR3 Protokoll 667 MHz 10,6 GByte/s PCI Express 2.0 x 16 16 x 1 Bit seriell, vollduplex, 2-fache Datenrate, 8B10B Kode 2500 MHz 16 GByte/s PCI Express x 16 1250 MHz 8 GByte/s PCI Express x1 1 x 1 Bit seriell, vollduplex, 2-fache Datenrate, 500 MByte/s DMI x4 4 x 1 Bit seriell, vollduplex, 2-fache Datenrate, 2 GByte/s PCI Bus 32 Bit parallel, Adress/Daten-Multiplex 33 MHz 133 MByte/s USB 1 Bit seriell, halbduplex, 1-fache Datenrate, NRZI Kode 480 MHz 60 MByte/s Serial ATA 1-fache Datenrate, 8B10B Kode 1500 MHz 150 MByte/sec DVI / HDMI Single Link 3 differentielle Leitungen, 8B10B Kode , TMDS 165 MHz (Pixeltakt) 462 MByte/sec DVI / HDMI Dual Link 6 differentielle Leitungen, 8B10B Kode , TMDS 924 MByte/sec FDI Basierend auf DisplayPort mit max. 4 Leitungen 5,4 GHz 2,1 GBit/sec Eigenschaften der verschiedenen Busse:
1.4 PC-Systeme Layout: Motherboard P7H55D-M Pro von Asus
1.4 PC-Systeme Standard PCs sind problematisch für eingebettete Systeme wegen: Großem Platzbedarf Hohem Gewicht Hohem Energieverbrauch Geringer mechanischer Robustheit Standard-Betriebssysteme nicht echtzeitfähig Abhilfe: IndustriePCs
1.4 PC-Systeme Speicher- Erweiterungs- Karte CPU-Karte IO-Karte serielle IO- Kanäle L2- Cache CPU Speicher . . . CPU- PCI- Bridge Lokaler Spei- cher parallele IO- Kanäle Bustreiber Bustreiber Bustreiber Backplane-Bus Backplane Mechanisch robuste PC-Variante zur Steuerung von eingebetteten Systemen, die hohe Rechenleistung und Speicherkapazität benötigen und unkritisch bei Platzbedarf, Energiebedarf und Gewicht sind, z.B. in der Robotik. Vorteil: Software kann auf normalem PC entwickelt und fast direkt übernommen werden
1.5 Modellierung Da eingebettete Systeme neben digitalen zeitdiskreten auch analoge zeitkontinuierliche Komponenten besitzen können, kommen unterschiedliche Modelle zum Einsatz Modell kontinuierlich diskret statisch dynamisch statisch dynamisch
1.5 Modellierung Zeitdiskrete Modelle: Automaten Petri-Netze UML Z-transformierte Übertragungsfunktion ...
1.5 Modellierung Beispiel: Zeitdiskretes Modell einer Steuerung „Fräsen einer Nut“ in einem eingebetteten System Hilfsstellung Ausgangsstellung Reduzierpunkt Nut-Ende Nut-Tiefe x y z
1.5 Modellierung Modellierung mit einem Automaten (Moore-Automat) . Ausgangs- zustand Ausgangs- position erreicht Start Eilgang -z Eilgang -x Reduzierpunkt erreicht Zustand/ Ausgabe . Vorschub -z Hilfsstellung erreicht Nuttiefe erreicht Übergang Vorschub +x Eilgang +z Nutende
1.5 Modellierung Modellierung mit einem Petri-Netz - Stellen Ausgangsposition erreicht Start Eilgang -z Reduzierpunkt erreicht Eilgang -x - Stellen - Transitionen - Marken Hilfsstellung erreicht Vorschub -z Nuttiefe erreicht Eilgang +z Nutende Vorschub +x
1.5 Modellierung Zeitkontinuierliche Modelle: Differentialgleichungen Übertragungsfunktion (Zeit-/Bildbereich) Sprungantwort (Zeit-/Bildbereich) Zustandsraumdarstellung Frequenz- und Phasengang ...
1.5 Modellierung Modellierung mit Differentialgleichungen Eingangs- signal Ausgangs- signal Differenzialgleichung n-ter Ordnung System (Übertragungsglied) w(t) x(t) Beispiel: homogene lineare Differenzialgleichung: Lösung :
g(t): Übertragungsfunktion (Gewichtsfunktion, Impulsantwort) 1.5 Modellierung Modellierung mit Übertragungsfunktionen im Zeitbereich g(t): Übertragungsfunktion (Gewichtsfunktion, Impulsantwort) Faltung:
1.5 Modellierung Modellierung mit Übertragungsfunktionen im Bildbereich W(s), G(s), X(s): Laplace-Transformierte von w(t), g(t), x(t) Laplace-Transformation: mit s = δ + jω Aus der Faltung wir im Bildbereich (Laplace-Bereich) eine Multiplikation: X(s) = G(s) ∙ W(s)
1.5 Modellierung Steuerung und Regelung: Steuerung Steuersignal u(t) Steuer-glied Umfeld/ Strecke Sollwert (Führungsgröße) w(t) Stell-glied Stellgröße y(t) Steuergröße x(t) Offene Wirkungskette
Geschlossene Wirkungskette 1.5 Modellierung Steuerung und Regelung: Regelung Regler Umfeld/ Strecke Sollwert (Führungsgröße) w(t) Stell-glied Stellgröße y(t) Regelgröße x(t) Störungen Reglersignal u(t) Regelabweichung e(t) xr(t) + - Mess-glied Istwert (gemessene Größe) Geschlossene Wirkungskette