Vorlesungsskript Technische Informatik 1

Werbung
Vorlesungsskript
Digitaltechnik
Prof. Dr.-Ing. Frank Gustrau
FH Dortmund
http://www.fh-dortmund.de/gustrau
(Wintersemester 2012)
1. Oktober 2012
Inhaltsverzeichnis
1 Einleitung
1.1 Definition analoger und digitaler Signale
1.2 Abtastung, Quantisierung und Codierung
1.2.1 Abtastung . . . . . . . . . . . . .
1.2.2 Quantisierung . . . . . . . . . . .
1.2.3 Codierung . . . . . . . . . . . . .
1.3 Zentrale Begriffe der Digitaltechnik . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
4
4
4
4
5
2 Zahlensysteme
2.1 Römisches Zahlensystem . . . . . . . . . . . . . . . . . . . . .
2.2 Dezimalsystem . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Dualsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Oktalsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Hexadezimalsystem . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Rationale Zahlen . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Umrechnung zwischen polyadischen Zahlensystemen . . . . . .
2.7.1 Umwandlung natürlicher Dezimalzahlen ins Dualsystem
2.7.2 Rationale Zahlen . . . . . . . . . . . . . . . . . . . . .
2.8 Darstellung negativer ganzer Zahlen . . . . . . . . . . . . . . .
2.8.1 Vorzeichen und Betrag . . . . . . . . . . . . . . . . . .
2.8.2 Zweierkomplementdarstellung . . . . . . . . . . . . . .
2.9 Rechnen im Dualsystem . . . . . . . . . . . . . . . . . . . . .
2.9.1 Addition . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9.2 Subtraktion . . . . . . . . . . . . . . . . . . . . . . . .
2.9.2.1 Direkte Subtraktion . . . . . . . . . . . . . .
2.9.2.2 Rechnen mit dem Zweierkomplement . . . . .
2.10 Gleitkommazahlen im IEEE-754 Format . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
9
9
10
10
11
11
11
12
13
13
13
15
15
16
16
17
17
.
.
.
.
.
18
18
18
19
19
19
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Codes und Codierung
3.1 Rechencodes . . . . . . . . . . . . . . . . . . . . .
3.1.1 BCD-Code, 3-Exzeß-Code und Aiken-Code
3.2 Übertragungscodes für alphanumerische Zeichen .
3.2.1 Morse-Code . . . . . . . . . . . . . . . . .
3.2.2 7-Bit-ASCII-Code . . . . . . . . . . . . . .
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
INHALTSVERZEICHNIS
3.3
3.2.3 Unicode . . . . . . . . . . .
Codesicherung . . . . . . . . . . . .
3.3.1 Minimale Hamming-Distanz
3.3.2 Gleichgewichtige Codes . . .
3.3.3 Paritätsbits . . . . . . . . .
3.3.4 Blockprüfung . . . . . . . .
3.3.5 Hamming-Code . . . . . . .
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Schaltalgebra
4.1 Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Logische Grundverknüpfungen . . . . . . . . . . . . . . . . .
4.2.1 Negation, NICHT-Verknüpfung, NOT . . . . . . . . .
4.2.2 Disjunktion, ODER-Verknüpfung, OR . . . . . . . .
4.2.3 Konjunktion, UND-Verknüpfung, AND . . . . . . . .
4.3 Abgeleitete Verknüpfungen . . . . . . . . . . . . . . . . . . .
4.3.1 NAND-Verknüpfung . . . . . . . . . . . . . . . . . .
4.3.2 NOR-Verknüpfung . . . . . . . . . . . . . . . . . . .
4.3.3 Äquivalenz-Verknüpfung . . . . . . . . . . . . . . . .
4.3.4 Antivalenz-Verknüpfung . . . . . . . . . . . . . . . .
4.4 Schaltverhalten bei positiver und negativer Logik . . . . . .
4.5 Rechenregeln der Schaltalgebra . . . . . . . . . . . . . . . .
4.5.1 Bedeutung der NOR und NAND-Verknüpfung für die
5 Schaltnetze
5.1 Beschreibung logischer Funktionen . . . . . . .
5.1.1 Funktionstabelle . . . . . . . . . . . . .
5.1.2 Minterme und disjunktive Normalform .
5.1.3 Maxterme und konjunktive Normalform
5.2 Vereinfachung logischer Schaltungen . . . . . . .
5.2.1 Gesetze der Schaltalgebra . . . . . . . .
5.2.2 KV-Diagramme . . . . . . . . . . . . . .
5.2.3 Methode von Quine . . . . . . . . . . . .
5.3 Nicht vollständig spezifizierte Funktionen (Don’t
5.4 Realisierung mit Grundverknüpfungselementen .
5.5 Realisierung mit NAND und NOR . . . . . . .
5.5.1 Realisierung mit NAND . . . . . . . . .
5.5.2 Realisierung mit NOR . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
care Felder)
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
Praxis
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
21
21
22
23
24
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
27
28
28
29
30
30
30
31
31
32
32
33
.
.
.
.
.
.
.
.
.
.
.
.
.
36
36
36
37
37
37
37
38
41
42
43
44
44
45
6 Codewandler
47
6.1 Entwurfsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2 Aiken-BCD-Codewandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.3 BCD-7-Segment-Codewandler . . . . . . . . . . . . . . . . . . . . . . . . . 50
INHALTSVERZEICHNIS
iii
7 Schaltwerke
7.1 Bistabile Kippstufen . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.1 Konventionen und Klassifizierung . . . . . . . . . . . . . . .
7.1.2 Nicht-taktgesteuerte Flipflops . . . . . . . . . . . . . . . . .
7.1.2.1 NOR-Latch . . . . . . . . . . . . . . . . . . . . . .
7.1.2.2 NAND-Latch . . . . . . . . . . . . . . . . . . . . .
7.1.3 Taktzustandsgesteuerte Flipflops . . . . . . . . . . . . . . .
7.1.3.1 SR-Flipflop . . . . . . . . . . . . . . . . . . . . . .
7.1.3.2 E-Flipflop . . . . . . . . . . . . . . . . . . . . . . .
7.1.3.3 SR-Flipflop mit dominantem Rücksetzeingang . . .
7.1.3.4 D-Flipflop . . . . . . . . . . . . . . . . . . . . . . .
7.1.4 Taktflankengesteuerte Flipflops . . . . . . . . . . . . . . . .
7.1.4.1 Impulsglieder . . . . . . . . . . . . . . . . . . . . .
7.1.4.2 Einflankengesteuertes SR-Flipflop . . . . . . . . . .
7.1.4.3 Einflankengesteuertes D-Flipflop . . . . . . . . . .
7.1.4.4 Einflankengesteuertes T-Flipflop . . . . . . . . . .
7.1.4.5 Einflankengesteuertes JK-Flipflop . . . . . . . . . .
7.1.4.6 Zweiflankengesteuertes (Master-Slave) SR-Flipflop .
7.1.4.7 Zweiflankengesteuertes (Master-Slave) JK-Flipflop .
7.1.5 Zeitablaufdiagramme . . . . . . . . . . . . . . . . . . . . . .
7.1.6 Charakteristische Gleichung . . . . . . . . . . . . . . . . . .
7.2 Monostabile Kippstufe . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Nicht-nachtriggerbares Monoflop . . . . . . . . . . . . . . . .
7.2.2 Nachtriggerbares Monoflop . . . . . . . . . . . . . . . . . . .
7.3 Verzögerungsglieder . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4 Astabile Kippstufe . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 Zähler
8.1 Zählerarten . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Asynchrone Zähler . . . . . . . . . . . . . . . . . . . . .
8.2.1 3-Bit Dualvorwärtszähler . . . . . . . . . . . . . .
8.2.2 3-Bit Dualrückwärtszähler . . . . . . . . . . . . .
8.2.3 3-Bit Dualzähler mit umschaltbarer Zählrichtung
8.2.4 BCD-Vorwärtszähler . . . . . . . . . . . . . . . .
8.2.5 Dekaden-Zähler . . . . . . . . . . . . . . . . . . .
8.2.6 Modulo-n-Zähler . . . . . . . . . . . . . . . . . .
8.3 Synchrone Zähler . . . . . . . . . . . . . . . . . . . . . .
8.3.1 3-Bit Dualvorwärtszähler . . . . . . . . . . . . . .
8.3.2 3-Bit Dualrückwärtszähler . . . . . . . . . . . . .
8.4 Entwurfsverfahren . . . . . . . . . . . . . . . . . . . . . .
8.4.1 Entwurfsverfahren mit Hilfe der charakteristischen
8.4.2 Vereinfachtes Entwurfsverfahren . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Gleichung
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
51
53
53
54
54
54
56
56
56
57
57
58
59
59
59
60
61
61
62
63
63
64
64
66
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
67
67
67
68
69
70
71
72
73
73
74
74
74
77
INHALTSVERZEICHNIS
9 Einstieg in die Automatentheorie
9.1 Autonomer Automat, Moore-, Mealy und
9.2 Zustandsdiagramme . . . . . . . . . . . .
9.3 Zustandsfolgetabelle . . . . . . . . . . .
9.4 Entwurf mit JK- und D-Flip-Flops . . .
iv
Medwedjew-Automat
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
10 Ausgewählte Schaltungen
10.1 Schieberegister . . . . . . . . . . . . . . . . . . . . . .
10.1.1 Serielle Ein- und Ausgabe . . . . . . . . . . . .
10.1.2 Serielle und parallele Ein- und Ausgabe . . . . .
10.1.3 Ringregister . . . . . . . . . . . . . . . . . . . .
10.2 Frequenzteiler . . . . . . . . . . . . . . . . . . . . . . .
10.2.1 Begriffe . . . . . . . . . . . . . . . . . . . . . .
10.2.2 Teilerverhältnis 1:2n . . . . . . . . . . . . . . .
10.2.3 Teilerverhältnis 1:3 . . . . . . . . . . . . . . . .
10.2.4 Entwurfsverfahren . . . . . . . . . . . . . . . .
10.3 Rechenschaltungen . . . . . . . . . . . . . . . . . . . .
10.3.1 Addierschaltungen . . . . . . . . . . . . . . . .
10.3.1.1 Halbaddierer . . . . . . . . . . . . . .
10.3.1.2 Volladdierer . . . . . . . . . . . . . . .
10.3.1.3 Parallele 4-Bit Addierschaltung . . . .
10.3.1.4 Serielle 4-Bit Addierschaltung . . . . .
10.3.2 Subtrahierschaltungen . . . . . . . . . . . . . .
10.3.2.1 Halbsubtrahierer . . . . . . . . . . . .
10.3.2.2 Vollsubtrahierer . . . . . . . . . . . . .
10.3.2.3 4-Bit Subtrahierschaltung . . . . . . .
10.3.2.4 Subtrahierschaltung mit Volladdierern
10.3.2.5 Addier-Subtrahierwerk . . . . . . . . .
10.4 Digitale Auswahl- und Verbindungsschaltungen . . . .
10.4.1 Multiplexer . . . . . . . . . . . . . . . . . . . .
10.4.1.1 4-Bit-zu-1-Bit-Multiplexer . . . . . . .
10.4.1.2 2x2-Bit-zu-2-Bit-Multiplexer . . . . . .
10.4.2 Demultiplexer . . . . . . . . . . . . . . . . . . .
10.4.2.1 1-Bit-zu-4-Bit-Demultiplexer . . . . .
11 Programmierbare Logische Schaltungen (PLD)
11.1 Einleitung . . . . . . . . . . . . . . . . . . . . .
11.2 Grundlagen . . . . . . . . . . . . . . . . . . . .
11.3 Allgemeine PLD-Schaltung . . . . . . . . . . . .
11.4 Einteilung von PLDs . . . . . . . . . . . . . . .
11.4.1 PAL/GAL Schaltungen . . . . . . . . . .
11.4.2 PROM Schaltungen . . . . . . . . . . . .
11.4.3 FPLA Schaltungen . . . . . . . . . . . .
11.5 Programmierung von PLDs . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
80
80
80
80
80
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
81
81
81
82
83
84
84
84
85
85
86
86
86
86
87
88
88
88
89
89
90
91
92
92
92
93
93
93
.
.
.
.
.
.
.
.
95
95
95
97
98
98
99
99
99
INHALTSVERZEICHNIS
v
11.5.1 Beispiel: PAL16L8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11.6 FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
12 Schaltkreisfamilien
12.1 Eigenschaften digitaler Schaltungen .
12.1.1 Allgemeines . . . . . . . . . .
12.1.2 Leistungsaufnahme . . . . . .
12.1.3 Pegelbereiche . . . . . . . . .
12.1.4 Schaltzeiten . . . . . . . . . .
12.1.4.1 Signallaufzeit . . . .
12.1.4.2 Signalübergangszeit
12.1.5 Lastfaktoren . . . . . . . . . .
12.2 Dioden-Transistor-Logik (DTL) . . .
12.2.1 Passives ODER-Gatter . . . .
12.2.2 Aktive NICHT-Stufe . . . . .
12.2.3 Aktives NOR-Gatter . . . . .
12.2.4 Passives UND-Gatter . . . . .
12.2.5 Aktives NAND-Gatter . . . .
12.3 Transistor-Transistor-Logik (TTL) .
12.4 MOS-Schaltungen . . . . . . . . . . .
12.4.1 Einführung . . . . . . . . . .
12.4.2 CMOS-Nicht-Stufe . . . . . .
12.4.3 CMOS-NAND-Gatter . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
103
103
103
103
103
104
104
104
105
106
106
107
108
109
110
110
111
111
112
112
13 Hardwarebeschreibungssprachen
113
13.1 VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
13.2 Xilinx ISE WEBPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A Code-Tabellen
114
A.1 Codes zur Darstellung dezimaler Ziffern . . . . . . . . . . . . . . . . . . . . 114
Kapitel 1
Einleitung
1.1
Definition analoger und digitaler Signale
Ein Signal kann sowohl in Bezug auf seinen Wertebereich (y-Achse) als auch in Bezug auf
seinen Definitionsbereich auf der Zeitachse (x-Achse) kontinuierlich (d.h. nicht abzählbar,
stetig, fortdauernd) oder diskret (d.h. nicht-kontinuierlich, abzählbar) sein.
Abbildung 1.1: Zeit- und wertkontinuierliche Signale
• Digitale Signale sind wertdiskret.
• Analoge Signale sind wertkontinuierlich.
Sind nur 2 Werte auf der y-Achse möglich, dann wird ein solches wertdiskretes (digitales) Signal binär genannt. Die Bilder 1.2-1.5 zeigen digitale und analoge Signale im
weiteren und engeren Sinne.
1
KAPITEL 1. EINLEITUNG
Abbildung 1.2: Analoges Signal im eigentlichen Sinne (zeit- und wertkontinuierlich)
Abbildung 1.3: Digitales Signal im weiteren Sinne (zeitkontinuierlich und wertdiskret)
2
KAPITEL 1. EINLEITUNG
Abbildung 1.4: Analoges Signal im weiteren Sinne (zeitdiskret und wertkontinuierlich)
Abbildung 1.5: Digitales Signal im eigentlichen Sinne (zeit- und wertdiskret)
3
KAPITEL 1. EINLEITUNG
1.2
4
Abtastung, Quantisierung und Codierung
Die Begriffe Abtastung und Quantisierung tauchen bei der Umwandlung eines analogen
in ein digitales Signal auf, Codierung bei der Umwandlung eines digitalen Signals in ein
anderes digitales Signal. Da die meisten physikalischen Signale in der Regel analog sind,
müssen sie für die weitere Verarbeitung in der Informationstechnik in digitale Signale
umgewandelt werden.
1.2.1
Abtastung
Abtastung ist die Ermittlung des aktuellen Signalwertes zu bestimmten Zeitpunkten
n·TA . Dies entspricht dem Übergang des Signals in Bild 1.2 zu Bild 1.4. Nach der Abtastung
ist das Signal also immer noch analog.
Für die notwendige Zahl der Abtastungen pro Zeiteinheit ist die größte Frequenz maßgebend, die das Informationssignal enthält. (Das Informationssignal muss also bandbegrenzt sein.) Die Abtastfrequenz muss mindestens doppelt so groß gewählt werden, wie
die größte Signalfrequenz. Dies wird in dem sogenannten Abtasttheorem beschrieben.
Wir das Abtasttheorem beachtet, so kann aus den Abtastwerten das ursprüngliche Signal
vollständig zurückgewonnen werden.
Das Abtasttheorem lautet:
fA =
1
≥ 2fmax
TA
(1.1)
mit dem Abtastintervall TA und der maximalen Signalfrequenz fmax .
Beispiel aus dem Audiobereich: Das menschliche Ohr kann Signale bis ca. 20 kHz
wahrnehmen. Sollen diese Signale rekonstruierbar abgetastet werden, so muss die Abtastfrequenz mindestens 40 kHz betragen. (Abtastfrequenz beim CD-Player: 44 kHz)
1.2.2
Quantisierung
Quantisierung bedeutet den Übergang vom abgetasteten analogen Signal zum wertdiskreten digitalen Signal. Dies entspricht dem Übergang des Signals in Bild 1.4 zu Bild 1.5. Der
Wertebereich des Signals wird in Quantisierungsintervalle aufgeteilt, und alle in einem Intervall liegenden Werte werden auf einen Quantisierungswert abgebildet. Je nach Art der
Anwendung sind die Abstände der Quantisierungsstufen linear oder nicht linear (häufig
logarithmisch). Mit Erhöhung der Anzahl der Intervalle nimmt der sogenannte Quantisierungsfehler ab, eine exakte Rekonstruktion von wert- und zeitkontinuierlichen Signalen ist
aber i.a. nicht möglich.
1.2.3
Codierung
Um aus dem nun vorliegenden wert- und zeitdiskreten Signal mit mehr als zwei Wertstufen ein binäres, zeitdiskretes Signal zu erzeugen, müssen die verschiedenen Stufen codiert
KAPITEL 1. EINLEITUNG
5
werden. Bild 1.6 zeigt ein Beispiel bei dem ein digitales Signal mit sieben Diskretisierungsstufen über eine Code-Tabelle in ein binäres Signal umgewandelt wird. Jeder diskrete Wert
wird dabei durch eine Kombination von drei binären Stellen ersetzt.
Abbildung 1.6: Beispiel für eine Codierung zur Gewinnung eines binären Signals
1.3
Zentrale Begriffe der Digitaltechnik
Digitale elektrische Größe Elektrische (physikalische) Größe (Spannung, Strom, Impedanz) mit einer endlichen Anzahl nicht überlappender Wertebereiche.
Binäre elektrische Größe Digitale (physikalische) elektrische Größe mit nur zwei möglichen Wertebereichen, oft als Low (L)- und High (H)-Bereich bezeichnet.
L-Bereich Derjenige der beiden Wertebereiche einer binären elektrischen Größe, der näher bei −∞ liegt.
H-Bereich Derjenige der beiden Wertebereiche einer binären elektrischen Größe, der näher bei +∞ liegt.
Bei elektrischen Systemen werden die binären Variablen häufig durch zwei unterschiedliche Spannungsniveaus (Potentiale) festgelegt. Dabei ist zu beachten, dass die Schaltkreise
beide Potentiale auch unter ungünstigsten Umständen einwandfrei erkennen und verarbeiten müssen. Aus diesem Grund werden zwei Spannungsbereiche (anstelle von festen
KAPITEL 1. EINLEITUNG
6
Spannungswerten) festgelegt, in denen sich das Signal befinden kann. Dazwischen liegt ein
verbotenes Gebiet (deadband, deadzone).
Beispiel: TTL (Transistor-Transistor-Logik): Low = 0 − 0,8 V; High = 2 − 5 V (siehe
Bild 1.7)
Abbildung 1.7: Typische Spannungsbereiche zur Darstellung binärer, digitaler Signale
Die Höhe der Signal- bzw. Betriebsspannung beeinflusst in unterschiedlicher Weise
Störsicherheit, Umschaltzeit und Verlustleistung. Die folgende Tabelle zeigt den Einfluss
der Signal- bzw. Betriebsspannung auf die Schalteigenschaften.
Geforderte Eigenschaft
Notwendige Signal-bzw. Betriebsspannung
hohe Störsicherheit
groß
kleine Umschaltzeiten
klein
kleine Verlustleistungen klein
Die Betriebsspannung stellt also einen Kompromiss dar (siehe auch Kapitel 12.1).
Die Zuordnung der L- und H-Pegel zu den logischen Zuständen 0 und 1 ist auf zwei
Arten möglich:
Positive Logik L = 0 und H = 1
Negative Logik H = 0 und L = 1
Im weiteren wird positive Logik bevorzugt.
Die logischen Zustände wurden und werden nicht nur mit Symbolen 0 und 1 bezeichnet,
sondern auch mit Ja/Nein, wahr/falsch, True/False.
Bit: Ein Bit ist die kleinste Darstellungseinheit für binäre Daten. Ein Bit kann genau
zwei Werte annehmen, die Werte 0 oder 1. Das Wort Bit stammt von dem englischen
binary digit, zweiwertige Zahl.
Datenwort: Eine Folge von Bits, von Zeichen oder von Bytes wird als Wort bezeichnet.
Die Länge eines Wortes wird in Bit angegeben (siehe oben).
KAPITEL 1. EINLEITUNG
7
Wert
Ursprungsmenge
Codierung
Bildmenge; Code
3
2
1
0
-1
-2
-3
111
101
100
110
010
011
001
Tabelle 1.1: Beispiel für einen Code.
Byte: Ein Wort der Länge 8 Bit wird im allgemeinen als 1 Byte bezeichnet.
Tetrade: Ein Wort der Länge 8 Bit kann in zwei Tetraden (zu je 4 Bit) aufgeteilt werden;
diese Tetraden werden auch als Halbbytes bezeichnet.
Gewicht Das Gewicht g eines Datenwortes w entspricht der Anzahl der Einsen, die das
Datenwort enthält, z.B. g(1101) = 3.
Hamming Distanz Die Hamming-Distanz D zwischen zwei Datenworten entspricht der
Anzahl der Stellen, in denen sich die Datenworte unterscheiden, z.B. für wa = 1001
und wb = 1010 ist D(wa , wb ) = 2, da sich die Datenworte in den letzten beiden
Stellen unterscheiden.
Code: Ein Code ist in seiner ursprünglichen Bedeutung eine Verschlüsselung zur Darstellung von Information. Unter einem Code wollen wir verstehen
a) eine Vorschrift für die eindeutige Zuordnung der Zeichen eines Zeichenvorrats
zu denjenigen eines anderen Zeichenvorrates (Bildmenge);
b) der bei der Codierung als Bildmenge auftretender Zeichenvorrat.
Kapitel 2
Zahlensysteme
Zahlensysteme dienen der Darstellung von Zahlenwerten sowie dem Rechnen mit
diesen Zahlenwerten.
Historisch gesehen gibt es viele verschiedene Zahlensysteme. Als historisches Zahlensystem wollen wir uns das römische Zahlensystem ansehen. Im Alltag ist das Dezimalsystem
wichtig. In der Kommunikationstechnik bedeutsam ist das Dualsystem mit dem wir uns
dann eingehender auseinandersetzen wollen.
2.1
Römisches Zahlensystem
8
KAPITEL 2. ZAHLENSYSTEME
2.2
Dezimalsystem
2.3
Dualsystem
9
KAPITEL 2. ZAHLENSYSTEME
2.4
Oktalsystem
2.5
Hexadezimalsystem
10
Allgemein kann jede natürliche Zahl als Basis eines Stellenwertsystems dienen (z.B.
Basis B = 7 → Siebener System, etc.).
KAPITEL 2. ZAHLENSYSTEME
11
2.6
Rationale Zahlen
2.7
Umrechnung zwischen polyadischen Zahlensystemen
2.7.1
Umwandlung natürlicher Dezimalzahlen ins Dualsystem
Umwandlung einer Dezimalzahl in eine Dualzahl:
1. Lösungsmethode: Suchen der höchsten Potenz von 2, die in der Dezimalzahl enthalten ist, die Potenz von der Dezimalzahl abziehen und mit dem Rest der Subtraktion
fortfahren, bis das Ergebnis Null ist.
2. Lösungsmethode: Fortwährende Division der Dezimalzahl durch 2, bis das Ergebnis
gleich Null ist. Der Rest jeder Division gibt dabei eine Stelle der Dualzahl an.
Beispiel zur ersten Lösungsmethode:
Dezimalzahl D = 86(10)
Notieren aller Zweierpotenzen bis zur Zahl D:
größte
größte
größte
größte
Zweierpotenz
Zweierpotenz
Zweierpotenz
Zweierpotenz
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
in 86 ist 64 = 26
in 22 ist 16 = 24
in 6 ist 4 = 22
in 2 ist 2 = 21
Rest
Rest
Rest
Rest
=
=
=
=
22
6
2
0
KAPITEL 2. ZAHLENSYSTEME
12
→ Dualzahl = 1 × 26 + 0 × 25 + 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 0 × 20
Ergebnis: 86(10) = 101 0110(2)
Beispiel zur zweiten Lösungsmethode:
86
43
21
10
5
2
1
:
:
:
:
:
:
:
2
2
2
2
2
2
2
=
=
=
=
=
=
=
43
21
10
5
2
1
0
Rest
Rest
Rest
Rest
Rest
Rest
Rest
0 ← LSB
1
1
0
1
0
1 ← MSB
→ Ergebnis: 86(10) = 101 0110(2)
Erweiterung: Die Verfahren sind entsprechend auf Stellenwertsysteme mit einer beliebigen Basis ungleich 2 anwendbar, z.B. 8 bzw. 16 liefern Zahlen im Oktal- bzw.
Hexadezimalsystem. (Siehe Übung: Beispiel zum Siebener-System.)
2.7.2
Rationale Zahlen
Bisher wurde nur die Umwandlung von positiven ganzen Zahlen behandelt. Im folgenden
werden nun positive, rationale Dezimalzahlen in Dualzahlen gewandelt. Dies wird am
Beispiel der Zahl Z(10) = 86,8125 erläutert.
Zunächst wird die ganze Dezimalzahl Z(10) = 86 nach einer der beiden oben vorgestellten Verfahren in die Dualzahl Z(2) = 101 0110 gewandelt. Der dezimale Nachkommaanteil
0,8125 wird dann nach folgendem Schema umgewandelt:
0,8125
0,625
0,25
0,5
×
×
×
×
2 = 0,625 Rest = 1 ← höchstwertigstes Bit nach dem Komma
2 = 0,25 Rest = 1
2 = 0,5
Rest = 0
2=0
Rest = 1 ← niederwertigstes Bit nach dem Komma
→ Die Dezimalzahl Z(10) = 86,8125 wird in die Dualzahl Z(2) = 101 0110,1101 gewandelt.
Bei der Umwandlung von Ziffern, die rechts vom Komma stehen, müssen diese Ziffern
mit der gewünschten Basis multipliziert werden, da diese Ziffern Gewichtsfaktoren mit
negativem Exponenten besitzen. Das Verfahren ist entsprechend auf Stellenwertsysteme
mit einer beliebigen Basis ungleich 2 anwendbar.
(Alternativ zum beschriebenen Verfahren kann auch wie bei ganzen Zahlen immer nach
der höchsten enthaltenen Zweierpotenz gesucht werden.)
KAPITEL 2. ZAHLENSYSTEME
2.8
2.8.1
13
Darstellung negativer ganzer Zahlen
Vorzeichen und Betrag
Bei dieser Darstellungsart werden negative Dualzahlen durch das Vorzeichenbit s vor dem
MSB gekennzeichnet:
• s = 0 bedeutet positiv
• s = 1 bedeutet negativ
Merke: Eine eindeutige Interpretation ist nur bei einer fest vereinbarter Wortlänge möglich!!!
Beispiel: 7 Bit für den Betrag und 1 Bit für das Vorzeichen:
118(10)
−118(10)
=
=
0 1
1 1
(−1)s 26
1
1
25
1
1
24
0
0
23
1
1
22
1
1
21
0
0
20
← Stellenwert
Die Darstellung nach Betrag und Vorzeichen hat den Nachteil, dass positive und negative Zahlen nicht einfach addiert werden können, da der Addierer bei negativen Zahlen auf Subtraktion umschalten muss. Die im nächsten Kapitel beschriebenen ZweierKomplement-Zahlen haben diesen Nachteil nicht.
2.8.2
Zweierkomplementdarstellung
Definition: Beim Zweierkomplement erhält das höchstwertige Bit (MSB) ein negatives
Gewicht (Gewicht einer Zweierpotenz, jedoch mit negativen Vorzeichen)! Somit hat
bei einer positiven Zahl das höchstwertige Bit den Wert 0, und bei einer negativen
Zahl hat das höchstwertige Bit den Wert 1.
Merke: Eine eindeutige Interpretation ist wieder nur bei fest vereinbarter
Wortlänge möglich.
Beispiel: Wortlänge von 3 Bit
Das folgende Bild zeigt am Zahlenkreis die Interpretation einer 3-Bit-Zahl als Dualzahl
(innerer Kreis) und als Zweierkomplementzahl (äußerer Kreis) (Bsp: −2 = −1 · 22 + 1 ·
21 + 0 · 20 , etc.)
KAPITEL 2. ZAHLENSYSTEME
14
Die Zahlen im inneren Kreis ergeben sich als 3-stellige positive Dualzahlen. Die Werte der
Zahlen steigen mit der Schrittweite 1, und von 111 nach 000 erfolgt ein Sprung um -7. Die
Zahlen außerhalb des äußeren Kreises ergeben sich als Zweierkomplement-Zahl. Die Werte
der Zahlen steigen ebenfalls mit der Schrittweite 1, aber der Sprung um -7 erfolgt von 011
auf 100.
Die Vorzeichenstelle muss nicht (wie vorher) getrennt behandelt werden, sondern zum
Vorzeichenwechsel kann einfach das Zweierkomplement der gesamten Zahl einschließlich
der Vorzeichenstelle gebildet werden.
Regel für die Rechnung mit dem Zweierkomplement:
Negation im Zweierkomplement Die Negation einer Zahl in Zweierkomplementdarstellung wird durch Bildung des Zweierkomplements der gesamten Zahl bewirkt.
Hierzu wird zunächst das Einerkomplement (=Inversion aller Bits) gebildet und
anschließend erfolgt eine Addition von 1 unter Beibehaltung der Stellenzahl
n.
Beispiel: 8-stellige Zweierkomplentdarstellung (n = 8):
118(10) = 64 + 32 + 16 + 4 + 2 = 111 0110(2)
Umwandlung 118
→
ursprüngliche Zahl
−118
118(10)
=
0
1
1
1
.
0
1
1
0
1
0
0
0
.
1
0
0
1
1
=
1
0
0
0
.
1
0
1
0
=
1
0
0
0
.
1
0
1
0
0
1
1
1
.
0
1
0
1
1
0
1
1
1
.
0
1
1
0
Einerkomplement
Addition von 1
Zweierkomplement
Rückumwandlung −118
ursprüngliche Zahl
−118(10)
→
118
−118(10)
Einerkomplement
Addition von 1
Zweierkomplement
118(10)
=
KAPITEL 2. ZAHLENSYSTEME
Umwandlung 0
→
15
−0 = 0
ursprüngliche Zahl
−118(10)
=
Einerkomplement
Addition von 1
Zweierkomplement
=1
−
118(10)
0
0
0 0
.
0
0
0
0
1
1
1
1
.
1
1
1
1
1
0
0
0
0
.
0
0
0
0
Merke: Die 1 des Übertrags in die neunte Spalte wird dabei nicht beachtet!
(Es wird ja vereinbarungsgemäß nur mit 8 Stellen gerechnet!)
Es gibt eine weitere einfache Methode zur Bildung des Zweierkomplements:
Negation im Zweierkomplement Alle Binärziffern werden invertiert, die „links von der
ersten 1“ stehen, wenn man die Zahl von rechts beginnend liest.
Um eine Zahl im Zweierkomplement darzustellen, muss eine ausreichende Stellenzahl
vorliegen. Mit einer n-stelligen Zweierkomplementzahl Bn kann man den folgenden Zahlenbereich darstellen:
−2n−1 ≤ Bn < 2n−1
Beispiel:
• für n = 3 gilt: −4 ≤ Bn < 4 (siehe Zahlenkreis zuvor)
• für n = 4 gilt: −8 ≤ Bn < 8
• für n = 5 gilt: −16 ≤ Bn < 16
• für n = 8 gilt: −128 ≤ Bn < 128
2.9
2.9.1
Rechnen im Dualsystem
Addition
Bei der Addition sind folgende Regeln zu beachten:
0+0
0+1
1+0
1+1
1+1+1
=
=
=
=
=
00 Erste Stelle = Übertrag; zweite Stelle = Summe)
01
01
10
11 (= 2 + 1 = 3(10) )
(2.1)
KAPITEL 2. ZAHLENSYSTEME
16
Beispiel:
5(10) + 3(10) = 8(10)
mit 5(10) = 101(2)
und 3(10) = 11(2)
1
1
0 1
1 1
1 1
← Übertrag
1
0
=8+0+0+0=8
+
0
0
√
Beispiel:
6(10) + 6(10) = 12(10)
mit 6(10) = 110(2)
+
1 1 0
1 1 0
1 1 0
← Übertrag
1
= 8 + 4 + 0 + 0 = 12
2.9.2
1
0
0
√
Subtraktion
Bei der Subtraktion kann man zwischen der direkten Subtraktion und dem Rechnen mit
Hilfe des Zweierkomplements unterscheiden.
2.9.2.1
Direkte Subtraktion
Bei der direkten Addition sind folgende Regeln zu beachten:
0−0
0−1
1−0
1−1
1 − (1 + 1)
=
=
=
=
=
00 Erste Stelle = Entleihung; zweite Stelle = Differenz
11
01
00
11
Beispiel:
5(10) − 3(10) = 2(10)
mit 5(10) = 101(2)
und 3(10) = 11(2)
1
0
0 1
1 1
1 0
0
0
-
1
0
(Minuend)
(Subtrahend)
← Entleihung
=0+0+2+0=2
√
KAPITEL 2. ZAHLENSYSTEME
2.9.2.2
17
Rechnen mit dem Zweierkomplement
Beim Rechnen mit dem Zweierkomplement wird die Subtraktion des Subtrahenden ersetzt
durch die Addition des Zweierkomplements des Subtrahenden.
Beispiel 1: Berechnung mit Zweierkomplementzahlen:
9 − 6 = 9 + (−6) = 3
9(10) = 1001(2)
6(10) = 110(2)
Zur Berechnung sind 5 binäre Stellen notwendig, da für n = 5 der darstellbare Zahlenbereich mit −16 ≤ Bn < 16 gegeben ist.
+6 =
00110(2)
EK =
11001(2)
+1 = +00001(2)
-6
11010(2)
=
9 =
+(-6) =
01001(2)
11010(2)
= −
1 | 00011(2)
3
= 3(10)
Beispiel 2: Berechnung mit Zweierkomplementzahlen:
6 − 9 = 6 + (−9) = −3
9(10) = 1001(2)
6(10) = 110(2)
Zur Berechnung sind 5 binäre Stellen notwendig, da für n = 5 der darstellbare Zahlenbereich mit −16 ≤ Bn < 16 gegeben ist.
+9 =
01001(2)
EK =
10110(2)
+1 = +00001(2)
-9
=
10111(2)
6 = 00110(2)
+(-9) = 10111(2)
3
2.10
= 11101(2)
= −24 + 23 + 22 + 20 = −3(10)
Gleitkommazahlen im IEEE-754 Format
Kapitel 3
Codes und Codierung
3.1
3.1.1
Rechencodes
BCD-Code, 3-Exzeß-Code und Aiken-Code
Rechencodes dienen der Darstellung der dezimalen Ziffern mit Hilfe binärer Codes. Der Aiken-Code und der 3-Exzeß-Code sind symmetrische Codes und erlauben auf
einfache Art eine Rundungserkennung (< 5 bzw. ≥ 5). Der BCD-Code entspricht der
entsprechenden 4-Bit Dualzahl der dezimalen Ziffer. Der Aiken-Code gehört zur Gruppe
der 2-4-2-1-Codes. Der Glixon-Code ist einschrittig (bei einem Wechsel zur nächsten Ziffer
ändert sich immer nur eine Stelle). Eng verwandt mit dem Glixon-Code ist der GrayCode. Dieser ist ebenfalls einschrittig, umfasst jedoch alle 16 Tetraden. Für die ersten
neun Tetraden (0-8) stimmt der Gray-Code mit dem Glixon-Code überein, danach ergeben sich folgende Zählzustände: 9 → 1101; 10 → 1111; 11 → 1110; 12 → 1010; 13 → 1011;
14 → 1001; 15 → 1000. Trägt man die Zustände in ein KV-Diagramm (siehe später) ein,
so erkennt man, dass die Zustandsänderungen immer den Übergang auf ein Nachbarfeld
bedeuten.
Dezimal
Wertigkeit
0
1
2
3
4
5
6
7
8
9
BCD
3-Exzeß
8-4-2-1
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Aiken
Glixon
2-4-2-1
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
18
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
0000
0001
0011
0010
0110
0111
0101
0100
1100
1000
KAPITEL 3. CODES UND CODIERUNG
3.2
Übertragungscodes für alphanumerische Zeichen
3.2.1
Morse-Code
3.2.2
7-Bit-ASCII-Code
19
KAPITEL 3. CODES UND CODIERUNG
3.2.3
3.3
20
Unicode
Codesicherung
Bei der Übertragung von binären Daten kann es vorkommen, dass einzelne Bits fehlerhaft
übertragen werden.
KAPITEL 3. CODES UND CODIERUNG
21
Um dieses Problem in den Griff zu bekommen, kann man spezielle fehlererkennende
und fehlerkorrigierende Codes verwenden.
Fehlererkennende Codes sind prüfbar, d.h. bestimmte Übertragungsfehler können
beim Empfänger erkannt werden. Die Daten müssen dann ggfs. noch einmal gesendet
werden.
Fehlerkorrigierende Codes sind ebenfalls prüfbar. Darüber hinaus können aber bestimmt Fehler auch automatisch vom Empfänger korrigiert werden, so dass ein erneutes Senden in vielen Fällen unterbleiben kann.
Fehlererkennung und -korrektur ist nur möglich bei der Verwendung zusätzlicher (redundanter) binärer Stellen.
3.3.1
Minimale Hamming-Distanz
Eine wichtige Größe bei der Konstruktion von fehlererkennenden und fehlerkorrigierenden
Codes ist die minimale Hamming-Distanz Dmin zwischen den unterschiedlichen Datenworten eines Codes.
Zur Ermittlung der minimalen Hamming-Distanz Dmin muss die Hamming-Distanz D
zwischen allen Codeworten paarweise ermittelt werden. Der dabei auftretende minimale
Wert ist Dmin .
Regeln für die Fehlererkennung und Fehlerkorrigierbarkeit:
Ist die Mindest-Hamming-Distanz Dmin gerade, können (Dmin − 1)-Fehler erkannt und
(Dmin /2 − 1)-Fehler korrigiert werden.
Ist Dmin ungerade, so können (Dmin −1)-Fehler erkannt und ((Dmin −1)/2)-Fehler korrigiert
werden.
Beispiel:
Dmin = 3
3.3.2
→ 3 − 1 = 2 fehlerhafte Bits können erkannt werden
(3 − 1)/2 = 1 fehlerhaftes Bit kann korrigiert werden
Gleichgewichtige Codes
Alle zugelassenen Codewörter eines gleichgewichtigen Codes haben dasselbe Gewicht g,
d.h. dieselbe Anzahl darin vorkommender Einsen.
KAPITEL 3. CODES UND CODIERUNG
22
Beispiel: (2-aus-5)-Codes, jedes Codewort besteht aus m = 5 Bits mit einem Gewicht
w = 2. Die folgende Tabelle zeigt zwei solcher Codes für die Codierung der Dezimalziffern
0 bis 9. Die Codes haben eine Mindest-Hamming-Distanz von Dmin = 2, so dass ein Fehler
sicher erkannt werden kann. Automatisch korrigierbar ist der Fehler aber nicht, da die
fehlerhafte Stelle nicht ermittelt werden kann.
Ziffer
Rechencode
Stellenwertigkeit
Walking-Code
0-1-2-4-7
0
1
2
3
4
5
6
7
8
9
0
1
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
Anschaulich ist klar, dass wegen des gleichen Gewichts aller Codewörter der (2-aus-5)Code prüfbar ist. Wird nämlich ein Bit falsch übertragen, so ändert sich das Gewicht des
Codewortes, und das Vorliegen eines Fehlers wird erkannt.
Es können auch mehrere Fehler erkannt werden, solange das fehlerhafte Datenwort
nicht wieder das Gewicht 2 hat. Mehr als die in der Tabelle aufgeführten zehn verschiedenen
5-stelligen Codewörtern mit w = 2 sind aufgrund der Permutationstheorie nicht möglich.
Beliebige gleichgewichtige Codes werden als (w-aus-m)-Codes bezeichnet.
3.3.3
Paritätsbits
Ein Code mit m informationstragenden Stellen x0 bis xm−1 wird um eine weitere (m+1)-te
Stelle ergänzt, die Prüfstelle y (Prüfbit). Das Prüfbit ergänzt die Anzahl der Einsen in den
informationstragenden Stellen auf eine gerade (even parity) oder ungerade (odd parity)
Anzahl.
Beispiel: 4-Bit-Datenwort (w = 0100) plus 1 Prüfbit (gerade Parität): 01001
Diese Prüfung wird als Quer-Paritätsprüfung (parity check) oder als VRC (vertical
redundancy check) bezeichnet. (VRC = Sicherung eines Codewortes mit einem Prüfbit).
Im Code selbst mit n = m + 1 Binärstellen unterscheidet sich jedes Codewort von
jedem anderen in mindestens zwei Binärstellen, d.h. es gilt Dmin = 2.
Eine gerade Anzahl von Bitfehlern in einem Datenwort kann bei der Überprüfung auf
gerade oder ungerade Parität nicht erkannt werden.
KAPITEL 3. CODES UND CODIERUNG
23
Die Bildung eines Längsparitätsbits LRC (longitudinal redundancy check) erfolgt
nach demselben Mechanismus wie bei der Querparitätsprüfung, nur das in diesem Fall
spaltenweise die Datenworte eines Blocks überprüft und die einzelnen Prüfbits als neues Datenwort an den Block angefügt werden. (LRC = Bits gleicher Wertigkeit werden
geprüft!)
Beispiel einer Längsparitätsprüfung:
1101
0100
0100
0100
0100
0101
1100
0011
LRC even 1001 1110
LRC odd 0110 0001
3.3.4
Blockprüfung
Bei dem im vorigen Abschnitt beschriebenen Verfahren der Paritätsprüfung können nur
Fehler erkannt, aber nicht korrigiert werden. Durch eine Kombination von VRC und
LRC durch blockweise Übertragung mehrerer Codewörter ist eine einfache Fehlerkorrektur
möglich. (Codewort ist nun ein ganzer Block!)
Beispiel einer Längs- und Querparitätsprüfung:
LRC (even parity)
1101
0100
0100
0100
0100
0101
1100
0011
1001
1110
VRC (even parity)
0
1
1
1
Einbau und Lokalisation eines Einzelfehlers:
VRC (even parity)
1101 0100 0
0100 1101 1 ←
0100 1100 1
0100 0011 1
LRC (even parity)
1001
1110
↑
Durch die Prüfung der zeilen- und spaltenweisen Prüfbits kann der Fehler lokalisiert
werden. Zur Korrektur muss das fehlerhafte Bit nur invertiert werden!
Der hier vorgestellte Blockcode ist konzeptionell einfach, in der Praxis jedoch nicht
anzutreffen, da das Verhältnis von Prüfbits zu Nutzbits ungünstig ist. Deutlich effizienter
arbeitet hier der im nächsten Abschnitt vorgestellte Hamming-Code.
KAPITEL 3. CODES UND CODIERUNG
3.3.5
24
Hamming-Code
Der Hamming-Code ist ebenfalls ein fehlerkorrigierender Code, jedoch benötigt er weniger
Prüfbits als der Block-Code. Der Hamming-Code gehört zu den sog. systematischen Codes,
die aus m informationstragenden und k zur Prüfung dienenden Stellen bestehen.
Die Gesamtzahl der Binärstellen eines systematischen Codes beträgt
n=m+k
Es lässt sich zeigen , das für die Konstruktion eines 1-Fehler-korrigierbaren Codes gilt:
2k ≥ m + k + 1
(3.1)
Aus dieser Beziehung lässt sich die notwendige Anzahl der Prüfstellen ermitteln.
Wir wollen uns den Hamming-Code in seiner einfachsten Variante mit vier Nutzbits
ansehen. Gemäß Gleichung 3.1 werden dazu drei Prüfbits benötigt (23 ≥ 4 + 3 + 1).
KAPITEL 3. CODES UND CODIERUNG
25
KAPITEL 3. CODES UND CODIERUNG
26
Kapitel 4
Schaltalgebra
4.1
Begriffe
Schaltvariable Variable, die nur endlich viele Werte annehmen kann. Die Menge dieser
Werte bildet den Zeichenvorrat. Die binäre Schaltvariable (nur zwei Werte) wird in
der Digitaltechnik am häufigsten verwendet.
Speicherglied Element, das den Wert einer Schaltvariable aufnimmt, speichert und abgibt.
Verknüpfungsglied Element, das eine logische Verknüpfung von Schaltvariablen bewirkt.
Schaltnetz Kombination von Verknüpfungsgliedern, wobei der Wert am Ausgang zu einem bestimmten Zeitpunkt eine eindeutige Funktion der Eingangswerte zu diesem
Zeitpunkt ist. (Kein Gedächtnis!) Realisierungsbedingung: Die Schaltungen enthalten keine Rückführungen. (Schaltnetze werden in Kapitel 5 behandelt)
Schaltwerk Funktionseinheit zum Verarbeiten von Schaltvariablen, wobei der Ausgangswert zu einem bestimmten Zeitpunkt abhängt von den Eingangswerten zu diesem
Zeitpunkt und endlich vielen vorausgegangenen Zeitpunkten ist. Ein Schaltwerk kann
endlich viele innere Zustände annehmen; es enthält also Speicherelemente (wird in
Kapitel 7 behandelt).
Kombinatorische Logik = Kombinatorische Schaltung = Schaltnetz
Sequentielle Logik = Sequentielle Schaltung = Schaltwerk
4.2
Logische Grundverknüpfungen
Die Schaltalgebra geht von folgenden drei Grundverknüpfungen aus:
1. Negation (NICHT-Verknüpfung)
27
KAPITEL 4. SCHALTALGEBRA
28
2. Disjunktion (ODER-Verknüpfung)
3. Konjunktion (UND-Verknüpfung)
Fundamentalsatz der Schaltalgebra Alle Schaltfunktionen lassen sich auf die drei
Grundverknüpfungen (Negation, Disjunktion, Konjunktion) zurückführen.
4.2.1
Negation, NICHT-Verknüpfung, NOT
Die Negation ist die Funktion einer einzigen Variablen. Hat die Variable den Wert 1, dann
ist die negierte Variable 0 und umgekehrt.
Funktionstabelle:
A
0
1
Y
1
0
Die entsprechende schaltalgebraische Gleichung lautet:
Y = Ā
Lies: „Y = A negiert“ oder „Y = A nicht“.
Es gelten folgende Spezialfälle: 0 = 1 und 1 = 0.
Eine mehrfache Anwendung der Negation ist ebenfalls möglich: 1 = 1.
Schaltsymbol:
4.2.2
Disjunktion, ODER-Verknüpfung, OR
Funktionstabelle:
A
0
0
1
1
B
0
1
0
1
Y
0
1
1
1
Die Funktionstabelle zeigt, dass Y = 1 ist, wenn mindestens eine Eingangsvariable
gleich 1 ist. Diese Funktion wird auch als inklusives ODER bezeichnet.
Schaltalgebraische Gleichung:
Y =A∨B
Lies: „Y gleich A oder B“.
Schaltsymbol:
KAPITEL 4. SCHALTALGEBRA
29
Schalterdarstellung (Parallelschaltung):
Es gelten folgende Spezialfälle:
A∨1
A∨A
A∨0
A ∨ Ā
=
=
=
=
1
A
A
1
Bei mehr als zwei Variablen gilt:
(
0 falls alle Ai = 0
Y = A1 ∨ A2 ∨ · · · ∨ An =
1 sonst
4.2.3
Konjunktion, UND-Verknüpfung, AND
Funktionstabelle:
A
0
0
1
1
B
0
1
0
1
Y
0
0
0
1
Die Funktionstabelle zeigt, dass Y = 1 ist, wenn A und B gleich 1 sind.
Schaltalgebraische Gleichung:
Y = A ∧ B = AB
Lies: „Y gleich A und B“.
Schaltsymbol:
Schalterdarstellung (Reihenschaltung):
KAPITEL 4. SCHALTALGEBRA
30
Es gelten folgende Spezialfälle:
A∧1
A∧A
A∧0
A ∧ Ā
=
=
=
=
A
A
0
0
Bei mehr als zwei Variablen gilt:
(
1 falls alle Ai = 1
Y = A1 ∧ A2 ∧ · · · ∧ An =
0 sonst
4.3
4.3.1
Abgeleitete Verknüpfungen
NAND-Verknüpfung
Funktionstabelle:
A
0
0
1
1
B
0
1
0
1
Y
1
1
1
0
Schaltalgebraische Gleichung:
Y = A ∧ B = AB
Schaltsymbol:
4.3.2
NOR-Verknüpfung
Funktionstabelle:
A
0
0
1
1
B
0
1
0
1
Y
1
0
0
0
KAPITEL 4. SCHALTALGEBRA
31
Schaltalgebraische Gleichung:
Y =A∨B
Schaltsymbol:
4.3.3
Äquivalenz-Verknüpfung
Funktionstabelle:
A
0
0
1
1
B
0
1
0
1
Y
1
0
0
1
Schaltalgebraische Gleichung:
Y = (A ∧ B) ∨ Ā ∧ B̄
Schaltsymbol:
4.3.4
Antivalenz-Verknüpfung
Funktionstabelle:
A
0
0
1
1
B
0
1
0
1
Y
0
1
1
0
Schaltalgebraische Gleichung:
Y = Ā ∧ B ∨ A ∧ B̄
Schaltsymbol:
KAPITEL 4. SCHALTALGEBRA
4.4
32
Schaltverhalten bei positiver und negativer Logik
Reale Verknüpfungsglieder sind Schaltungen, die mit auf gewisse physikalische Eingangsspannungspegel (im Low- oder High-Bereich) mit bestimmten Ausgangsspannungen
(ebenfalls im Low- oder High-Bereich) reagieren. Die Zuordnung der logischen Größen
kann entweder in positiver Logik (L=0 ; H=1) oder negativer Logik (L=1 ; H=0) erfolgen.
Gegeben sei die Funktionstabelle eines Verknüpfungsgliedes auf der Basis von Ein- und
Ausgangsspannungen:
A
L
L
H
H
B
L
H
L
H
Y
L
L
L
H
Bei positiver Logik (L=0 ; H=1) gilt folglich:
A
0
0
1
1
B
0
1
0
1
Y
0
0
0
1
→ Verhalten eines UND-Gliedes!
Bei negativer Logik (L=1 ; H=0) gilt hingegen:
A
1
1
0
0
B
1
0
1
0
Y
1
1
1
0
→ Verhalten eines ODER-Gliedes!
Das Verhalten eines realen Verknüpfungsgliedes ist also abhängig von der
gewählten Logik! Ein UND-Glied in positiver Logik wird zu einem ODER-Glied in
negativer Logik und umgekehrt. In dieser Vorlesung wird - falls nichts anderes gesagt wird
- stets die positive Logik verwendet, da sie auch technisch die größere Bedeutung besitzt.
4.5
Rechenregeln der Schaltalgebra
Aus den Definitionen der logischen Grundfunktionen können Rechenregeln abgeleitet werden; die Beweise sind anhand der Funktionstabellen leicht zu führen.
KAPITEL 4. SCHALTALGEBRA
33
Kommutativgesetz („Vertauschungsgesetz“) für Konjunktion und Disjunktion:
A∧B = B∧A
A∨B = B∨A
Assoziativgesetz („Verknüpfungsgesetz“) für Konjunktion und Disjunktion:
A ∧ B ∧ C = (A ∧ B) ∧ C = A ∧ (B ∧ C)
A ∨ B ∨ C = (A ∨ B) ∨ C = A ∨ (B ∨ C)
Distributivgesetz („Verteilungsgesetz“):
A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C)
A ∨ (B ∧ C) = (A ∨ B) ∧ (A ∨ C)
De Morgan’sche Gesetze:
A ∧ B = Ā ∨ B̄
A ∨ B = Ā ∧ B̄
bzw.
A ∧ B = Ā ∨ B̄
A ∨ B = Ā ∧ B̄
Bedeutung des De Morgan’schen Gesetzes: UND- und ODER-Verknüpfung
lassen sich - unter Verwendung von Negationen - gegenseitig ersetzen!
Die Gesetze können entsprechend auch auf mehr als zwei oder drei Variablen erweitert
werden!
Bindungsregel:
Ohne Klammern gilt folgende Reihenfolge der Operationen:
1. Negation
2. Konjunktion
3. Disjunktion
4.5.1
Bedeutung der NOR und NAND-Verknüpfung für die Praxis
Ergebnis aus der klassischen Schaltalgebra: „Alle logischen Verknüpfungen und binären
Schaltwerke lassen sich mit Hilfe der drei Grundfunktionen UND, ODER und NICHT
beschreiben.“
KAPITEL 4. SCHALTALGEBRA
34
Aus den De Morgan’schen-Gesetzen folgt: Eine Konjunktion lässt sich durch eine Disjunktion und mit Negationsgliedern nachbilden. Eine Disjunktion lässt sich durch eine
Konjunktion und Negationsglieder nachbilden. Es werden also nur zwei Verknüpfungstypen benötigt: (UND und NICHT) oder (ODER und NICHT).
Frage: Kann die Anzahl der benötigten Verknüpfungsgliederarten noch weiter reduziert werden? Antwort: Ja! Eine Realisierung nur mit NAND oder nur mir NORVerknüpfungselementen ist möglich! Um dies zu demonstrieren, wollen wir versuchen die
drei Grundverknüpfungsarten jeweils mit NAND- und NOR-Gattern nachzubilden.
Nachbildung eines NICHT-Gliedes mit NAND-Gliedern
NAND-Gatter
NICHT-Gatter
A
0
1
Y
1
0
A
0
0
1
→ 1
→
B
0
1
0
1
Y
1
1
1
0
←
←
Zwei Realisierungsmöglichkeiten:
Nachbildung eines NICHT-Gliedes mit NOR-Gliedern
NOR-Gatter
NICHT-Gatter
A
0
1
Y
1
0
A
→ 0
0
1
→ 1
Zwei Realisierungsmöglichkeiten:
Nachbildung eines UND-Gliedes mit NAND-Gliedern
B
0
1
0
1
Y
1
0
0
0
←
←
KAPITEL 4. SCHALTALGEBRA
Nachbildung eines ODER-Gliedes mit NOR-Gliedern
Nachbildung eines UND-Gliedes mit NOR-Gliedern
Nachbildung eines ODER-Gliedes mit NAND-Gliedern
35
Kapitel 5
Schaltnetze
5.1
5.1.1
Beschreibung logischer Funktionen
Funktionstabelle
In der Digitaltechnik sind Problemstellungen oft in Form einer Funktionstabelle (Wahrheitstabelle) gegeben. Schaltalgebraische Beziehungen zwischen den unabhängigen Eingangsvariablen A1 , A2 , . . . , An und der abhängigen Ausgangsvariablen Y können in Form
einer Tabelle dargestellt werden, die jede mögliche Kombination der Eingangsvariablen
und der dazugehörigen Ausgangsvariablen umfasst. Jede dieser Variablen kann die Werte
0 und 1 annehmen, d.h. bei n Eingangsvariablen ergeben sich 2n verschiedene Eingangskombinationen.
Beispiel: Funktionstabelle der Schaltfunktion Y mit den 3 Eingangsvariablen A, B, C.
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Y
0
1
1
1
0
0
0
0
Alternativ zur Darstellung der Schaltfunktion als Funktionstabelle kann auch eine
schaltalgebraische Gleichung angegeben werden. Dies ist häufig in einer deutlich kompakteren Form möglich. Im folgenden werden Wege von der Funktionstabelle zur schaltalgebraischen Gleichung gezeigt.
Aus der Funktionstabelle liest man eine sog. „Normalform“ der schaltalgebraischen
Gleichung ab. Es gibt zwei mögliche Normalformen: die disjunktive und die konjunktive
Normalform.
36
KAPITEL 5. SCHALTNETZE
5.1.2
37
Minterme und disjunktive Normalform
Disjunktive Normalform (DNF) Sämtliche Zeilen, für die die Ausgangsvariable den
Wert Eins annimmt, werden zusammengefasst. Hierbei ist für jede dieser Zeilen eine Konjunktion aller Variablen mit dem Wert Eins sowie aller negierten Variablen
mit dem Wert Null zu bilden. Die so gebildeten Konjunktionen werden disjunktiv
verknüpft.
Minterm Die Terme, die alle Eingangsvariablen konjunktiv verknüpfen, bezeichnet man
auch als Minterme bzw. als Vollkonjunktionen.
1. Fundamentalsatz der Schaltalgebra Jede binäre Funktion Y kann als Disjunktion
von Mintermen angegeben werden, für die die Funktion den Wert Eins annimmt.
Beispiel DNF zur vorhergehenden Funktionstabelle:
Y = Ā ∧ B̄ ∧ C ∨ Ā ∧ B ∧ C̄ ∨ Ā ∧ B ∧ C
5.1.3
Maxterme und konjunktive Normalform
Konjunktive Normalform (KNF) Definition: Sämtliche Zeilen, für die die Ausgangsvariable den Wert Null annimmt werden zusammengefasst. Hierbei ist für jede dieser
Zeilen eine Disjunktionen aller Variablen mit dem Wert Null sowie aller negierten
Variablen mit dem Wert Eins zu bilden. Die so gebildeten Disjunktionen werden
konjunktiv verknüpft.
Maxterme Die Terme, die alle Eingangsvariablen disjunktiv verknüpfen, bezeichnet man
auch als Maxterme bzw. als Volldisjunktionen.
2. Fundamentalsatz der Schaltalgebra Jede binäre Funktion Y kann als Konjunktion
von Maxtermen angegeben werden, für die die Funktion den Wert Null annimmt.
Beispiel KNF zur vorhergehenden Funktionstabelle:
Y
5.2
5.2.1
= (A ∨ B ∨ C) ∧ Ā ∨ B ∨ C ∧ Ā ∨ B ∨ C̄
∧ Ā ∨ B̄ ∨ C ∧ Ā ∨ B̄ ∨ C̄
Vereinfachung logischer Schaltungen
Gesetze der Schaltalgebra
Unter Verwendung der verschiedenen Gesetze für die Schaltalgebra können komplexe
Schaltfunktionen vereinfacht - d.h. mit einer reduzierten Anzahl von logischen Gattern
realisiert - werden. Angestrebt wird in der Regel eine zweistufige Realisierung, wobei die
erste Stufe Konjunktionen und die zweite Stufe Disjunktionen enthält. Das Ergebnis ist
KAPITEL 5. SCHALTNETZE
38
dann eine disjunktive Minimalform (DMF). Eine DMF ist im Gegensatz zur DNF
nicht eindeutig bestimmt. Häufig gibt es mehrere gleich gute Realisierungen.
Beispiel:
Y
=
=
=
=
=
=
ĀB C̄ ∨ AB̄ C̄ ∨ AB C̄
ĀB ∨ AB̄ ∨ AB C̄
ĀB ∨ AB ∨ AB̄ ∨ AB C̄
B Ā ∨ A) ∨ A B̄ ∨ B ]C̄
[B ∨ A] C̄
← (KMF)
AC̄ ∨ B C̄
← (DMF)
Die ursprüngliche Schaltfunktion, die drei UND-Gatter mit je drei, zum Teil negierten
Eingängen und ein ODER-Gatter mit drei Eingängen benötigte, wurde minimiert auf
eine Funktion, die nur noch zwei UND-Gatter mit je zwei, zum Teil negierten Ausgängen
benötigt und ein ODER-Gatter mit zwei Eingängen.
Ebenso kann man durch Umstellungen eine konjunktive Minimalform (KMF) erhalten,
die Variablen werden dabei erst disjunktiv verknüpft und dann konjunktiv. Häufig gibt es
mehrere gleichberechtigte DMF oder KMF!
DNF, DMF, KNF und KMF stellen also 2-stufige Realisierungen der Form UND-ODER
bzw. ODER-UND dar. DNF und DMF besitzen in der Praxis gegenüber KNF und KMF
die größere Bedeutung.
Da eine zielgerichtete Anwendung bei der Schaltungsminimierung häufig schwierig ist,
weicht man in der Regel auf graphische Verfahren (z.B. KV-Diagramm) und algorithmische
Verfahren (z.B. Methode von Quine) aus, die weitaus einfacher zu handhaben sind.
5.2.2
KV-Diagramme
Karnaugh-Veitch-(KV)-Diagramme sind grafische Darstellungen von logischen Funktionen für bis zu sechs Variablen.
Vorteil: Übersichtliches Verfahren, weil graphisch orientiert.
Nachteil: Unübersichtlich bei mehr als 6 Variablen.
Allgemeine Vereinfachungsregeln für KV-Diagramme:
• Fasst man benachbarte 1-Felder in möglichst große und damit wenige rechteckige
oder quadratische Blöcke mit 2, 4, 8, 16... Feldern zusammen, gewinnt man die zu
einem Block gehörende Konjunktion, indem man nur die Eingangsvariablen berücksichtigt, die in allen Feldern des Blockes einen konstanten Wert haben.
• Bei Blöcken mit 2m Feldern entfallen so m Variable bei der Konjunktion.
• Die disjunktive Verknüpfung der Konjunktionen aller Blöcke liefert die DMF.
KAPITEL 5. SCHALTNETZE
39
• Einzelne Felder können mehreren Blöcken angehören (Überlappungen).
• Blöcke können auch über die Ränder des KV-Diagramms hinaus gebildet werden.
(Alternativ zum Zusammenfassen der Einsen können Nullen zusammengefasst werden.
Dies führt zur konjunktiven Minimalform (KMF). Obige Regeln sind dann sinngemäß zu
ändern: Jeder Block entspricht einer Disjunktion, usw.)
KV-Diagramm für zwei Variable
Das Diagramm besteht aus 22 = 4 Feldern:
Beispiel:
A
0
0
1
1
B
0
1
0
1
Y
0
1
1
1
B\A
0
1
B\A
0
ĀB̄
AB̄
0
1
ĀB
AB
1
0
1
∩1
⊂
1 ⊃
∪
1
0
Y =A∨B
Y =A∨B
← DMF
← KMF
KV-Diagramm für drei Variable
Das Diagramm besteht aus 23 = 8 Feldern. Es ergeben sich Nachbarschaftsverhältnisse
zwischen den Feldern des linken und rechten Randes.
C\AB
00
01
11
10
C\AB
0
ĀB̄ C̄
ĀB C̄
AB C̄
AB̄ C̄
0
⊃
1
1
ĀB̄C
ĀBC
ABC
AB̄C
1
0
00
01
11
0
0
⊂
1 ⊃
1
Y = BC ∨ B̄ C̄
Y = B̄ ∨ C ∧ B ∨ C̄
10
⊂
1
0
← DMF
← KMF
KV-Diagramm für vier Variable
Das Diagramm besteht aus 24 = 16 Feldern. Es ergeben sich Nachbarschaftsverhältnisse
zwischen den Feldern des linken und rechten sowie des oberen und unteren Randes.
KAPITEL 5. SCHALTNETZE
40
CD\AB
00
01
11
10
CD\AB
00
ĀB̄ C̄ D̄
ĀB C̄ D̄
AB C̄ D̄
AB̄ C̄ D̄
00
01
ĀB̄ C̄D
ĀB C̄D
AB C̄D
AB̄ C̄D
01
0
11
ĀB̄CD
ĀBCD
ABCD
AB̄CD
11
0
10
ĀB̄C D̄
ĀBC D̄
ABC D̄
AB̄C D̄
10
0
00
01
⊂
1 ∪
1
11
10
1
⊃
1
0
0
0
0
1
0
0
0
∩1
Y = C̄ D̄ ∨ ĀB D̄ ∨ ABCD
KV-Diagramm für fünf Variable
Ein KV-Diagramm für fünf Variablen benötigt 25 = 32 Felder. Diese werden in zwei
KV-Diagrammen für vier Variablen angeordnet. Hierbei gilt für das erste Diagramm E = 1
und für das zweite Diagramm E = 0.
Diagramm für E = 1:
01
11
CD\AB
00
00
ĀB̄ C̄ D̄E
ĀB C̄ D̄E
AB C̄ D̄E
AB̄ C̄ D̄E
01
ĀB̄ C̄DE
ĀB C̄DE
AB C̄DE
AB̄ C̄DE
11
ĀB̄CDE
ĀBCDE
ABCDE
AB̄CDE
10
ĀB̄C D̄E
ĀBC D̄E
ABC D̄E
AB̄C D̄E
10
E
Diagramm für E = 0:
CD\AB
00
01
11
10
00
ĀB̄ C̄ D̄Ē
ĀB C̄ D̄Ē
AB C̄ D̄Ē
AB̄ C̄ D̄Ē
01
ĀB̄ C̄DĒ
ĀB C̄DĒ
AB C̄DĒ
AB̄ C̄DĒ
11
10
ĀB̄CDĒ
ĀB̄C D̄Ē
ĀBCDĒ
ĀBC D̄Ē
ABCDĒ
ABC D̄Ē
AB̄CDĒ
AB̄C D̄Ē
Ē
Die beiden Diagramme kann man sich übereinander angeordnet vorstellen, so dass
Nachbarschaftsverhältnisse zusätzlich auch zwischen aufeinander liegenden Feldern bestehen.
KV-Diagramm für sechs Variable
Ein KV-Diagramm für fünf Variablen benötigt 26 = 64 Felder. Diese werden in vier
KV-Diagrammen für vier Variablen angeordnet. Hierbei gilt für das erste Diagramm E = 0
und F = 0 und für das zweite Diagramm E = 0 und F = 1 für das dritte Diagramm E = 1
und F = 1 sowie für das vierte Diagramm E = 1 und F = 0.
KAPITEL 5. SCHALTNETZE
41
Weitere Beispiele werden in Übungsaufgaben vorgestellt.
5.2.3
Methode von Quine
Ein anderer Weg zur Minimierung von Schaltfunktionen ist das Verfahren von Quine.
Vorteil des Verfahrens: Algorithmisch orientiert, d.h. gut auf einem Computer zu programmieren.
Nachteil des Verfahrens: Hoher Schreibaufwand bei der manuellen Berechnung.
Beschreibung des Verfahrens:
1. Man schreibt alle Minterme einer disjunktiven Normalform untereinander. (Ist eine
Funktion nicht als disjunktive Normalform gegeben, so muss sie vor der Bearbeitung
in eine solche umgewandelt werden.)
2. Jeder Term wird mit jedem anderen Term verglichen.
3. Stimmen zwei Terme bis auf eine Variable überein, wobei diese eine Variable in dem
anderen Term negiert vorkommen muss, trägt man diesen Term unter Weglassen
der entsprechenden Variablen in die nächste Spalte ein. Die beiden ursprünglichen
Terme werden markiert.
4. Dieser Vorgang wird für die erste Spalte wiederholt, bis alle Terme miteinander
verglichen worden sind.
5. Anschließend wiederholt sich der gesamte Vorgang in der nächsten Spalte.
6. Die am Ende übrig bleibenden nicht markierten Terme sind die Primterme.
7. Über eine Primterm-Minterm-Tabelle wird die einfachste Primterm-Kombination gesucht. Die disjunktive Verknüpfung dieser Terme ergibt die disjunktive Minimalform.
Beispiel: Gegeben sei die folgende Schaltfunktion Y :
Y = AB C̄D ∨ ABCD ∨ AB̄CD ∨ ĀB̄CD ∨ ABC D̄ ∨ AB C̄ D̄
Aufstellen der Tabelle zur Ermittlung der Primterme:
KAPITEL 5. SCHALTNETZE
42
1. Spalte
2. Spalte
3. Spalte
(1)
AB C̄D
∗
(1,2)
ABD
∗
(1,2; 5,6)
AB
(2)
ABCD
∗
(1,6)
AB C̄
∗
(1,6; 2,5)
AB
(3)
AB̄CD
∗
(2,3)
ACD
(4)
ĀB̄CD
∗
(2,5)
ABC
(5)
ABC D̄
∗
(3,4) B̄CD
(6)
AB C̄ D̄
∗
(5,6)
Primterme:
AB D̄
ACD
∗
∗
B̄CD
AB
Primterm-Minterm-Tabelle:
AB C̄D
ACD
B̄CD
AB
x
ABCD
x
AB̄CD
x
x
ĀB̄CD
x
ABC D̄
AB C̄ D̄
x
x
x
Einfachste Primtermkombination: Y = AB ∨ B̄CD
Aufgabe: Führen Sie die Vereinfachung der Schaltfunktion zum Vergleich mit dem KVDiagramm durch.
5.3
Nicht vollständig spezifizierte Funktionen (Don’t
care Felder)
Bei der bisher in der Funktionstabelle dargestellten Funktion handelt es sich um eine
vollständig spezifizierte Funktion, weil jeder Eingangsvariablen ein bestimmter Wert (0
oder 1) für die Ausgangsvariable zugewiesen worden ist. In der Praxis treten jedoch sehr
häufig unvollständig spezifizierte Funktionen auf (siehe Kapitel über Codewandler), bei
denen die Aufgabenstellung für bestimmt Eingangskombinationen nicht eindeutig eine 0
oder 1 vorgibt. Diese Felder werden mit einem „x“ gekennzeichnet.
In diesen Fällen können beim KV-Diagramm „don’t-care-Felder“ zu weiteren Vereinfachungen benutzt werden, indem den Feldern geeignete Werte zur Vergrößerung der Blöcke
zugewiesen werden.
Beispiel: Schaltfunktion mit drei Eingangsvariablen
KAPITEL 5. SCHALTNETZE
A
0
0
0
0
1
1
1
1
43
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Y
0
x
0
1
x
x
1
0
← don’t care
← don’t care
← don’t care
Indem zwei der don’t-care-Feld auf den Wert Eins gesetzt werden und das dritte don’tcare-Feld auf den Wert Null gesetzt wird, wird eine besonders einfach DMF gefunden.
C\AB
00
01
0
0
0
1
⊂
x ⊃
1
11
10
0
x
⊂
1 ⊃
x
Y = ĀC ∨ AC̄
5.4
Realisierung mit Grundverknüpfungselementen
Aus einer schaltalgebraischen Gleichung kann direkt eine Schaltungsrealisierung aus
Grundverknüpfungselementen (UND, ODER, NICHT) abgelesen werden. Aus Gründen
der Übersicht bietet es sich an die Schaltung nach dem Prinzip des Kreuzschienenverteilers zu zeichnen. Hierbei werden zunächst alle Eingangsvariablen sowie deren Negierte auf
senkrechten Linien verfügbar gemacht. Im zweiten Schritt werden die weiteren Schaltelemente waagerecht an diese senkrechten Linien angeschlossen.
Beispiel Gegeben sei folgende Schaltfunktion:
Y = C̄ D̄ ∨ ĀB D̄ ∨ ABCD
Mit dem Prinzip des Kreuzschienenverteilers ergibt sich dann folgende Realisierung:
KAPITEL 5. SCHALTNETZE
44
Bei der Art der Schaltungsminimierung, die wir in den vorherigen Kapiteln kennen
gelernt haben, läuft die Lösung immer auf eine zweistufige Schaltungsrealisierung hinaus:
die erste Stufe besteht in konjunktiven Verknüpfungen und nachfolgend geschaltet ist eine
disjunktive Verknüpfung.
5.5
Realisierung mit NAND und NOR
Stehen zur Schaltungsrealisierung entweder nur NAND- oder nur NORVerknüpfungselemente zur Verfügung, so muss die schaltalgebraische Gleichung zunächst
geeignet umgeformt werden.
5.5.1
Realisierung mit NAND
Betrachten wir das gleiche Beispiel wie zuvor:
Y = C̄ D̄ ∨ ĀB D̄ ∨ ABCD
Ziel ist es die Grundverknüfungen (UND, ODER, NICHT) durch NANDs zu ersetzen. Eine
Negation (NICHT) kann einfach durch ein NAND ersetzt werden (siehe Kapitel 4.5.1), so
dass wir uns um die Negationen zunächst nicht kümmern. Beim Ersetzen stört zunächst
am stärksten das ODER, so dass wir den gesamte Ausdruck doppelt negieren und dann
das De Morgan-Gesetz anwenden.
Y
= C̄ D̄ ∨ ĀB D̄ ∨ ABCD
= C̄ D̄ ∨ ĀB D̄ ∨ ABCD
= C̄ D̄ ∧ ĀB D̄ ∧ ABCD
Diese Form der schaltalgebraischen Gleichung können wir dann direkt mit NANDElementen zeichnen:
KAPITEL 5. SCHALTNETZE
45
Hieraus können wir folgende Regel ableiten:
Realisierung mit NAND Die DNF oder DMF wird zunächst im gesamten doppelt negiert. Dann wird der untere Negationsstrich nach dem De Morgan-Gesetz aufgespalten.
5.5.2
Realisierung mit NOR
Betrachten wir das gleiche Beispiel wie zuvor:
Y = C̄ D̄ ∨ ĀB D̄ ∨ ABCD
Ziel ist es die Grundverknüfungen (UND, ODER, NICHT) durch NORs zu ersetzen. Eine
Negation (NICHT) kann einfach durch ein NOR ersetzt werden (siehe Kapitel 4.5.1), so
dass wir uns um die Negationen zunächst nicht kümmern. Beim Ersetzen stört am stärksten das UND, so dass wir die Konjunktionen doppelt negieren und dann das De MorganGesetz anwenden. Um schließlich aus den anfänglichen ODER-Verknüpfungen noch NORs
zu machen, muss der gesamte Ausdruck zweimal negiert werden.
Y
= C̄ D̄ ∨ ĀB D̄ ∨ ABCD
= C̄ D̄ ∨ ĀB D̄ ∨ ABCD
= C ∨ D ∨ A ∨ B̄ ∨ D ∨ Ā ∨ B̄ ∨ C̄ ∨ D̄
= C ∨ D ∨ A ∨ B̄ ∨ D ∨ Ā ∨ B̄ ∨ C̄ ∨ D̄
Diese Form der schaltalgebraischen Gleichung können wir dann direkt mit NOR-Elementen
zeichnen:
KAPITEL 5. SCHALTNETZE
46
Hieraus können wir folgende Regel ableiten:
Realisierung mit NOR Die Konjunktionen der DNF oder DMF werden zunächst doppelt negiert. Dann wird der untere Negationsstrich jeweils nach dem De MorganGesetz aufgespalten. Schließlich wird der gesamte Ausdruck doppelt negiert.
Kapitel 6
Codewandler
6.1
Entwurfsverfahren
Ein Codewandler wandelt Zahlen eines (Zahlen-)Codes in einen anderen (Zahlen-)Code
um. Zum Beispiel wird eine Zahl im Aiken-Code in eine Zahl im BCD-Code gewandelt.
Codewandler lassen sich nach den Regeln der Schaltungssynthese (siehe Kapitel über
Schaltalgebra und Schaltnetze) berechnen. Im folgenden Abschnitt soll dies exemplarisch
einmal vorgestellt werden.
6.2
Aiken-BCD-Codewandler
Ein Aiken-BCD-Codewandler wandelt eine Zahl im Aiken-Code in eine Zahl im BCD-Code
um.
1. Schritt: Aufstellen der Aiken-BCD-Codewandler-Wahrheitstabelle
47
KAPITEL 6. CODEWANDLER
Dezimal
D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
2
3
4
−
−
−
−
−
−
5
6
7
8
9
48
Aiken
C B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Q4
0
0
0
0
0
x
x
x
x
x
x
0
0
0
1
1
BCD
Q3 Q2
0
0
0
0
0
1
0
1
1
0
x
x
x
x
x
x
x
x
x
x
x
x
1
0
1
1
1
1
0
0
0
0
Q1
0
1
0
1
0
x
x
x
x
x
x
1
0
1
0
1
Am Eingang des Codewandlers können auch Tetraden angelegt werden, die kein gültiges Aiken-Codewort darstellen. In diesen Fällen sind die Signale an den Ausgängen beliebig
wählbar („don’t-care Felder“).
2. Schritt: Ermittlung der Ausgangsfunktion über KV-Diagramme
KV-Diagramm für Q2 :
KV-Diagramm für Q1 :
BA\DC
00
01
11
10
BA\DC
00
01
11
10
00
0
0
0
x
00
0
0
|1
x|
01
|1
x
1
x|
01
0
x
|1
x|
11
|1
x
1
1|
11
|1
x|
0
0
10
0
x
0
x
10
|1
x|
0
x
Q1 = A
Q2 = B̄D ∨ B D̄
KAPITEL 6. CODEWANDLER
49
KV-Diagramm für Q3 :
KV-Diagramm für Q4 :
BA\DC
00
01
11
BA\DC
00
01
11
10
00
0
|1
1|
∩x
00
0
0
0
x
01
0
|x
1|
|x |
01
0
x
0
x
11
0
x
0
|1|
11
0
|x
1|
0
10
0
x
0
10
0
|x
1|
x
10
∪x
Q3 = B̄C ∨ C̄D
3. Schritt: Realisierung (z.B.: hier in NAND)
Q4 = BC
Q1 = A
Q2 = B̄D ∨ B D̄
= B̄D ∨ B D̄
Q3
= B̄D ∧ B D̄
= B̄C ∨ C̄D
= B̄C ∨ C̄D
Q4
= B̄C ∧ C̄D
= BC
= BC
Damit ergibt sich für den Aiken-BCD-Codewandler (nach dem Prinzip des Kreuzschienenverteilers):
KAPITEL 6. CODEWANDLER
6.3
50
BCD-7-Segment-Codewandler
Eine 7-Segment-Anzeige besteht aus sieben Anzeige-Elementen zur Darstellung der dezimalen Ziffern von 0 bis 9. Das nachfolgende Bild zeigt die Bezeichnung der Elemente sowie
die Verwendung der 7-Segment-Anzeige.
Ein BCD-7-Segment-Codewandler setzt eine BCD-Zahl in entsprechende Signale zur
Ansteuerung der 7-Segment-Anzeige um. BCD-codierte Zahlen können so direkt lesbar
ausgegeben werden.
Kapitel 7
Schaltwerke
7.1
7.1.1
Bistabile Kippstufen
Konventionen und Klassifizierung
Bistabile Kippstufen (auch: „Flipflops“) sind Schaltelemente, die logische Zustände speichern können. Ein Flipflop besitzt in seiner einfachsten Form zwei Eingänge E1 und E2
sowie zwei Ausgänge Q1 und Q2 . Die Ausgänge besitzen stets entgegengesetzte logische
Werte, d.h. Q1 = Q̄2 .
Schaltzeichen:
Wirkungsweise:
Setzvorgang : (E1 = 1) ∧ (E2 = 0) → Q1 = 1
Rücksetzvorgang : (E1 = 0) ∧ (E2 = 1) → Q1 = 0
Speicherfall : (E1 = 0) ∧ (E2 = 0) → Ausgangswerte bleiben unverändert
Verbotener Fall : (E1 = 1) ∧ (E2 = 1) → Wirkung hängt vom Flipflop-Typ ab: Bei
einfachen Flipflops darf diese Kombination nicht verwendet werden.
E1
0
0
1
1
E2
0
1
0
1
Q1
∗
0
1
−
Q2
∗
1
0
−
51
Bedeutung
Speicherfall
Rücksetzvorgang
Setzvorgang
Verbotener Fall
KAPITEL 7. SCHALTWERKE
52
Die Eingänge E1 und E2 sind sog. statische Eingänge, d.h. sie sprechen auf Eingangszustände an. Weiter gibt es Flipflops mit dynamischen Eingängen, die auf Eingangszustandsänderungen ansprechen. Dynamische Eingänge werden gesondert gekennzeichnet.
Dynamischer Eingang, der bei ansteigender Taktflanke reagiert:
Dynamischer Eingang, der bei fallender Taktflanke reagiert:
Flipflops können mehrere Eingänge haben, die miteinander verknüpft sind. Diese werden entsprechend gekennzeichnet:
S Setz-Abhängigkeit
R Rücksetz-Abhängigkeit
G UND-Abhängigkeit
V ODER-Abhängigkeit
C Steuer-Abhängigkeit
Zusätzlich werden die zusammengehörigen Eingänge durch Ziffern gekennzeichnet. Bei
steuernden Eingängen steht die Kennzahl nach dem Buchstaben. Bei gesteuerten Eingängen steht die Kennzahl vor dem Buchstaben.
Klassifizierung von Flipflops
1. Nicht-taktgesteuertes FF: reagiert auf Eingangssignale
KAPITEL 7. SCHALTWERKE
53
2. Taktzustandsgesteuertes FF: reagiert auf Eingangssignale, wenn gleichzeitig ein
Taktsignal anliegt
3. Taktflankengesteuertes FF: reagiert auf Eingangssignale, wenn gleichzeitig eine
Taktsignalflanke anliegt. Unterschieden werden positive und negative Taktflankensteuerung.
7.1.2
Nicht-taktgesteuerte Flipflops
7.1.2.1
NOR-Latch
2 NOR-Gatter mit rückgekoppelten Signalen:
NOR-Gatter
A B A∨B
0 0
1
0
0 1
1 0
0
0
1 1
Merke: Sobald eine 1 am Eingang liegt, erscheint eine Null am Ausgang.
Funktionsweise:
(E1 = 1) ∧ (E2 = 0)
(E1 = 0) ∧ (E2 = 1)
E1 = E2 = 0
E1 = E2 = 1
→
→
→
→
(Q2 = 0) ∧ (Q1 = 1)
(Q1 = 0) ∧ (Q2 = 1)
Ausgangssignale unverändert
Q1 = Q2 = 0 d.h. Kombination ist verboten
Die Eingangskombination E1 = E2 = 1 ist verboten, da die Ausgänge ja vereinbarungsgemäß entgegengesetzte Signale aufweisen müssen.
Wahrheitstabelle des NOR-Latches:
E1
0
0
1
1
E2
0
1
0
1
Q1
∗
0
1
−
Q2
∗
1
0
−
Bedeutung
Speicherfall
Rücksetzvorgang
Setzvorgang
Verbotener Fall
KAPITEL 7. SCHALTWERKE
7.1.2.2
54
NAND-Latch
2 NAND-Gatter mit rückgekoppelten Signalen:
NAND-Gatter
A B A∧B
0 0
1
0 1
1
1 0
1
1 1
0
Merke: Sobald eine 0 am Eingang liegt, erscheint eine Eins am Ausgang.
Funktionsweise:
(E1 = 1) ∧ (E2 = 0)
(E1 = 0) ∧ (E2 = 1)
E1 = E2 = 0
E1 = E2 = 1
→
→
→
→
(Q1 = 1) ∧ (Q2 = 0)
(Q2 = 1) ∧ (Q1 = 0)
Q1 = Q2 = 1 d.h. Kombination ist verboten
Ausgangssignale unverändert
Wahrheitstabelle des NAND-Latches:
E1
0
0
1
1
E2
0
1
0
1
Q1
−
0
1
∗
Q2
−
1
0
∗
Bedeutung
Verbotener Fall
Rücksetzvorgang
Setzvorgang
Speicherfall
Um das gewünschte Flipflop-Verhalten zu erzeugen, sind noch zwei Änderungen notwendig: Erstens müssen die Eingangssignale negiert werden und zweitens müssen die Ausgangsbezeichnungen getauscht werden.
NAND- und NOR-Latches sind die einfachsten Flipflops und bilden die Basis komplexerer Flipflops, NAND- und NOR-Latches werden daher auch Basis-Flipflops genannt.
7.1.3
Taktzustandsgesteuerte Flipflops
7.1.3.1
SR-Flipflop
Schaltet man den Eingängen eines Basis-Flipflops jeweils ein UND-Glied vor, so erhält
man ein taktzustandsgesteuertes SR-(Setz-Rücksetz-)Flipflop. Signale an den Eingängen
erreichen das innere Basisflipflop nur, wenn ein Taktsignal T = 1 anliegt.
KAPITEL 7. SCHALTWERKE
55
Als Wahrheitstabelle ergibt sich formal:
T
0
0
0
0
1
1
1
1
S
0
0
1
1
0
0
1
1
R
0
1
0
1
0
1
0
1
Q1
∗
∗
∗
∗
∗
0
1
−
Q2
∗
∗
∗
∗
∗
1
0
−
Bedeutung
Keine Signaländerung
Keine Signaländerung
Keine Signaländerung
Keine Signaländerung
Keine Signaländerung
Rücksetzen
Setzen
Verbotener Fall
Man erkennt an den vielen ∗-Einträgen, dass diese aus der statischen Betrachtung
(Schaltnetze) bekannte Form der Wahrheitstabelle hier bei der Beschreibung eines dynamischen Verhaltens wenig hilfreich ist. Wir führen daher eine neue Form der Wahrheitstabelle ein.
S
0
0
0
0
1
1
1
1
tn+1
Q1,n+1
0
1
0
0
1
1
−
−
tn
R Q1,n
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
Speicherfall
Speicherfall
Rücksetzen
Rücksetzen
Setzen
Setzen
Verbotener Fall
Verbotener Fall
Mit:
tn : Zeitpunkt vor Anliegen des Taktsignals (T = 0)
tn+1 : Zeitpunkt nach Anlegen des Taktsignals (T = 1)
Obige Wahrheitstabelle lässt sich auch in Kurzform schreiben.
tn
S
0
0
1
1
R
0
1
0
1
tn+1
Q1,n+1
Q1,n
0
1
−
KAPITEL 7. SCHALTWERKE
7.1.3.2
56
E-Flipflop
Durch Zusatzbeschaltung eines SR-FF ergibt sich auch für E1 = E2 = 1 ein Speicherfall.
Wahrheitstabelle:
tn
E1
0
0
1
1
7.1.3.3
E2
0
1
0
1
tn+1
Q1,n+1
Q1,n
0
1
Q1,n
SR-Flipflop mit dominantem Rücksetzeingang
Durch Zusatzbeschaltung eines SR-FF ergibt sich auch für E1 = E2 = 1 ein Rücksetzfall.
Wahrheitstabelle:
tn
E1
0
0
1
1
7.1.3.4
E2
0
1
0
1
tn+1
Q1,n+1
Q1,n
0
1
0
D-Flipflop
Durch folgende Zusatzbeschaltung
(D=Delay=Verzögerung).
eines
SR-FF
ergibt
sich
ein
D-FF
KAPITEL 7. SCHALTWERKE
57
Wahrheitstabelle:
tn
D
0
1
7.1.4
tn+1
Q1,n+1
0
1
Taktflankengesteuerte Flipflops
Bei der Taktflankensteuerung werden die Flipflops synchron (zeitgleich) geschaltet. Geschaltet wird je nach Ausführungsform beim Übergang des Taktes von Null nach Eins
(0 → 1; positive Taktflanke) oder beim Übergang des Taktes von Eins nach Null (1 → 0;
negative Taktflanke).
Da nur zu diesen kurzen Zeitintervallen die Eingangssignale wirksam werden, sind diese
Flipflops sehr störsicher.
Zum Aufbau werden sog. Impulsglieder benötigt.
7.1.4.1
Impulsglieder
Impulsglieder sind UND-Verknüpfungen mit einem statischen und einem dynamischen
Eingang. Der dynamische Eingang liefert entweder bei fallender oder steigender Flanke
kurzzeitig das Signal 1.
Aufbau eines dynamischen Eingangs durch Ausnutzen der endlichen Laufzeit in einem
realen NICHT-Glied.
KAPITEL 7. SCHALTWERKE
7.1.4.2
58
Einflankengesteuertes SR-Flipflop
Ein einflankengesteuertes SR-FF lässt sich aus zwei Impulsgliedern und einem Basis-FF
aufbauen.
Schaltzeichen für ein SR-FF mit positiver Taktflankensteuerung:
Schaltzeichen für ein SR-FF mit negativer Taktflankensteuerung:
Wahrheitstabelle:
tn
S
0
0
1
1
R
0
1
0
1
tn+1
Q1,n+1
Q1,n
0
1
−
Weitere Ausführungsform:
Einflankengesteuertes SR-FF mit zusätzlichen taktunabhängigen Setz-und-RücksetzEingängen. Diese zusätzlichen Eingänge werden oft mit invertierten Signalen gesteuert.
KAPITEL 7. SCHALTWERKE
7.1.4.3
59
Einflankengesteuertes D-Flipflop
Wie in Kapitel 7.1.3.4, das Eingangssignal wird verzögert übernommen, diesmal jedoch
mit Flankensteuerung.
Schaltzeichen für ein D-FF mit positiver Taktflankensteuerung:
Wahrheitstabelle:
tn
D
0
1
7.1.4.4
tn+1
Q1,n+1
0
1
Einflankengesteuertes T-Flipflop
Aus einem SR-Flipflop kann mit rückgekoppelten Signalen ein T-Flipflop
(T=Toggle=Umschalten) aufgebaut werden. Bei der entsprechenden Taktflanke ändert sich der Ausgangswert.
Schaltzeichen für ein T-FF mit positiver Taktflankensteuerung:
Wahrheitstabelle:
tn
Q1,n
0
1
7.1.4.5
tn+1
Q1,n+1
1
0
Einflankengesteuertes JK-Flipflop
Der verbotene Zustand S = R = 1 bei einem SR-FF ist störend. Daher kann durch
zusätzliche Beschaltung das universelle JK-FF abgeleitet werden. Das JK-FF verhält sich
bei S = R = 1 wie ein T-FF.
KAPITEL 7. SCHALTWERKE
60
Schaltzeichen für ein JK-FF mit positiver Taktflankensteuerung:
Wahrheitstabelle:
tn
S
0
0
1
1
7.1.4.6
R
0
1
0
1
tn+1
Q1,n+1
Q1,n
0
1
Q̄1,n
Zweiflankengesteuertes (Master-Slave) SR-Flipflop
Zusammenschaltung zweier SR-FF mit entgegengesetzter Taktflankensteuerung. Beispiel:
Das erste FF (Master-FF) nimmt das Eingangssignal bei steigender auf und das zweite
FF (Slave-FF) schaltet das Signal bei der folgenden fallenden Flanke durch („retadierte
Ausgänge“). (Eine entsprechende Steuerung durch entgegengesetzte Taktflanken ist ebenso
möglich.)
Schaltzeichen für ein SR-Master-Slave-FF:
Die Symbole ¬ zeigen an, dass das Signal am Ausgang sich eine Taktflanke später
ändert als ein Signal am Eingang aufgenommen wird.
KAPITEL 7. SCHALTWERKE
7.1.4.7
61
Zweiflankengesteuertes (Master-Slave) JK-Flipflop
Wirkungsweise wie bei SR-Master-Slave-FF aber mit Umschaltfunktion für J = K = 1.
Aufbau aus einem JK-FF und einem SR-FF:
Schaltzeichen für ein JK-Master-Slave-FF:
7.1.5
Zeitablaufdiagramme
Für vorgegebene Eingangssignale können die Ausgangssignale aus dem beschriebenen Verhalten der verschiedenen FF abgeleitet werden.
Beispiel: Basis-Flipflop
tn
S
0
0
1
1
R
0
1
0
1
tn+1
Q1,n+1
Q1,n
0
1
−
KAPITEL 7. SCHALTWERKE
7.1.6
62
Charakteristische Gleichung
Eine charakteristische Gleichung beschreibt die Arbeitsweise eines Flipflops in schaltalgebraischer Form. Die Werte aus der ausführlichen Wahrheitstabelle werden hierzu in ein
KV-Diagramm überführt und hieraus wird die schaltalgebraische Gleichung abgeleitet.
Beispiel: Taktflankengesteuertes JK-FF
Wahrheitstabelle (Kurzform):
tn
S
0
0
1
1
R
0
1
0
1
tn+1
Q1,n+1
Q1,n
0
1
Q̄1,n
Wahrheitstabelle (Ausführliche Form):
J
0
0
0
0
1
1
1
1
tn
K Q1,n
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
tn+1
Q1,n+1
0
1
0
0
1
1
1
0
Q1,n \JK
00
01
0
0
Speicherfall
Speicherfall
Rücksetzen
Rücksetzen
Setzen
Setzen
Toggle
Toggle
KV-Diagramm für Q1,n+1
0
1
11
10
⊂1 ⊃
1
⊃
1
0
0 ⊂
1
Charakteristische Gleichung:
Q1,n+1 = J ∧ Q̄1,n ∨ K̄ ∧ Q1,n
KAPITEL 7. SCHALTWERKE
7.2
63
Monostabile Kippstufe
Eine monostabile Kippstufe (Monoflop) hat einen stabilen Zustand (Q = 0) und einen
instabilen Zustand (Q = 1). Man unterscheidet nachtriggerbare und nicht-nachtriggerbare
Monoflops.
7.2.1
Nicht-nachtriggerbares Monoflop
Ändert sich das Eingangssignal E von Null auf Eins, so geht der Hauptausgang Q der
monostabilen Kippstufe für eine bestimmte Zeit tQ in den instabilen Zustand und kehrt
nach dieser Zeit selbständig wieder in den stabilen Zustand zurück.
Zeitverlauf:
Schaltzeichen:
Die Verweildauer tQ im instabilen Zustand wird vom weiteren Verlauf des Eingangssignals
nicht beeinflusst (nicht-nachtriggerbar):
Die Dauer tQ kann in der Regel durch externe Beschaltung mit einem Widerstand R
und einem Kondensator C festgelegt werden.
tQ = 0,69RC
Monostabile Kippstufen existieren auch mit Taktflankensteuerung. Im Folgenden ist
ein Monoflop mit negativer Taktflankensteuerung gezeigt. Das Monoflop kippt dann bei
einer negativen Flanke in den instabilen Zustand.
KAPITEL 7. SCHALTWERKE
7.2.2
64
Nachtriggerbares Monoflop
Bei einem nachtriggerbaren Monoflop kann die Verweilzeit im instabilen Zustand durch
geeignete Änderung des Eingangssignals verlängert werden.
Zeitverlauf:
Schaltzeichen:
In dem Beispiel sorgt die zweite negative Taktflanke dafür, dass das Monoflop ab dieser
Taktflanke für eine Dauer von tQ im instabilen Zustand bleibt.
7.3
Verzögerungsglieder
Verzögerungsglieder haben die Aufgabe Taktflanken des Eingangssignals verzögert am
Ausgang auszugeben. Die Verzögerungszeit t1 gibt an, um welche Zeit die steigende Taktflanke verzögert wird und t2 gibt an, um welche Zeit die fallende Taktflanke verzögert
wird.
Zeitverlauf:
KAPITEL 7. SCHALTWERKE
Schaltzeichen:
Beispiel eines Einschaltverzögerungsgliedes:
Zeitverlauf:
Aufbau eines Einschaltverzögerungsgliedes (1. Idee):
65
KAPITEL 7. SCHALTWERKE
66
Aufbau eines Einschaltverzögerungsgliedes (2. Idee: Verbesserte Schaltung ohne Nadelimpuls): Es werden zwei Negationsglieder hinzugefügt, um auch das Signal am oberen
UND-Gatter-Eingang zu verzögern.
7.4
Astabile Kippstufe
Eine astabile Kippstufe hat zwei nicht-stabile Zustände.
Zeitverlauf:
Schaltzeichen:
Anwendung: Erzeugung von Rechteck-Taktsignalen für Digitalschaltungen.
Kapitel 8
Zähler
8.1
Zählerarten
Zähler sind sequentielle Schaltungen, die binäre Codes in Abhängigkeit eines Taktsignals
zählen. Entsprechend gibt es Zähler für den Dual-Code, den BCD-Code, den Aiken-Code
usw. Weiterhin kann man Vorwärts- und Rückwärtszähler unterscheiden.
Bei der Realisierung ist die Unterteilung in synchrone und asynchrone Zähler wichtig:
Synchrone Zähler Alle verwendeten Flipflops werden durch einen gemeinsamen Takt
geschaltet.
Asynchrone Zähler Mindestens zwei Flipflops verwenden unterschiedliche Taktsignale.
Da asynchrone Zähler vom Aufbau einfacher sind, werden wir uns diese zunächst ansehen. Für synchrone Zähler wollen wir dann schließlich ein allgemeines Entwurfsverfahren
kennenlernen.
8.2
8.2.1
Asynchrone Zähler
3-Bit Dualvorwärtszähler
Werden drei Toggle-FF (realisiert durch JK-FF mit J = K = 1) mit negativer Taktflankensteuerung aneinander gehängt, so entsteht ein 3-Bit Dualvorwärtszähler. Der Hauptausgang der FF ist jeweils mit dem dynamischen Eingang der nachfolgenden FF verbunden.
Zeitablaufdiagramm:
67
KAPITEL 8. ZÄHLER
68
Der Zähler zählt die Dualzahl Q3 Q2 Q1 (mit Q3 =MSB und Q1 =LSB) von 0(10) = 000(2)
bis 7(10) = 111(2) und springt dann wieder auf die Null zurück.
Schaltzeichen:
Der Text im Steuerblock zeigt an, dass es sich um einen Zähler (CTR = Counter) mit 8
Zählschritten (0 . . . 7) handelt. Es wird vorwärts (+) gezählt. Der Funktionsblock enthält
die Ausgänge und zeigt mit dem „Plus“-Symbol ebenfalls die Zählrichtung an.
8.2.2
3-Bit Dualrückwärtszähler
Realisierung wie zuvor, jedoch diesmal werden die Signale der invertierten Ausgänge mit
den nachfolgenden Takteingängen verbunden.
Zeitablaufdiagramm:
KAPITEL 8. ZÄHLER
69
Der Zähler zählt die Dualzahl Q3 Q2 Q1 (mit Q3 =MSB und Q1 =LSB) von 7(10) = 111(2)
bis 0(10) = 000(2) rückwärts und springt dann wieder auf die 7 zurück.
Schaltzeichen:
Der Text im Steuerblock zeigt an, dass es sich um einen Zähler (CTR = Counter) mit 8
Zählschritten (0 . . . 7) handelt. Es wird rückwärts (-) gezählt. Der Funktionsblock enthält
die Ausgänge und zeigt mit dem „Minus“-Symbol ebenfalls die Zählrichtung an.
8.2.3
3-Bit Dualzähler mit umschaltbarer Zählrichtung
Durch eine Zusatzbeschaltung wird die Zählrichtung mit einem Umschaltsignal U wählbar.
Die Schaltung sieht dann folgendermaßen aus:
KAPITEL 8. ZÄHLER
70
U=1 Vorwärtszählen
U=0 Rückwärtszählen
Schaltzeichen:
8.2.4
BCD-Vorwärtszähler
Ein BCD-Zähler zählt die Dualzahl Q4 Q3 Q2 Q1 (mit Q4 =MSB und Q1 =LSB) von 0(10) =
0000(2) bis 9(10) = 1001(2) und springt dann wieder auf die 0 zurück. Der Aufbau kann mit
vier JK-FF und einem UND-Gatter erfolgen.
Zeitablaufdiagramm:
KAPITEL 8. ZÄHLER
71
Schaltzeichen:
8.2.5
Dekaden-Zähler
Mit einem BCD-Zähler kann eine Dekade gezählt werden (0 − 9). Mit der Zusammenschaltung von zwei BCD-Zählern kann über zwei Dekaden (0 − 99) gewählt werden.
KAPITEL 8. ZÄHLER
72
Funktionsweise: Immer, wenn der BCD-Zähler für die Einerziffer von Neun auf Null zurückspringt, entsteht an Q4 eine negative Taktflanke. Diese negative Taktflanke veranlasst
den zweiten BCD-Zähler (für die Zehnerziffer) eine Ziffer weiterzuzählen.
Vorteil eines Dekadenzählers gegenüber einem Dualzähler: Einfache Ausgabe des Dezimalwertes der Zahl möglich (mit Hilfe von BCD-7-Segment-Codewandlern und 7-SegmentAnzeige-Elementen, siehe Kapitel 6.3).
8.2.6
Modulo-n-Zähler
Der Modulo-n-Zähler zählt n duale Schritte bei der 0 beginnend. Zum Aufbau dieser Zähler
werden JK-Flipflops mit taktunabhängigen Rücksetzeingängen benötigt. Der Aufbau ist
besonders einfach, jedoch erscheint für kurze Zeit ein unerwünschter Zustand.
Beispiel: Modulo-5-Zähler
Zeitablaufdiagramm:
KAPITEL 8. ZÄHLER
73
Funktionsweise: Zunächst verhält sich die Schaltung wie ein 3-Bit-Dual-Vorwärtszähler.
nach dem 5. Taktsignal liefert die NAND-Verknüpfung von Q1 und Q3 kurzzeitig eine
Null an den taktunabhängigen Rücksetzeingängen der Flipflops, so dass diese auf Null
zurückgesetzt werden und die Schaltung wieder bei Q1 = Q2 = Q3 = 0 beginnt. (Nachteil:
Unerwünschter 6. Zustand wird kurzfristig angezeigt.)
8.3
Synchrone Zähler
Bei Synchron-Zählern werden alle FF durch einen gemeinsamen Takt zeitgleich (synchron)
geschaltet. Die schaltungstechnische Realisierung ist im allgemeinen aufwendiger als bei
asynchronen Zählern, da ja ein Freiheitsgrad (Wahl des Taktsignals) weniger vorhanden
ist.
8.3.1
3-Bit Dualvorwärtszähler
Regel für den Aufbau von synchronen Dual-Vorwärtszählern mit JK-FF:
1. Die Eingänge J und K sind bei jedem FF miteinander zu verbinden (J=K)
2. Beim 1. FF wird ein 1-Signal an die Eingänge gelegt. Beim 2. FF das Ausgangssignal
vom 1. FF. Alle folgenden FF erhalten als Eingangssignal die UND-Verknüpfung der
Hauptausgänge aller vorangehenden FF.
KAPITEL 8. ZÄHLER
74
Zeitablaufdiagramm:
8.3.2
3-Bit Dualrückwärtszähler
Aus einem synchronen 3-Bit-Dual-Vorwärtszähler lässt sich ein Rückwärtszähler aufbauen,
wenn statt der Hauptausgänge die invertierenden Ausgänge verwendet werden.
8.4
8.4.1
Entwurfsverfahren
Entwurfsverfahren mit Hilfe der charakteristischen Gleichung
Vorgehensweise für den Entwurf mit JK-FF:
1. Aufstellen der Wahrheitstabelle, aus der die gewünschte Funktion des Zählers hervorgeht
2. Mittels KV-Diagrammen Ablesen von vereinfachten schaltalgebraischen
(Anwendungs-)Gleichungen für die Ausgangsvariablen des Zählers
3. Koeffizienten-Vergleiche der charakteristischen Gleichungen der FF und der Anwendungsgleichungen liefern die Verknüpfungsgleichungen für die Ansteuerung der FFEingänge
4. Zeichnen des Schaltbildes aus den Verknüpfungsgleichungen
Beispiel: 4-Bit-Dual-Vorwärtszähler
1. Schritt: Aufstellen der Wahrheitstabelle
KAPITEL 8. ZÄHLER
75
tn
Dezimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
QD
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
QC
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
QB
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
QA
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
QD
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
tn+1
QC QB
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
Dezimal
QA
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
2. Schritt: Bestimmung der Anwendungsgleichungen durch Koeffizientenvergleich
KV-Diagramm für QA,n+1
KV-Diagramm für QB,n+1
QB QA \QD QC
00
01
11
10
QB QA \QD QC
00
01
11
10
00
|1
1
1
1|
00
0
0
0
01
0
0
0
0
01
⊂
1
0
1
1
⊃
1
11
0
0
0
0
11
0
0
0
0
10
|1
1
1
1|
10
1
1
⊂
1
⊃
1
QB,n+1 = QA Q̄B ∨ Q̄A QB n
QA,n+1 = Q̄A,n
KV-Diagramm für QC,n+1
KV-Diagramm für QD,n+1
QB QA \QD QC
00
01
11
10
QB QA \QD QC
00
01
11
00
0
|| 1
1 ||
0
00
0
0
|| 1
∩1||
01
0
|1
1|
0
0
0
|1
| 1|
0
0
⊂
1
01
11
0
1
0
|1|
|1
1|
0
10
0
0
|1
11
⊃
1
10
0
QC,n+1 = Q̄A QC ∨ Q̄B QC ∨ QA QB Q̄C n
QD,n+1 =
10
∪1 |
Q̄B QD ∨ QD Q̄C
∨ QD Q̄A ∨ QA QB QC Q̄D n
KAPITEL 8. ZÄHLER
76
3. Schritt: Charakteristische Gleichungen der FF
Die charakteristische Gleichung eines JK-FF lautet:
Qn+1 =
J ∧ Q̄ ∨ K̄ ∧ Q n
Für jeder der 4 JK-FF (A,B,C,D) gilt eine Gleichung dieser Form.
Bestimmung der Verknüfungsgleichungen durch Koeffizientenvergleich:
Charakteristische Gleichung für Flipflop A im Vergleich mit der Anwendungsgleichung:
QA,n+1 =
JA ∧ Q̄A ∨ K̄A ∧ QA n
QA,n+1 = Q̄A,n
Koeffizientenvergleich liefert:
JA = 1
und
K̄A = 0
→
KA = 1
Charakteristische Gleichung für Flipflop B im Vergleich mit der Anwendungsgleichung:
QB,n+1 =
JB ∧ Q̄B ∨ K̄B ∧ QB n
QB,n+1 = QA Q̄B ∨ Q̄A QB n
Koeffizientenvergleich liefert:
JB = QA
und
KB = Q A
Charakteristische Gleichung für Flipflop C im Vergleich mit der Anwendungsgleichung:
QC,n+1 =
JC ∧ Q̄C ∨ K̄C ∧ QC n
QC,n+1 = Q̄A QC ∨ Q̄B QC ∨ QA QB Q̄C n
= QC ∧ Q̄A ∨ Q̄B ∨ QA QB Q̄C n
= QC ∧ QA ∧ QB ∨ QA QB Q̄C n
Koeffizientenvergleich liefert:
JC = QA ∧ QB
und
KC = QA ∧ QB
Charakteristische Gleichung für Flipflop D im Vergleich mit der Anwendungsgleichung:
QD,n+1 =
JD ∧ Q̄D ∨ K̄D ∧ QD n
QD,n+1 = Q̄B QD ∨ QD Q̄C ∨ QD Q̄A ∨ QA QB QC Q̄D n
= QD ∧ Q̄A ∨ Q̄B ∨ Q̄C ∨ QA QB QC Q̄D n
= QD ∧ QA ∧ QB ∧ QC ∨ QA QB QC Q̄D n
Koeffizientenvergleich liefert:
JC = QA ∧ QB ∧ QC
4. Schritt: Zeichnen der Schaltung
und
KC = QA ∧ QB ∧ QC
KAPITEL 8. ZÄHLER
77
Überprüfung des Ergebnisses: Schaltung stimmt mit den Regeln aus Kapitel 8.3.1 überein.
8.4.2
Vereinfachtes Entwurfsverfahren mit direktem Aufstellen
der Verknüpfungsgleichungen
Zunächst werden die aufeinander folgenden Zählzustände des Zählers in die linken 4 Spalten der einer Tabelle eingetragen. In diesem Beispiel wollen wir einen 3-Exzeß-Code-Zähler
entwerfen, so dass hier die Zählschritte 0011 bis 1100 auftauchen. Schließlich soll der Zähler
wieder am Anfang beginnen, so dass der letzte Zustand gleich dem ersten ist.
Bei einem Zähler mit 4-Stellen benötigen wir 4-Flipflops FF-A bis FF-D. Die J- und KEingänge der Flipflops sind ebenfalls in der Tabelle aufgeführt. Nun ist bei jedem Flipflop
und jedem Zählschritt einzutragen, wie die Signale am J− und K−Eingang aussehen
müssen, um das gewünscht Verhalten zu erreichen. Geht zum Beispiel ein Flipflop vom
Zustand Null in den Zustand Null über (0 → 0), so kann dies durch den Speicherfall
(J = K = 0) oder den Rücksetzfall (J = 0, K = 1) erreicht werden. Daraus folgt, dass J
Null sein muss (J = 0) und K beliebig sein darf (K = x, don’t care-Term). Alle möglichen
Übergangsfälle sind in der folgenden Tabelle aufgeführt.
Qn
Qn+1
J
K
Bedeutung
0
0
0
x
Speichern oder Rücksetzen
0
1
1
x
Setzen oder Toggeln
1
0
x
1
Rücksetzen oder Toggeln
1
1
x
0
Setzen oder Speichern
KAPITEL 8. ZÄHLER
78
QA
QB
QC
QD
JA
KA
JB
KB
JC
KC
JD
KD
0
0
1
1
0
x
1
x
x
1
x
1
0
1
0
0
0
x
x
0
0
x
1
x
0
1
0
1
0
x
x
0
1
x
x
1
0
1
1
0
0
x
x
0
x
0
1
x
0
1
1
1
1
x
x
1
x
1
x
1
1
0
0
0
x
0
0
x
0
x
1
x
1
0
0
1
x
0
0
x
1
x
x
1
1
0
1
0
x
0
0
x
x
0
1
x
1
0
1
1
x
0
1
x
x
1
x
1
1
1
0
0
x
1
x
1
1
x
1
x
0
0
1
1
Die Werte aus der Tabelle werden in die folgenden KV-Diagramme übertragen. Die
nicht ausgefüllten Felder entsprechen den Pseudotetraden, sind also wie don’t care Felder zu
werten. Nach Auslesen der disjunktiven Minimalform kann die Schaltung direkt gezeichnet
werden.
KV-Diagramm für KA
KV-Diagramm für JA
01
11
10
QC QD \QA QB
00
0
x
x
01
0
QC QD \QA QB
00
11
0
10
01
11
10
00
x
1
0
x
01
x
0
1
x
11
x
0
0
x
10
x
0
JA = QB QC QD
x
KA = QB
KV-Diagramm für JB
QC QD \QA QB
KV-Diagramm für KB
01
11
10
QC QD \QA QB
00
x
x
0
01
x
11
00
00
1
10
JB = QC QD
00
01
11
10
00
0
1
x
0
01
0
x
x
1
11
1
x
x
0
10
0
x
x
KB = QA ∨ QC QD
KAPITEL 8. ZÄHLER
79
KV-Diagramm für JC
QC QD \QA QB
KV-Diagramm für KC
01
11
10
QC QD \QA QB
00
0
1
0
01
1
00
x
11
10
01
11
10
00
x
x
x
1
01
x
x
x
x
11
1
1
x
x
10
0
0
JC = QD ∨ QA QB
1
KC = Q C Q D
KV-Diagramm für KD
KV-Diagramm für JD
01
11
10
QC QD \QA QB
00
1
1
1
01
x
QC QD \QA QB
11
00
00
x
10
JD = 1
00
01
11
10
00
x
x
x
x
01
1
1
x
x
11
1
1
1
1
10
x
x
1
KD = 1
Hieraus ergibt sich das folgende Schaltbild des 3-Exzess-Code-Zählers mit 4 JKFlipflops.
Kapitel 9
Einstieg in die Automatentheorie
Nach [3] ...
9.1
Autonomer Automat,
Medwedjew-Automat
9.2
Zustandsdiagramme
9.3
Zustandsfolgetabelle
9.4
Entwurf mit JK- und D-Flip-Flops
80
Moore-,
Mealy
und
Kapitel 10
Ausgewählte Schaltungen
10.1
Schieberegister
Schieberegister sind Schaltwerke, die eine Information taktgesteuert Bit für Bit aufnehmen
und dann wieder abgeben. Mögliche Einsatzgebiete ergeben sich bei Rechenschaltungen
sowie bei der Parallel/Seriell-Umsetzung.
10.1.1
Serielle Ein- und Ausgabe
Im Folgenden ist ein 3-Bit-Schieberegister - aufgebaut aus drei D-Flipflops - gezeigt. Es
besitzt einen seriellen Eingang (E) und einen seriellen Ausgang (Q). Das Schaltzeichen für
das Schieberegister (SRG=„Shift Register (engl.)“) ähnelt dem eines Zählers.
Das zugehörige Zeitablaufdiagramm im nächsten Bild zeigt, wie das Eingangssignal
taktweise aufgenommen und von Flipflop zu Flipflop weitergeschoben wird.
81
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.1.2
82
Serielle und parallele Ein- und Ausgabe
Das folgende Bild zeigt ein Schieberegister - aufgebaut aus SR-Flipflops - mit paralleler
und serieller Daten-Ein- und Ausgabe.
E: Serieller Eingang (aktiv falls Steuersignal U = 0)
Q: Serieller Ausgang
A,B: Parallele Eingang (aktiv falls Steuersignal U = 1)
QA ,QB : Parallele Ausgänge
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.1.3
83
Ringregister
Verbindet man des Ausgang eines Schieberegisters mit seinem Eingang, so erhält man ein
Ringregister, in dem die Informationen im Kreis geschoben werden können.
U = 0: Serieller Schieberegisterbetrieb
U = 1: Ringregisterbetrieb
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.2
10.2.1
84
Frequenzteiler
Begriffe
Frequenzteiler sind Schaltungen, die die Frequenz eines Taktsignals in einem bestimmten Verhältnis hinunterteilen. Wichtige Begriffe sind die Frequenz und das Puls-PausenVerhältnis.
Die Frequenz f ergibt sich aus dem Kehrwert der Periodendauer T :
f=
1
T
Das Puls-Pausen-Verhältnis ist definiert als Verhältnis der Pulsdauer tP uls zur Pausendauer
tP ause . Für ein Taktsignal ist ein Puls-Pausen-Verhältnis von 1 gewünscht, da dann der
Oberwellenanteil (Fourier-Reihenentwicklung) minimal wird.
10.2.2
Teilerverhältnis 1:2n
Asynchrone Frequenzteiler mit einem Teilerverhältnis 1:2n lassen sich einfach durch aneinandergehängte T-Flipflops realisieren. Mit einem Flipflops lässt sich eine Teilung 1:2,
mit zwei Flipflops eine Teilung 1:4 und so weiter realisieren. Wir erkennen bei diesen
Schaltungen sofort eine enge Verwandschaft mit Zählern (siehe Kapitel 8)!
Frequenzteiler 1:2 (f2 = 21 f1 ):
Frequenzteiler 1:4 (f2 = 41 f1 ):
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.2.3
85
Teilerverhältnis 1:3
Das folgende Bild zeigt einen synchronen Zähler, der als synchroner Frequenzteiler mit
einem Teilerverhältnis 1:3 verwendet wird.
10.2.4
Entwurfsverfahren
Aufgrund der engen Verwandtschaft mit Zählern können die dort (Kapitel 8) eingeführten
Entwurfsverfahren verwendet werden.
In der Übung wird dies am Beispiel des synchronen 1:3 Frequenzteiler demonstriert.
Der Frequenzteiler entspricht einem Zähler mit folgender Zählfolge: 00-01-10-00.
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.3
86
Rechenschaltungen
Mit digitalen Schaltungen können auch Rechnungen (Addition, Subtraktion, Multiplikaion
und Division) durchgeführt werden. Wir wollen uns hier auf die Addition und Subtraktion geschränken, da Multiplikation und Division in einfacher Weise auf Addition und
Subtraktion zrückgeführt werden können.
10.3.1
Addierschaltungen
10.3.1.1
Halbaddierer
Ein Halbaddierer kann zwei duale Ziffern (A + B) addieren. Das Ergebnis ist zweistellig (Übertrag U (CP
O =„ Carry-Out Output“) und Summe S). Im Symbol kann statt des
Summenzeichens ( ) auch HA stehen.
Die Wahrheitstabelle lautet:
A B U
0 0 0
0 1 0
1 0 0
1 1 1
Aufbau der Schaltung:
10.3.1.2
S
0
1
1
0
S = Ā ∧ B ∨ A ∧ B̄
U = A∧B
Volladdierer
Ein Volladierer kann drei duale Ziffern (A + B + CI ) addieren, wie dies beim Summieren
von zwei mehrstelligen Dualzahlen benötigt wird. (Neben den gleichwertigen Stellen muss
möglicherweise noch ein Übertrag (CI , „Carry-In Input“) aus der Addition der nächstniederwertigeren Stelle berücksichtigt werden.)
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
CI
0
1
0
1
0
1
0
1
U
0
0
0
1
0
1
1
1
87
S
0
1
1
0
1
0
0
1
Ein Volladdierer kann aus zwei Halbaddierern und einem ODER-Gatter aufgebaut
werden. Die Funktion lässt sich anhand der Wahrheitstabelle einfach belegen.
10.3.1.3
Parallele 4-Bit Addierschaltung
Zur Addition von zwei vierstelligen Dualzahlen werden drei Volladdierer (VA) und ein
Halb-Addierer (HA) benötigt. Die zu addierenden Summanden werden dazu zunächst ein
zwei 4-Bit-Register geschrieben. Das Ergebnisregister muss 5-Stellen besitzen.
Mit steigender Stellenzahl steigt auch die Zahlt der benötigten Volladdierer. Obgleich
bei der Addition alle Stellen parallel verarbeitet werden, steigt die Verarbeitungsdauer mit
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
88
steigender Stellenzahl, da möglicherweise ein serieller Übertrag alle Volladdierer durchlaufen muss!
10.3.1.4
Serielle 4-Bit Addierschaltung
Eine serielle Addierschaltung kann unter Verwendung eines einzigen Volladdierers aufgebaut werden. Zusätzlich werden ein D-Flipflop, zwei 4-Bit-Schieberegister für die Summanden sowie ein 4-Bit-Schieberegister für das Ergebnis benötigt. Der letzte Übertrag
(5. Ergebnisstelle steht nach 4 Taktschritten am Ausgang des D-Flipflops). Die eigentliche Addition läuft taktgesteuert ab und benötigt daher also mehr Zeit als die parallele
Addition.
10.3.2
Subtrahierschaltungen
10.3.2.1
Halbsubtrahierer
Ein Halbsubtrahierer kann eine duale Ziffern (B, Subtrahend) von einer anderen dualen
Ziffer (A, Minuend) abziehen. Das Ergebnis ist zweistellig (Entleihung E = BO („BorrowOut Output“) und Differenz D).
Die Wahrheitstabelle
A B
0 0
0 1
1 0
1 1
Aufbau der Schaltung:
lautet:
E D
0 0
1 1
0 1
0 0
D = Ā ∧ B ∨ A ∧ B̄
E = A ∧ B̄
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.3.2.2
89
Vollsubtrahierer
Ein Vollsubtrahierer kann zum Wert der abzuziehenden Ziffer B (Subtrahend) eine Entleihung (E = BI („Borrow-In Input“)) hinzuaddieren und so den vergrößerten Subtrahenden
vom Minuend A abziehen.
A − (B + BI ) = A − B − BI
Das Ergebnis ist zweistellig (Entleihung E = BO („Borrow-Out Output“) und Differenz
D).
A B BI E D
0 0 0
0 0
1 1
0 0 1
0 1 0
1 1
1 0
0 1 1
1 0 0
0 1
1 0 1
0 0
0 0
1 1 0
1 1
1 1 1
10.3.2.3
4-Bit Subtrahierschaltung
Eine 4-Bit Subtrahierschaltung kann eine (positive) 4-Bit-Dualzahl von einer anderen 4-Bit-Dualzahl abziehen (Die beiden 4-Bit Zahlen können auch als positive 5-BitZweierkomplementzahlen aufgefasst werden, da die 5. Stelle dann ja eine Null enthielte).
Grundsätzlich kann das Ergebnis negativ werden, deshalb hat das Ergebnisregister 5
Stellen. Das Ergebnis erscheint dann als 5-stellige Zweierkomplementzahl.
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.3.2.4
90
Subtrahierschaltung mit Volladdierern
Unter Ausnutzung des Zweierkomplements (siehe Kapitel 2.8.2) kann auch eine 4-Bit Addierschaltung mit Hilfe von 4 Volladdierern aufgebaut werden. Die abzuziehende Zahl
wird hier unter Verwendung von Negationsgliedern und durch die Addition des Wertes 1
invertiert. Für die benötigte Stellenzahl gilt das im Kapitel über das Zweierkomplement
gesagte.
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.3.2.5
91
Addier-Subtrahierwerk
Durch leichte Abwandlung der vorherigen Schaltung kann durch Vorgabe eines Steuersignals S wahlweise addiert oder subtrahiert werden. Hierzu werden die Negationsglieder
durch Exklusiv-ODER-Glieder ersetzt und die Schaltung wie folgt geändert.
S = 0 : Addition
S = 1 : Subtraktion
Wahrheitstabelle der Exklusiv-ODER-Schaltung
S
0
0
1
1
A
0
1
0
1
X
0
1
1
0
Für S = 0 ergibt sich X = A. Für S = 1 ergibt sich X = Ā.
D.h. für S = 1 werden die Bits des Registers invertiert und es wird eine Eins am
CI -Eingang von VA0 hinzuaddiert. Für S = 0 werden die Bits des Registers unverändert
durch das XOR-Gatter geleitet und am CI -Eingang von VA0 wird eine Null hinzuaddiert.
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
10.4
92
Digitale Auswahl- und Verbindungsschaltungen
10.4.1
Multiplexer
Ein Multiplexer gibt ein oder mehrere Eingangssignale in Abhängigkeit von Steuersignalen
an einen oder mehrere Ausgänge weiter.
10.4.1.1
4-Bit-zu-1-Bit-Multiplexer
Ein 4-Bit-zu-1-Bit-Multiplexer wählt über zwei Steuersignale S0 und S1 aus vier Eingangssignalen A − D eines aus, das an den Ausgang Z weitergeleitet wird.
Wahrheitstabelle:
S1
0
0
1
1
Schaltung:
S0
0
1
0
1
Z
A
B
C
D
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
93
Werden die Steuersignal S0 und S1 über einen 2-Bit-Dual-Zähler gesteuert, so liegen
am Ausgang Z nacheinander die Signale A − D an (→ Zeitmultiplex).
10.4.1.2
2x2-Bit-zu-2-Bit-Multiplexer
Ein 2-Bit-zu-2-Bit-Multiplexer wählt über ein Steuersignal S aus 2-mal-2 Eingangssignalen
A1 , A2 bzw. B1 , B2 ein Paar aus, das an die Ausgänge Z1 und Z2 weitergeleitet wird.
Wahrheitstabelle:
S
0
1
Z1
A1
B1
Z2
A2
B2
Schaltung:
10.4.2
Demultiplexer
10.4.2.1
1-Bit-zu-4-Bit-Demultiplexer
Ein 1-Bit-zu-4-Bit-Demultiplexer gibt in Abhängigkeit von zwei Steuersignalen S1 und S0
ein Eingangssignal A an einen der Ausgänge QA bis QB weiter. Alle anderen Ausgänge
führen eine Null.
KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN
94
Wahrheitstabelle:
S1
0
0
1
1
S0
0
1
0
1
QA
E
0
0
0
QB
0
E
0
0
QC
0
0
E
0
QD
0
0
0
E
Schaltung:
Multiplexer und Demultiplexer können im Zusammenspiel dazu verwendet werden über
eine Signalleitung im Zeitmultiplexverfahren verschiedene Übertragungs-Kanäle zu realisieren.
Kapitel 11
Programmierbare Logische Schaltungen
(PLD)
11.1
Einleitung
Programmierbare Logische Schaltungen werden als PLD = „Programmable Logic Device“
bezeichnet.
Schaltalgebraische Funktionen lassen sich (wie bisher dargestellt) durch Verwendung
von einzelnen logischen Gattern realisieren, also z.B. durch Verwendung der drei logischen
Grundfunktionen NOT, AND, OR oder durch Verwendung der abgeleiteten Funktionen
NAND und NOR. Bei komplexen schaltalgebraischen Funktionen lassen sich solche Schaltungen aber platzsparender und mit höherer Schaltgeschwindigkeit unter Verwendung von
programmierbaren ICs aufbauen.
Man unterscheidet programmierbare ICs, die vom Hersteller unter Verwendung spezieller Masken programmiert werden (→ ASICs, „Application specific integrated circuit“)
und programmierbaren ICs, die vom Anwender programmiert werden können (→ „PLD“).
11.2
Grundlagen
Jede schaltalgebraische Funktion kann durch ihre disjunktive Normalform ausgedrückt
werden. Wie wir gesehen haben, handelt es sich dabei um eine zweistufige Realisierung (1.
Stufe: konjunktiv, 2. Stufe: disjunktiv).
Beispiel: PLD mit zwei Eingangsvariablen
Will man in einer PLD jede Schaltfunktion mit zwei Eingangsvariablen realisieren
können, so müssen zunächst vier Vollkonjunktionen programmierbar sein. Anschließend
müssen diese Vollkonjunktionen disjunktiv verknüpfbar sein.
Um die Programmierbarkeit ausdrücken zu können, benötigen wir zunächst eine geeignete Notation:
95
KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD)
96
Die PLD kann dann wie folgt aufgebaut sein:
Die waagerechnten Leitungen führen eine logische Null, falls keine programmierbare
Verbindung mit einem Eingangssignal anliegt. Dies kann durch einen hochohmigen Widerstand gegen Masse (pull down Widerstand) realisiert sein. (Alternativ können die Leitungen auch hochohmigen gegen die Versorgungsspannung geschaltet sein und somit eine
logische Eins führen. Man spricht dann von einem pull up Widerstand).
Mit dieser Schaltung lässt sich jede denkbare diskunktive Normalform mit zwei Variablen realisieren.
Beispiel: Äquivalenzverknüpfung
Funktionstabelle:
KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD)
A
0
0
1
1
B
0
1
0
1
97
Y
1
0
0
1
Die Programmierung besteht also darin, an den richtigen Leitungskreuzungen leitende
Verbindungen herzustellen. Dies kann zum Beispiel bei Schaltungen mit MOS-FETs (Metall Oxyd Semiconductor Feldeffekttransistoren) dadurch geschehen, dass das Gate eines
solchen FET aufgeladen wird und der Kanal des FET leitend wird. Die Gateladung kann
bei einigen Ausführungen entweder durch UV-Licht geslöscht werden (EPLD = „Erasable
PLD“) oder durch elektrische Impulse (EEPLD = „Electrical Erasable PLD“).
Alternativ kann eine Programmierung dadurch erfolgen, dass Verbindungen - durch
durchbrennen von Sicherungen - geeignet getrennt werden. Ein Löschen und Neuprogrammieren ist hier nicht möglich.
11.3
Allgemeine PLD-Schaltung
Eine allgemeine PLD-Schaltung besteht aus einer UND-Matrix und einer ODER-Matrix.
Sowohl UND- als auch ODER-Matrix können programmierbar sein.
Beispiel: 3 Eingänge und 2 Ausgänge
KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD)
Vereinfachte Darstellung durch Verwendung mehradriger Leitungen.
Beispiel:
Q1 = AB̄C ∨ AB C̄
Q2 = AB̄C ∨ ĀB̄ C̄
Programmierte Verbindungen siehe oben.
11.4
Einteilung von PLDs
11.4.1
PAL/GAL Schaltungen
PAL = „Programmable Array Logic“= programierbare Matrix Logik
Eigenschaften:
98
KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD)
99
• UND-Matrix ist vom Anwender programmierbar.
• ODER-Matrix ist fest verdrahtet.
GAL = „Generic rray Logic“(wie PAL, aber elektrisch löschbar)
11.4.2
PROM Schaltungen
PROM = „Programmable Read Only Memory“= programierbarer Nur-Lese-Speicher
Eigenschaften:
• UND-Matrix ist nicht programmierbar.
• ODER-Matrix ist vom Anwender programmierbar.
11.4.3
FPLA Schaltungen
FPLA = „Field Programming Logic Array“= feldprogramierbare Logik-Matrix
Eigenschaften:
• UND-Matrix und ODER-Matrix sind vom Anwender programmierbar.
11.5
Programmierung von PLDs
PLDs lassen sich über den Computer mittels Software und Programmiergerät komfortabel
programmieren.
Die logische Funktion, die in dem Baustein verwirklicht werden soll, kann z.B. in Form
der schaltalgebraischen Gleichung oder Wahrheitstabelle oder als Zeichnung eingegeben
werden.
Nach erfolgter Programmierung wird der PLD-Baustein von der Software auf die richtige Funktionsweise geprüft.
11.5.1
Beispiel: PAL16L8
• UND-Matrix ist vom Anwender programmierbar.
• ODER-Matrix ist fest verdrahtet.
Logikdiagramm des PAL16L8
KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD)
Erläuterungen zum Logikdiagramm
Allgemeines:
• IC mit 20 PINs
100
KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD)
101
• PIN 10: GND (Ground, Masse)
• PIN 20: VCC (Versorgungsspannung)
• max. 16 Eingänge
• max. 8 Ausgänge
• „L“: Low-Active (negierte Ausgänge!)
• PAL → programmierbare UND-Matrix, festverdrahtete ODER-Matrix
Elemente des Logikdiagramms
Eingangsverstärker:
Abschaltbarer negierter Ausgangsverstärker:
Y
(
Ā , falls X = 1
=
hochohmig abgeschlossen, falls X = 0
Beispiel: PIN 18 kann als negierter Ausgang (X=1) oder als Eingang (X=0) verwendet
werden.
Programmierbare UND:
Festverdrahtete ODER:
Besonderheit:
KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD)
102
• Signalleitungen zu den Eingängen sind ohne weitere Beschaltung zunächst auf HighPotential (pull-up-Widerstand), also anders als bei den Schaltungen bisher im PLDKapitel.
• Die Leitungen sind 32-adrig (0 . . . 31).
Beispiel zur PLD-Programmierung:
Funktionstabelle:
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Y
0
0
0
1
1
1
1
1
C\AB
00
01
11
10
0
0
0
1
1
1
0
1
1
1
A
0
0
0
0
1
1
1
1
KV-Diagramm:
Aufgrund des invertierenden Ausgangsverstärkers des PAL16L8 müssen nun die Nullen,
also Ȳ , ausgelesen werden.
Ȳ
11.6
FPGAs
(siehe Vorlesung)
= ĀC̄ ∨ ĀB̄
Kapitel 12
Schaltkreisfamilien
12.1
12.1.1
Eigenschaften digitaler Schaltungen
Allgemeines
Für verschiedene technische Anwendungen existieren verschiedene Schaltkreisfamilien. Zumeist muss bei der Auswahl für eine Realisierung ein Kompromiss zwischen Geschwindigkeit, Leistungsaufnahme, Baugröße, Störsicherheit, Preis etc. gesucht werden. Im folgenden sollen einige wichtige technische Kenngrößen realer digitaler Schaltungen vorgestellt
werden.
12.1.2
Leistungsaufnahme
Digitalschaltungen sind als aktive Schaltungen aus Widerständen, Transistoren, etc. aufgebaut. Diese Bauelemente nehmen elektrische Leistung auf.
Hohe Leistungsaufnahme bedeuten
• Geringe Betriebszeit bei Batterie-/Akku-Betrieb.
• Hohe Verlustwärme (geringere Integrationsdichte möglich).
12.1.3
Pegelbereiche
Die Pegelbereiche geben an in welchen Bereichen der Spannungswerte die Signale als
High und Low interpretiert werden (Eingangsspannungspegel Uin , Ausgangsspannungspegel Uout ).
Beispiel: TTL (Ub = 5 V)
103
KAPITEL 12. SCHALTKREISFAMILIEN
12.1.4
104
Schaltzeiten
Zur Beurteilung der Geschwindigkeit von digitalen Schaltungen haben sich zwei wichtige
Zeiten etabliert: die Signallaufzeit tp und die Signalübergangszeit tT .
12.1.4.1
Signallaufzeit
Die mittlere Signallaufzeit tp (p=propagation) gibt die mittlere Impulsverzögerung zwischen Eingangs- und Ausgangsspannung an. Zur Festlegung der Signallaufzeit wird ein
Bezugspegel UBezug festgelegt.
Beispiel:
tp =
12.1.4.2
tpLH + tpHL
2
Signalübergangszeit
Die mittlere Signalübergangszeit tT (t=transition) gibt die mittlere Steilheit der ansteigenden und abfallenden Flanke des Ausgangssignals an.
KAPITEL 12. SCHALTKREISFAMILIEN
tT =
12.1.5
105
tT LH + tT HL
2
Lastfaktoren
Digitale Schaltungen werden mit bestimmten Spannungen und Strömen gesteuert, die für
vorgeschaltete Elemente eine Belastung darstellen.
Wie stark eine Schaltung ein vorgeschaltetes Element belastet wird durch den Eingangslastfaktor FI (Fan-in) beschrieben. Für eine Standardelement gilt FI = 1. Wie stark
ein Element durch nachfolgende Elemente belastbar ist wird durch den Ausgangslastfaktor
FQ (Fan-out) beschrieben. Für ein zuverlässiges Funktionieren der Schaltung muss sicher
gestellt sein, dass gilt
X
FQ ≥
FI
(12.1)
Beispiel:
Ein Standard-Element habe FQ = 10 und FI = 1. Folgende Schaltung ist damit möglich. Der IC soll die Schaltung dreimal so stark belasten wie ein Standard-Element, es gelte
hier FI = 3.
KAPITEL 12. SCHALTKREISFAMILIEN
12.2
106
Dioden-Transistor-Logik (DTL)
Zum Schaltungsentwurf werden Dioden, Transistoren und Widerstände verwendet.
12.2.1
Passives ODER-Gatter
Die Schaltung beinhaltet zunächst eine Geberschaltung zur Vorgabe der Eingangsspannungen. Die logische Schaltung selbst besteht dann aus zwei Dioden D1 und D2 und
einem Widerstand R.
Bei der Analyse kann von einem vereinfachten Verhalten der Dioden ausgegangen
werden. (Begriffe: PN-Übergang, Raumladungszone, Diffusionsspannung, Flussrichtung,
Sperrrichtung, Kennzeichnung: Ring an Kathode, Anode (Pluspol, nimmt Elektronen auf),
Kathode (Minuspol, gibt Elektroden ab))
Bei zwei Schaltern ergeben sich vier mögliche Signaleingangskombinationen.
1. Fall: A=High=1, B=Low=0
• D1 ist in Durchlassrichtung geschaltet
• D2 sperrt
• → Spannungsabfall an der Diode 0,7 V
• → Spannungsabfall am Widerstand 11,3 V → Q=High=1
2. Fall: A=Low=0, B=High=1
KAPITEL 12. SCHALTKREISFAMILIEN
107
• D2 ist in Durchlassrichtung geschaltet
• D1 sperrt
• → Spannungsabfall an der Diode 0,7 V
• → Spannungsabfall am Widerstand 11,3 V → Q=High=1
3. Fall: A = B=High=1
• D2 und D1 sind in Durchlassrichtung geschaltet
• → Spannungsabfall an den Dioden 0,7 V
• → Spannungsabfall am Widerstand 11,3 V → Q=High=1
4. Fall: A = B=High=0
• kein Stromfluss: UQ = 0 V
→ Q=Low=0
Es ergibt sich also insgesamt das Verhalten eines ODER-Gatters:
A
0
0
1
1
12.2.2
B
0
1
0
1
Q
0
1
1
1
Aktive NICHT-Stufe
Die Schaltung besteht aus einem bipolaren Transistor einem Vorwiderstand RV und dem
Kollektorwiderstand RC .
Bei der Analyse kann von einem vereinfachten Verhalten des Transistors ausgegangen
werden.
KAPITEL 12. SCHALTKREISFAMILIEN
108
Bei einem Schalter in der Geberschaltung ergeben sich zwei mögliche Signaleingangskombinationen.
1. Fall: A=Low=0
• Es fließt kein Strom durch die Basis des Transistors
• Es fließt kein Kollektorstrom und damit auch kein Strom durch RC
• Spannungsabfall an RC ist Null → Q=High=1
2. Fall: A=High=1
• Es fließt ein Strom durch die Basis des Transistors
• Es fließt ein Kollektorstrom (Kollektor-Emitter-Strecke wird niederohmig)
• Spannungsabfall an RC ca. 11,9 V → Q=Low=0
Es ergibt sich also insgesamt das Verhalten eines NICHT-Gatters:
A
0
1
12.2.3
Q
1
0
Aktives NOR-Gatter
Zusammenführung der ODER- und der NICHT-Stufe zu einem aktivem NOR-Gatter:
KAPITEL 12. SCHALTKREISFAMILIEN
12.2.4
109
Passives UND-Gatter
Die logische Schaltung selbst besteht nun aus drei Dioden D1, D2 und D3 und einem
Widerstand R. Damit die Schaltung funktioniert muss noch der Lastwiderstand RLast R
(Eingangswiderstand der nachfolgenden Stufe) berücksichtigt werden.
Bei zwei Schaltern ergeben sich vier mögliche Signaleingangskombinationen.
1. Fall: A = B=High=1
• Stromfluss durch R, D3 und RLast
• Wegen RLast R ist auch der Spannungsabfall an RLast deutlich größer als der
Spannungsabfall an R (An der Diode fallen wieder ca. 0,7 V ab.)
• → Q=High=1
2. Fall: A = B=Low=0
• Stromfluss über D1, D2 und R
• Diodenspannung (D1, D2) ca. 0,7 V
• Durch D3 fließt kein Strom.
• → Q=Low=0
3.+4. Fall: A=Low=0 oder B=Low=0 (andere Variable jeweils Eins)
• Wie im 2. Fall, jedoch ist jeweils nur eine Diode (D1 oder D2) stromdurchflossen.
Es ergibt sich also insgesamt das Verhalten eines UND-Gatters:
A
0
0
1
1
B
0
1
0
1
Q
0
0
0
1
KAPITEL 12. SCHALTKREISFAMILIEN
12.2.5
110
Aktives NAND-Gatter
Zusammenführung der UND- und der NICHT-Stufe zu einem aktivem NAND-Gatter:
12.3
Transistor-Transistor-Logik (TTL)
„TTL-Gatter arbeiten im Prinzip genauso wie DTL-Gatter.“(Tietze/Schenk - Halbleiterschaltungstechnik)
Die Diodenschaltung wird jedoch durch einen Multi-Emitter-Transistor ersetzt.
NAND Standard-TTL-Bauelement
Vorteil des Transistors gegenüber den Dioden:
• Kleinerer Aufbau bei integrierten Schaltungen
• Der Transistor ist nie gesperrt. Entweder ist er im Normalbetrieb durchgesteuert
(Stromfluss von der Basis zum Emitter) oder er ist im Inversbetrieb (Stromfluss
von der Basis zum Kollektor). Es fließt somit also immer ein Basisstrom und die
Basisladung muss nie ausgeräumt werden. Damit ist es schnelles Umschalten möglich!
In der TTL-Schaltkreisfamilie gibt es Unterfamilien für verringerte Leistungsaufnahme
(z.B. Low-Power-Schottky-TTL) oder verringerte Impulsverzögerungszeit (Fast-TTL).
KAPITEL 12. SCHALTKREISFAMILIEN
12.4
12.4.1
111
MOS-Schaltungen
Einführung
Bei CMOS (Complementary MOS)- Schaltungen werden selbstsperrende P- und N-Kanal
MOS FETs verwendet (MOS = Metal Oxid Semiconductor, FET=Feld-Effekt Transistor)
Beim N-Kanal-MOS-FET führt eine positive Gate-Source-Spannung bei geeigneter Beschaltung zu einem positivem Drain-Strom (Drain-Source-Strecke wird leitfähig).
Beim P-Kanal-MOS-FET führt eine negative Gate-Source-Spannung führt zu negativem Drain-Strom (Drain-Source-Strecke wird leitfähig).
CMOS Eigenschaften:
• Gut miniaturisierbar (Es werden nur Transistoren verwendet)
• Geringe statische Leistungsaufnahme (kaum Stromfluss, da immer ein Transistor
sperrt)
• Mit steigender Frequenz erhöhte Leistungsaufnahme (Umladeströme parasitärer Kapazitäten)
• Leichte Zerstörung der dünnen Oxydschichten durch elektrostatische Entladung (Diodenschutzschaltungen)
KAPITEL 12. SCHALTKREISFAMILIEN
12.4.2
CMOS-Nicht-Stufe
12.4.3
CMOS-NAND-Gatter
112
Kapitel 13
Hardwarebeschreibungssprachen
13.1
VHDL
13.2
Xilinx ISE WEBPACK
(siehe Vorlesung)
113
Anhang A
Code-Tabellen
Codes zur Darstellung dezimaler Ziffern
5
6
7
8
9
8
9
0
1
3
2
7
6
4
5
9
4
5
6
7
8
9
2
3
4
2
3
4
5
6
7
8
9
5
6
7
8
5
6
7
8
9
4
5
6
0
4
4
9
8
6
7
8
8
9
0
2
1
4
3
0
1
3
2
0
1
4
3
0
4
2
8
6
7
7
9
114
1
3
2
0
1
3
2
Reflex-Exz.3
0
1
Tompkins 2
0
1
Tompkins 1
0
1
2
3
O’Brian 2
Glixon
0
1
2
3
4
O’Brian 1
White
0
1
2
3
Petherick
5-3-1-1
2
3
4
5
6
7
8
9
5-2-2-1
0
1
2
3
4
5
6
7
5-4-2-1
0
1
einschrittig
4-2-2-1
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
Jump-at-8
0
1
2
3
4
5
6
7
8
9
Jump-at-2
Muster
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
Exzeß-3
4-Bit
0 0
0 0
0 0
0 0
0 1
0 1
0 1
0 1
1 0
1 0
1 0
1 0
1 1
1 1
1 1
1 1
lexikografisch angeordnet
2-4-2-1
BCD/8-4-2-1
Besonderheit
Wertigkeit
Aiken
A.1
9
5
5
4
3
1
2
9
9
7
8
5
6
8
7
5
6
7
9
8
5
6
9
5
6
8
7
Literaturverzeichnis
[1] Jürgen Reichardt (2011) Lehrbuch Digitaltechnik. Oldenbourg Verlag, München
[2] Klaus Beuth (2006) Digitaltechnik. Vogel Buchverlag, Würzburg
[3] Martin V. Künzli, Marcel Meli (2007), Vom Gatter zu VDHL; Eine Einführung in
die Digitaltechnik. VDF Hochschulverlag der ETH Zürich, Zürich
Weiterführende Literatur (Schaltungen):
[4] U. Tietze, C. Schenk (2010) Halbleiterschaltungstechnik. Springer Verlag, Berlin
Weiterführende Literatur (CPLD, FPGA, VHDL):
[5] Jürgen Reichardt (2009) VHDL Synthese. Oldenbourg Verlag, München
[6] Günter Jorke (2004) Rechnergestützer Entwurf digitaler Schaltungen, Hanser Verlag,
München
[7] Frank Kesel, Ruben Bartholomä (2009), Entwurf von digitalen Schaltungen und Systemen mit HDLs und FPGAs (2. Auflage). Oldenbourg Verlag, München
[8] Andrew Rushton (2011) VHDL for Logic Synthesis. John Wiley & Sons, Chichester
[9] Pong P. Chu (2008) FPGA Prototyping by VHDL Examples, John Wiley & Sons,
Hoboken
115
Herunterladen