Prof. Dr. Uwe Brinkschulte Lehrstuhl für Eingebettete Systeme brinks@es.cs.uni-frankfurt.de Robert-Mayer-Straße 11-15 Sekretariat: Linda Stapleton, Raum 211a stapleton@es.cs.uni-frankfurt.de
Forschungsgebiete Hard- und Software für eingebettete Systeme Im Speziellen: Mikrocontroller & Mikroprozessoren Eingebettete Echtzeitsysteme Verteilte eingebettete Systeme Echtzeit-Middleware Organic Computing Selbst-Organisation und Echtzeit
Projekte Komodo CAR-SoC CARISMA DODOrg SELINA OSA+ REMIS SIMON
Lehre Vorlesungen Praktika Seminare Hardware-Architektur & Rechnersysteme SS Computer Architecture WS Eingebettete Systeme WS (2 jährig) Spezielle Themen bei Eingebetteten Systemen - Organic Computing SS (2 jährig) Praktika Grundlagen Hardwaresysteme SS Mikrocontroller & Eingebettete Systeme WS Seminare Robuste Systemarchitekturen – Organic Computing WS
Vorlesung Eingebettete Systeme Inhalte: Hardware-Plattformen für eingebettete Systeme Busse zum Umfeld Echtzeitaspekte der Software Entwurf verteilter eingebettete Systeme Organic Computing
Vorlesung Eingebettete Systeme Vermittelt werden sollen: Verständnis für die Besonderheiten des Entwurfs und der Implementierung eingebetteter Systeme Zielarchitekturen in Hard- und Software grundlegend und in Vertiefung Wichtige Aspekte wie Echtzeitverhalten, Ressourcenschonung sowie Verteilung und deren Wechselwirkung Neuester Forschungstrends, aktuelle Probleme und deren künftige Lösungsmöglichkeiten
Vorlesung Eingebettete Systeme WS 2010/2011 Prof. Dr. U. Brinkschulte
Vorlesungsinhalte und -strukturierung 1. Grundlagen (1,5 Einh.) 2. Hardware-Plattformen (11,5 Einh.) 3. Busse zum Umfeld (3 Einh.) 4. Echtzeitaspekte der Software (4 Einh.) 5. Entwurf verteilter eingebetteter Systeme (4 Einh.) 6. Organic Computing (3 Einh.)
Literatur [1] Brinkschulte, Ungerer Mikrocontroller und Mikroprozessoren 3. Auflage, Springer Verlag, Heidelberg, 2010 [2] Wörn, Brinkschulte Echtzeitsysteme Springerverlag, Heidelberg, 2005
Detaillierte Inhalte 1. Grundlagen 2. Hardware-Plattformen Literatur 1. Grundlagen 1.1 Eingebettete Systeme 1.2 Ubiquitäre Systeme 1.3 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC 1.4 PC Systeme 1.5 Modellierung 2. Hardware-Plattformen 2.1 Mikrocontroller 2.1.1 Abgrenzung zu Mikroprozessoren 2.1.2 Anwendungsfelder 2.1.3 Leistungsklassen und Familien 2.1.4 Auswahlkriterien für den Einsatz von Mikrocontrollern 2.1.5 Softwareentwicklung 2.2 Systems on Chip (SoC) 2.3 Energiespartechniken 2.4 Java und Java-Prozessoren für eingebettete Systeme [1] Kap. 1 [2] Kap. 1.3 u. 1.4 [1] Kap. 3
Detaillierte Inhalte 2.5 Mikrocontroller-Komponenten 2.5.1 Prozessorkerne 2.5.2 Ein-/Ausgabeeinheiten 2.5.3 Zeitgeberbasierte Einheiten 2.5.4 Speicher 2.5.5 Unterbrechungssteuerung 2.5.6 DMA 2.5.7 Erweiterungsbus 2.6 Mikrocontroller-Beispiele 2.6.1 ATmega128A - ein kompakter Mikrocontroller 2.6.2 PXA 270 – ein Hochleistungs-Mikrocontroller 2.6.3 MCore - optimiert für niedrigen Energieverbrauch 2.6.4 Komodo - ein Forschungs-Mikrocontroller 2.7 Signalprozessoren 2.7.1 Einiges zur Theorie der digitalen Signalverarbeitung 2.7.2 Abgrenzung zu Mikrocontrollern und Mikroprozessoren 2.8 Signalprozessor-Beispiele 2.8.1 Ein einfacher Signalprozessor 2.8.2 Ein Hochleistungs-Signalprozessor 2.9 Analoge Schnittstellen [1] Kap. 4 [1] Kap. 5 [2] Kap. 3.3
Detaillierte Inhalte 3. Busse zum Umfeld 3.1 Peripheriebusse 3.1.1 USB 3.2 Feldbusse 3.2.1 Überblick und Anwendungen 3.2.2 Der ProfiBus 3.2.3 Der CanBus 3.2.4 Der INTERBUS 3.2.5 ASI 3.2.6 EIB 4. Echtzeitaspekte der Software 4.1 Grundlagen von Echtzeitsystemen 4.2 Echtzeitprogrammierung 4.2.1 Synchrone Programmierung 4.2.2 Asynchrone Programmierung 4.3 Aufbau von Echtzeitbetriebssystemen [2] Kap. 4.4 [2] Kap. 5 [2] Kap. 6
Detaillierte Inhalte 4.4 Echtzeitscheduling 4.4.1 FIFO-Scheduling 4.4.2 Fixed-Priority-Scheduling 4.4.3 EDF-Scheduling 4.4.4 LLF-Scheduling 4.4.5 Time-Slice-Scheduling 4.4.6 Guaranteed Percentage Scheduling 4.5 Synchronisation und Kommunikation 4.5.1 Synchronisation gemeinsamer Betriebsmittel 4.5.2 Task-Kommunikation 4.6 Speicher- und IO-Verwaltung 4.6.1 Speicherverwaltung 4.6.2 IO-Verwaltung 4.7 Klassifizierung und Beispiele von Echtzeitbetriebssystemen 4.7.1 QNX 4.7.2 Posix 4.7.3 RTLinux [2] Kap. 6
Detaillierte Inhalte 5. Entwurf verteilter eingebetteter Systeme 5.1 Anforderungen und Architekturen 5.2 Entwurfsmuster “Dienstorientierte Architektur” 5.3 Middleware als Systemplattform 5.3.1 Aufgaben der Systemplattform 5.3.2 Middleware 5.4 OSA+ 5.5 CORBA und RT-CORBA 5.6 Verteilte Mess- und Stelldienste 5.6.1 Grundlagen 5.6.2 Ein verteilter Mess- und Stelldienst [2] Kap. 7
Detaillierte Inhalte 6. Organic Computing 6.1 Grundlagen des Organic Computing 6.2 Organic Computing und Systems on Chip 6.2.1 Autonomic Systems on Chip (ASoC) 6.2.2 Connective Autonomic Real-time Systems on Chip (CARSoC) 6.3 Organic Computing und Middleware 6.3.1 OSA+ als „organische Middleware“, neue Konzepte, Organic Manager 6.3.2 DodOrg - Digital On Demand Computing Organism 6.4 Ein künstliche Hormonsystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.1 Natürliches Hormonsystem 6.4.2 Künstliches Hormonsystem 6.4.3 Künstlichen Hormone 6.4.4 Dynamik des Hormonsystems 6.4.5 Datenaufkommen der Hormonausschüttung 6.4.6 Güte der Taskzuordnung [1] Kap. 3.6.4 [1] Kap. 3.6.4
Organisatorisches Folien und Übungsblätter verfügbar unter http://www.es.cs.uni-frankfurt.de/index.php?id=158 Vorlesung: Dienstag 13:00 – 16:00, SR 11, RM 11-15 Uwe Brinkschulte, Mathias Pacher Übung: Donnerstag 13:00 – 14:00, SR 307, RM 11-15 Ankündigung in der Vorlesung Mitarbeiter des Lehrstuhls