Digitaltechnik - Lehr- und Übungsbuch für Elektrotechniker und Informatiker
von: Klaus Fricke
Vieweg+Teubner (GWV), 2007
ISBN: 9783834890382
Sprache: Deutsch
331 Seiten, Download: 2428 KB
Format: PDF, auch als Online-Lesen
Vorwort | 6 | ||
Inhaltsverzeichnis | 8 | ||
1 Einleitung | 14 | ||
2 Codierung und Zahlensysteme | 16 | ||
2.1 Codes | 16 | ||
2.2 Dualcode | 17 | ||
2.3 Festkomma-Arithmetik im Dualsystem | 18 | ||
2.3.1 Ganzzahlige Addition im Dualsystem | 18 | ||
2.3.2 Addition von Festkommazahlen | 19 | ||
2.3.3 Einerkomplementdarstellung | 19 | ||
2.3.4 Zweierkomplementdarstellung | 20 | ||
2.3.5 Subtraktion in Zweierkomplementdarstellung | 21 | ||
2.3.6 Bereichsüberschreitung | 21 | ||
2.3.7 Multiplikation | 22 | ||
2.3.8 Division | 23 | ||
2.4 Hexadezimalcode | 23 | ||
2.5 Oktalcode | 24 | ||
2.6 Graycode | 24 | ||
2.7 BCD-Code | 25 | ||
2.8 Alphanumerische Codes | 26 | ||
2.9 Übungen | 26 | ||
3 Schaltalgebra | 28 | ||
3.1 Schaltvariable und Schaltfunktion | 28 | ||
3.2 Zweistellige Schaltfunktionen | 29 | ||
3.3 Rechenregeln | 33 | ||
3.4 Kanonische disjunktive Normalform (KDNF) | 34 | ||
3.5 Kanonische konjunktive Normalform (KKNF) | 35 | ||
3.6 Darstellung von Funktionen mit der KKNF und KDNF | 35 | ||
3.7 Minimieren mit Hilfe der Schaltalgebra | 38 | ||
3.8 Vereinfachte Schreibweise | 39 | ||
3.9 Schaltsymbole | 39 | ||
3.9.1 Grundsätzlicher Aufbau der Symbole | 39 | ||
3.9.2 Die Abhängigkeitsnotation | 40 | ||
3.9.3 Die UND-Abhängigkeit (G) | 40 | ||
3.9.4 Die ODER-Abhängigkeit (V) | 41 | ||
3.9.5 Die EXOR-Abhängigkeit (N) | 42 | ||
3.9.6 Die Verbindungs-Abhängigkeit (Z) | 42 | ||
3.9.7 Die Übertragungs-Abhängigkeit (X) | 42 | ||
3.10 Übungen | 43 | ||
4 Verhalten logischer Gatter | 44 | ||
4.1 Positive und negative Logik | 45 | ||
4.2 Definition der Schaltzeiten | 46 | ||
4.3 Übertragungskennlinie, Störabstand | 47 | ||
4.4 Ausgänge | 48 | ||
4.4.1 Offener Kollektor (Open Collector) | 49 | ||
4.4.2 Tri-State-Ausgang | 50 | ||
4.5 Übungen | 51 | ||
5 Schaltungstechnik | 52 | ||
5.1 CMOS | 52 | ||
5.1.1 Fan-Out | 54 | ||
5.1.2 Grundschaltungen NAND und NOR | 54 | ||
5.1.3 Transmission-Gate | 56 | ||
5.1.4 Tri-State-Ausgang | 57 | ||
5.1.5 CMOS-Eigenschaften | 58 | ||
5.2 TTL | 58 | ||
5.2.1 Belastung der Ausgänge | 60 | ||
5.3 Emitter-Coupled Logic (ECL) | 61 | ||
5.4 Integrierte Injektions-Logik (I2L) | 61 | ||
5.5 Verlustleistung und Schaltverhalten von Transistorschaltern | 63 | ||
5.6 Übungen | 64 | ||
6 Schaltnetze | 66 | ||
6.1 Minimierung mit Karnaugh-Veitch-Diagrammen | 66 | ||
6.1.1 Minimierung der KDNF | 66 | ||
6.1.2 Minimierung der KKNF | 69 | ||
6.1.3 Karnaugh-Veitch-Diagramme für 2 bis 6 Eingangsvariablen | 70 | ||
6.1.4 Unvollständig spezifizierte Funktionen | 72 | ||
6.2 Das Quine-McCluskey-Verfahren | 73 | ||
6.3 Andere Optimierungsziele | 76 | ||
6.3.1 Umwandlung UND/ODER-Schaltnetz in NAND-Schaltnetz | 77 | ||
6.3.2 Umwandlung ODER/UND-Schaltnetz in NOR-Schaltnetz | 78 | ||
6.4 Laufzeiteffekte in Schaltnetzen | 79 | ||
6.4.1 Strukturhazards | 79 | ||
6.4.2 Funktionshazards | 80 | ||
6.4.3 Klassifizierung von Hazards | 81 | ||
6.5 Übungen | 82 | ||
7 Asynchrone Schaltwerke | 84 | ||
7.1 Prinzipieller Aufbau von Schaltwerken | 84 | ||
7.2 Analyse asynchroner Schaltwerke | 85 | ||
7.3 Systematische Analyse | 86 | ||
7.4 Analyse unter Berücksichtigung der Gatterlaufzeit | 88 | ||
7.5 Speicherglieder | 91 | ||
7.5.1 RS-Flipflop | 91 | ||
7.5.2 RS-Flipflop mit Takteingang | 92 | ||
7.5.3 D-Flipflop | 94 | ||
7.5.4 Flankengesteuertes D-Flipflop | 95 | ||
7.5.5 Zweiflankensteuerung | 100 | ||
7.5.6 JK-Flipflop | 101 | ||
7.5.7 T-Flipflop | 102 | ||
7.5.8 Beispiel | 102 | ||
7.5.9 Zusammenfassung Flipflops | 103 | ||
7.6 Übungen | 105 | ||
8 Synchrone Schaltwerke | 108 | ||
8.1 Synthese von Schaltwerken (Beispiel 1) | 108 | ||
8.1.1 Aufgabenstellung | 108 | ||
8.1.2 Aufstellen des Zustandsdiagramms | 109 | ||
8.1.3 Struktur der Maschinensteuerung | 110 | ||
8.1.4 Aufstellen der Zustandsfolgetabelle | 111 | ||
8.1.5 Aufstellen der Ansteuertabelle und der Ausgangstabelle | 111 | ||
8.2 Synthese von Schaltwerken (Beispiel 2) | 114 | ||
8.2.1 Aufgabenstellung | 114 | ||
8.2.2 Aufstellen des Zustandsdiagramms | 114 | ||
8.2.3 Aufstellen der Zustandsfolgetabelle | 115 | ||
8.2.4 Entwicklung eines Schaltnetzes für die Ansteuersignale | 115 | ||
8.2.5 Vollständige Zustandstabelle | 116 | ||
8.2.6 Vollständiges Zustandsdiagramm | 116 | ||
8.2.7 Ampel mit „One-Hot“-Kodierung | 117 | ||
8.3 Zeitverhalten von Schaltwerken | 118 | ||
8.4 Übungen | 121 | ||
9 Multiplexer und Code-Umsetzer | 122 | ||
9.1 Multiplexer | 122 | ||
9.1.1 Multiplexer-Realisierung von Funktionen | 123 | ||
9.2 Code-Umsetzer | 126 | ||
9.2.1 Der BCD/Dezimal-Code-Umsetzer 7442 | 127 | ||
9.2.2 Demultiplexer | 128 | ||
9.2.3 Erzeugung von Funktionsbündeln | 130 | ||
9.3 Analoge Multiplexer und Demultiplexer | 131 | ||
9.4 Übungen | 132 | ||
10 Digitale Zähler | 134 | ||
10.1 Asynchrone Zähler | 134 | ||
10.1.1 Mod-8-Binärzähler | 134 | ||
10.1.2 Mod-6-Zähler | 135 | ||
10.1.3 Asynchrone Rückwärtszähler | 136 | ||
10.1.4 Zeitverhalten asynchroner Zähler | 137 | ||
10.2 Synchrone Zähler | 137 | ||
10.2.1 4-Bit-Dualzähler | 138 | ||
10.2.2 Mod-6-Zähler im Gray-Code | 140 | ||
10.2.3 Der synchrone 4-Bit Aufwärts/Abwärts-Binärzähler 74191 | 142 | ||
10.3 Übungen | 143 | ||
11 Schieberegister | 144 | ||
11.1 Zeitverhalten von Schieberegistern | 145 | ||
11.1.1 Schieberegister 74194 | 146 | ||
11.2 Rückgekoppelte Schieberegister | 148 | ||
11.2.1 Moebius-Zähler, Johnson-Zähler | 149 | ||
11.2.2 Pseudo-Zufallsfolgen | 151 | ||
11.3 Übungen | 153 | ||
12 Arithmetische Bausteine | 154 | ||
12.1 Volladdierer | 154 | ||
12.2 Serienaddierer | 154 | ||
12.3 Ripple-Carry-Addierer | 155 | ||
12.4 Carry-Look-Ahead Addierer | 156 | ||
12.4.1 Kaskadierung von Carry-Look-Ahead-Addierern | 158 | ||
12.4.2 Vergleich der Addierer | 162 | ||
12.5 Arithmetisch-logische-Recheneinheiten (ALU) | 162 | ||
12.5.1 Beispiele für Operationen | 165 | ||
12.6 Komparatoren | 168 | ||
12.6.1 2-Bit-Komparator | 168 | ||
12.6.2 Kaskadierbare Komparatoren | 170 | ||
12.7 Übungen | 171 | ||
13 Digitale Speicher | 172 | ||
13.1 Prinzipieller Aufbau von Speicherbausteinen | 173 | ||
13.2 ROM | 173 | ||
13.3 PROM | 176 | ||
13.4 EPROM | 177 | ||
13.5 EEPROM | 178 | ||
13.6 EAROM | 178 | ||
13.7 NOVRAM | 178 | ||
13.8 Statisches RAM (SRAM) | 179 | ||
13.8.1 Aufbau eines SRAM | 179 | ||
13.8.2 Beispiel SRAM | 180 | ||
13.9 Dynamisches RAM (DRAM) | 184 | ||
13.9.1 Aufbau eines DRAM | 184 | ||
13.9.2 Beispiel DRAM | 184 | ||
13.10 SDRAM (Synchrones DRAM) | 189 | ||
13.11 DDR-RAM (Double Data Rate DRAM) | 189 | ||
13.12 Eimerkettenspeicher | 189 | ||
13.12.1 Beispiel eines FIFOs | 190 | ||
13.13 Kaskadierung von Speichern | 192 | ||
13.14 Erweiterung der Wortlänge | 192 | ||
13.15 Erweiterung der Speicherkapazität | 193 | ||
13.15.1 Volldekodierung | 194 | ||
13.15.2 Teildekodierung | 196 | ||
13.15.3 Lineare Dekodierung | 198 | ||
13.16 Übungen | 200 | ||
14 Programmierbare Logikbausteine | 202 | ||
14.1 ASIC-Familien | 202 | ||
14.2 Programmierbare Logik-IC (PLD) | 205 | ||
14.2.1 PLD-Typen | 205 | ||
14.3 ROM, EPROM, EEPROM | 206 | ||
14.4 PLA | 207 | ||
14.5 PAL | 212 | ||
14.6 GAL | 214 | ||
14.7 Programmierung von PLD-Bausteinen | 217 | ||
14.7.1 Test | 217 | ||
14.8 Field Programmable Gate Arrays (FPGA) | 218 | ||
14.8.1 Aufbau eines FPGA | 218 | ||
14.8.2 Konfigurierbare Logik-Blöcke (CLB) | 220 | ||
14.8.3 IO-Block | 221 | ||
14.8.4 Verbindungsleitungen | 222 | ||
14.8.5 Programmierung eines FPGA | 223 | ||
14.9 CPLD | 223 | ||
14.9.1 Aufbau einer CPLD | 223 | ||
14.9.2 Logik-Array Blöcke (LAB) | 224 | ||
14.9.3 IO-Steuerung | 226 | ||
14.9.4 Größe der CPLD | 226 | ||
14.10 Gate-Arrays | 227 | ||
14.10.1 Aufbau von Channelled Gate-Arrays | 227 | ||
14.11 Standardzellen-ASIC | 230 | ||
14.12 Vollkundendesign-ASICs | 230 | ||
14.13 Übungen | 231 | ||
15 VHDL | 232 | ||
15.1 Entwurfsverfahren für digitale Schaltungen | 232 | ||
15.2 Die Struktur von VHDL | 233 | ||
15.3 Typen | 233 | ||
15.4 Operatoren | 235 | ||
15.5 Entity | 236 | ||
15.6 Architecture | 237 | ||
15.7 Prozesse | 238 | ||
15.8 Struktureller Entwurf | 242 | ||
15.9 Busse | 243 | ||
15.10 Übungen | 245 | ||
16 Mikroprozessoren | 246 | ||
16.1 Prinzip kooperierender Schaltwerke | 246 | ||
16.2 Der Von-Neumann-Rechner | 246 | ||
16.2.1 Operationswerk | 248 | ||
16.2.2 Leitwerk | 248 | ||
16.2.3 Speicher | 249 | ||
16.2.4 Ein- und Ausgabe | 249 | ||
16.2.5 Betrieb | 250 | ||
16.3 Architektur des 68HC11 | 250 | ||
16.3.1 Anschlüsse des 68HC11 | 252 | ||
16.3.2 Funktionsabläufe bei der Befehlsausführung | 253 | ||
16.3.4 CPU-Register | 256 | ||
16.3.5 Speicher | 257 | ||
16.4 Assembler-Programmierung | 259 | ||
16.5 Adressierungsarten | 259 | ||
Inherent | 260 | ||
Immediate | 260 | ||
Extended | 260 | ||
Direct | 260 | ||
Indexed | 261 | ||
Relativ | 261 | ||
16.6 Befehlssatz | 261 | ||
16.6.1 Konventionen | 261 | ||
16.6.2 Transfer-Befehle | 262 | ||
16.6.3 Speicher-Befehle | 263 | ||
16.6.4 Lade-Befehle | 265 | ||
16.6.5 Arithmetische Befehle: Negation | 265 | ||
16.6.6 Arithmetische Befehle: Addition | 266 | ||
16.6.7 Arithmetische Befehle: Subtraktion | 268 | ||
16.6.8 Arithmetische Befehle: Inkrement und Dekrement | 269 | ||
16.6.9 Arithmetische Befehle: Vergleich | 270 | ||
16.6.10 Logische Operationen | 271 | ||
16.6.11 Schiebe- und Rotations-Befehle | 271 | ||
16.6.12 Bitmanipulations-Befehle | 272 | ||
16.6.13 Absolut adressierter Sprung | 272 | ||
16.6.14 Relativ adressierter Sprung | 273 | ||
16.6.15 Bedingte Sprünge | 274 | ||
16.6.16 Befehle für Unterprogramme | 276 | ||
16.7 Assembleranweisungen | 279 | ||
16.8 Interrupt-Bearbeitung | 281 | ||
16.9 Übungen | 283 | ||
A Anhang | 284 | ||
A.1 Die Abhängigkeitsnotation | 284 | ||
A.2 Befehlssatz des 68HC11 | 288 | ||
Lösungen der Aufgaben | 296 | ||
Literatur | 322 | ||
Sachwortregister | 326 |