: Walter Lange, Martin Bogdan
: Entwurf und Synthese von Eingebetteten Systemen Ein Lehrbuch
: De Gruyter Oldenbourg
: 9783486721096
: 1
: CHF 38.80
:
: Informatik, EDV
: German
: 378
: Wasserzeichen/DRM
: PC/MAC/eReader/Tablet
: PDF
Dieses Buch bietet eine Einführung in die wichtigsten Themen rund um Eingebettete Systeme wie zum Beispiel Technologien, Kommunikation, Mikroprozessoren, Systembeschreibungssprachen, Sensornetzwerke und High-Level-Synthese. Einen breiten Raum nimmt dabei auch das Gebiet der Entwicklungsmethodik ein. Dieser Teil ist besonders für Studenten und Informatiker gedacht, die als Entwickler tätig werden wollen oder es bereits sind.
1 Einführung15
1.1 Begriffsbestimmung und Beispiele15
1.2 Systemkategorien17
1.3 Typischer Aufbau19
1.4 Zusammenfassung21
2 Bauformen und Implementierungsarten23
2.1 Bauformen23
2.2 Implementierungsarten25
2.3 übersicht über Technologien für Eingebettete Systeme26
2.3.1 Anwendungsspezifische Hardware26
2.3.2 Feldprogrammierbare Bausteine (FPGAs)29
2.4 Evolution der Siliziumtechnologie34
2.5 Zusammenfassung35
3 Mikroprozessor-Grundlagen37
3.1 Evolution der Mikroprozessoren37
3.2 Mikroprozessoren in Eingebetteten Systemen38
3.3 Mikroprozessor-Grundlagen40
3.3.1 Mikroprozessor-Architekturen40
3.3.2 Eingabe und Ausgabe durch Befehle, Register und Interrupts43
3.3.3 Speicher-Systeme45
3.3.4 Hauptspeicher51
3.3.5 Festwertspeicher (ROM)54
3.3.6 Befehls-Verarbeitungsmethoden54
3.3.7 Performanz und Energieverbrauch60
3.3.8 Ein-Ausgabe-Geräte und Schnittstellen64
3.4 Mikrokontroller und Mikroprozessoren65
3.4.1 Niedrigpreis-Mikrokontroller66
3.4.2 Mikroprozessoren höherer Leistung67
3.4.3 Mikroprozessor-Familien67
3.5 Mehrprozessorsysteme75
3.5.1 Beispiel für ein Mehrprozessor-System: Der Cell-Prozessor77
3.6 Prozesse und Betriebssysteme78
3.6.1 Prozesse78
3.6.2 Wozu Betriebssysteme?80
3.6.3 Aufgaben und Schichtenmodell eines Betriebssystems82
3.6.4 Echtzeitbetriebssysteme84
3.6.5 Zeitablaufplanung in Echtzeitbetriebssystemen84
3.6.6 Prioritätsumkehr und Prioritätsvererbung91
3.7 Zusammenfassung93
4 Kommunikation, Busse, Netzwerke und verteilte Systeme95
4.1 Das ISO-OSI-Referenzmodell95
4.2 Modellierung der Kommunikation99
4.2.1 Kommunikationsprimitive99
4.2.2 Der parallele Bus102
4.3 Verteilte Systeme111
4.4 Netzwerke113
4.4.1 Kommunikationsmodi114
4.4.2 Netzwerk-Topologien114
4.5 Busähnliche Netzwerke oder serielle Busse117
4.5.1 Der I2C-Bus119
4.5.2 Der CAN-Bus120
4.5.3 FlexRay, LIN und MOST123
4.5.4 Profibus (Process Field Bus)124
4.5.5 Weitere Verbindungsnetzwerke für verteilte Systeme126
4.6 Zusammenfassung128
5 Entwicklungsmethodik129
5.1 Die Produktivitätslücke129
5.2 Anforderungen131
5.2.1 Nichtfunktionale Anforderungen131
5.2.2 Lastenheft135
5.3 Der Beginn einer Entwicklung137
5.3.1 Der Architekturbegriff138
5.3.2 Pflichtenheft139
5.3.3 Spezifikation140
5.4 Entwurfsmethoden von Software-Systemen142
5.4.1 Das Wasserfallmodell142
5.4.2 Das Spiralmodell144
5.5 Hardware-Entwicklungsmethodik: Die Abstraktionsebenen145
5.6 Entwicklungsmethoden von Eingebetteten Systemen149
5.6.1 Erfassen und Simulieren150
5.6.2 Beschreiben und Synthetisieren151
5.6.3 Spezifizieren, Explorieren und Verfeinern152
5.6.4 Evolution der Chip-Entwicklung: Vom ASIC zum SoC154
5.6.5 Plattformbasierter Entwurf für Ein-Chip-Systeme157
5.6.6 Beispiele von Mehrprozessor-Entwicklungsplattformen159
5.7 Modellieren von Systemen164
5.7.1 Was sind Modelle?164
5.7.2 Modelle auf System- und algorithmischer Ebene: Berechnungsmodelle167
5.7.3 Unified Modeling Language (UML)180
5.7.4 Transaction Level-Modellierung (TLM)182
5.7.5 Modellieren auf RT-Ebene188
5.7.6 Modelle auf Logik-Ebene193
5.8 Modellbasierte Entwicklungsmethode193
5.8.1 Synthese195
5.8.2 System-Synthese196
5.8.3 Software-Synthese von Eingebetteten Systemen206
5.8.4 Das ESE-Werkzeug von Gajski et al223
5.9 Software-Entwicklung für Eingebettete Systeme224
5.9.1 Programmentwicklung225
5.9.2 Entwickeln von Klassendiagrammen mit CRC-Karten225
5.9.3 Entwurfsmuster228
5.9.4 Programm-Modelle228
5.9.5 Compiler für Eingebettete Systeme231
5.9.6 Programm-Optimierungen231
5.10 Verifikation, Simulation und Validierung237
5.10.1 Simulation238
5.10.2 Formale Verifikation245
5.10.3 Werkzeuge für Modellierung und Simulation248
5.11 Test250
5.11.1 Begriffsbestimmungen, Black-Box- und White-Box-Test251
5.11.2 Ein klassisches Fehlermodell252
5.11.3 Testmuster252
5.11.4 JTAG Boundary-Scan254
5.12 Zusammenfassung255