Digitaltechnik (#2031) Wintersemester 2007/2008 Kapitel 0 ...
Digitaltechnik (#2031) Wintersemester 2007/2008 Kapitel 0 ...
Digitaltechnik (#2031) Wintersemester 2007/2008 Kapitel 0 ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Dr.-Ing. Ralf Herber<br />
<strong>Digitaltechnik</strong> (<strong>#2031</strong>)<br />
<strong>Wintersemester</strong> <strong>2007</strong>/<strong>2008</strong><br />
<strong>Kapitel</strong> 0<br />
Einführung<br />
� Organisatorisches<br />
� Inhalte der Lehrveranstaltung<br />
� Literatur, Links<br />
Stand:10.10.<strong>2007</strong>
Organisatorisches<br />
� Lehrveranstaltung<br />
� Teilnehmer: 1. Semester Grundstudium Informatik Bachelor<br />
� Vorlesung und Übung (2+1), Praktikum separat<br />
� Unterlagen, Quellen<br />
� Vorlesungsunterlagen, Übungen:<br />
http://www.ite.fh-wiesbaden.de/~herber/<br />
� Prof. Georg Fries: PowerPoint-Folien, Übungen, Klausuren<br />
http://www.ite.fh-wiesbaden.de/~fries/<br />
"<strong>Digitaltechnik</strong> für Informatiker"<br />
� Skript <strong>Digitaltechnik</strong>: http://www.ite.fh-wiesbaden.de/~obermann/<br />
� Klausur<br />
� Prüfungsleistung: Klausur Anfang Februar <strong>2008</strong> (geplant: 6.2.<strong>2008</strong>)<br />
� Ansprechpartner:<br />
� Ralf Herber (ralf.herber@t-systems.com)<br />
� Prof. Herbert Schneider-Obermann:<br />
� Dipl.-Ing. Andreas Grothe (grothe@informatik.fh-wiesbaden.de)<br />
© G. Fries<br />
2
Organisatorisches, Termine<br />
� Vorlesung Mi, 07:45 - 09:15 (Herber)<br />
� Übungen Mi, 09:30 – 11:00 und 11:15 – 12:45 (Herber)<br />
� Praktikum siehe Aushang (Grothe, Thoss)<br />
© G. Fries<br />
3
Organisatorisches, Termine<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
17.10.<strong>2007</strong><br />
24.10.<strong>2007</strong><br />
31.10.<strong>2007</strong><br />
07.11.<strong>2007</strong><br />
14.11.<strong>2007</strong><br />
21.11.<strong>2007</strong><br />
28.11.<strong>2007</strong><br />
05.12.<strong>2007</strong><br />
12.12.<strong>2007</strong><br />
19.12.<strong>2007</strong><br />
09.01.<strong>2008</strong><br />
16.01.<strong>2008</strong><br />
23.01.<strong>2008</strong><br />
30.01.<strong>2008</strong><br />
06.02.<strong>2008</strong><br />
Vorlesung<br />
07:45 - 09:15<br />
Raum AUDIMAX<br />
Vorlesung Start<br />
Weihnachtspause 24.12.<strong>2007</strong> - 04.01.<strong>2008</strong><br />
entfällt<br />
Vorlesung/<br />
Fragestunde<br />
Klausur<br />
© G. Fries<br />
Übung<br />
09:30 – 11:00<br />
Raum A 112<br />
A1<br />
B1<br />
A2<br />
B2<br />
A3<br />
B3<br />
A4<br />
B4<br />
A5<br />
B5<br />
-<br />
A6<br />
B6<br />
A7 und B7<br />
Fragestunde<br />
-<br />
Übung<br />
11:15 – 12:45<br />
Raum A 112<br />
C1<br />
D1<br />
C2<br />
D2<br />
C3<br />
D3<br />
C4<br />
D4<br />
C5<br />
D5<br />
C6<br />
D6<br />
C7 und D7<br />
Fragestunde<br />
4
Inhalte<br />
1. Einführung<br />
Inhalte, Digitale Systeme, Historie, Applikation<br />
2. Zahlensysteme<br />
Polyadische Systeme, Hexadezimalsystem, Dualsystem, Festkomma-Arithmetik<br />
3. Elektrotechnische Grundlagen<br />
Strom, Spannung, Leistung, Passive Bauelemente<br />
4. Schaltalgebra (Boolesche Algebra)<br />
Definitionen, Schaltfunktionen, Theoreme, Minimierung, KV-Diagramm<br />
5. Kombinatorische Schaltungen<br />
Codes, Codeumsetzer, Multiplexer, Demultiplexer, Addierer,<br />
Analyse, Entwurf und Beschreibung von Schaltnetzen<br />
6. Sequentielle Logik<br />
Flip-Flops, Schieberegister<br />
7. Programmierbare Logik<br />
PLD, CPLD<br />
8. Systematische Beschreibung von Schaltwerken<br />
Moore/Mealy<br />
9. Übungen<br />
© G. Fries<br />
5
Literatur<br />
� Elektrotechnik<br />
� Lunze, Klaus: Einführung in die<br />
Elektrotechnik, Hüthig<br />
� Schneider-Obermann: Basiswissen der<br />
Elektro-, Digital- und Informationstechnik<br />
(Erscheint im Oktober 2006), Vieweg<br />
� <strong>Digitaltechnik</strong><br />
� K. Urbanski, R. Woitowitz: <strong>Digitaltechnik</strong>, 4.<br />
Aufl. 2004, Springer,<br />
EUR 39,95<br />
� J. Borgmeyer: „Grundlagen der <strong>Digitaltechnik</strong>“,<br />
2. Aufl. 2001, Hanser,<br />
EUR 24,90<br />
� J. Wakerly: „Digital Design“, 3 Aufl. 2000,<br />
Prentice Hall, mit Xilinx Student- Edition<br />
Software, ~ Euro 90<br />
� H. Bremer: „<strong>Digitaltechnik</strong> interaktiv!“, 1998,<br />
Springer, mit Design Lab Software,<br />
EUR 27,95<br />
� Schauen Sie in unsere Bibliothek!<br />
© G. Fries<br />
6
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Dr.-Ing. Ralf Herber<br />
<strong>Kapitel</strong> 1<br />
Einführung<br />
� Digitale Systeme<br />
Stand:14.09.2005
Analog versus Digital<br />
� Physikalische Größe<br />
� Temperatur, Geschwindigkeit, elektrische Spannung<br />
� Quantität<br />
� Menge bzw. Größe wird gemessen, aufgezeichnet oder verarbeitet<br />
� Analog<br />
� Tachometer, Thermometer, Drehspulinstrument<br />
� Variation in einem kontinuierlichen Bereich, kontinuierliche Anzeige<br />
� Theoretisch große Genauigkeit<br />
� Problem Ablesefehler, z.B. Parallaxefehler bei Zeigerinstrument<br />
� Digital<br />
� Nicht in proportionalen Mengen, sondern quantisiert<br />
� Diskrete Schritte, Digitaluhr: Stunden-Minuten-Sekunden<br />
© G. Fries<br />
12:34:23<br />
� Anzeige nicht mit Zeiger, sondern mit Symbolen: „Digits“ (Ziffern)<br />
8
x( t)<br />
x( Δt)<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
Wert- und Zeitdiskret<br />
wert- und zeitkontinuierlich<br />
wert- und zeitdiskret, „gerastert“<br />
t<br />
Δt<br />
© G. Fries<br />
Analoge Größe:<br />
Jedem Messwert x(t) (z.B.<br />
Temperatur) ist für jeden Zeitpunkt t<br />
ein eigener Signalwert zugeordnet,<br />
z.B. ein Spannungswert u(t)<br />
Digitale Größe<br />
Im digitalen Fall wird jeweils einem<br />
Bereich der Messgröße ein<br />
gemeinsamer Signalwert<br />
zugeordnet. (Quantisierung)<br />
Eine digitale Größe kann<br />
wertdiskret und zeitkontinuierlich<br />
oder<br />
wertdiskret und zeitdiskret sein.<br />
9
Beispiele Digitaler Systeme<br />
Photo, Bild<br />
Video<br />
Audio<br />
Auto<br />
(Vergaser)<br />
Telefon<br />
Analog<br />
Filmemulsion<br />
Kodak Ektachrome<br />
25 ISO<br />
VHS, S-VHS<br />
Analoge Schallplatten<br />
und Röhrenverstärker<br />
= Audiophil ?<br />
Analog und<br />
mechanisch<br />
Analoges Telefon<br />
Digital<br />
Digitale Kameras 8 Mio Pixel,<br />
Digitale Signalverarbeitung:<br />
JPEG => Kompression auf 5%<br />
möglich<br />
DVD codiert in MPEG-2<br />
Double-sided 4 Std. Video<br />
CD: 73 Minuten, 16 bit Audio, MP3<br />
Hifi-Freaks: Teure Wandlersysteme<br />
und geschirmte Kabel<br />
Embedded Systems im Auto<br />
Automechaniker = <strong>Digitaltechnik</strong>er?<br />
ISDN, Voice over IP<br />
© G. Fries<br />
10
Digitale Techniken<br />
� Vorteile<br />
� Exakte Reproduzierbarkeit, ohne Qualitätsverlust kopierbar<br />
� Einfache Informationsspeicherung<br />
� Wenig störanfällig, Fehler teilweise korrigierbar<br />
� Programmierbarkeit auf Digitalrechnern, d.h. keine Spezialhardware<br />
erforderlich, sondern Standardlösung plus Software<br />
� Hohe Integrationsdichte möglich, kleine preiswerte Gehäuse<br />
� Erweiterbarkeit und Skalierbarkeit<br />
� Hohe Geschwindigkeit<br />
� Nachteile<br />
� Die Realität ist analog!<br />
� Umwandlung in digitale/analoge Signale<br />
� Analog/Digital-Wandler und Digital/Analog-Wandler<br />
� Zeit für Wandlung, Schaltungsaufwand<br />
© G. Fries<br />
11
Digitales System<br />
Mikrofon<br />
Analog / Digital - Wandler<br />
Digitale Signalverarbeitung<br />
Übertragung<br />
Speicherung<br />
Digital / Analog - Wandler<br />
Lautsprecher<br />
© G. Fries<br />
12
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Dr.-Ing. Ralf Herber<br />
<strong>Digitaltechnik</strong><br />
<strong>Kapitel</strong> 2. Zahlensysteme<br />
� Polyadische Zahlensysteme<br />
� Dualsystem, Hexadezimalsystem<br />
� Umrechnung zwischen den Systemen<br />
� Substitution, Summation, Divisionsmethode<br />
� Festkomma-Arithmetik im Dualsystem<br />
� Addition, Subtraktion<br />
� Darstellung vorzeichenbehafteter Zahlen<br />
� Vorzeichen-Betrags-Darstellung, Zweier-Komplement<br />
Stand: 30.09.2002
Polyadische Zahlensysteme<br />
� Zahlensysteme<br />
� Art der Darstellung von Zahlen mit Hilfe eines Bildungsgesetzes und<br />
eines begrenzten Zeichenvorrats<br />
� Zeichenvorrat: Menge der vereinbarten Zeichen<br />
� Stellenwertsysteme<br />
� Jede Stelle s der Zahl z besitzt einen Ziffernwert z s und ein Gewicht w s<br />
N−1<br />
∑<br />
z = z ⋅w<br />
s=− M<br />
s s<br />
N, M = Anzahl der Stellen vor bzw. nach dem Radixpunkt<br />
� Polyadische Zahlensysteme<br />
� Die Wertigkeit ws erhöht sich von rechts nach links mit fortlaufender<br />
Potenz einer ganzzahligen Basis B<br />
N−1<br />
z = z ⋅ B<br />
=<br />
∑<br />
s=− M<br />
s<br />
s<br />
B = 10 : Dezimalsystem, z.B 18, 75 = 1⋅ 10 + 8 ⋅ 10 + 7 ⋅ 10 + 5 ⋅10<br />
B = 16 : Hexadezimalsysten<br />
B<br />
2<br />
: Dualsystem<br />
© G. Fries<br />
1 0 −1 −2<br />
14
Dualsystem, Hexadezimalsystem<br />
� Binärsysteme<br />
� „Binary“: zweiwertig; Zahlensystem mit einem Vorrat von nur 2 Zeichen<br />
� Binäre Informationseinheit „binary digit“ = 1 Bit<br />
� <strong>Digitaltechnik</strong> 2 Zustände: 0 / 1, Schalter auf / zu, Pegel Low / High<br />
� Dualsystem<br />
� Polyadisches System mit Basis B = 2, auch „natürliches Binärsystem“<br />
Zeichenvorrat z ∈ { 0, 1}<br />
i<br />
18, 75 = 10010, 11 = 1 ⋅ 2 + 0 ⋅ 2 + 0 ⋅ 2 + 1⋅ 2 + 0 ⋅ 2 + 1⋅ 2 + 1 ⋅ 2<br />
10 2<br />
� Hexadezimalsystem<br />
Basis B = 16 und z ∈ { 0, 1,.... 9,A,B,C,D,E,F}<br />
i<br />
18, 75 = 12,C = 1 ⋅ 16 + 2 ⋅ 16 + 12 ⋅16<br />
10 16<br />
� Binäres Dezimalsystem<br />
4 3 2 1 0 -1 -2<br />
1 0 −1<br />
� Binär codierte Dezimalzahlen (BCD)<br />
� Zusammenfassen von 4 Bit zu einem (Binär)-Wort<br />
� 759 10 = 0111 0101 1001 BCD , 10 der 16 möglichen Worte werden benötigt<br />
� Viele Möglichkeiten zur Codierung der Worte (vgl. <strong>Kapitel</strong> Codes)<br />
© G. Fries<br />
15
Zahlenwerte in verschiedenen Systemen<br />
Dezimal<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
Binär<br />
0<br />
1<br />
10<br />
11<br />
100<br />
101<br />
110<br />
111<br />
1000<br />
1001<br />
1010<br />
1011<br />
1100<br />
1101<br />
1110<br />
1111<br />
Hexadezimal<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
A<br />
B<br />
C<br />
D<br />
E<br />
F<br />
4 Bit<br />
0000<br />
0001<br />
0010<br />
0011<br />
0100<br />
0101<br />
0110<br />
0111<br />
1000<br />
1001<br />
1010<br />
1011<br />
1100<br />
1101<br />
1110<br />
1111<br />
© G. Fries<br />
Oktal<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
3 Bit<br />
000<br />
001<br />
010<br />
011<br />
100<br />
101<br />
110<br />
111<br />
BCD<br />
0000 0000<br />
0000 0001<br />
0000 0010<br />
0000 0011<br />
0000 0100<br />
0000 0101<br />
0000 0110<br />
0000 0111<br />
0000 1000<br />
0000 1001<br />
0001 0000<br />
0001 0001<br />
0001 0010<br />
0001 0011<br />
0001 0100<br />
0001 0101<br />
16
Umrechnung: Substitution<br />
� Substitution<br />
� Umrechnung zwischen Systemen mit Basis B = 2 j ; d.h. B = 2,4,8,16, ...<br />
� Mehrere Ziffern werden zusammengefasst und durch eine neue Ziffer<br />
ersetzt; d.h. substituiert – und umgekehrt!<br />
� Binär zu Hexadezimal<br />
101001100101 = 1010 0110 0101 = A65<br />
� Binär zu Oktal<br />
2 2 16<br />
10101101111011111 = 0001 0101 1011 1101 1111 = 15BDF<br />
2 2 16<br />
101001100101 = 101 001 100 101 = 5145<br />
2 2 8<br />
10101101111011111 = 010 101 101 111 011 111 = 255737<br />
2 2 8<br />
� Hexadezimal zu Binär<br />
A3F = 1010 0011 1111 = 101000111111<br />
16 2 2<br />
� Oktal zu Binär<br />
5077 = 101 000 111 111 = 101000111111<br />
8 2 2<br />
© G. Fries<br />
17
Umrechnung: Summation<br />
� Summation<br />
� Umrechnung von anderen Systemen in das Dezimalsystem<br />
� Binär zu Dezimal<br />
110111012 = 1⋅ 128 + 1⋅ 64 + 0 ⋅ 32 + 1⋅ 16 + 1⋅ 8 + 1⋅ 4 + 0 ⋅ 2 + 1⋅ 1 = 22110<br />
� Oktal zu Dezimal<br />
12348 = 1⋅ 512 + 2 ⋅ 64 + 3 ⋅ 8 + 4 ⋅ 1 = 66810<br />
� Hexadezimal zu Dezimal<br />
C0DE = 12 ⋅ 4096 + 0 ⋅ 256 + 13 ⋅ 16 + 14 ⋅ 1 = 49374<br />
16 10<br />
� Umrechnung vom Dezimalsystem?<br />
� Divisionsmethode<br />
© G. Fries<br />
18
Umrechnung: vom Dezimalsystem<br />
Start<br />
Div 2<br />
Quotient Q i<br />
Rest R i<br />
Q i =0? nein<br />
ja<br />
Zahl ergibt<br />
sich aus R i<br />
Ende<br />
Beispiel:<br />
Umrechnung von 92 10 ins Dualsystem:<br />
Qi Ri zi 92 : 2 = 46 + 0,<br />
z<br />
46 : 2 = 23 + 0,<br />
23 : 2 = 11 + 1,<br />
11 : 2 = 5 + 1,<br />
5 : 2 = 2 + 1,<br />
2 : 2 = 1 + 0,<br />
1 : 2 = 0 + 1,<br />
92<br />
© G. Fries<br />
= 1011100<br />
10 2<br />
z<br />
z<br />
z<br />
z<br />
z<br />
z<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
=<br />
=<br />
= 1<br />
= 1<br />
= 1<br />
=<br />
0<br />
0<br />
0<br />
= 1<br />
LSB!<br />
MSB<br />
MSB LSB<br />
most significant bit least significant bit<br />
höchste Wertigkeit geringste Wertigkeit<br />
19
Allgemeine Divisionsmethode<br />
� Ausgangspunkt Radixschreibweise<br />
N−1<br />
∑<br />
z = z ⋅ B = z ⋅ B + z ⋅ B + ... + z ⋅ B + z ⋅ B +<br />
s=− M<br />
� Ganzzahliger Anteil<br />
s N−1 N−2<br />
1 0<br />
s N−1 N−2<br />
1 0<br />
+ z ⋅ B + z ⋅ B + ... + z ⋅ B + z ⋅ B<br />
−1 −2 − M + 1<br />
−M<br />
−1 −2 − M+ 1<br />
−M<br />
� Ausklammern der Basis B führt auf Hornerschema<br />
z = ((...(( z ⋅ B + z ) ⋅ B + z ) ⋅ B + ...) ⋅ B + z ) ⋅ B + z +<br />
� Division durch Zielbasis B ergibt Quotient Q i und Rest R i<br />
� Divisionsrest R i entspricht einer Ziffer z i im Zielsystem<br />
� Nachkomma Anteil<br />
N−1 N−2 N−3<br />
1<br />
+ B ⋅ ( z + B ⋅ ( z + ... + B ⋅ ( z + B ⋅ z )...))<br />
−1 −1<br />
−1<br />
−1<br />
−1 −2 − M+ 1<br />
−M<br />
� Multiplikation mit Zielbasis B ergibt gebrochene Zahl<br />
� Vorkommazahl entspricht einer Ziffer z j im Zielsystem<br />
© G. Fries<br />
0<br />
20
Beispiel: Umrechnung 39,375 10 ins Dualsystem<br />
� Ganzzahliger Anteil<br />
39 : 2 = 19 + 1,<br />
19 : 2 = 9 + 1,<br />
9 : 2 = 4 + 1,<br />
4 : 2 = 2 + 0,<br />
2 : 2 = 1 + 0,<br />
z<br />
z<br />
z<br />
z<br />
z<br />
0<br />
1<br />
2<br />
3<br />
4<br />
= 1<br />
= 1<br />
= 1<br />
=<br />
=<br />
LSB 1 : 2 = 0 + 1,<br />
z = 1 = > 100111<br />
� Nachkomma Anteil<br />
0, 375 ⋅ 2 = 0, 75 + Übertrag 0,<br />
z = 0<br />
0, 75 ⋅ 2 = 0, 5 + Übertrag 1,<br />
5<br />
0<br />
0<br />
−1<br />
−2<br />
−3<br />
= 1<br />
0, 5 ⋅ 2 = 0 + Übertrag 1,<br />
z = 1 = > 011<br />
39, 375 = 100111, 011<br />
10 2<br />
z<br />
© G. Fries<br />
21
Festkomma-Arithmetik: Duale Addition<br />
� Festkomma-Arithmetik<br />
� Komma an fest vereinbarter Position innerhalb einer Dualzahl mit<br />
konstanter Stellenzahl bzw. Wortlänge N<br />
� Duale Addition (erfolgt stellenweise)<br />
Stelle s Übertrag aus Ergebnis<br />
Zahl A Zahl B Stelle s −1<br />
Summe Übertrag<br />
0 + 0 + 0 = 0 0<br />
0 + 1 + 0 = 1 0<br />
1 + 0 + 0 = 1 0<br />
1<br />
0<br />
+<br />
+<br />
1<br />
0<br />
+<br />
+<br />
0<br />
1<br />
=<br />
=<br />
0<br />
1<br />
1<br />
0<br />
0 + 1 + 1 = 0 1<br />
1 + 0 + 1 = 0 1<br />
1 + 1 + 1 = 1 1<br />
� Beispiel<br />
� N = 8<br />
Dual Dezimal<br />
0 0 1 0 1 0 0 1 4 1<br />
+ 0 0 0 1 1 0 0 1 + 2 5<br />
11 1 1<br />
0 1 0 0 0 0 1 0 6 6<br />
© G. Fries<br />
� Übertrag (Carry)<br />
� tritt auf, wenn eine<br />
Einzelsumme<br />
größer oder gleich<br />
der Basis B ist<br />
Dual Dezimal<br />
, ,<br />
0 0 1 0 1 0 0 1 10 25<br />
+ 0 0 0 1 1 0 0 1 + 6 25<br />
1 1 1 1<br />
0 1 0 0 0 0 1 0 16 5<br />
, ,<br />
, ,<br />
22
Festkomma-Arithmetik: Duale Subtraktion<br />
� Duale Subtraktion (erfolgt stellenweise)<br />
Stelle s Übertrag aus Ergebnis<br />
Zahl A Zahl B Stelle s −1<br />
Differenz Borrow<br />
0 − 0 − 0 = 0 0<br />
0 − 1 − 0 = 1 1<br />
1 − 0 − 0 = 1 0<br />
1<br />
0<br />
−<br />
−<br />
1<br />
0<br />
−<br />
−<br />
0<br />
1<br />
=<br />
=<br />
0<br />
1<br />
0<br />
1<br />
0 − 1 − 1 = 0 1<br />
1 − 0 − 1 = 0 0<br />
1 − 1 − 1 = 1 1<br />
� Beispiel<br />
� N = 8<br />
Dual Dezimal<br />
0 0 1 0 1 0 0 1 4 1<br />
−0 0 0 1 1 0 0 1<br />
1<br />
− 2 5<br />
0 0 0 1 0 0 0 0 1 6<br />
� Digitale Rechenanlagen<br />
© G. Fries<br />
� Borrow<br />
� „Entlehnung“<br />
� Wird aus der nächst<br />
höheren Rechenstelle<br />
„geborgt“<br />
Dual<br />
0 0 1 0 1 0, 0 1<br />
−0 0 0 1 1 0, 0 1<br />
1<br />
Dezimal<br />
10, 25<br />
− 6, 25<br />
0 0 0 1 0 0 0 0 4 0<br />
� Nur ein Addierwerk durch Rückführung der Subtraktion auf die Addition<br />
=> Darstellung von negativen Zahlen durch ihr Komplement<br />
,<br />
,<br />
23
Darstellung vorzeichenbehafteter Zahlen<br />
� Vorzeichenbehaftete Zahlen<br />
� Kennzeichnung mit Plus/Minus-Zeichen im Digitalrechner nicht möglich,<br />
daher andere Methoden zur Darstellung:<br />
� Vorzeichen-Betrags-Darstellung, Zweier-Komplement-Darstellung,<br />
(Einer-Komplement-Darstellung, Offset-Darstellung)<br />
� Vorzeichen-Betrags-Darstellung<br />
� Es wird eine Stelle für das Vorzeichen verwendet<br />
� Wichtig: Wortlänge N (Rechenstellen) beachten!<br />
� Beispiel N=4: Positive Zahl: Ziffer „0“ in Vorzeichenstelle, 0011 2 = 3 10<br />
Negative Zahl: Ziffer „1“ in Vorzeichenstelle, 1011 2 = -3 10<br />
� Zahlenbereich bei Vorzeichen-Betrags-Darstellung<br />
� Anzahl A darstellbarer Zahlen in einem System mit Basis B: A = B N<br />
N−1 N−1<br />
� Zahlenbereich z mit Vorzeichen: − B + 1 ≤ z ≤ B −1<br />
N<br />
4<br />
8<br />
10<br />
16<br />
A = 2<br />
16<br />
256<br />
1024 = 1 kBit<br />
65536 = 64 kBit<br />
N (B=2)<br />
Darstellbarer Zahlenbereich z<br />
−7 ≤ z ≤ 7<br />
−127 ≤ z ≤ 127<br />
−511 ≤ z ≤ 511<br />
−32767 ≤ z ≤ 32767<br />
© G. Fries<br />
24
Zweier-Komplement<br />
� Zweier-Komplement-Bildung<br />
� Negative Zahlen –z werden durch ihr Komplement z = C - z dargestellt<br />
� C=2 N = 1 00...00 2 (N Nullen)<br />
� N=4 => C=24 = 1610 = 100002 � Invertieren jeder einzelnen<br />
Stelle von z und<br />
Addition einer „1“<br />
1101<br />
� 4-Bit Zahlenring<br />
� Unsymmetrisch<br />
- 8 bis +7<br />
a − z = a + ( C − z)<br />
− C<br />
= a + z2k<br />
− C<br />
� Subtraktion von C<br />
kann entfallen, damit<br />
ist Subtraktion auf<br />
Addition zurückgeführt!<br />
1100<br />
1011<br />
1110<br />
-4<br />
1010<br />
� Komplement einer positiven Zahl?<br />
-3<br />
-5<br />
© G. Fries<br />
1111<br />
-2<br />
-6<br />
1001<br />
-1<br />
-7<br />
0000<br />
0<br />
-8<br />
1000<br />
2k<br />
1<br />
7<br />
0001<br />
2<br />
6<br />
0111<br />
5<br />
0010<br />
3<br />
4<br />
0110<br />
0011<br />
0100<br />
0101<br />
25
Subtraktion mit Zweier-Komplement<br />
� Komplementbildung (N = 8)<br />
1710 = 000100012 ⇓ invertieren<br />
9910 = 011000112<br />
⇓ invertieren<br />
111011102<br />
+ 1<br />
100111002<br />
+ 1<br />
11101111 = − 17 10011101<br />
= −99<br />
2 10 2 10<br />
� Subtraktion mit Zweier-Komplement (N = 8)<br />
35 + ( − 17) 12 + ( −99)<br />
10 10 10 10<br />
2 2<br />
+ 11101111 + 10011101<br />
1<br />
00100011 00001100<br />
2 2<br />
1 11 1111 111<br />
00010010 = 18 10101001 = ( −87)<br />
� Ignorieren des Carry Bits<br />
2 10 2 10<br />
� ... entspricht der Subtraktion von C = 2 N !<br />
Betrag durch Rück-Komplement-Bildung :<br />
© G. Fries<br />
01010110 + 1 = 01010111<br />
= 87<br />
26
Zahlenbereich Zweier-Komplement<br />
� Darstellbarer Zahlenbereich:<br />
N<br />
4<br />
8<br />
10<br />
16<br />
� N = 8 Bit:<br />
A = 2<br />
16<br />
256<br />
1024 = 1 kBit<br />
65536 = 64 kBit<br />
N (B=2)<br />
Dual<br />
0111 1111<br />
0111 1110<br />
...<br />
0000 0010<br />
0000 0001<br />
0000 0000<br />
1111 1111<br />
1111 1110<br />
...<br />
1000 0001<br />
1000 0000<br />
N −1 N −1<br />
−B ≤ z ≤ B −1<br />
Darstellbarer Zahlenbereich z<br />
−8 ≤ z ≤ 7<br />
−128 ≤ z ≤ 127<br />
−512 ≤ z<br />
z<br />
≤ 511<br />
−32768 ≤ ≤ 32767<br />
© G. Fries<br />
Dezimal<br />
+127<br />
+126<br />
...<br />
2<br />
1<br />
0<br />
-1<br />
-2<br />
...<br />
-127<br />
-128<br />
Hexadezimal<br />
7F<br />
7E<br />
...<br />
02<br />
01<br />
00<br />
FF<br />
FE<br />
...<br />
81<br />
80<br />
27
Bereichsüberschreitung (Overflow)<br />
� Overflow<br />
� Ergebnis liegt außerhalb des Zahlenbereichs<br />
� Nur möglich, wenn beide Operanden gleiches Vorzeichen besitzen<br />
� Erkennen nach folgender Regel:<br />
� Ein Overflow tritt auf, wenn:<br />
- Beide Operanden das gleiche Vorzeichen besitzen<br />
und<br />
- das Ergebnis nicht das Vorzeichen der Operanden besitzt<br />
� Beispiel N = 4 Bit:<br />
5 + 4 − 6 + ( −7)<br />
10 10 10 10<br />
0101 1010<br />
2 2<br />
+ 0100<br />
+ 1001<br />
2 2<br />
Operanden: + 1001 = ( − 7) 1<br />
1 0011 = 3 Operanden: -<br />
2 10 2<br />
Ergebnis: - Ergebnis: +<br />
© G. Fries<br />
10<br />
28
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Dr.-Ing. Ralf Herber<br />
<strong>Digitaltechnik</strong><br />
<strong>Kapitel</strong> 3. Elektrotechnik<br />
� Strom, Spannung, Leistung<br />
� Passive Bauelemente<br />
� Knotenregel<br />
� Maschenregel
Wirkungen der Elektrizität<br />
� Elektrostatische Wirkungen<br />
� Bernstein und Katzenfell<br />
� Kondensatormikrophon, Elektretmikrophon<br />
� Abgasreinigung durch Elektrofilter<br />
� Thermische Wirkungen<br />
� Heizung, Glühlampe (ca. 5 % Lichtausbeute)<br />
� Seebeck-Effekt (�Thermo-Element)<br />
� Peltier-Effekt (�Peltier-Element)<br />
� Magnetische Wirkungen<br />
� Motoren, Antriebe, Rasierapparate, Magnetspeicher<br />
� Chemische Wirkungen<br />
� Akkumulatoren, Galvanisieren<br />
� Optische Wirkungen<br />
� Leuchtdioden, Laser, Photoelektrischer Effekt<br />
© G. Fries<br />
30
Begriffe aus der Elektrotechnik<br />
"Volt, Watt, Ampere und Ohm – ohne mich gibt es keinen Strom"<br />
(Der Elektrolurch von Guru Guru)<br />
� Ladung Q (As = Coulomb)<br />
� Strom I, i (Ampere)<br />
� Spannung U (Volt)<br />
� Leistung P (Watt)<br />
� Arbeit W (Wattsekunden, kWh)<br />
� Widerstand, Leitwert (Ohm, Siemens)<br />
� Kapazität, Kondensator (Farad)<br />
� Spule (Henry)<br />
� Strom- und Spannungsquellen<br />
� Diode<br />
� Transistor<br />
© G. Fries<br />
Elektrische Einheiten<br />
passive<br />
Baulemente<br />
aktive<br />
Baulemente<br />
31
Ladung<br />
� "Die alten Griechen":<br />
Katzenfell und Bernstein ���� Ladungstrennung,<br />
griechisch "Elektron" (νλεκτρον νλεκτρον νλεκτρον) νλεκτρον = "Bernstein"<br />
� Elektrische Ladung Q (Einheit: As = Coulomb)<br />
� Bohrsches Atommodell (Neutronen, Protonen, Elektronen)<br />
� Elementarladung des Elektrons<br />
� Elektron hat negative Ladung, Proton hat positive Ladung (Definition)<br />
� Elektrische Ladungen erzeugen ein elektrisches Feld<br />
� Leiter – Nichtleiter � Beweglichkeit der Elektronen<br />
1 A<br />
© G. Fries<br />
e = 1,<br />
6⋅10<br />
6,25 . 10 18 Elektronen/s<br />
1 Coulomb/s -1 Coulomb/s<br />
−19<br />
As<br />
-1 A<br />
32
Strom = Ladung/Zeit<br />
AC/DC: Australische Rockband, gegründet Ende 1973<br />
� Strom: Ladungsänderung pro Zeit, Einheit Ampere: A<br />
i ( t)<br />
= dQ<br />
/d t<br />
� Gleichstrom (englisch: DC: Direct current)<br />
I = i(<br />
t)<br />
= d Q /d t = const.<br />
� Wechselstrom (AC: Alternating current)<br />
� Typische Stromwerte:<br />
- 30 mA Auslösewerte für Fehlerstromschutzschalter<br />
- 16 A Auslösewerte für Haushaltssicherung<br />
© G. Fries<br />
33
Spannung<br />
� Spannung U (Einheit: Volt)<br />
� Welche Arbeit ist erforderlich, um eine Ladung im<br />
elektrischen Feld zu verschieben? (Potentialdifferenz<br />
zwischen zwei Punkten.)<br />
� Typische Spannungswerte:<br />
- 1,5 V Batteriespannung (z.B.: Monozelle)<br />
- 12 V Autobatterie (Gleichspannung)<br />
- 230 V Netzspannung in Deutschland<br />
(Wechselspannung)<br />
- 110 kV Hochspannung zur Fernversorgung<br />
© G. Fries<br />
34
Der elektrische Widerstand (URI)<br />
I<br />
U R<br />
Widerstand linear (Ohmsches Gesetz)<br />
I = ⋅U<br />
= G ⋅U<br />
R<br />
1<br />
R = Widerstand (Einheit Ohm Ω, 1 Ω= 1V/A)<br />
G = Leitwert (Einheit Siemens, 1 S = 1 Ω -1 )<br />
Widerstände werden als<br />
Drahtwiderstände,<br />
Kohleschicht- oder<br />
Metallschichtwiderstände<br />
hergestellt.<br />
© G. Fries<br />
35
+<br />
-<br />
Der elektrische Stromkreis<br />
I<br />
U Batt<br />
R U<br />
R<br />
Bestandteile des Stromkreises:<br />
� Stromquelle (Batterie, Generator,<br />
Netzgerät)<br />
� Widerstand R<br />
� Schalter S<br />
� Strom<br />
� Spannung<br />
Stromfluss tritt nur auf, wenn der Schalter geschlossen ist.<br />
Richtung der Pfeile für Strom und Spannung ist im Prinzip<br />
beliebig – man muss sich nur an die einmal gewählte<br />
Festlegung halten.<br />
© G. Fries<br />
}<br />
Zählpfeile (s.u.)<br />
36
+<br />
-<br />
Hydraulisches Analogon<br />
I<br />
U Batt<br />
R U<br />
R<br />
Das Verhalten des elektrischen Stromkreises kann mit dem<br />
Analogon des Wasserkreislaufs erläutert werden.<br />
elektrisch<br />
Spannung<br />
Strom<br />
Stromdichte<br />
Pumpe<br />
© G. Fries<br />
Wasserstrom<br />
hydraulisch<br />
Druck<br />
Volumenstrom<br />
Geschwindigkeit<br />
Absperrschieber<br />
Strömungswiderstand<br />
37
Der elektrische Widerstand<br />
� Lineare und nichtlineare Kennlinien<br />
i<br />
b<br />
a<br />
a: lineare Kennlinie<br />
b,c: nichtlineare Kennlinien<br />
c<br />
u<br />
� In den Fällen b und c kann man einen differentiellen Leitwert<br />
bzw. einen differentiellen Widerstand definieren.<br />
d i Δi<br />
g = ≈<br />
du<br />
Δu<br />
� Im Beispiel c gibt es Bereiche mit negativen Leitwerten bzw.<br />
negativen Widerständen (z.B. bei Gasentladungen, Avalanche<br />
Dioden)<br />
d i<br />
g<br />
= < 0<br />
du<br />
© G. Fries<br />
38
Der elektrische Widerstand<br />
Serien- und Parallelschaltung<br />
R<br />
R<br />
=<br />
Reihenschaltung<br />
Allgemein gilt:<br />
R ges =R 1 +R 2 +R 3 …<br />
2R<br />
© G. Fries<br />
G G<br />
=<br />
Parallelschaltung<br />
2G<br />
Allgemein gilt: G ges =G 1 +G 2 +G 3 …<br />
Bei zwei Widerständen R1 und R2 gilt<br />
G<br />
R<br />
ges<br />
ges<br />
1<br />
= G1<br />
+ G2<br />
= +<br />
R1<br />
1<br />
R2<br />
1<br />
=<br />
G<br />
R1<br />
⋅ R2<br />
=<br />
R + R<br />
ges<br />
1<br />
2<br />
R1<br />
+ R<br />
=<br />
R ⋅ R<br />
1<br />
2<br />
2<br />
39
Kirchhoffsche Sätze - Knotenregel<br />
� Das erste Kirchhoffsche Gesetz besagt:<br />
Die Summe der zufließenden Ströme in einem elektrischen<br />
Knotenpunkt ist gleich der Summe der abfließenden Ströme<br />
oder:<br />
Die Summe aller Ströme in einem Knotenpunkt ist Null.<br />
i4<br />
i 1<br />
i 2<br />
i 3<br />
n<br />
∑<br />
ν = 1<br />
� Bepfeilung: Willkürlich aber Achtung mit den Vorzeichen!<br />
(z.B.: i 1 =i 2 =i 3 = + 1 A dann folgt i 4 = - 3 A)<br />
i<br />
ν<br />
=<br />
© G. Fries<br />
0<br />
Quelle: Wikipedia Frühjahr 2005<br />
40
Kirchhoffsche Sätze – Knotenregel<br />
R 1<br />
R7 R5 R 2 R 6<br />
R 3 R i I 3<br />
R 4<br />
+<br />
-<br />
U 0<br />
Jeder Strom taucht einmal<br />
positiv und einmal negativ auf.<br />
Die Gleichung für z.B. K 4 ergibt<br />
sich linear aus den anderen<br />
Knotengleichungen.<br />
Bei einem Netzwerk mit k Knoten gibt es nur k-1 linear<br />
unabhängige Knotengleichungen.<br />
K 2<br />
K 1<br />
K 2<br />
K 3<br />
K 4<br />
© G. Fries<br />
+I<br />
-I<br />
-I 1<br />
+I 1<br />
I 1<br />
I 5<br />
I 2<br />
+I 2<br />
-I 2<br />
I 4<br />
K 1<br />
K 4<br />
-I 3<br />
+I 3<br />
K 3<br />
+I 4<br />
-I 4<br />
-I 5<br />
+I 5<br />
I<br />
=0<br />
=0<br />
=0<br />
=0<br />
41
Kirchhoffsche Sätze – Maschenregel<br />
R 3<br />
R 4<br />
K 4<br />
K 1<br />
K 3<br />
U3 i U<br />
U 4<br />
U 0<br />
+<br />
-<br />
R i<br />
− U + U + U<br />
U − 0 i<br />
3<br />
Maschen sind geschlossene Wege in einem Netzwerk. Einer<br />
Masche wird eine (beliebige) Zählrichtung zugeordnet.<br />
4<br />
=<br />
© G. Fries<br />
0<br />
n<br />
∑<br />
ν = 1<br />
U<br />
ν<br />
=<br />
0<br />
42
Spannungsquelle<br />
Spannungsquellen sind beispielsweise Batterien. Sie liefern<br />
eine Nennausgangsspannung, die allerdings mit steigender<br />
Belastung abnimmt. ���� Innenwiderstand<br />
U 0<br />
+<br />
-<br />
U<br />
R = ∞<br />
U<br />
I<br />
i<br />
U R U U R<br />
0<br />
I ⋅ Ri<br />
I k<br />
R = 0<br />
I<br />
© G. Fries<br />
R<br />
Eine Spannungsquelle heißt<br />
linear, wenn U 0 und R i konstant<br />
sind.<br />
U = U − I ⋅ 0<br />
Ri<br />
43
Stromquelle<br />
Stromquellen sind beispielsweise elektronische Netzgeräte, die<br />
so eingestellt werden, dass sie einen konstanten Strom liefern.<br />
I0 Gi<br />
I0<br />
U<br />
G =<br />
0<br />
U<br />
Ii<br />
Gi<br />
I<br />
I ⋅ Ri<br />
I<br />
U G<br />
G = ∞<br />
I0<br />
I<br />
Eine Stromquelle heißt linear,<br />
wenn I 0 und G i konstant sind.<br />
I = I − 0<br />
© G. Fries<br />
Ii<br />
I<br />
U = −<br />
G<br />
0<br />
i<br />
I<br />
G<br />
i<br />
44
Spannungsquelle � Stromquelle<br />
Spannungsquellen können in Stromquellen umgerechnet<br />
werden – und umgekehrt.<br />
R<br />
U<br />
i<br />
0<br />
= 2Ω<br />
U<br />
I0<br />
Ii<br />
Gi<br />
1<br />
=<br />
2Ω<br />
U 0 =5 V, I k = I 0 = 2,5 A G i =1/2 Ω -1 � Ri=2 Ω, I k = I 0 = 2,5 A<br />
I0<br />
Ii<br />
Ri<br />
= 0,<br />
2Ω<br />
U<br />
⇔<br />
⇔<br />
I k = I 0 = 100 A, U 0 = 20 V<br />
Ri<br />
= 0,<br />
2Ω<br />
U<br />
0<br />
Eine Stromquelle verbraucht im Gegensatz<br />
© G. Fries zur Spannungsquelle immer Leistung.<br />
45<br />
U<br />
U
Zusammenschaltung von Energiequellen<br />
Reihenschaltung von Spannungsquellen<br />
R<br />
R<br />
U 01<br />
i1<br />
U 02<br />
i2<br />
�<br />
© G. Fries<br />
U = U + U<br />
0<br />
01<br />
R = R + R<br />
i<br />
02<br />
i1<br />
i2<br />
Reihenschaltung von Spannungsquellen: Die<br />
Leerlaufspannungen und die Innenwiderstände addieren sich.<br />
Parallelschaltung von Stromquellen<br />
I01<br />
I02<br />
G<br />
Gi1 i2<br />
U<br />
Parallelschaltung von Stromquellen: Die Leerlaufströme und<br />
die Innenleitwerte addieren sich.<br />
�<br />
0<br />
I0<br />
I I +<br />
I<br />
Gi<br />
= 01 02<br />
i1<br />
i2<br />
G G Gi + =<br />
U<br />
46
Die elektrische Leistung<br />
Die Leistung, die im Widerstand in Wärme umgesetzt wird, ist:<br />
P = U·I<br />
I<br />
P = U ⋅ I<br />
Einheiten<br />
U R<br />
[P]=W= V·A=J/s<br />
P = ( R ⋅ I)<br />
⋅ I =<br />
2<br />
U U<br />
P = U ⋅(<br />
) =<br />
R R<br />
I<br />
2<br />
⋅ R<br />
© G. Fries<br />
P<br />
I<br />
P ⋅ R<br />
U<br />
R<br />
Das Ohmsche Rad<br />
P<br />
U<br />
R ⋅ I<br />
U<br />
I<br />
U R<br />
I P<br />
P U ⋅ I<br />
R<br />
U 2<br />
P<br />
2<br />
I ⋅<br />
R<br />
P<br />
2<br />
I<br />
U 2<br />
R<br />
elektor 09/2005<br />
47
Der Wirkungsgrad<br />
Die in einem Widerstand verbrauchte Leistung wird vollständig<br />
in Wärme umgesetzt. Bei einem Heizofen ist dies erwünscht.<br />
Der Wirkungsgrad ist eins! Bei einem Motor oder einer<br />
Lichtquelle hätte man gerne ähnlich hohe Wirkungsgrade!<br />
Für den Wirkungsgrad η gilt mit:<br />
P ab = abgegebene Leistung<br />
P auf = aufgenommene Leistung<br />
P v = Verlustleistung<br />
η =<br />
P<br />
P<br />
ab<br />
auf<br />
=<br />
P<br />
ab<br />
P<br />
+<br />
ab<br />
P<br />
v<br />
Beispiel: Hätte ein Transformator einen Wirkungsgrad von<br />
η= 0,99 würden bei 10 MW Leistung immerhin noch 0,1 MW =<br />
100 kW Verlustleistung auftreten. (entspricht etwas 10 kleinen<br />
Sauna-Öfen!)<br />
© G. Fries<br />
48
Die Leistungsanpassung (1/2)<br />
Welche Leistung wir im Lastwiderstand umgesetzt?<br />
I<br />
Drei Sonderfälle:<br />
U 0<br />
Ri<br />
U R<br />
a) R=0 ���� U=0, P ab =0 und η=0<br />
b) R>>Ri U<br />
I =<br />
R + R<br />
0 ≈<br />
i<br />
U<br />
R<br />
0<br />
P<br />
ab<br />
= I<br />
2<br />
a) R=0 (Kurzschluss)<br />
b) R>>R i (Spannungsanpassung)<br />
c) R=R i (Leistungsanpassung)<br />
2<br />
U 0 ⋅ R =<br />
( R + R )<br />
U<br />
R<br />
Pv 2<br />
= I ⋅ Ri<br />
≈<br />
2<br />
0<br />
2<br />
R<br />
i<br />
i<br />
2<br />
© G. Fries<br />
2<br />
U 0 ⋅ R ≈<br />
R<br />
2 2<br />
2<br />
U 0 U 0 U 0 Ri<br />
Pauf = Pab<br />
+ Pv<br />
≈ + R ( 1 )<br />
2 i = +<br />
R R R R<br />
η<br />
P<br />
P<br />
1<br />
≈ →1,<br />
1+<br />
R / R<br />
ab = für i<br />
auf<br />
i<br />
R
Die Leistungsanpassung (2/2)<br />
Welche Leistung wir im Lastwiderstand umgesetzt?<br />
I<br />
Drei Sonderfälle:<br />
U 0<br />
Ri<br />
c) R=Ri U 0 I =<br />
2R<br />
U<br />
4R<br />
2<br />
0<br />
i<br />
P<br />
i<br />
Ri<br />
U R<br />
P<br />
ab<br />
= I<br />
2<br />
R<br />
i<br />
2<br />
U 0 =<br />
4R<br />
P<br />
auf<br />
i<br />
a) R=0 (Kurzschluss)<br />
b) R>>R i (Spannungsanpassung)<br />
c) R=R i (Leistungsanpassung)<br />
P<br />
v<br />
= I<br />
2<br />
R<br />
i<br />
2<br />
U 0 =<br />
4R<br />
2<br />
U0<br />
Pab<br />
= Pab<br />
+ Pv<br />
= 2<br />
η = = 0,<br />
5<br />
4R<br />
Pauf<br />
d P<br />
d R<br />
=<br />
0,<br />
R<br />
bei<br />
R = R ; P<br />
© G. Fries<br />
i<br />
i<br />
max<br />
2<br />
U 0 =<br />
4R<br />
i<br />
Der Wirkungsgrad ist zwar nur 0,5,<br />
es wird aber die maximale Leistung<br />
übertragen!<br />
50
Der Spannungsteiler / Potentiometer<br />
Ein Spannungsteiler liefert eine kleinere Teilspannung von U 0 .<br />
U 0<br />
U 0<br />
I<br />
I<br />
R1<br />
U1<br />
R2 2 U<br />
R1<br />
U1<br />
R2 2 U<br />
I<br />
=<br />
U<br />
2<br />
U 0<br />
R + R<br />
1<br />
=<br />
R<br />
2<br />
2<br />
⋅ I<br />
= U<br />
0<br />
R<br />
1<br />
© G. Fries<br />
R<br />
+<br />
2<br />
R<br />
2<br />
Spannungsteilerregel<br />
Ein Potentiometer liefert als<br />
Ausgangsspannung einen Wert<br />
zwischen 0 und U 0 . (im unbelasteten Fall)<br />
Potentiometer werden linear und<br />
logarithmisch angeboten. Die<br />
logarithmische Ausführung wird für<br />
Laustärkeregelung genutzt.<br />
51
Die Wheatstonesche Brücke<br />
Brückenschaltung werden häufig eingesetzt. Die<br />
Wheatstonebrücke ist die Grundform. Man nennt die Brücke<br />
"abgeglichen", wenn der Brückenstrom I 0 =0 ist.<br />
I<br />
R1<br />
R0<br />
R2<br />
R3 4 R<br />
I0<br />
R 1 =<br />
U<br />
Anwendungen der Brückenschaltung sind bei empfindlichen<br />
Messverfahren und zur Widerstandsbestimmung: Ein<br />
empfindliches Messinstrument für R0 zeigt an, ob die Brücke<br />
abgeglichen ist. Der gesuchte Widerstand (z.B. an Stelle von<br />
R1 ) ist dann gegeben durch R2<br />
Rx = ⋅ R3<br />
R<br />
R<br />
3<br />
4<br />
© G. Fries<br />
R<br />
R<br />
2<br />
4<br />
oder<br />
R 1 =<br />
R<br />
2<br />
R<br />
R<br />
3<br />
4<br />
52
53<br />
© G. Fries<br />
Die Stern-Dreieck-Transformation<br />
Die Umwandlung von Stern- in Dreieckschaltung und<br />
umgekehrt ist hilfreich bei der Analyse von verzwickten<br />
Schaltungen.<br />
23<br />
13<br />
12<br />
23<br />
13<br />
12<br />
2<br />
1<br />
)<br />
(<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
+<br />
=<br />
+<br />
1<br />
2<br />
3<br />
1<br />
2<br />
3<br />
1<br />
R<br />
2<br />
R 3<br />
R<br />
12<br />
R 13<br />
R<br />
23<br />
R<br />
23<br />
13<br />
12<br />
23<br />
12<br />
13<br />
3<br />
1<br />
)<br />
(<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
+<br />
=<br />
+<br />
23<br />
13<br />
12<br />
13<br />
12<br />
23<br />
3<br />
2<br />
)<br />
(<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
+<br />
=<br />
+<br />
23<br />
13<br />
12<br />
13<br />
12<br />
1<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
=<br />
23<br />
13<br />
12<br />
13<br />
12<br />
2<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
=<br />
23<br />
13<br />
12<br />
23<br />
13<br />
3<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
=<br />
3<br />
3<br />
2<br />
3<br />
1<br />
2<br />
1<br />
12<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
=<br />
2<br />
3<br />
2<br />
3<br />
1<br />
2<br />
1<br />
13<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
=<br />
1<br />
3<br />
2<br />
3<br />
1<br />
2<br />
1<br />
23<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
+<br />
+<br />
=
Der Würfel aus Widerständen<br />
Bestimmen Sie den Widerstand, der bei einem Würfel aus<br />
Widerständen von Ecke zu Ecke gemessen wird<br />
a) für alle R = 1 Ω<br />
b) für R= allgemein<br />
R=?<br />
© G. Fries<br />
54
Der Kondensator<br />
Ein Kondensator ist im strengen Sinne nur bei<br />
Wechselstrombetrachtungen sinnvoll einzuführen.<br />
Allerdings: Es gibt ihn mehrfach, ja dutzendfach auf jeder<br />
Rechner-Platine (Motherboard).<br />
Warum?<br />
i(t)<br />
u(t)<br />
C<br />
d u(<br />
t)<br />
i(<br />
t)<br />
= C<br />
d t<br />
t<br />
1<br />
u( t)<br />
= i(<br />
τ ) dτ<br />
C<br />
Die Spannung am Kondensator muss<br />
stetig verlaufen, sie kann sich nicht<br />
sprungförmig ändern.<br />
∫ ∞<br />
−<br />
Anwendung bei Netzteilen, zur Glättung der Stromversorgung<br />
auf Platinen (Abblock-Kondensatoren).<br />
© G. Fries<br />
Drehko<br />
55
u(t)<br />
Die Spule<br />
Die Spule (Induktivität) wird meist aus mehreren Windungen<br />
Kupferdraht mit oder ohne Kern hergestellt.<br />
i(t)<br />
L<br />
d i(<br />
t)<br />
u(<br />
t)<br />
= L<br />
d t<br />
1<br />
i( t)<br />
= u(<br />
τ ) dτ<br />
L<br />
t<br />
∫ ∞<br />
−<br />
Der Strom durch die Induktivität muss stetig verlaufen, er kann<br />
sich nicht sprungförmig ändern.<br />
Anwendung bei Schalt-Netzteilen zur Hochfrequenzfilterung.<br />
© G. Fries<br />
56
Der Transistor<br />
Basis<br />
© G. Fries<br />
Kollektor<br />
Emitter<br />
57
Der Transistor<br />
Der Transistor ist ein aktives Bauelement, das als<br />
stromgesteuerte Stromquelle beschrieben werden kann:<br />
Ein kleiner Basis-Strom steuert den größeren Kollektor-Emitter-<br />
Strom.<br />
Für Betrachtungen bezüglich der Schaltfähigkeit lässt sich der<br />
Transistor jedoch stark vereinfachen.<br />
Basis<br />
u ein<br />
+<br />
R<br />
Kollektor<br />
Emitter<br />
u aus<br />
u ein (t)<br />
u aus (t)<br />
© G. Fries<br />
Mechanisches Modell:<br />
Ein kleiner Strom<br />
steuert einen größeren<br />
t<br />
t<br />
58
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Dr.-Ing. Ralf Herber<br />
Elektrotechnik / <strong>Digitaltechnik</strong><br />
<strong>Kapitel</strong> 4. Schaltalgebra<br />
� Definitionen zur Schaltalgebra<br />
� Grundverknüpfungen, zusammengesetzte Verknüpfungen<br />
� Verknüpfungsfunktionen mit 2 Schaltvariablen<br />
� Axiome und Theoreme<br />
� Vorrang- und Klammerregeln<br />
� Minterme und Maxterme<br />
� Konjunktive und Disjunktive Normalform<br />
� Minimierung von Schaltfunktionen, KV-Diagramme<br />
� Schaltungsvereinfachung, NOR- und NAND-Technik<br />
Stand: 12.10.2006
Definitionen zur Schaltalgebra<br />
� Boolesche Algebra<br />
� Algebra der Logik, 1847 G. Boole<br />
� Mathematisches Erfassen von logischen Zusammenhängen<br />
� Anwendung auf Schaltungen mit Relais, 1938 C. E. Shannon<br />
� Berechnung und Vereinfachung von logischen Schaltungen<br />
� Schaltvariable<br />
� Algebra: Konstanten und Variablen mit unendlichem Wertebereich<br />
� Schaltvariable: Endlicher Wertebereich<br />
� Binäre Schaltvariable: {0,1}<br />
� Schaltfunktion<br />
� Funktion mit binären Schaltvariablen als Argument<br />
� Boolesche Verknüpfung<br />
� Darstellung einer Schaltfunktion mittels Operatorsymbol<br />
� Schaltglied<br />
� Digitale Schaltung, die bool. Verknüpfung von Schaltvariablen realisiert<br />
© G. Fries<br />
60
Repräsentation von binären Zuständen<br />
Technologie<br />
Relais Logik<br />
Complementary Metal-Oxide<br />
Semiconductor (CMOS) Logik<br />
Transistor-Transistor Logik (TTL)<br />
Glasfaser<br />
Dynamischer Speicher<br />
Magnetisches Tape oder Disk<br />
Compact Disc (CD)<br />
Re-Writeable Compact Disc<br />
Zustand repräsentiert durch:<br />
Fluss in Richtung<br />
„Nord“<br />
Dye im<br />
kristallisierten<br />
Zustand<br />
© G. Fries<br />
0<br />
Schaltkreis<br />
offen<br />
0 - 1,5 V<br />
0 - 0,8 V<br />
Licht aus<br />
Kapazität<br />
entladen<br />
kein Pit<br />
1<br />
Schaltkreis<br />
geschlossen<br />
3,5 - 5,0 V<br />
2,0 - 5,0 V<br />
Licht ein<br />
Kapazität<br />
aufgeladen<br />
Fluss in Richtung<br />
„Süd“<br />
Pit<br />
Dye in nicht<br />
kristallisiertem<br />
Zustand<br />
61
Darstellung boolescher Verknüpfungen<br />
� Schaltfunktion<br />
Y = f ( A, B) = A ∧ B<br />
A, B = Eingangsvariablen<br />
Y<br />
=<br />
∧ =<br />
Ausgangsvariable<br />
Operationssymbol<br />
� Wahrheitstabelle<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
0<br />
0<br />
0<br />
1<br />
© G. Fries<br />
� Schaltzeichen<br />
A<br />
B<br />
Y<br />
� VHDL Beschreibung<br />
entity und is port (<br />
A,B: in bit;<br />
Y: out bit);<br />
end und;<br />
architecture logik of und is<br />
begin<br />
Y
Grundverknüpfungen UND, ODER, NICHT<br />
� UND-Verknüpfung<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
0<br />
0<br />
0<br />
1<br />
� ODER-Verknüpfung<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
� Negation<br />
A<br />
0<br />
1<br />
Y<br />
1<br />
0<br />
Y<br />
0<br />
1<br />
1<br />
1<br />
A<br />
B<br />
� „Boolesches Produkt“, Konjunktion<br />
� Ausgang nur dann 1, wenn alle Eingänge 1<br />
� Zahl der Eingänge: n ≥ 2<br />
A<br />
B<br />
© G. Fries<br />
Y = A ∧ B<br />
� „Boolesche Summe“, Disjunktion<br />
� Ausgang nur dann 0, wenn alle Eingänge 0<br />
�<br />
&<br />
≥1<br />
Y = A ∨ B<br />
Zahl der Eingänge: n ≥ 2<br />
A 1<br />
Y = ¬ A bzw. Y = A<br />
� „Boolesches Komplement“, Invertierung<br />
63
Zusammengesetzte boolesche Verknüpfungen I<br />
� NAND-Verknüpfung<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
1<br />
1<br />
1<br />
0<br />
� NOR-Verknüpfung<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
1<br />
0<br />
0<br />
0<br />
A<br />
B<br />
� „Y ist gleich A nand B“<br />
� Ausgang nur dann 0, wenn alle Eingänge 1<br />
� Zahl der Eingänge: n ≥ 2<br />
A<br />
B<br />
&<br />
&<br />
≥1<br />
≥1<br />
� „Y ist gleich A nor B“<br />
� Ausgang nur dann 1, wenn alle Eingänge 0<br />
� Zahl der Eingänge: n ≥ 2<br />
© G. Fries<br />
Y = A ∧ B = ¬ ( A ∧ B) = ( A ∧ B)<br />
1<br />
Y = A ∨ B = ¬ ( A ∨ B) = ( A ∨ B)<br />
1<br />
64
Zusammengesetzte boolesche Verknüpfungen II<br />
� Äquivalenz<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
1<br />
0<br />
0<br />
1<br />
� Antivalenz<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
0<br />
1<br />
1<br />
0<br />
� „Y ist gleich A Doppelpfeil B“<br />
� Ausgang nur dann 1, wenn<br />
Eingänge identisch<br />
�<br />
A<br />
B<br />
A<br />
B<br />
=<br />
Zahl der Eingänge: n = 2<br />
=1<br />
� exklusives Oder, Exor, XOR<br />
� „Y ist gleich A xor B“<br />
Y = A ↔ B = ( A ∧ B) ∨ ( A ∧ B)<br />
Y = A ↔ / B = ( A ∧ B) ∨ ( A ∧ B)<br />
� Ausgang nur dann 1, wenn Eingänge nicht identisch<br />
� Zahl der Eingänge: n = 2<br />
© G. Fries<br />
A<br />
B<br />
&<br />
1<br />
1<br />
&<br />
≥1<br />
Y<br />
65
Zusammengesetzte boolesche Verknüpfungen III<br />
� Inhibition<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
0<br />
0<br />
1<br />
0<br />
� Implikation<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
1<br />
0<br />
1<br />
1<br />
� „Y ist gleich A Pfeil Pfeil B“<br />
� Ausgang nur dann 1, wenn<br />
Eingang A = 0 und alle<br />
anderen Eingänge 1<br />
�<br />
Zahl der Eingänge: n ≥ 2<br />
� „Y ist gleich A Pfeil B“<br />
Y = A →→ B = A ∧ B<br />
� Ausgang nur dann 0, wenn Eingang A = 1 und alle<br />
anderen Eingänge 0<br />
�<br />
A<br />
B<br />
A<br />
B<br />
&<br />
≥1<br />
Zahl der Eingänge: n ≥ 2<br />
© G. Fries<br />
A<br />
B<br />
Y = A → B = A ∨ B<br />
1<br />
& Y<br />
66
Verknüpfungsfunktionen mit 1 Schaltvariablen<br />
Funktion<br />
V0<br />
V1<br />
V2<br />
V3<br />
Ausgang Y für Eingang<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
A V Y<br />
Bezeichnung<br />
Nullfunktion<br />
Identität (A)<br />
Negation (A)<br />
Einsfunktion<br />
© G. Fries<br />
Schaltfunktion<br />
Y = 0<br />
Y = A<br />
Y = ¬ A<br />
Y = 1<br />
n<br />
Es gibt 2<br />
2<br />
verschiedene Funktionen mit n Variablen<br />
67
Verknüpfungsfunktionen mit 2 Schaltvariablen<br />
Funktion<br />
V0<br />
V1<br />
V2<br />
V3<br />
V4<br />
V5<br />
V6<br />
V7<br />
V8<br />
V9<br />
V10<br />
V11<br />
V12<br />
V13<br />
V14<br />
V15<br />
Ausgang Y für Eingang<br />
B A<br />
0 0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
B A<br />
0 1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
B A<br />
1 0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
B A<br />
1 1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Bezeichnung<br />
Nullfunktion<br />
UND, Konjunktion<br />
Inhibition (A)<br />
Identität (B)<br />
Inhibition (B)<br />
Identität (A)<br />
Antivalenz<br />
ODER,Disjunktion<br />
NOR<br />
Äquivalenz<br />
Negation (A)<br />
Implikation (A)<br />
Negation (B)<br />
Implikation (B)<br />
NAND<br />
Einsfunktion<br />
© G. Fries<br />
Schaltfunktion<br />
Y = 0<br />
Y = A ∧ B<br />
Y = ¬ A ∧ B<br />
Y = B<br />
Y = A ∧ ¬ B<br />
Y = A<br />
Y = ( A ∧ ¬ B) ∨ ( ¬ A ∧ B)<br />
Y = A ∨ B<br />
Y = ¬ ( A ∨ B)<br />
Y = ( A ∧ B) ∨ ( ¬ A ∧ ¬ B)<br />
Y = ¬ A<br />
Y = ¬ A ∨ B<br />
Y = ¬ B<br />
Y = A ∨ ¬ B<br />
Y = ¬ ( A ∧ B)<br />
Y = 1<br />
68
Alternative Darstellung<br />
Name<br />
UND<br />
ODER<br />
Negation<br />
NAND<br />
NOR<br />
Äquivalenz<br />
Antivalenz<br />
Schaltfunktion<br />
DIN Alternative<br />
Y = A ∧ B<br />
Y = A ⋅ B<br />
= AB<br />
Y = A ∨ B<br />
Y = ¬ A<br />
= A<br />
Y = A ∧ A<br />
= A ∧ B<br />
Y = A ∨ B<br />
= A ∨ B<br />
Y = A ⇔ B<br />
Y = A ⇔/ B<br />
Y = A + B<br />
Y = A'<br />
Y = ¬ ( A ∧ B)<br />
= ¬ ( A ⋅ B)<br />
Y = ¬ ( A ∨ B)<br />
= ¬ ( A + B)<br />
Y = ( A ≡ B)<br />
= A ⊗ B<br />
Y = ( A ≡/ B)<br />
= A ⊕ B<br />
© G. Fries<br />
Schaltzeichen<br />
DIN<br />
US<br />
&<br />
≥1<br />
1<br />
&<br />
≥1<br />
=<br />
=1<br />
69
Darstellung der Funktionen mit Schaltern<br />
© G. Fries<br />
Quelle: www.wissenschaft-online.de<br />
70
Axiome und Theoreme<br />
� Axiome<br />
(A1) A = 0, wenn A ≠ 1 (A1') A = 1, wen n A ≠ 0<br />
(A2) 0 ∧ 0 = 0 (A2') 1 ∨ 1 = 1<br />
(A3) 1 ∧ 1 = 1 (A3') 0 ∨ 0 = 0<br />
(A4) 0 ∧ 1 = 1 ∧ 0 = 0 (A4') 0 ∨ 1 = 1 ∨ 0 = 1<br />
(A5) 0 = 1 ( A5')<br />
1 = 0<br />
� Theoreme für eine Variable<br />
(T1) A ∨ 0 = A (T1') A ∧ 1 = A<br />
(T2) A ∨ 1 = 1 (T2') A ∧ 0 = 0<br />
(T3) A ∨ A = A (T3') A ∧ A = A<br />
(T4) A ∨ A = 1 (T4')<br />
A ∧ A = 0<br />
( T5)<br />
A = A<br />
© G. Fries<br />
Dualität<br />
∧ ↔ ∨ 1 ↔ 0<br />
Identität, Einselement<br />
Idempotenz<br />
Komplement<br />
71
Theoreme für 2 oder 3 Variablen (Gesetze)<br />
� Kommutativgesetz<br />
(T6) A ∨ B = B ∨ A (T6') A ∧ B = B ∧ A<br />
� Assoziativgesetz<br />
(T7)<br />
( A ∨ B) ∨ C = A ∨ ( B ∨ C) (T7')<br />
( A ∧ B) ∧ C = A ∧ ( B ∧ C)<br />
� Distributivgesetz<br />
(T8) ( A ∧ B) ∨ ( A ∧ C) = A ∧ ( B ∨ C) (T8') ( A ∨ B) ∧ ( A ∨ C) = A ∨ ( B ∧ C)<br />
� Reduktionsformeln<br />
(K1) A ∨ ( A ∧ B) = A (K1') A ∧ ( A ∨ B) = A<br />
(K2) A ∨ ( A ∧ B) = A ∨ B (K2') A ∧ ( A ∨ B) = A ∧ B<br />
(K3) ( A ∧ B) ∨ ( A ∧ B) = A (K3') ( A ∨ B) ∧ ( A ∨ B) = A<br />
© G. Fries<br />
(Absorption)<br />
72
Theoreme für 3 und mehr Variablen (Gesetze)<br />
� Verallgemeinerte Idempotenz<br />
(T10)<br />
(T10')<br />
A ∨ A ∨ ... ∨ A = A<br />
A ∧ A ∧ ... ∧ A = A<br />
� De Morgansche Theoreme<br />
(T11) A ∧ A ∧ ... ∧ A = A ∨ A ∨ ... ∨ A<br />
(T11')<br />
1 2 n 1 2<br />
n<br />
A ∨ A ∨ ... ∨ A = A ∧ A ∧ ... ∧ A<br />
1 2 n 1 2<br />
n<br />
� Shannonscher Satz<br />
(T12) f ( A , A ,..., A , ∨, ∧)<br />
= f ( A , A ,..., A , ∧,<br />
∨)<br />
1 2 n 1 2 n<br />
� Shannonsche Expansions-Theoreme<br />
(T13) f ( A , , ..., ) = [ ∧ ( , ,.. ., ) ] ∨ ⎡ 1 A2 An A1 f 1 A2 An ⎣<br />
A1<br />
∧ f ( 0,<br />
A ,... , A ) ⎤<br />
2 n ⎦<br />
( T13')<br />
f ( A , A ,..., A ) = [ ∨ ( , ,..., ) ] ∧ ⎡<br />
⎣<br />
∨ ( , ,.. ., ) ⎤<br />
1 2 n A1<br />
f 0 A2 An<br />
A1 f 1 A2<br />
An<br />
⎦<br />
© G. Fries<br />
73
Normalformen<br />
� Darstellung von Funktionen<br />
� Es existieren viele Möglichkeiten zur Darstellung einer Funktion<br />
� Standardisierte, vereinfachte Darstellung => Normalform<br />
� Normalform<br />
� Enthält nur Negationen von Einzelvariablen, konjunktive und<br />
disjunktive Verknüpfungen<br />
� Keine NAND bzw. NOR-Verknüpfungen<br />
� Normalformen werden aus Mintermen bzw. Maxtermen gebildet<br />
� Minterm<br />
� Konjunktive Verknüpfung von n Variablen, wobei jede dieser n<br />
Variablen genau einmal negiert oder nicht negiert enthalten ist<br />
� z.B.<br />
� Maxterm<br />
C ∧ B ∧ A, C ∧ B ∧ A, C ∧ B ∧ A<br />
� Disjunktive Verknüpfung von n Variablen, wobei jede dieser n<br />
Variablen genau einmal negiert oder nicht negiert enthalten ist<br />
� z.B. C ∨ B ∨ A, C ∨ B ∨ A, C ∨ B ∨ A<br />
© G. Fries<br />
74
Minterme und Maxterme<br />
� Minterme sind Produktterme<br />
die 1 ergeben in genau einer<br />
Reihe der Wahrheitstabelle<br />
� Die Tabelle zeigt alle Minterme<br />
für 2 Eingangsvariablen<br />
� Maxterme sind Summenterme<br />
die 0 ergeben in genau einer<br />
Reihe der Wahrheitstabelle<br />
� Die Tabelle zeigt alle Minterme<br />
und alle Maxterme für<br />
Funktionen mit 3 Variablen<br />
Nr B A B ∧ A B ∧ A B ∧ A B ∧ A<br />
0 0 0 1 0 0 0<br />
1 0 1 0 1 0 0<br />
2 1 0 0 0 1 0<br />
3 1 1 0 0 0 1<br />
Nr C B A f(C,B,A) Minterm Maxterm<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
© G. Fries<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
f(0,0,0)<br />
f(0,0,1)<br />
f(0,1,0)<br />
f(0,1,1)<br />
f(1,0,0)<br />
f(1,0,1)<br />
f(1,1,0)<br />
f(1,1,1)<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
75
Konjunktive und Disjunktive Normalform I<br />
� Wir betrachten nebenstehende<br />
Funktion Y = f(C,B,A)<br />
� Disjunktive Normalform (DNF):<br />
� Disjunktive Verknüpfung aller<br />
Minterme, die 1 ergeben<br />
� Konjunktive Normalform (KNF):<br />
� Konjunktive Verknüpfung aller<br />
Maxterme, die 0 ergeben<br />
� Minterme mi und Maxterme Mj lassen sich durch ihre Nr. i, j 6<br />
beschreiben<br />
DNF:<br />
7<br />
Nr C B A Y Minterm Maxterm<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
© G. Fries<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
Y = ( C ∧ B ∧ A) ∨ ( C ∧ B ∧ A) ∨ ( C ∧ B ∧ A) ∨ ( C ∧ B ∧ A) ∨ ( C ∧ B ∧ A)<br />
= m ∨ m ∨ m ∨ m ∨ m<br />
KNF:<br />
0 3 4 6 7<br />
Y = ( C ∨ B ∨ A) ∧ ( C ∨ B ∨ A) ∧ ( C ∨ B ∨ A) = M ∧ M ∧ M<br />
1 2<br />
5<br />
76
Konjunktive und Disjunktive Normalform II<br />
� DNF und KNF sind sind gleichwertig<br />
� DNF oder KNF ist jeweils eine Methode zur eindeutigen Definition einer<br />
booleschen Funktion als Alternative zur Wahrheitstabelle<br />
� Schwerpunkt: DNF, da sie überwiegend verwendet wird<br />
� Umwandlung DNF in KNF<br />
� DNF + KNF lassen sich mit Shannonschen Satz ineinander überführen<br />
� Negierte boolesche Funktion:<br />
� Disjunktive Verknüpfung der Minterme, welche 0 ergeben, bzw.<br />
konjunktive Verknüpfung der Maxterme, welche 1 ergeben<br />
Y<br />
= m ∨ m ∨ m ∨ m ∨ m = M ∧ M ∧ M<br />
Y = M ∧ M ∧ M ∧ M ∧ M = m ∨ m ∨ m<br />
denn: m = M Shannon!<br />
i i<br />
M ∧ M ∧ M = m ∨ m ∨ m<br />
m<br />
0 3 4 6 7 1 2 5<br />
1 2 5 1 2 5<br />
∨ m ∨ m ∨ m ∨ m = M ∧ M ∧ M ∧ M ∧ M<br />
0 3<br />
0 3 4 6 7<br />
4 6<br />
© G. Fries<br />
1<br />
2 5<br />
7 0 3 4 6<br />
7<br />
77
Übung disjunktive und konjunktive<br />
Normalform<br />
X<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
Y<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
DNF<br />
KNF<br />
Z<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
F<br />
1<br />
1<br />
0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
Minterm Maxterm<br />
� Gegeben ist eine Funktion F in<br />
drei Variablen.<br />
� Geben Sie die Minterme und<br />
die Maxterme der Funktion F<br />
an.<br />
� Geben Sie die DNF und die<br />
KNF an.<br />
© G. Fries<br />
78
Normalform ist eine zweistufige Logik<br />
� Stufigkeit oder Verknüpfungstiefe<br />
A<br />
B<br />
C<br />
D<br />
� Einstufige Logik: zwischen Eingang und Ausgang nur eine<br />
Gatterstufe<br />
� Zweistufige Logik: zwischen Eingang und Ausgang 2 Gatterstufen in<br />
Reihe geschaltet<br />
� n-stufige Logik: zwischen Eingang und Ausgang n Gatterstufen in<br />
Reihe geschaltet<br />
� Negationen werden nicht als separate Stufe gezählt!<br />
A<br />
B<br />
≥1<br />
≥1<br />
≥1<br />
Y = ( A ∨ B)<br />
&<br />
y<br />
Y = ( A ∨ B) ∧ ( C ∨ D)<br />
A<br />
B<br />
© G. Fries<br />
&<br />
1<br />
&<br />
≥1<br />
1<br />
zweistufig:<br />
Y = A ↔ B = ( A ∧ B) ∨ ( A ∧ B)<br />
Y<br />
80
Minimierung von Schaltfunktionen<br />
� Bestimmung der Minimalen Logischen Gleichung<br />
� Logische Gleichung in 2-stufiger Logik für technische Realisierung<br />
� Minimieren der DNF ergibt Disjunktive Minimalform (DMF)<br />
� Minimieren der KNF ergibt Konjunktive Minimalform (KMF)<br />
� Vergleich ergibt die Minimale logische Gleichung<br />
� Minimierung mit Hilfe der Booleschen Algebra<br />
� Für Gleichungen bis zu 3 Variablen. Oft hilfreich für Erstumformungen,<br />
bevor anderes Verfahren zum Einsatz kommt<br />
� Algorithmische Verfahren<br />
� Auswertung am Rechner, z.B. Quine Mc Cluskey (QMC)<br />
� Anzahl der Variablen kann sehr groß sein<br />
� Graphische Verfahren<br />
� Venn Diagramm, Karnaugh-Veitch-Diagramm<br />
� Vereinfachung durch Realisierung in NOR- bzw. NAND-Technik<br />
� Minimalform berücksichtigt nur Anzahl, nicht Art der Verknüpfung<br />
� Berücksichtigung der Bausteintypen: Schaltungsvereinfachung<br />
© G. Fries<br />
81
Minimierung mit Boolescher Algebra<br />
� Oft Anwendung von Distributivgesetz T8 und Kürzungsregel K3<br />
( A ∧ X ) ∨ ( A ∧ X ) = A<br />
wobei X ein zusammengesetzter logischer Ausdruck sein kann, z.B.<br />
[ ]<br />
A ∧ ( A ∨ B ∧ C) ∨ ⎡ ∧ ∨ ∧ ⎤<br />
⎣<br />
A ( A B C) ⎦<br />
= A<br />
� Häufiger Fehler bei Anwendung von K3:<br />
falsche Komplementbildung<br />
≠<br />
( A ∧ B ∧ C) ∨ ( A ∧ B ∧ C) A,<br />
denn B ∧ C ≠ B ∧ C!<br />
! !<br />
jedoch<br />
( A ∧ B ∧ C) ∨ ( A ∧ B ∧ C) = A, denn ( B ∧ C) ∨ ( B ∧ C)<br />
= 1<br />
© G. Fries<br />
82
Karnaugh-Veitch-Diagramm I<br />
� Im Prinzip: Andere Anordnung der<br />
Wahrheitstabelle<br />
� Eingangsvariablen werden am Rand<br />
angeordnet, Reihenfolge beachten!<br />
� n Eingangsvariablen benötigen 2 n<br />
Felder, Beispiel: 4 Variablen<br />
� Jedes Feld repräsentiert einen<br />
Minterm<br />
� Nummerierungsschema:<br />
Nummer des Minterms!<br />
LSB<br />
A A<br />
MSB<br />
B<br />
B<br />
3 7 6 2<br />
11 15 14 10<br />
9 13 12 8<br />
1 5 4 0<br />
D<br />
D<br />
D<br />
C C C<br />
© G. Fries<br />
Nr D C B A Minterm<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
D ∧ C ∧ B ∧ A<br />
83
Karnaugh-Veitch-Diagramm Ia<br />
� Im Prinzip: Andere Anordnung der<br />
Wahrheitstabelle<br />
� Eingangsvariablen werden am Rand<br />
angeordnet, Reihenfolge beachten!<br />
� n Eingangsvariablen benötigen 2 n<br />
Felder, Beispiel: 3 Variablen<br />
� Jedes Feld repräsentiert einen<br />
Minterm<br />
� Nummerierungsschema:<br />
Nummer des Minterms!<br />
LSB<br />
B<br />
B<br />
B<br />
B<br />
3<br />
1<br />
A A<br />
7<br />
5<br />
6<br />
4<br />
2<br />
0<br />
C C C<br />
MSB<br />
© G. Fries<br />
Nr C B A Y Minterm<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
84
Karnaugh-Veitch-Diagramm Ib<br />
� Im Prinzip: Andere Anordnung der<br />
Wahrheitstabelle<br />
� Eingangsvariablen werden am Rand<br />
angeordnet, Reihenfolge beachten!<br />
� n Eingangsvariablen benötigen 2 n<br />
Felder, Beispiel: 3 Variablen<br />
� Jedes Feld repräsentiert einen<br />
Minterm<br />
� Nummerierungsschema:<br />
Nummer des Minterms!<br />
LSB<br />
B<br />
B<br />
B<br />
B<br />
1<br />
0<br />
A A<br />
1<br />
0<br />
1<br />
1<br />
0<br />
1<br />
C C C<br />
MSB<br />
© G. Fries<br />
Nr C B A Y Minterm<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
Werte Y eintragen<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
C ∧ B ∧ A<br />
85
Karnaugh-Veitch-Diagramm Ic<br />
� Im Prinzip: Andere Anordnung der<br />
Wahrheitstabelle<br />
� Eingangsvariablen werden am Rand<br />
angeordnet, Reihenfolge beachten!<br />
� n Eingangsvariablen benötigen 2 n<br />
Felder, Beispiel: 3 Variablen<br />
� Jedes Feld repräsentiert einen<br />
Minterm<br />
� Nummerierungsschema:<br />
Nummer des Minterms!<br />
LSB<br />
B<br />
B<br />
B<br />
B<br />
1<br />
0<br />
A A<br />
1<br />
0<br />
1<br />
1<br />
0<br />
1<br />
C C C<br />
MSB<br />
© G. Fries<br />
Nr C B A Y Maxterm<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
Werte Y eintragen<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
C ∨ B ∨ A<br />
86
Karnaugh-Veitch-Diagramm II<br />
� Minimierung ist für Funktionen mit bis zu 5 Variablen sinnvoll<br />
� 0, 1, d (don‘t care) werden eingetragen<br />
� Möglichst viele benachbarte Minterme werden zu einem Block<br />
zusammengefasst<br />
� Benachbart sind Felder, die sich nur in 1 Variablen unterscheiden:<br />
- Am rechten und linken bzw. oberen und unteren Rand liegende<br />
Felder können Nachbarn sein!<br />
� Zusammenfassung gemäß Distributivgesetz T8 und Kürzungsregel K3<br />
Minterm Nr.1:<br />
D ∧ C ∧ B ∧ A<br />
B<br />
B<br />
0<br />
0<br />
d<br />
1<br />
A A<br />
0<br />
1<br />
d<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
C C C<br />
D<br />
D<br />
D<br />
Zusammenfassen der Minterme 14+15:<br />
© G. Fries<br />
( D ∧ C ∧ B ∧ A)<br />
∨ ( D ∧ C ∧ B ∧ A)<br />
=<br />
( D ∧ C ∧ B) ∧ ( A ∨ A)<br />
= D ∧ C ∧ B<br />
87
Minimierung mit KV-Diagramm<br />
� Anzahl der Variablen bestimmt Diagrammgröße<br />
� Logische Variablen beginnend mit der Wertigkeit 2 0 entgegen dem<br />
Uhrzeigersinn am Rand anordnen<br />
� Aus Wahrheitstabelle oder DNF die Werte (0, 1, d) eintragen<br />
� Benachbarte „1“ Felder zu Blöcken zusammenfassen<br />
� Redundante Felder (d) dürfen miteinbezogen werden, Blockgröße: 2 n<br />
� Ein „1“-Feld oder ein „d“-Feld darf in mehreren Blöcken integriert sein<br />
� Zwei Blöcke, die sich nur in einer Variablen unterscheiden, sind<br />
benachbart. Diese dürfen ebenfalls zusammengefasst werden<br />
� Jeder Block wird durch einen konjunktiven Term beschrieben<br />
� Größtmöglicher Block = Primimplikant<br />
� Logische Gleichung erstellen durch disjunktive Verknüpfung<br />
der Blöcke<br />
� Diese ist dann minimal, wenn die Blöcke so groß wie möglich gewählt<br />
sind und die Anzahl der Blöcke minimal ist<br />
© G. Fries<br />
88
Minimierung mit KV-Diagramm II<br />
� Zur Auswahl der Primimplikanten (PI)<br />
� Kern-PI P K hat mindestens eine 1, die nur er<br />
allein abdeckt: immer berücksichtigen!<br />
� Absolut eliminierbarer PI P A , lässt sich<br />
vollständig von den P K abdecken: überflüssig!<br />
� Relativ eliminierbarer PI P R , eliminierbar, aber<br />
nicht mit P k allein: mehrere Lösungen!<br />
� Minimalform für Beispiel rechts<br />
� P K : 1, 2, 3 P R : 4, 5 P A : keine<br />
� 2 Möglichkeiten: 1, 2, 3, 4 oder 1, 2, 3, 5<br />
© G. Fries<br />
1<br />
B<br />
2<br />
3<br />
B<br />
1<br />
0<br />
0<br />
1<br />
4<br />
A A<br />
� Ermitteln der KMF mit der Maxtermmethode<br />
Bisher Mintermmethode für DMF; Maxtermmethode liefert KMF:<br />
1. Alle „0“-Terme im KVD zu Blöcken zusammenfassen<br />
2. Disjunktive Verknüpfung dieser Minterme liefert negierte Funktion!<br />
3. Daher: nach De Morgan invertieren ergibt KMF<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
C C C<br />
5<br />
D<br />
D<br />
D<br />
89
Don‘t Care ...<br />
� Aufgabenstellungen, bei denen ...<br />
� bestimmte Kombinationen der Eingangsvariablen nicht auftreten<br />
können oder<br />
� das Ausgangsverhalten für bestimmte Eingangszustände<br />
gleichgültig ist<br />
� Derartige Eingangszustände heißen<br />
� Redundanzen, „Don‘t care“-Terme, Pseudozustände<br />
� Diese werden im KV Diagramm mit „d“ gekennzeichnet<br />
� Don‘t care-Terme lassen sich beliebig in Vereinfachungsblöcke<br />
einbeziehen, d.h. sie können optional mit in die Blockbildung<br />
einbezogen werden, können aber auch weggelassen werden!<br />
berücksichtigt<br />
B<br />
B<br />
1<br />
1<br />
A A<br />
1<br />
d<br />
0<br />
d<br />
© G. Fries<br />
1<br />
0<br />
C C C<br />
unberücksichtigt<br />
90
Beispiel Aufzugsteuerung<br />
� „Logisches Problem“<br />
� Schrittweise Vorgehen<br />
- Formulierung des Problems<br />
- Entwickeln einer Normalform<br />
- Vereinfachte Lösung durch Minimierung der Normalform<br />
� Problemformulierung<br />
� Ein Aufzug eines Hotels mit 8 Etagen soll die Eingangshalle mit<br />
den Etagen 4 bis 7 verbinden. Für die Aufzugsteuerung steht die<br />
Etagennummer (0-7) als dreistellige Dualzahl zur Verfügung. Aus<br />
dieser Dualzahl soll ein Signal hergeleitet werden, das in den<br />
Etagen, in denen der Aufzug halten soll, den Wert 1 hat.<br />
� Variablendefinition<br />
� Y = f(A,B,C)<br />
� Y = 1 bedeutet: Aufzug hält<br />
� Y = 0 bedeutet: Aufzug hält nicht<br />
� C, B, A entsprechen der dreistelligen Dualzahl = Etagennummer<br />
© G. Fries<br />
91
Aufzugsteuerung II<br />
� Wahrheitstabelle<br />
B<br />
B<br />
Nr<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
C<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
B<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
A A<br />
A<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
C C C<br />
Y<br />
1<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
� Schaltfunktion<br />
� Entweder alle Minterme die 1 sind:<br />
� Y DNF =.......................................................<br />
© G. Fries<br />
.......................................................<br />
� oder alle Maxterme die 0 sind:<br />
� Y KNF = ......................................................<br />
Y DMF = ............................<br />
......................................................<br />
Y KMF = ..............................<br />
Maxtermmethode!<br />
B<br />
B<br />
A A<br />
C C C<br />
92
Aufzugsteuerung III<br />
1<br />
1<br />
1<br />
C B A C B A<br />
&<br />
&<br />
&<br />
&<br />
&<br />
A<br />
B<br />
C<br />
≥1<br />
© G. Fries<br />
1<br />
1<br />
&<br />
≥1<br />
Y<br />
94
Grundverknüpfungen in NAND- und NOR- Technik<br />
� Die Grundverknüpfungen lassen sich technisch auch in reiner<br />
NAND- oder NOR-Technik realisieren<br />
� Ausgangspunkt sind die logischen Gleichungen<br />
� Diese werden so umgeformt, dass der logische Ausdruck nur<br />
noch NAND- bzw. NOR-Verknüpfungen enthält<br />
� Bei Anwendung der NAND- bzw. NOR-Technik kann man alle<br />
digitalen Schaltungen mit Bausteinen gleichen Typs entwerfen<br />
� Beispiele sind u.a. in den Übungsaufgaben<br />
© G. Fries<br />
96
NAND- und NOR-Technik II<br />
Negation Y = A<br />
NAND-Technik: Y = ( A ∧ A) oder Y = ( A ∧1)<br />
NOR-Technik: Y = ( A ∨ A) oder Y = ( A ∨ 0)<br />
UND-Verknüpfung<br />
Y = A ∧ B<br />
NAND-Technik: Y = ( A ∧ B) = ( A ∧ B) ∧ ( A ∧ B)<br />
NOR-Technik:<br />
Y = ( A ∨ A) ∧ ( B ∨ B) = ( A ∨ A)<br />
∨ ( B ∨ B)<br />
ODER-Verknüpfung<br />
Y<br />
= A ∨ B<br />
NAND-Technik:<br />
Y = ( A ∧ A) ∨ ( B ∧ B) = ( A ∧ A) ∧ ( B ∧ B)<br />
NOR-Technik: Y = ( A ∨ B) = ( A ∨ B) ∨ ( A ∨ B)<br />
© G. Fries<br />
97
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Dr.-Ing. Ralf Herber<br />
Elektrotechnik / <strong>Digitaltechnik</strong><br />
Kap. 5. Kombinatorische Schaltungen<br />
� Definition<br />
� Codes<br />
� Code-Umsetzer, Codierer, Decodierer<br />
� Multiplexer, Demultiplexer<br />
� Komparator<br />
� Rechenschaltungen<br />
� Halbaddierer, Voll-Addierer, ALU<br />
� Analyse und Entwurf von Schaltnetzen<br />
� Multiplexer-basiert, ROM-basiert<br />
Stand: 12.10.2006
Definitionen<br />
� Kombinatorische Schaltungen (Schaltnetze)<br />
� Digitale Schaltung zum Verarbeiten von Schaltvariablen, wobei die<br />
Ausgangszustände zu einem bestimmten Zeitpunkt t 1 nur von den<br />
Zuständen an den Eingängen zum Zeitpunkt t 1 abhängen<br />
� Lässt sich mit Grundgattern (AND, OR, NOT) realisieren<br />
� Enthält keine Rückkopplung<br />
� Sequentielle Logik (Schaltwerke)<br />
� Digitale Schaltung zum Verarbeiten von Schaltvariablen, wobei die<br />
Ausgangszustände zu einem bestimmten Zeitpunkt t 1 von den<br />
Zuständen an den Eingängen zum Zeitpunkt t 1 und von endlich vielen<br />
vorangegangenen Zeitpunkten abhängen<br />
� Ausgangszustände sind abhängig von Eingangszuständen und von<br />
den Zuständen innerer Schaltvariablen (Vorgeschichte)<br />
� Enthält Rückkopplungen und Speicherglieder (Flip-Flops)<br />
� Zunächst<br />
� Codes als Grundlagen für Codierschaltungen<br />
© G. Fries<br />
99
Codes<br />
� Code<br />
� Ein Code ist eine Vorschrift für die Zuordnung der Zeichen eines<br />
Zeichenvorrates zu denjenigen eines anderen Zeichenvorrates<br />
� Unterschiedliche Anforderungen an Codes für spezielle Aufgaben<br />
� Speicherung<br />
� Codierung, welche geringe Anzahl an Speicherplätzen erfordert<br />
� Übertragung<br />
� Codierung, welche eine Überprüfung der Daten auf Fehler bzw.<br />
sogar eine Fehlerkorrektur erlaubt<br />
� Abtastung mit AD-Wandler<br />
� Möglichst geringe Auswirkung von Abtastfehlern auf Messwerte<br />
� Verarbeitung<br />
� Codierung, welche besonders einfache und schnelle Verarbeitung<br />
ermöglicht (z.B. 2er-Komplement)<br />
© G. Fries<br />
100
Alphanumerische und Numerische Codes<br />
� Alphanumerische Codes<br />
� Buchstaben, Ziffern und Sonderzeichen binär verschlüsselt<br />
� ASCII-Code (American Standard Code for Information Interchange)<br />
- 0 ... 9, a ... z, A ... Z, Sonderzeichen, Steuerzeichen<br />
- 7 bit; d.h. 128 Zeichen können codiert werden<br />
- 8 bit mit Parity-Bit<br />
� Numerische Codes<br />
� Nur Zahlen bzw. Ziffern werden dargestellt<br />
� Zahl wird als Ganzes codiert: Wortcode<br />
� Zahl wird ziffernweise codiert: Zifferncode<br />
� Wortcodes<br />
� Dualcode und Gray-Code<br />
© G. Fries<br />
101
Wortcodes - Dualcode<br />
� Dualcode<br />
� Ein k-Bit Dualcode ist ein<br />
Wortcode, der jeder Dezimalzahl<br />
eine entsprechende Dualzahl<br />
mit k Stellen zuordnet<br />
� Anzahl k der benötigten Stellen<br />
des k-Bit-Dualcodes für eine<br />
vorgegebene Anzahl m von<br />
Dezimalzahlen:<br />
z.B. m<br />
k = ldm = ld10 ⋅ logm<br />
=<br />
k<br />
= 3, 322 ⋅log<br />
m<br />
= 1000<br />
= 3, 322 ⋅ log 1000 = 9, 966<br />
=> 10 Bit (1024 Zeichen)<br />
� Tabelle: 5-Bit Dualcode<br />
© G. Fries<br />
Stellengewicht<br />
Dezimalzahl<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
...<br />
31<br />
2 4<br />
D4<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
...<br />
1<br />
2 3<br />
D3<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
...<br />
1<br />
2 2<br />
D2<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
...<br />
1<br />
2 1<br />
D1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
...<br />
1<br />
2 0<br />
D0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
...<br />
1<br />
102
Wortcodes - Gray-Code<br />
� Gray-Code<br />
� Ein k-Bit Gray-Code ist ein<br />
einschrittiger Wortcode<br />
� Einschrittig bedeutet, dass sich<br />
benachbarte Codewörter nur in<br />
einer Ziffernstelle unterscheiden<br />
� Bildungsgesetz: Ausgehend vom<br />
Anfangswert werden<br />
nacheinander, von rechts<br />
beginnend, die nächsthöhere<br />
Bitstelle auf 1 gesetzt und die<br />
schon vorhandenen Bitstellen in<br />
umgekehrter Reihenfolge<br />
übernommen: Spiegelung der<br />
vorhandenen Stellen!<br />
� Tabelle: 5-Bit Gray-Code<br />
© G. Fries<br />
Dezimalzahl<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
...<br />
31<br />
G4<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
...<br />
1<br />
G3<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
...<br />
0<br />
G2<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
...<br />
0<br />
G1<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
...<br />
0<br />
G0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
...<br />
0<br />
103
Wortcodes – Optische Abtastung<br />
Reflexionsabtastung Transmissionsabtastung<br />
© G. Fries<br />
104
Wortcodes – optische Abtastung<br />
© G. Fries<br />
105
Wortcodes - Gray-Code<br />
bit3(MSB)<br />
bit2<br />
bit1<br />
bit0 (LSB)<br />
G3<br />
G2<br />
G1<br />
G0<br />
G3 00000000111111111111111100000000<br />
G2 00001111111100000000111111110000<br />
G1 00111100001111000011110000111100<br />
G0 01100110011001100110011001100110<br />
© G. Fries<br />
106
Zifferncodes - BCD-Code<br />
� Zahl wird ziffernweise codiert: Zifferncode<br />
� BCD (Binary Coded Decimal)<br />
� Codierung der Dezimalzahlen in Tetraden<br />
� Tetrade = 4-Bit Einheit<br />
� Zur Ein- und Ausgabe von Dezimalzahlen in digitale Systeme<br />
� 8-4-2-1-Code<br />
� Die ersten 10 Tetraden des Dualcodes<br />
� BCD-Gray-Code<br />
� Die ersten 10 Tetraden des Gray-Codes<br />
� Aiken-Code<br />
� Stellen sind gewichtet mit 2-4-2-1<br />
� Exzeß-3-Code<br />
� Verwendung in Steuerungstechnik zur Detektion von Störungen<br />
� Enthält weder 0000 noch 1111, welche bei Störungen entstehen können<br />
� Pseudotetraden<br />
� Nicht verwendete Tetraden, welche Werte > 9 repräsentieren<br />
© G. Fries<br />
107
108<br />
© G. Fries<br />
BCD-Codes in geschlossener Darstellung<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
8<br />
8-4-2-1-Code<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
4<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
2<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
-<br />
BCD-Gray-Code<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
-<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
-<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
-<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
2<br />
Aiken-Code<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
4<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
2<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Exzeß-3 Code<br />
Codes<br />
1<br />
1<br />
1<br />
1<br />
Pseudotetrade<br />
0<br />
1<br />
1<br />
1<br />
Pseudotetrade<br />
1<br />
0<br />
1<br />
1<br />
Pseudotetrade<br />
0<br />
1<br />
0<br />
0<br />
Pseudotetrade<br />
1<br />
0<br />
0<br />
0<br />
Pseudotetrade<br />
0<br />
0<br />
0<br />
0<br />
Pseudotetrade<br />
0<br />
0<br />
1<br />
1<br />
9<br />
1<br />
1<br />
0<br />
1<br />
8<br />
0<br />
1<br />
0<br />
1<br />
7<br />
1<br />
0<br />
0<br />
1<br />
6<br />
0<br />
0<br />
0<br />
1<br />
5<br />
1<br />
1<br />
1<br />
0<br />
4<br />
0<br />
1<br />
1<br />
0<br />
3<br />
1<br />
0<br />
1<br />
0<br />
2<br />
0<br />
0<br />
1<br />
0<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
Stellengewicht − −<br />
8 4 2 1
109<br />
© G. Fries<br />
BCD-Codes - Zuordnung zum Dualcode<br />
15<br />
14<br />
13<br />
12<br />
11<br />
10<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
PT<br />
PT<br />
PT<br />
PT<br />
PT<br />
PT<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
8-4-2-1-<br />
Code<br />
PT<br />
PT<br />
9<br />
8<br />
PT<br />
PT<br />
PT<br />
PT<br />
5<br />
4<br />
6<br />
7<br />
2<br />
3<br />
1<br />
0<br />
BCD-Gray-<br />
Code<br />
PT<br />
PT<br />
PT<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
PT<br />
PT<br />
PT<br />
Exzeß-3<br />
Code<br />
9<br />
8<br />
7<br />
6<br />
5<br />
PT<br />
PT<br />
PT<br />
PT<br />
PT<br />
PT<br />
4<br />
3<br />
2<br />
1<br />
0<br />
Aiken-Code<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
1<br />
1<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
Dual<br />
Code
Eigenschaften von Codes I<br />
� Codewort<br />
� Folge von Zeichen, die als Einheit betrachtet werden, z.B. Tetrade<br />
� Stellenzahl k<br />
� Anzahl der Stellen des Codes<br />
� Maximale Anzahl der unterschiedlichen Codewörter n<br />
� Bei k Stellen ist die maximal mögliche Anzahl Codewörter n = 2 k<br />
� Anzahl der unterschiedlichen Codewörter m<br />
� Tatsächliche Anzahl ≤ =<br />
� Redundanz R<br />
k<br />
m n 2<br />
� Redundanz: „Vorhandensein von mehr als für die Ausführung der<br />
vorgesehenen Aufgabe an sich notwendige Mittel“<br />
n n n<br />
R = ld Bit = ld10 ⋅ log Bit = 3, 322 ⋅log<br />
Bit<br />
m m m<br />
R > 0 wenn m < n!<br />
� Codes mit Redundanz ermöglichen Prüfbarkeit bzw. Korrigierbarkeit<br />
� Geeignet zur Datenübertragung<br />
© G. Fries<br />
110
Eigenschaften von Codes II<br />
� Bewertbarkeit<br />
� Ein Code ist bewertbar, wenn jeder Codestelle eine bestimmte<br />
Wertigkeit zugeordnet ist. Die codierte Dezimalzahl ergibt sich dabei als<br />
Summe der mit 1 belegten Stellen im Codewort<br />
� Bei der A/D und D/A-Wandlung erforderlich<br />
� Gewicht g<br />
� Gesamtzahl der Einsen in einem Codewort<br />
� Gleichgewichtiger Code: Jedes Codewort besitzt gleiche Anzahl Einsen<br />
� Hamming Distanz d<br />
� Hamming Distanz gibt beim Vergleich zweier Codewörter die Anzahl der<br />
Binärstellen an, in denen sich die Codewörter unterscheiden<br />
� Minimale Hamming Distanz d min<br />
� Minimale Anzahl von Stellen zweier Codewörter mit unterschiedlichen<br />
Ziffern<br />
� Stetiger Code<br />
� Hamming Distanz aller benachbarten Codewörter ist gleich<br />
� Einschrittiger Code<br />
� Hamming Distanz aller benachbarten Codewörter ist gleich 1<br />
© G. Fries<br />
111
Prüfbare Codes<br />
� Bitfehler<br />
� Bits ändern ihre Werte durch Störungen während der Übertragung<br />
� 1-Bit-Fehler: genau 1 Bit ist falsch<br />
� Prüfbarkeit: Prüfung auf Bitfehler<br />
� Ist möglich, wenn sich alle Codewörter in mindestens 2 Stellen<br />
unterscheiden, also d min > 1 ist<br />
� Anzahl erkennbarer Fehler F E = d min - 1<br />
� Korrigierbarkeit: Korrektur von Bitfehlern<br />
� Ist möglich, wenn sich alle Codewörter in mindestens 3 Stellen<br />
unterscheiden, also d min > 2 ist<br />
� Anzahl korrigierbarer Fehler F K = (d min - 1) / 2<br />
� Beispiel<br />
� d min = 2: 1-Bit-Fehler ist erkennbar<br />
� d min = 3: 2-Bit-Fehler ist erkennbar, 1-Bit-Fehler ist korrigierbar<br />
� d min = 4: 3-Bit-Fehler ist erkennbar, 1-Bit-Fehler ist korrigierbar<br />
� d min = 5: 4-Bit-Fehler ist erkennbar, 2-Bit-Fehler ist korrigierbar<br />
© G. Fries<br />
112
Beispiel: Prüfbare Codes<br />
� Aufgabe<br />
� Zur Sicherung einer Datenübertragung soll ein prüfbarer 4-Bit- Code<br />
verwendet werden. Es kann davon ausgegangen werden, dass auf<br />
der Übertragungsstrecke nur ein 1-Bit-Fehler innerhalb eines<br />
Codewortes auftreten kann<br />
� Ein Codewort des 4-Bit-Codes ist bekannt: 0000<br />
� Geben Sie alle Codewörter des 4-Bit-Codes an. Wie ermitteln Sie<br />
diese?<br />
....... ....... ....... ....... ....... ....... ....... ......<br />
� Welche Hamming Distanz d besitzen diese untereinander?<br />
....... ......<br />
� Beim Empfänger wird das fehlerhafte Datenwort 1110 empfangen.<br />
Aus welchen Codewörtern könnte es durch einen<br />
1-Bit-Fehler entstanden sein?<br />
....... ....... ....... ......<br />
� Kann das fehlerhafte Datenwort korrigiert werden? Begründung!<br />
© G. Fries<br />
113
Hamming Codes (Beispiel)<br />
010<br />
110<br />
100<br />
011<br />
000 001<br />
111<br />
mimimum distance=1<br />
101<br />
no detection of single errors<br />
code word<br />
noncode word<br />
© G. Fries<br />
010<br />
110<br />
100<br />
011<br />
000 001<br />
mimimum distance=2<br />
111<br />
101<br />
detection of all single errors<br />
115
Paritätsprüfung mit Parity-Bit<br />
� Fehlerprüfung durch Hinzufügen eines<br />
zusätzlichen Prüf-Bits: Parity-Bit<br />
� 2 Möglichkeiten<br />
� Ergänzung der Gesamtzahl der Stellen<br />
des Codewortes, die die Ziffer 1 aufweisen,<br />
zu einer geraden Anzahl (inkl.<br />
Parity-Bit): Gerade Parity-Prüfung (even)<br />
� Ergänzung der Gesamtzahl der Stellen<br />
des Codewortes, die die Ziffer 1 aufweisen,<br />
zu einer ungeraden Anzahl (inkl.<br />
Parity-Bit): Ungerade Parity-Prüfung (odd)<br />
� Anfügen eines Prüfbits kann die<br />
Hamming-Distanz um den Wert 1<br />
erhöhen<br />
� Minimale Hamming-Distanz d min = 2<br />
� Prüfbarkeit von 1-Bit-Fehlern ist möglich!<br />
� Ergänzen Sie die Tabelle<br />
© G. Fries<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
Code<br />
8 4 2 1<br />
0 0 0 0<br />
0 0 0 1<br />
0 0 1 0<br />
0 0 1 1<br />
0 1 0 0<br />
0 1 0 1<br />
0 1 1 0<br />
0 1 1 1<br />
1 0 0 0<br />
1 0 0 1<br />
1 0 1 0<br />
1 0 1 1<br />
1 1 0 0<br />
1 1 0 1<br />
1 1 1 0<br />
1 1 1 1<br />
Parity<br />
even odd<br />
116
Parity-Generator und Prüfer<br />
D0<br />
D1<br />
D2<br />
D3<br />
D4<br />
D5<br />
D6<br />
D7<br />
D0<br />
D1<br />
D2<br />
D3<br />
D4<br />
D5<br />
D6<br />
D7<br />
=1<br />
=1<br />
P<br />
=1<br />
=1<br />
=1<br />
=1<br />
Parity-Generator zur Erzeugung eines geraden<br />
Parity-Bits P für die Übertragung von 8 Datenbits<br />
=1<br />
=1<br />
© G. Fries<br />
=1<br />
=1<br />
=1<br />
=1<br />
=1<br />
im Sender<br />
=1<br />
Parity-Prüfer zur Erzeugung des Fehlersignals F<br />
=1<br />
P<br />
im Empfänger<br />
F<br />
118
Gleichgewichtige Codes<br />
� g-aus-k-Codes<br />
� Gleichgewichtige Codes, da jedes Codewort g Ziffern mit 1 besitzt<br />
� d min > 1 => 1-Bit-Fehler erkennbar<br />
� Welches d min besitzt der 2-aus-5-Code?<br />
Stellenwert<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1 aus 10 Code<br />
9 8 7 6 5 4 3 2 1 0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
© G. Fries<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
2 aus 5 Code<br />
7 4 2 1 0<br />
1<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
119
Aufgabe 1: Entwurf eines Code-Umsetzers<br />
� Code-Umsetzer<br />
� Code-Umsetzer ordnet den Zeichen eines Codes X die Zeichen eines<br />
Codes Y zu<br />
� Aufgabe<br />
� Entwerfen Sie einen Code-Umsetzer, der aus dem 8-4-2-1-Code in<br />
den BCD-Gray-Code umsetzt. Tritt im 8-4-2-1-Code eine<br />
Pseudotetrade auf, so soll eine Fehlermeldung erfolgen. Die<br />
Darstellung im BCD-Gray-Code ist im Fehlerfall beliebig<br />
� Zur Lösung<br />
� Welche Eingangsvariablen, wie viele? .......................<br />
- LSB<br />
� Welche Ausgangsvariablen, wie viele? ........................<br />
- LSB<br />
� Fehlersignal F<br />
- Was bedeutet F = 1 bzw. F= 0<br />
� Wahrheitstabelle<br />
� KV-Diagramme<br />
� Schaltung<br />
© G. Fries<br />
120
Wahrheitstabelle Code-Umsetzer<br />
Dezimalziffer<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
Pseudotetrade<br />
Pseudotetrade<br />
Pseudotetrade<br />
Pseudotetrade<br />
Pseudotetrade<br />
Pseudotetrade<br />
D3<br />
0<br />
8-4-2-1-Code<br />
D2 D1 D0<br />
© G. Fries<br />
G3<br />
BCD-Gray-Code<br />
Fehler<br />
G2 G1 G0 F<br />
121
KV-Diagramme für Code-Umsetzer<br />
D1<br />
D1<br />
D0 D0<br />
D2 D2 D2<br />
G 3 =<br />
G 2 =<br />
D1<br />
D1<br />
G0 =<br />
D3<br />
D3<br />
D3<br />
D0 D0<br />
D1<br />
D1<br />
D2 D2 D2<br />
D3<br />
D3<br />
D3<br />
D0 D0<br />
D2 D2 D2<br />
D1<br />
D1<br />
© G. Fries<br />
D0 D0<br />
D2 D2 D2<br />
F =<br />
D3<br />
D3<br />
D3<br />
D1<br />
D1<br />
D0 D0<br />
D2 D2 D2<br />
G 1 =<br />
D3<br />
D3<br />
D3<br />
D3<br />
D3<br />
D3<br />
123
Digitale Schaltung Code-Umsetzer<br />
� Bitte korrekt ergänzen<br />
D ..<br />
D ..<br />
D ..<br />
D ..<br />
D ..<br />
D ..<br />
D ..<br />
D ..<br />
D ..<br />
D ..<br />
D ..<br />
© G. Fries<br />
G ..<br />
G ..<br />
G ..<br />
G ..<br />
F<br />
125
Digitale Schaltung Code-Umsetzer<br />
Bausteine<br />
� Beispiel CD4028BC BCD to decimal converter<br />
© G. Fries<br />
127
Multiplexer<br />
� Multiplexer<br />
� Funktionseinheiten, die Nachrichten von einer Gruppe von<br />
Nachrichtenkanälen an eine andere Gruppe von<br />
Nachrichtenkanälen übergeben<br />
� 2 wichtige Sonderfälle<br />
� Die Konzentration von n Kanälen auf einen Kanal<br />
� Die Verteilung von einem Kanal auf n Kanäle: Demultiplexer<br />
� Anwendung<br />
� Datenabfrage<br />
� Parallel-Serien- und Serien-Parallel-Umsetzung<br />
� Festwertspeicher<br />
� Anzahl der Steuerleitungen für Multiplexer<br />
� Soll von n Datenkanälen selektiert werden, dann sind ld n<br />
Steuervariablen erforderlich<br />
© G. Fries<br />
128
Beispiel: 4-zu-1 Multiplexer<br />
� Anzahl der Steuerleitungen<br />
� ld 4 = 2 Steuervariablen A, B<br />
� Wahrheitstabelle, Funktion und digitale Schaltung<br />
Adr<br />
0<br />
1<br />
2<br />
3<br />
B<br />
0<br />
0<br />
1<br />
1<br />
A<br />
0<br />
1<br />
0<br />
1<br />
Y<br />
D0<br />
D1<br />
D2<br />
D3<br />
D0<br />
D1<br />
D2<br />
D3<br />
A<br />
B<br />
A<br />
B<br />
A<br />
B<br />
A<br />
B<br />
Y = ( A ∧ B ∧ D0) ∨ ( A ∧ B ∧ D1) ∨ ( A ∧ B ∧ D2) ∨ ( A ∧ B ∧ D3)<br />
&<br />
&<br />
&<br />
&<br />
≥ 1<br />
© G. Fries<br />
Y<br />
A<br />
B<br />
D0<br />
D1<br />
D2<br />
D3<br />
0<br />
1<br />
0<br />
1<br />
2<br />
3<br />
} G<br />
MUX<br />
0<br />
3<br />
Y<br />
G = Gate; Abhängigkeit der Daten-<br />
eingänge von den Steuereingängen<br />
129
Beispiel: 1-zu-4 Demultiplexer<br />
� Wahrheitstabelle, Funktion und digitale Schaltung<br />
� In Abhängigkeit von der Schalterstellung wird ein Datensignal an n<br />
verschiedene Ausgänge verteilt<br />
Adr<br />
0<br />
B<br />
0<br />
A<br />
0<br />
Y0<br />
X<br />
Y1<br />
0<br />
Y2<br />
0<br />
Y3<br />
0 X<br />
B<br />
&<br />
1<br />
2<br />
0<br />
1<br />
1<br />
0<br />
0<br />
0<br />
X<br />
0<br />
0<br />
X<br />
0<br />
0 X<br />
A<br />
B<br />
&<br />
3<br />
1<br />
1<br />
0<br />
0<br />
Y 0 = A ∧ B ∧ X<br />
Y1 = A ∧ B ∧ X<br />
Y 2 = A ∧ B ∧ X<br />
Y 3 = A ∧ B ∧ X<br />
0<br />
X<br />
X<br />
X<br />
A<br />
A<br />
B<br />
A<br />
B<br />
© G. Fries<br />
&<br />
&<br />
Y0<br />
Y1<br />
Y2<br />
Y3<br />
A<br />
B<br />
X<br />
DX<br />
0<br />
1 }G<br />
G = Gate; Abhängigkeit der<br />
0<br />
3<br />
Datenausgänge von den<br />
Steuereingängen<br />
0<br />
1<br />
2<br />
3<br />
Y0<br />
Y1<br />
Y2<br />
Y3<br />
130
Praxis: c't 2004, Heft9: Blue Connection<br />
Stereoton per Blootooth übertragen<br />
CD4053: Triple 2-Channel Analog Multiplexer/Demultiplexer<br />
© G. Fries<br />
131
Praxis: c't 2004, Heft9: Blue Connection<br />
CD4053: Triple 2-Channel Analog Multiplexer/Demultiplexer<br />
© G. Fries<br />
132
Komparator<br />
� Komparator (Vergleicher)<br />
� Ein n-Bit Zahlenkomparator vergleicht<br />
die Ziffernstellen zweier n-Bit<br />
Dualzahlen und stellt das Ergebnis am<br />
Ausgang zur Verfügung<br />
� Anwendung<br />
� In Rechnertechnik zum Abprüfen von<br />
Sprungbedingungen<br />
� Realisierung<br />
� Erfordert hohen Schaltungsaufwand,<br />
daher Kaskadierung<br />
� 2-Bit Komparator<br />
� Vergleicht zwei 2-Bit Dualzahlen<br />
X = (X1 X0) und Y = (Y1 Y0)<br />
� 3 Ausgänge:<br />
X < Y, X = Y oder X > Y<br />
© G. Fries<br />
X0<br />
X1<br />
Y0<br />
Y1<br />
Ver-<br />
gleicher<br />
KL = 1, für X < Y<br />
GL = 1, für X = Y<br />
GR = 1, für X > Y<br />
KL<br />
GL<br />
GR<br />
133
2-Bit-Komparator (Funktion)<br />
X1<br />
X1<br />
X0 X0<br />
Y0 Y0 Y0<br />
Y1<br />
Y1<br />
Y1<br />
� Bestimmen Sie aus dem KV<br />
Diagramm die DMF für GR (X>Y)<br />
� ...................................................<br />
� Leiten Sie daraus KL (X
2-Bit-Komparator (Funktion)<br />
X1<br />
X1<br />
1<br />
1<br />
1<br />
X0 X0<br />
1<br />
1<br />
1<br />
Y0 Y0 Y0<br />
Y1<br />
Y1<br />
Y1<br />
� Bestimmen Sie aus dem KV<br />
Diagramm die DMF für GR (X>Y)<br />
� ...................................................<br />
� Leiten Sie daraus KL (X
2-Bit-Komparator (Schaltung)<br />
X0<br />
X1<br />
Y0<br />
Y1<br />
1<br />
1<br />
1<br />
1<br />
� Bitte korrekt ergänzen<br />
X < Y X = Y X > Y<br />
© G. Fries<br />
137
Kaskadierbare Komparatoren<br />
� Vergleicht 2 Dualzahlen mit n Bit<br />
� 4-Bit-Komparator 7485<br />
� Schaltsymbol<br />
� 3 Erweiterungseingänge<br />
� 3 Ausgänge<br />
� Vergleicht zwei 4-Bit-Zahlen<br />
X (X3 X2 X1 X0) und<br />
Y (Y3 Y2 Y1 Y0)<br />
� Zusammenschaltung von n<br />
Komparatoren erlaubt den<br />
Vergleich von 4n-Bit-Zahlen<br />
© G. Fries<br />
X0<br />
X1<br />
X2<br />
X3<br />
Y0<br />
Y1<br />
Y2<br />
Y3<br />
0⎫<br />
COM<br />
⎪<br />
⎬P<br />
3⎪<br />
⎭<br />
<<br />
=<br />
><br />
0⎫<br />
⎪<br />
⎬Q<br />
3⎪<br />
⎭<br />
PQ<br />
139
Beispiel 12-Bit-Komparator<br />
� 12-Bit-Komparator<br />
X0<br />
X1<br />
X2<br />
X3<br />
Y0<br />
Y1<br />
Y2<br />
Y3<br />
� Bitte ergänzen Sie die drei 4-Bit-Komparatoren zu einem 12-<br />
Bit- Komparator X = (X11 X10 ... X0), Y = (Y11 Y10 ... Y0)<br />
� Welche Eingangsbeschaltung ist für die Vergleichseingänge<br />
des ersten Komparators erforderlich? Warum?<br />
0⎫<br />
COM<br />
⎪<br />
⎬P<br />
3⎪<br />
⎭<br />
<<br />
=<br />
><br />
0⎫<br />
⎪<br />
⎬Q<br />
3⎪<br />
⎭<br />
PQ<br />
0⎫<br />
COM<br />
⎪<br />
⎬P<br />
3⎪<br />
⎭<br />
<<br />
=<br />
><br />
0⎫<br />
⎪<br />
⎬Q<br />
3⎪<br />
⎭<br />
© G. Fries<br />
PQ<br />
0⎫<br />
COM<br />
⎪<br />
⎬P<br />
3⎪<br />
⎭<br />
<<br />
=<br />
><br />
0⎫<br />
⎪<br />
⎬Q<br />
3⎪<br />
⎭<br />
PQ<br />
140
Wdh.: Duale Addition<br />
� Duale Addition (erfolgt stellenweise)<br />
Stelle s Übertrag aus Ergebnis<br />
Zahl A Zahl B Stelle s −1<br />
Summe Übertrag<br />
0 + 0 + 0 = 0 0<br />
0 + 1 + 0 = 1 0<br />
1 + 0 + 0 = 1 0<br />
1<br />
0<br />
+<br />
+<br />
1<br />
0<br />
+<br />
+<br />
0<br />
1<br />
=<br />
=<br />
0<br />
1<br />
1<br />
0<br />
0 + 1 + 1 = 0 1<br />
1 + 0 + 1 = 0 1<br />
+ + =<br />
1<br />
� Beispiel<br />
� N = 8<br />
1 1<br />
Dual Dezimal<br />
0 0 1 0 1 0 0 1 4 1<br />
+ 0 0 0 1 1 0 0 1 + 2 5<br />
11 1 1<br />
0 1 0 0 0 0 1 0 6 6<br />
1 1<br />
© G. Fries<br />
� Übertrag (Carry)<br />
� tritt auf, wenn eine<br />
Einzelsumme<br />
größer oder gleich<br />
der Basis B ist<br />
Dual Dezimal<br />
, ,<br />
0 0 1 0 1 0 0 1 10 25<br />
+ 0 0 0 1 1 0 0 1 + 6 25<br />
1 1 1 1<br />
0 1 0 0 0 0 1 0 16 5<br />
, ,<br />
, ,<br />
142
Addierer<br />
� Addierer<br />
� Addition und Subtraktion von Dualzahlen<br />
� Subtraktion durch Addition des Zweier-<br />
Komplements<br />
� Zunächst: Schaltung 1-Bit-Halbaddierer<br />
� Volladdierer: Hinzufügen eines<br />
Übertragseingangs<br />
� Kaskadierung: Hintereinanderschaltung zu<br />
einem n-Bit-Volladdierer<br />
� Halbaddierer<br />
A<br />
0<br />
0<br />
1<br />
1<br />
B<br />
0<br />
1<br />
0<br />
1<br />
S<br />
0<br />
1<br />
1<br />
0<br />
C<br />
0<br />
0<br />
0<br />
1<br />
© G. Fries<br />
S =<br />
( A ∧ B)<br />
∨ ( A ∧ B)<br />
A =1<br />
S<br />
B<br />
A<br />
B<br />
A + B = Summe S + Carry C<br />
0 + 0 = 0<br />
0 + 1 = 1<br />
1 + 0 = 1<br />
1 + 1 = 0 1<br />
&<br />
C = A ∧<br />
B<br />
C<br />
HA S<br />
C<br />
143
Volladdierer<br />
� Volladdierer<br />
� Um die Addierer kaskadieren zu können, muss der Übertrag auch<br />
am Eingang berücksichtigt werden<br />
� Volladdierer: Hinzufügen eines Übertragseingangs CI<br />
� Zusammenschalten von 2 HA und einem Oder Gatter<br />
A<br />
B<br />
CI<br />
HA HA<br />
S<br />
A B CIn S COut<br />
0 0 0<br />
≥ 1<br />
CO<br />
0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0 1 1<br />
) ∨ ( A ∧ B ∧ CI<br />
) ∨ ( A ∧ B ∧ CI<br />
) ∨ ( A ∧ B<br />
CI ) ∨ ( A ∧ B ∧ CI ) ∨ ( A ∧ B ∧ CI<br />
) ∨ ( A ∧ B<br />
)<br />
)<br />
1<br />
1<br />
0<br />
0<br />
0<br />
1<br />
A<br />
B<br />
CI<br />
VA<br />
S<br />
CO<br />
1 1 0<br />
1 1 1<br />
Bitte ergänzen Sie die Wahrheitstabelle!<br />
S = ( A ∧ B ∧ CI<br />
∧ CI<br />
CO =<br />
( A ∧ B ∧<br />
∧ CI<br />
© G. Fries<br />
144
Volladdierer<br />
� Volladdierer<br />
� Um die Addierer kaskadieren zu können, muss der Übertrag auch<br />
am Eingang berücksichtigt werden<br />
� Volladdierer: Hinzufügen eines Übertragseingangs CI<br />
� Zusammenschalten von 2 HA und einem Oder Gatter<br />
A<br />
B<br />
CI<br />
HA<br />
A<br />
B<br />
CI<br />
VA<br />
HA<br />
S<br />
CO<br />
≥ 1<br />
© G. Fries<br />
S<br />
CO<br />
A<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
B<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
CIn<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
S<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
COut<br />
0<br />
0<br />
0<br />
1<br />
0<br />
1<br />
1<br />
1<br />
Bitte ergänzen Sie die Wahrheitstabelle!<br />
145
4-Bit-Ripple-Carry-Addierer<br />
� 4-Bit-Ripple-Carry-Addierer<br />
� Kaskadiert man vier 1-Bit Volladdierer,<br />
so erhält man einen 4-Bit-<br />
Ripple-Carry-Addierer<br />
� „Ripple“ = Welle, (seriell, langsam)<br />
� Produkt: 74LS283 „4-Bit Binary<br />
Adder with Fast Carry“<br />
CI<br />
A0<br />
B0<br />
A1<br />
B1<br />
A2<br />
B2<br />
A3<br />
B3<br />
VA<br />
S0<br />
VA<br />
S1<br />
© G. Fries<br />
VA<br />
A0<br />
A1<br />
A2<br />
A3<br />
B0<br />
B1<br />
B2<br />
B3<br />
CI<br />
S2<br />
0⎫<br />
⎪<br />
⎬P<br />
3⎪<br />
⎭<br />
0⎫<br />
⎪<br />
⎬Q<br />
3⎪<br />
⎭<br />
CI<br />
VA<br />
∑<br />
⎧0<br />
⎪<br />
Σ ⎨<br />
⎪⎪⎩ 3<br />
CO<br />
S3<br />
CO<br />
S0<br />
S1<br />
S2<br />
S3<br />
CO<br />
CI = Carry Input, CO =Carry Output<br />
146
Beispiel 8-Bit-Addierer<br />
� 8-Bit-Addierer<br />
� Bitte ergänzen Sie die zwei 4-Bit Addierer zu einem 8-Bit-<br />
Addierer mit A = (A7 A6 ... A0), B = (B7 B6 ... B0)<br />
� Beschriften Sie alle Ein- und Ausgänge<br />
A0<br />
A1<br />
A2<br />
A3<br />
B0<br />
B1<br />
B2<br />
B3<br />
0<br />
0⎫<br />
⎪<br />
⎬P<br />
3⎪<br />
⎭<br />
0⎫<br />
⎪<br />
⎬Q<br />
3⎪<br />
⎭<br />
CI<br />
∑<br />
⎧0<br />
⎪<br />
Σ ⎨<br />
⎪⎪⎩ 3<br />
CO<br />
S0<br />
S1<br />
S2<br />
S3<br />
© G. Fries<br />
A4<br />
A5<br />
A6<br />
A7<br />
B4<br />
B5<br />
B6<br />
B7<br />
0⎫<br />
⎪<br />
⎬P<br />
3⎪<br />
⎭<br />
0⎫<br />
⎪<br />
⎬Q<br />
3⎪<br />
⎭<br />
CI<br />
∑<br />
⎧0<br />
⎪<br />
Σ ⎨<br />
⎪⎪⎩ 3<br />
CO<br />
S4<br />
S5<br />
S6<br />
S7<br />
CO<br />
148
Aufgabe 2: Entwurf eines Code-Umsetzers<br />
� Aufgabe<br />
� Entwerfen Sie einen Code-Umsetzer, der aus dem Aiken-Code in<br />
den 8-4-2-1-Code umsetzt. Tritt im Aiken-Code eine Pseudotetrade<br />
auf, so soll eine Fehlermeldung erfolgen. Die Darstellung im<br />
8-4-2-1-Code ist im Fehlerfall beliebig.<br />
� Zur Lösung<br />
� Welche Eingangsvariablen, wie viele? .......................<br />
� LSB<br />
� Welche Ausgangsvariablen, wie viele? ........................<br />
� LSB<br />
� Fehlersignal F<br />
� Was bedeutet F = 1 bzw. F = 0?<br />
� Wahrheitstabelle<br />
� KV-Diagramme<br />
� (Schaltung)<br />
© G. Fries<br />
149
Aufgabe 2: Entwurf eines Code-Umsetzers<br />
Dezimalziffer<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
Pseudotetrade<br />
Pseudotetrade<br />
Pseudotetrade<br />
Pseudotetrade<br />
Pseudotetrade<br />
Pseudotetrade<br />
D3<br />
Aiken-Code<br />
D2 D1 D0<br />
© G. Fries<br />
8-4-2-1 Code Fehler<br />
A3 A2 A1 A0 F<br />
150
KV-Diagramme für Code-Umsetzer<br />
D1<br />
D1<br />
D0 D0<br />
D2 D2 D2<br />
A3 =<br />
A2 =<br />
D1<br />
D1<br />
A0<br />
=<br />
D3<br />
D3<br />
D3<br />
D0 D0<br />
D1<br />
D1<br />
D2 D2 D2<br />
D3<br />
D3<br />
D3<br />
D0 D0<br />
D2 D2 D2<br />
D1<br />
D1<br />
© G. Fries<br />
D0 D0<br />
A1<br />
D2 D2 D2<br />
F =<br />
D3<br />
D3<br />
D3<br />
D1<br />
D1<br />
D0 D0<br />
D2 D2 D2<br />
=<br />
D3<br />
D3<br />
D3<br />
D3<br />
D3<br />
D3<br />
151
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Prof. Dr.-Ing. Ralf Herber<br />
Elektrotechnik / <strong>Digitaltechnik</strong><br />
<strong>Kapitel</strong> 6. Sequentielle Logik<br />
� Definition<br />
� Bistabile Kippschaltungen<br />
� Ungetaktete FF<br />
� Einzustands-gesteuerte FF (RS, D)<br />
� Einflanken-gesteuerte FF (RS, JK, D,T)<br />
� Tabelle der wichtigsten FF<br />
� Synchrone Zähler<br />
� Puffer<br />
� Schieberegister<br />
� Rückgekoppelte Schieberegister<br />
Stand:12.10.2006
Definitionen (Wiederholung)<br />
� Kombinatorische Schaltungen (Schaltnetze)<br />
� Digitale Schaltung zum Verarbeiten von Schaltvariablen, wobei die<br />
Ausgangszustände zu einem bestimmten Zeitpunkt t 1 nur von den<br />
Zuständen an den Eingängen zum Zeitpunkt t 1 abhängen<br />
� Lässt sich mit Grundgattern (AND, OR, NOT) realisieren<br />
� Enthält keine Rückkopplung<br />
� Sequentielle Logik (Schaltwerke)<br />
� Digitale Schaltung zum Verarbeiten von Schaltvariablen, wobei die<br />
Ausgangszustände zu einem bestimmten Zeitpunkt t 1 von den<br />
Zuständen an den Eingängen zum Zeitpunkt t 1 und von endlich vielen<br />
vorangegangenen Zeitpunkten abhängen<br />
� Ausgangszustände sind abhängig von Eingangszuständen und von<br />
den Zuständen innerer Schaltvariablen (Vorgeschichte)<br />
� Enthält Rückkopplungen und Speicherglieder (Flipflops)<br />
� Zuerst:<br />
� Kippschaltungen, Flip-Flop<br />
© G. Fries<br />
153
Kippschaltungen<br />
+ +<br />
R C<br />
T 1<br />
Kippschaltung<br />
Bistabil<br />
Monostabil<br />
Astabil<br />
Name<br />
K2 K1<br />
Flip-Flop, Schmitt-Trigger<br />
Univibrator<br />
Multivibrator<br />
© G. Fries<br />
R C<br />
T 2<br />
K1<br />
R<br />
R<br />
C<br />
K2<br />
R<br />
C<br />
C<br />
154
RS-Flipflop + +<br />
Q<br />
R C<br />
T 1<br />
R 3<br />
R 2<br />
S R<br />
© G. Fries<br />
R 4<br />
R 1<br />
R C<br />
T 2<br />
Q<br />
155
Flipflops (FF)<br />
� Grundlegende binäre Speicherelemente<br />
� Kann die Information 1 Bit (0 oder 1) speichern<br />
� Flipflop<br />
� Digitale Schaltung mit 2 Eingängen über die der zu speichernde<br />
Wert eingegeben wird<br />
� Am Ausgang Q kann der gespeicherte Wert abgelesen werden<br />
� Gespeicherter Wert = Zustand = Speicherinhalt<br />
� Schaltung mit 2 stabilen Zuständen<br />
� Die Schaltung verbleibt solange in dem einem stabilen Zustand, bis<br />
sie durch ein Eingangssignal in den anderen stabilen Zustand<br />
umgeschaltet wird<br />
� Über entsprechende Eingänge kann das Flipflop<br />
- gesetzt, d.h. Q=1 oder<br />
- rückgesetzt, d.h. Q=0<br />
werden<br />
© G. Fries<br />
S<br />
R<br />
S<br />
R<br />
Q<br />
Q<br />
156
RS-Flipflop<br />
� RS-Flipflop<br />
� Einfachste Ausführung eines FF<br />
� Eingang S=1, R=0 => Setzen<br />
� Eingang R=1, S=0 => Rücksetzen<br />
� Eingang R=S=0 => Speichern<br />
� Eingang R=S=1 => Irregulär<br />
� Ausgang Q gibt den Zustand wieder<br />
� Darstellung des Zustandes zum<br />
Zeitpunkt m: Q m<br />
� Darstellung des Folgezustandes<br />
zu einem späteren Zeitpunkt: Q m+1<br />
� Vervollständigen Sie die Tabelle<br />
S<br />
R<br />
S<br />
R<br />
Q<br />
Q<br />
© G. Fries<br />
S<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
R<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
S<br />
0<br />
0<br />
1<br />
1<br />
R<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
Q m+1<br />
Q m<br />
0<br />
1<br />
Irregulär<br />
Übergangstabellen<br />
Funktion<br />
157
RS-Flipflop<br />
� RS-Flipflop<br />
� Einfachste Ausführung eines FF<br />
� Eingang S=1, R=0 => Setzen<br />
� Eingang R=1, S=0 => Rücksetzen<br />
� Eingang R=S=0 => Speichern<br />
� Eingang R=S=1 => Irregulär<br />
� Ausgang Q gibt den Zustand wieder<br />
� Darstellung des Zustandes zum<br />
Zeitpunkt m: Q m<br />
� Darstellung des Folgezustandes<br />
zu einem späteren Zeitpunkt: Q m+1<br />
� Vervollständigen Sie die Tabelle<br />
S<br />
R<br />
S<br />
R<br />
Q<br />
Q<br />
© G. Fries<br />
S<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
R<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
S<br />
0<br />
0<br />
1<br />
1<br />
R<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
--<br />
--<br />
Q m+1<br />
Q m<br />
0<br />
1<br />
Irregulär<br />
Übergangstabellen<br />
Funktion<br />
Speichern<br />
Q m+1 = Q m<br />
Rücksetzen<br />
Q m+1 = 0<br />
Setzen<br />
Q m+1 = 1<br />
Irregulär<br />
158
Realisierung eines RS-Flipflops<br />
� Genau wie bei der Wahrheitstabelle kann aus der<br />
Übergangstabelle das KV-Diagramm ermittelt werden<br />
� Man erhält die sogenannte Übergangsbedingung für Setzen und<br />
Rücksetzen<br />
� Füllen Sie das KV-Diagramm aus<br />
� Setzen Sie dabei die irregulären Zustände als don‘t care ein<br />
� Wie lautet die Übergangsbedingung?<br />
� Q m+1 = ...........................................<br />
R<br />
R<br />
m m<br />
Q Q<br />
S S S<br />
KV-Diagramm für Q m+1<br />
© G. Fries<br />
S<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
R<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
--<br />
--<br />
159
Realisierung in NOR- und NAND-Technik<br />
� Formen Sie die Übergangsbedingung so um, dass sich das RS-FF in<br />
� NOR-Technik:<br />
- ...........................................<br />
� Und in NAND-Technik realisieren lässt:<br />
- ...........................................<br />
� Vervollständigen Sie jeweils die zugehörige Schaltung:<br />
S<br />
R<br />
≥ 1<br />
≥ 1<br />
NOR<br />
Q<br />
Q<br />
S<br />
R<br />
© G. Fries<br />
&<br />
&<br />
NAND<br />
&<br />
&<br />
Q<br />
Q<br />
161
RS-Flipflop mit Setzvorgang<br />
� Hält sich der Anwender nicht an die Vermeidung des irregulären<br />
Zustandes und setzt R = S = 1 so gilt bei:<br />
� NOR-Technik:<br />
� NAND-Technik:<br />
Q = 0, Q = 0<br />
Q = 1, Q = 1<br />
� Die Schaltungen verhalten sich hier nicht mehr wie ein RS-FF!<br />
� Der Übergang von R=S=1 auf R=S=0 ist unbestimmt, er kann<br />
sowohl zu Q=1 als auch zu Q=0 führen! Je nachdem welcher<br />
Eingang zuerst auf 0 gesetzt wird<br />
� R schaltet schneller: Q=1 (Setz-Zustand wird durchlaufen)<br />
� S schaltet schneller: Q=0 (Rücksetz-Zustand wird durchlaufen)<br />
� RS-Flipflop mit Setzvorrang<br />
� Vermeidet irregulären Zustand<br />
� S=R=1 führt immer auf Q=1<br />
S<br />
R<br />
© G. Fries<br />
1<br />
≥1<br />
≥1<br />
≥1<br />
Q<br />
Q<br />
163
Taktgesteuerte Flipflops<br />
� Taktgesteuerte Flipflops<br />
� Die Übernahme der Information erfolgt in Kombination mit einem<br />
bestimmten Auslösesignal, dem Takt<br />
� Bei einer taktgesteuerten Schaltung wirkt der Takt als zusätzliches<br />
Eingangssignal<br />
� Zustandsänderungen sind nur zu bestimmten, durch den Takt<br />
vorgegebenen Zeiträumen oder -punkten möglich<br />
� Wechsel von Signalen außerhalb dieser Zeiträume sind ohne Wirkung<br />
� Störungen oder Umschaltvorgänge ( 0 -> 1 oder 1-> 0) außerhalb<br />
dieser Zeiträume sind ebenfalls ohne Wirkung!<br />
� 2 Möglichkeiten<br />
� Taktzustandssteuerung<br />
� Taktflankensteuerung<br />
© G. Fries<br />
164
Takt<br />
� Takt C = Clock<br />
� Taktzustandssteuerung<br />
� Bei Taktzustandsteuerung sind Zustandsänderungen der Schaltung<br />
nur während der 1-Phase („positiv“) oder während der<br />
0-Phase („negativ“) des Taktes möglich<br />
� Taktflankensteuerung<br />
1<br />
0<br />
1<br />
0<br />
� Bei Taktflankensteuerung sind Zustandsänderungen der Schaltung<br />
nur während der ansteigenden („positiv“) oder während der<br />
absteigenden Flanke („negativ“) des Taktes möglich<br />
1<br />
0<br />
© G. Fries<br />
t<br />
t<br />
t<br />
165
Taktzustandsgesteuertes RS-Flipflop<br />
� Die beiden Eingänge R und S werden durch den Takt C freigegeben<br />
� 2 UND-Gatter werden als Takttor verwendet<br />
S<br />
C<br />
R<br />
& S Q<br />
S 1S<br />
C C1<br />
& R Q<br />
R 1R<br />
� Zustandsgesteuerte FF sind transparent. Falls der Takt C=1 ist, wirkt<br />
sich eine Änderung der Eingangsinformation direkt am Ausgang aus<br />
� Der Ausgang kann sich nur ändern, wenn C=1 ist<br />
� Beim Übergang des Taktes in den Zustand C=0 wird der<br />
augenblickliche Wert der Ausgangsvariablen gespeichert<br />
� Übergangsbedingung<br />
m+ 1<br />
m<br />
Q = ( S ∧ C) ∨ ( R ∧ C ∧ Q )<br />
© G. Fries<br />
Symbol<br />
Q<br />
Q<br />
166
Taktzustandsgesteuertes D-Flipflop (Latch)<br />
� Ein D-FF erhält man aus dem zustandsgesteuerten RS-FF, indem<br />
man statt des Rücksetzeinganges R den Setzeingang negiert und<br />
auf das zweite UND schaltet<br />
D<br />
C<br />
&<br />
&<br />
S<br />
R<br />
Q<br />
Q<br />
Symbol<br />
� Ein ungetaktetes D-FF ist nicht möglich, da nur ein Dateneingang<br />
vorliegt<br />
� Wenn C=1, dann wird die am Eingang D anliegende Information<br />
durchgeschaltet<br />
Qm+1 C Q Funktion<br />
m D<br />
� Übergangsbedingung<br />
m+ 1<br />
m<br />
Q = ( D ∧ C) ∨ ( C ∧ Q )<br />
d<br />
d<br />
0<br />
1<br />
© G. Fries<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
d<br />
d<br />
D<br />
C<br />
0<br />
1<br />
0<br />
1<br />
1D<br />
C1<br />
Q<br />
Q<br />
C=0<br />
Speichern<br />
Rücksetzen<br />
Setzen<br />
167
Einflankengesteuerte Flipflops<br />
� „Einflankengesteuerte“ FF werden im folgenden als<br />
„flankengesteuert“ bezeichnet<br />
� Zweizustands- bzw. zweiflankengesteuerte FF werden nicht<br />
ausführlich betrachtet<br />
� Flankengesteuerte FF sind getaktete FF, die in Abhängigkeit von<br />
den vorbereitenden Eingängen (D; R,S; J,K; T) mit der positiven<br />
(negativen) Flanke des Taktes gesetzt oder rückgesetzt werden<br />
� Ausgangszustand kann sich nur mit der schaltenden Flanke ändern!<br />
� Einzuhalten:<br />
� Setup-Time t s (Setz-Zeit), Zeitraum vor der aktiven Flanke<br />
� Hold-Time t h (Haltezeit), Zeitraum nach der aktiven Flanke<br />
� Nichteinhalten kann metastabilen Zustand herbeiführen<br />
� Abhängig von Technologie:<br />
� Verzögerungszeit zwischen Eingang und Ausgang in Bezug auf die<br />
aktive Taktflanke: Takt-Ausgangszeit bzw. Clock-to-Output-Time<br />
© G. Fries<br />
168
Einflankengesteuerte Flipflops<br />
� Modell eines taktflankengesteuerten D-Flipflops<br />
� Vorteil u.a.: Störsicherheit<br />
D<br />
C<br />
1D<br />
C1<br />
C R D<br />
Q<br />
Q<br />
D<br />
C<br />
1D<br />
� Zustandsgesteuert pos. Flankengesteuert neg. Flakengesteuert<br />
C1<br />
© G. Fries<br />
Q<br />
Q<br />
D<br />
C<br />
1D<br />
C1<br />
1D<br />
C1<br />
Q<br />
Q<br />
Q<br />
Q<br />
169
Taktflankengesteuertes RS-Flipflop<br />
� Es gilt die Übergangsbedingung des<br />
ungetakteten RS-FF<br />
� Jedoch:<br />
� Das flankengesteuerte RS-FF wird erst mit der<br />
schaltenden (aktiven) Flanke des Taktes<br />
gesetzt bzw. rückgesetzt<br />
� Schaltsymbol für positiv flankengesteuertes FF<br />
� Übergangstabelle<br />
� Hier ist es nicht mehr möglich, den Takt als<br />
unabhängige Variable zu betrachten<br />
� Übergang wird durch Pfeil dargestellt<br />
� FF wird bei Taktflanke gesetzt (Q m+1 =1)<br />
� wenn die Übergangsbedingung erfüllt ist<br />
� FF wird bei Taktflanke rückgesetzt (Q m+1 = 0)<br />
� wenn die Übergangsbedingung nicht erfüllt ist<br />
© G. Fries<br />
S<br />
C<br />
R<br />
d<br />
d<br />
1S<br />
C1<br />
1R<br />
Symbol<br />
d<br />
d<br />
C<br />
0<br />
1<br />
Q<br />
Q<br />
m+ 1<br />
m<br />
Q = S ∨ ( R ∧ Q )<br />
S<br />
0<br />
0<br />
1<br />
1<br />
R<br />
0<br />
1<br />
0<br />
1<br />
↑<br />
↑<br />
↑<br />
↑<br />
Q m+1<br />
Q m<br />
Q m<br />
Q m<br />
0<br />
1<br />
irreg.<br />
170
Taktflankengesteuertes D-Flipflop (Register)<br />
� Taktflankengesteuertes D-FF wird bei der aktiven<br />
Taktflanke gesetzt (Q m+1 =1)<br />
� wenn die Übergangsbedingung erfüllt ist<br />
� FF wird bei Taktflanke rückgesetzt (Q m+1 = 0)<br />
� wenn die Übergangsbedingung nicht erfüllt ist<br />
� Schaltsymbol für positiv flankengesteuertes D-FF<br />
� Häufiger Einsatz, da einfacher Aufbau und<br />
problemlose Ansteuerung<br />
� Zusätzliches ungetaktetes RS-FF mit<br />
negativen Eingängen für Preset bzw. Reset<br />
� Eingänge ermöglichen statisches<br />
Setzen und Rücksetzen<br />
� Haben Priorität und sind unabhängig<br />
von Takt und Eingang D<br />
© G. Fries<br />
S<br />
D<br />
C<br />
R<br />
D<br />
C<br />
1D<br />
C1<br />
Symbol<br />
+<br />
Q = D ∨ Q<br />
Q<br />
Q<br />
m 1<br />
m<br />
D<br />
d<br />
d<br />
1<br />
0<br />
C<br />
0<br />
1<br />
↑<br />
↑<br />
S<br />
1D<br />
C1<br />
R<br />
Q m+1<br />
Q m<br />
Q m<br />
1<br />
0<br />
Q<br />
Q<br />
171
Taktflankengesteuertes JK-Flipflop<br />
J<br />
K<br />
&<br />
&<br />
1S<br />
C1<br />
1R<br />
� Taktflankengesteuertes JK-FF wird aus<br />
rückgekoppeltem RS-FF aufgebaut<br />
� Negationskreis am Clock-Eingang<br />
bedeutet negative Flanke<br />
� J entspricht dem Setzeingang und K dem<br />
Rücksetzeingang<br />
� Wenn beide Eingänge J=K=1 gesetzt<br />
werden, dann erhält man den neuen<br />
Zustand „Ändern“, d.h. die<br />
Ausgangsvariable wird negiert!<br />
C<br />
© G. Fries<br />
Q<br />
Q<br />
J<br />
d<br />
d<br />
0<br />
0<br />
1<br />
1<br />
K<br />
d<br />
d<br />
0<br />
1<br />
0<br />
1<br />
C<br />
0<br />
1<br />
↓<br />
↓<br />
↓<br />
↓<br />
J<br />
C<br />
K<br />
1J<br />
C1<br />
1K<br />
Symbol<br />
Q m+1<br />
Q m<br />
Q m<br />
Q m<br />
0<br />
1<br />
m<br />
Q<br />
Q<br />
Q<br />
Funktion<br />
Speichern<br />
Speichern<br />
Speichern<br />
Rücksetzen<br />
Setzen<br />
Ändern<br />
172
Übergangsbedingung für JK-Flipflop<br />
� Füllen Sie die Wahrheitstabelle aus<br />
� Füllen Sie das KV-Diagramm aus und<br />
ermitteln Sie die Übergangsbedingung:<br />
� Q m+1 = ...........................................<br />
K<br />
K<br />
m m<br />
Q Q<br />
J J J<br />
KV-Diagramm für Q m+1<br />
© G. Fries<br />
J<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
K<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
Q m+1<br />
173
Übergangsbedingung für JK-Flipflop<br />
� Füllen Sie die Wahrheitstabelle aus<br />
� Füllen Sie das KV-Diagramm aus und<br />
ermitteln Sie die Übergangsbedingung:<br />
� Q m+1 = ...........................................<br />
K<br />
K<br />
m m<br />
Q Q<br />
J J J<br />
KV-Diagramm für Q m+1<br />
© G. Fries<br />
J<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
K<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
1<br />
0<br />
174
Übergangsbedingung für JK-Flipflop<br />
� Füllen Sie die Wahrheitstabelle aus<br />
� Füllen Sie das KV-Diagramm aus und<br />
ermitteln Sie die Übergangsbedingung:<br />
� Qm+1 m m<br />
= ...........................................<br />
Q K ∨ Q J<br />
K<br />
K<br />
m m<br />
Q Q<br />
1<br />
1<br />
1<br />
1<br />
J J J<br />
KV-Diagramm für Q m+1<br />
Q m<br />
0<br />
0<br />
1<br />
1<br />
Q m+1<br />
0<br />
1<br />
0<br />
1<br />
© G. Fries<br />
J<br />
0<br />
1<br />
d<br />
d<br />
K<br />
d<br />
d<br />
1<br />
0<br />
J<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
K<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
1<br />
0<br />
175
Übergangsbedingung für JK-Flipflop<br />
� Füllen Sie die Wahrheitstabelle aus<br />
� Füllen Sie das KV-Diagramm aus und<br />
ermitteln Sie die Übergangsbedingung:<br />
� Qm+1 m m<br />
= ...........................................<br />
Q K ∨<br />
Q J<br />
K<br />
K<br />
m m<br />
Q Q<br />
1<br />
1<br />
1<br />
1<br />
J J J<br />
KV-Diagramm für Q m+1<br />
� Zusätzliches ungetaktetes RS-FF mit<br />
negativen Eingängen für Preset bzw. Reset<br />
� Ermöglichen statisches Setzen und<br />
Rücksetzen<br />
� Haben Priorität und sind unabhängig<br />
von Takt und Eingängen J,K<br />
© G. Fries<br />
J<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
S<br />
J<br />
C<br />
K<br />
R<br />
K<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
S<br />
1J<br />
C1<br />
1K<br />
R<br />
Q m+1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
1<br />
0<br />
Q<br />
Q<br />
176
JK-Flipflop 7476<br />
� H = High Logic Level = 1 / L = Low Logic Level = 0<br />
� Setz-Eingang S hier: PR (preset)<br />
� Rücksetz-Eingang R hier: CLR (clear)<br />
© G. Fries<br />
177
D-Flipflop CD4013<br />
© G. Fries<br />
178
Taktflankengesteuertes T-Flipflop (T=Toggle)<br />
� JK-FF ist das universellste getaktete FF<br />
� Ein T-FF erhält man aus dem JK-FF,<br />
indem man die beiden Eingänge J, K<br />
miteinander verbindet und den<br />
gemeinsamen Anschluss mit T bezeichnet<br />
� T-FF werden zum Entwurf von<br />
Frequenzteilern eingesetzt<br />
� Wie wird es dazu beschaltet?<br />
1T<br />
C1<br />
Q<br />
Q<br />
C<br />
Q<br />
T<br />
2T<br />
© G. Fries<br />
t<br />
t<br />
m+ 1<br />
m m<br />
Q = ( T ∧ Q ) ∨ ( T ∧ Q )<br />
T<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
T<br />
C<br />
Q m+1<br />
0<br />
1<br />
1<br />
0<br />
1T<br />
C1<br />
Symbol<br />
Q<br />
Q<br />
Funktion<br />
T=0<br />
Speichern<br />
T=1<br />
Ändern<br />
179
Taktflankengesteuertes T-Flipflop<br />
� JK-FF ist das universellste getaktete FF<br />
� Ein T-FF erhält man aus dem JK-FF,<br />
indem man die beiden Eingänge J, K<br />
miteinander verbindet und den<br />
gemeinsamen Anschluss mit T bezeichnet<br />
� T-FF werden zum Entwurf von<br />
Frequenzteilern eingesetzt<br />
1<br />
C<br />
� Wie wird es dazu beschaltet?<br />
1T<br />
C1<br />
Q<br />
Q<br />
C<br />
Q<br />
T<br />
2T<br />
© G. Fries<br />
t<br />
t<br />
m+ 1<br />
m m<br />
Q = ( T ∧ Q ) ∨ ( T ∧ Q )<br />
T<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
T<br />
C<br />
Q m+1<br />
0<br />
1<br />
1<br />
0<br />
1T<br />
C1<br />
Symbol<br />
Q<br />
Q<br />
Funktion<br />
T=0<br />
Speichern<br />
T=1<br />
Ändern<br />
180
Beispiele<br />
� Auch D-FF werden zum Entwurf von Frequenzteilern eingesetzt<br />
� Wie wird es dazu beschaltet?<br />
C<br />
Q<br />
t<br />
� Entwerfen Sie ein D-FF und ein T-FF mit Hilfe eines JK-FF<br />
Q m<br />
0<br />
0<br />
1<br />
1<br />
S<br />
1D<br />
C1<br />
R<br />
Q m+1<br />
0<br />
1<br />
0<br />
1<br />
J<br />
0<br />
1<br />
d<br />
d<br />
Q<br />
Q<br />
K<br />
d<br />
d<br />
1<br />
0<br />
1J<br />
T<br />
C1<br />
1K<br />
2T<br />
© G. Fries<br />
Q<br />
Q<br />
t<br />
1J<br />
C1<br />
1K<br />
Q<br />
Q<br />
181
RS-Master-Slave-Flip-Flop<br />
R<br />
S<br />
C<br />
1<br />
&<br />
&<br />
Master Slave<br />
&<br />
&<br />
C<br />
� Takt auf 0: Master blockiert, Slave übernimmt Ergebnis<br />
� Takt auf 1: Master frei, Slave blockiert<br />
© G. Fries<br />
&<br />
&<br />
&<br />
&<br />
Q<br />
Q<br />
183
JK-Master-Slave-Flip-Flop<br />
K<br />
J<br />
C<br />
1<br />
&<br />
&<br />
Master Slave<br />
&<br />
&<br />
C<br />
� Takt auf 0: Master blockiert, Slave übernimmt Ergebnis<br />
� Takt auf 1: Master frei, Slave blockiert<br />
� Achtung: Wegen der Rückkopplung kann das Master-FF nur einmal<br />
umkippen !<br />
© G. Fries<br />
&<br />
&<br />
&<br />
&<br />
Q<br />
Q<br />
184
Übersicht Flipflops<br />
Einzustandsgesteuert<br />
RS-Flipflop<br />
D-Flipflop<br />
Einflankengesteuert<br />
RS-Flipflop<br />
JK-Flipflop<br />
D-Flipflop<br />
T-Flipflop<br />
Bistabile Kippstufen<br />
Ungetaktet<br />
RS-Flipflop<br />
© G. Fries<br />
Zweizustandsgesteuert<br />
RS-FF<br />
JK-FF<br />
Zweiflankengesteuert<br />
RS-FF<br />
JK-FF<br />
185
Übersicht Flipflops<br />
FF ohne<br />
Taktsteuerung<br />
Einzustands-<br />
gesteuerte FF<br />
Einflanken-<br />
gesteuerte FF<br />
S<br />
R<br />
1S<br />
C1<br />
1R<br />
R<br />
RS-FF<br />
1S<br />
C1<br />
1R<br />
R<br />
Takt: Logisch 1 bzw. steigende Flanke<br />
© G. Fries<br />
1J<br />
C1<br />
1K<br />
R<br />
JK-FF<br />
schwingt<br />
schwingt<br />
leitende<br />
Verbindung<br />
1D<br />
C1<br />
R<br />
1D<br />
C1<br />
R<br />
D-FF<br />
186
Übersicht Flipflops<br />
FF ohne<br />
Taktsteuerung<br />
Einzustands-<br />
gesteuerte FF<br />
Einflanken-<br />
gesteuerte FF<br />
S<br />
R<br />
1S<br />
C1<br />
1R<br />
R<br />
RS-FF<br />
1S<br />
C1<br />
1R<br />
R<br />
Takt: Logisch 0 bzw. abfallende Flanke<br />
© G. Fries<br />
1J<br />
C1<br />
1K<br />
R<br />
JK-FF<br />
schwingt<br />
schwingt<br />
leitende<br />
Verbindung<br />
1D<br />
C1<br />
R<br />
1D<br />
C1<br />
R<br />
D-FF<br />
187
Übersicht Flipflops<br />
(Zweiflankengesteuert bzw.<br />
zweizustandsgesteuert)<br />
Zweizustands-<br />
gesteuerte FF<br />
Zweiflanken-<br />
gesteuerte FF<br />
1S<br />
C1<br />
1R<br />
R<br />
RS-FF<br />
1S<br />
C1<br />
1R<br />
R<br />
Takt: Logisch 0 bzw. abfallende Flanke<br />
© G. Fries<br />
1J<br />
C1<br />
1K<br />
R<br />
1J<br />
C1<br />
1K<br />
R<br />
JK-FF<br />
1D<br />
C1<br />
R<br />
1D<br />
C1<br />
R<br />
D-FF<br />
188
Zustandsfolgetabelle<br />
Übersicht Flipflops<br />
S<br />
0<br />
0<br />
1<br />
1<br />
RS-FF JK-FF D-FF<br />
R<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
Q m<br />
0<br />
1<br />
irreg.<br />
J<br />
0<br />
0<br />
1<br />
1<br />
K<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
Q m<br />
0<br />
1<br />
Q m<br />
© G. Fries<br />
D<br />
0<br />
1<br />
Q m+1<br />
m m<br />
Q Q K ∨ Q J<br />
m+1 m+ 1 m<br />
Q = S ∨ ( R ∧ Q ) =<br />
Q D<br />
1 m +<br />
=<br />
Synthesetabelle<br />
Q m<br />
0<br />
0<br />
1<br />
1<br />
Q m+1<br />
0<br />
1<br />
0<br />
1<br />
S<br />
0<br />
1<br />
0<br />
d<br />
R<br />
d<br />
0<br />
1<br />
0<br />
Q m<br />
0<br />
0<br />
1<br />
1<br />
Q m+1<br />
0<br />
1<br />
0<br />
1<br />
J<br />
0<br />
1<br />
d<br />
d<br />
K<br />
d<br />
d<br />
1<br />
0<br />
Q m<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
D<br />
0<br />
1<br />
0<br />
1<br />
T<br />
0<br />
0<br />
1<br />
1<br />
T-FF<br />
T<br />
0<br />
1<br />
Q m<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
Q m<br />
Q m<br />
m+<br />
1 m<br />
Q = TQ<br />
∨<br />
TQ<br />
Q m+1<br />
0<br />
1<br />
1<br />
0<br />
m<br />
189
Zähler<br />
� Schaltungen, die als einzigen Eingang den Takteingang besitzen<br />
� Zähler zählen Taktimpulse und durchlaufen zyklisch eine bestimmte<br />
Anzahl von verschiedenen Zuständen<br />
� Einsatz für periodische Vorgänge, z.B. Ampelsteuerung<br />
� Unterscheidung zwischen asynchronen + synchronen Zählern<br />
� Synchron: Zentraler Takt nimmt Steuerung vor. Alle Arbeitsschritte<br />
werden synchron zur Taktflanke ausgeführt<br />
� Asynchron: Nicht alle Takteingänge sind mit dem zentralen Takt<br />
verbunden. Einzelne Takteingänge können mit Ausgängen anderer<br />
Schaltnetze verbunden sein<br />
© G. Fries<br />
190
Zähler (Synchron)<br />
� Unterscheidung zwischen asynchronen + synchronen Zählern<br />
� Synchron: Zentraler Takt nimmt Steuerung vor. Alle Arbeitsschritte<br />
werden synchron zur Taktflanke ausgeführt<br />
� Asynchron: Nicht alle Takteingänge sind mit dem zentralen Takt<br />
verbunden. Einzelne Takteingänge können mit Ausgängen anderer<br />
Schaltnetze verbunden sein<br />
C<br />
X<br />
Y<br />
Z<br />
C<br />
FF<br />
Schaltnetz<br />
....<br />
© G. Fries<br />
X<br />
Y<br />
Z<br />
C<br />
FF<br />
191
Zähler (Asynchron)<br />
� Unterscheidung zwischen asynchronen + synchronen Zählern<br />
� Synchron: Zentraler Takt nimmt Steuerung vor. Alle Arbeitsschritte<br />
werden synchron zur Taktflanke ausgeführt<br />
� Asynchron: Nicht alle Takteingänge sind mit dem zentralen Takt<br />
verbunden. Einzelne Takteingänge können mit Ausgängen anderer<br />
Schaltnetze verbunden sein<br />
C<br />
X<br />
Y<br />
Z<br />
C<br />
FF<br />
Schaltnetz<br />
....<br />
© G. Fries<br />
X<br />
Y<br />
Z<br />
C<br />
FF<br />
192
Zähler<br />
� Modulo n-Zähler<br />
� Gibt nacheinander immer wieder Dualdarstellung der Zahlen 0 bis n-1<br />
aus<br />
� Beispiel: Modulo-16-Zähler zählt zyklisch von 0 bis 15<br />
� 4 Ausgänge<br />
Takt C<br />
Mod.-<br />
16 -<br />
Zähler<br />
Q0<br />
Q1<br />
Q2<br />
Q3<br />
© G. Fries<br />
R<br />
Clk<br />
RCTR 4<br />
CT=0<br />
C+<br />
[1]<br />
[2]<br />
[4]<br />
[8]<br />
Q0<br />
Q1<br />
Q2<br />
Q3<br />
193
Asynchroner Vorwärts-Dualzähler<br />
1<br />
C<br />
1J<br />
C1<br />
1 1J<br />
C1<br />
1 1K 1 1K<br />
R R<br />
R<br />
� Dualzähler<br />
Q0 Q1 Q2 Q3<br />
� Speichert Zählergebnis als Dualzahl<br />
© G. Fries<br />
1J<br />
C1<br />
1K<br />
R<br />
� Stellt Ergebnis am Ausgang zur Verfügung<br />
� Vorwärts Dualzähler<br />
� J,K-Eingänge auf 1 gesetzt<br />
� Jede FF-Stufe teilt durch 2<br />
� Kaskade von einfachen Frequenzteilern mit JK-FF<br />
� Takt liegt nur am ersten FF an => asynchron!<br />
1<br />
1<br />
1<br />
1<br />
1J<br />
C1<br />
1K<br />
R<br />
� Ausgänge jeweils mit Takteingang des folgenden FF verbunden<br />
194
Asynchroner Zähler Signalzeitplan<br />
C<br />
Q0<br />
Q1<br />
Q2<br />
Q3<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
1t v<br />
2t v<br />
t v = Verzögerungszeit, Bitte vervollständigen!<br />
© G. Fries<br />
t<br />
t<br />
t<br />
t<br />
t<br />
195
Beispiel: Asynchroner Modulo-6-Zähler<br />
� Modulo-6-Zähler<br />
� Speichert Zählergebnis als Dualzahl<br />
� Stellt Ergebnis am Ausgang zur Verfügung<br />
� Zählt 0-1-2-3-4-5-0-1-2-3-....<br />
� Drei Zählstufen werden benötigt<br />
1<br />
C<br />
1J<br />
C1<br />
1 1J<br />
C1<br />
1 1K 1 1K<br />
R R<br />
R<br />
Q0 Q1 Q2<br />
1<br />
1<br />
© G. Fries<br />
1J<br />
C1<br />
1K<br />
R<br />
&<br />
Reset wenn<br />
Q0=0<br />
Q1=1<br />
Q2=1<br />
197
Beispiel: Asynchroner Modulo-6-Zähler<br />
C<br />
Q0<br />
Q1<br />
Q2<br />
R<br />
1t v<br />
2t v<br />
t v = Verzögerungszeit<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14<br />
3t v<br />
© G. Fries<br />
t<br />
t<br />
t<br />
t<br />
t<br />
198
Beispiel: Synchroner Modulo-5-Zähler<br />
� Modulo-5-Zähler soll mit RS-FF realisiert werden<br />
� Speichert Zählergebnis als Dualzahl<br />
� Stellt Ergebnis am Ausgang zur Verfügung<br />
� Zählt 0-1-2-3-4-0-1-2-3-....<br />
� Drei Zählstufen/FF werden benötigt<br />
� Es soll zusätzlich ein Übertragssignal erzeugt werden wenn ein Zyklus<br />
durchlaufen wurde<br />
Clk<br />
Zähler<br />
Y0<br />
Y1<br />
Y2<br />
Ü<br />
Z<br />
0<br />
1<br />
2<br />
3<br />
4<br />
© G. Fries<br />
Y2<br />
0<br />
0<br />
0<br />
0<br />
1<br />
Y1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
Y0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
Ü<br />
0<br />
0<br />
0<br />
0<br />
1<br />
199
Beispiel: Synchroner Modulo-5-Zähler<br />
� Funktionsweise des Zählers<br />
Clk<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
Q2<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
Q1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Q2 +<br />
0<br />
0<br />
0<br />
1<br />
0<br />
d<br />
d<br />
d<br />
Q1 +<br />
0<br />
1<br />
1<br />
0<br />
0<br />
d<br />
d<br />
d<br />
Q0 +<br />
1<br />
0<br />
1<br />
0<br />
0<br />
d<br />
d<br />
d<br />
© G. Fries<br />
normaler Betrieb<br />
hier sollte der Zähler<br />
nicht arbeiten<br />
200
Beispiel: Synchroner Modulo-5-Zähler<br />
� Ermittlungs der Eingangssignale für die RS-FF<br />
Clk<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
Q2<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
Q1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q m<br />
0<br />
0<br />
1<br />
1<br />
Q0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Q m+1<br />
0<br />
1<br />
0<br />
1<br />
Q2 +<br />
0<br />
0<br />
0<br />
1<br />
0<br />
d<br />
d<br />
d<br />
S<br />
0<br />
1<br />
0<br />
d<br />
R<br />
d<br />
0<br />
1<br />
0<br />
Q1 +<br />
0<br />
1<br />
1<br />
0<br />
0<br />
d<br />
d<br />
d<br />
Q0 +<br />
1<br />
0<br />
1<br />
0<br />
0<br />
d<br />
d<br />
d<br />
© G. Fries<br />
S2<br />
0<br />
0<br />
0<br />
1<br />
0<br />
d<br />
d<br />
d<br />
R2<br />
d<br />
d<br />
d<br />
0<br />
1<br />
d<br />
d<br />
d<br />
S1<br />
0<br />
1<br />
d<br />
0<br />
0<br />
d<br />
d<br />
d<br />
R1<br />
d<br />
0<br />
0<br />
1<br />
d<br />
d<br />
d<br />
d<br />
S0<br />
1<br />
0<br />
1<br />
0<br />
0<br />
d<br />
d<br />
d<br />
R0<br />
wegen der Übergangsbedingung<br />
des RS-FF (Synthesetabelle)<br />
0<br />
1<br />
0<br />
1<br />
d<br />
d<br />
d<br />
d<br />
201
Beispiel: Synchroner Modulo-5-Zähler<br />
� KV Tafeln für sechs FF-Eingänge<br />
S2<br />
Q1<br />
S1<br />
Q1<br />
S0<br />
Q1<br />
1<br />
1<br />
Q0<br />
Q0<br />
Q0<br />
d<br />
d<br />
d<br />
d<br />
d<br />
d<br />
Q2<br />
Q2<br />
Q2<br />
d<br />
d<br />
d<br />
d<br />
1<br />
1<br />
S = Q ∧ Q<br />
2<br />
1<br />
0<br />
S ∧<br />
0<br />
1<br />
© G. Fries<br />
R2<br />
Q1<br />
R1<br />
Q1<br />
Q0<br />
d<br />
1<br />
Q0<br />
d<br />
d<br />
Q2<br />
d<br />
1<br />
d<br />
d<br />
Q R =<br />
2<br />
R = Q<br />
= Q1<br />
Q0<br />
d d d R1<br />
= Q0 ∧ Q1<br />
Q2<br />
S ∧<br />
R0<br />
Q1<br />
1<br />
Q0<br />
= Q2<br />
Q0<br />
1 d d R 0 = Q0<br />
1 ∧R Q2<br />
= Q ∧ Q ∧ Q 0<br />
d<br />
d<br />
d<br />
d<br />
S2 2 0 1<br />
2<br />
2 ≠<br />
2<br />
0<br />
1<br />
202
Beispiel: Synchroner Modulo-5-Zähler<br />
� Schaltplan aus den Lösungen entwickeln<br />
S Q ∧ Q<br />
2<br />
R =<br />
Q<br />
= 0 1<br />
2 0<br />
1 = Q0<br />
Q R =<br />
1<br />
1 0 2<br />
S ∧<br />
S ∧<br />
0<br />
Clk<br />
R = Q<br />
= Q0<br />
Q2<br />
0 0<br />
&<br />
C1<br />
1R<br />
Q ∧ Q<br />
Q0=Y0<br />
"0" "1" "2"<br />
1S & 1S & 1S & ?<br />
C1<br />
1R<br />
© G. Fries<br />
Q1=Y1 Q2=Y2<br />
C1<br />
1R<br />
203
Beispiel: Synchroner Modulo-5-Zähler<br />
� Was macht der Zähler, wenn er beim Einschalten mit einem<br />
"verbotenem" Zählerstand startet ?<br />
Clk<br />
5<br />
6<br />
7<br />
Q2<br />
1<br />
1<br />
1<br />
Start<br />
Q1<br />
0<br />
1<br />
1<br />
Q0<br />
1<br />
0<br />
1<br />
S2<br />
0<br />
0<br />
1<br />
0 1 2<br />
4<br />
7<br />
3<br />
R2<br />
0<br />
1<br />
0<br />
S1<br />
1<br />
0<br />
0<br />
6<br />
R1<br />
0<br />
0<br />
1<br />
© G. Fries<br />
5<br />
S0<br />
0<br />
0<br />
0<br />
R0<br />
1<br />
0<br />
1<br />
Q2 +<br />
1<br />
0<br />
1<br />
Q1 +<br />
1<br />
1<br />
0<br />
Q0 +<br />
nach spätesten zwei Takten<br />
ist der Zähler wieder im<br />
Modulo-5-Zählrythmus<br />
0<br />
0<br />
0<br />
C +<br />
6<br />
2<br />
4<br />
204
Synchroner Modulo-10-Zähler<br />
C<br />
R<br />
1D<br />
C1<br />
R<br />
1D<br />
C1<br />
R<br />
� Stufenweise entwickeln<br />
Schaltnetz<br />
Q0 Q1 Q2 Q3<br />
© G. Fries<br />
1D<br />
C1<br />
� Aufbau mit positiv flankengesteuerten D-FF<br />
� Wahrheitstabelle, KV-Diagramme<br />
� Übergangsbedingungen, Koeffizientenvergleich<br />
R<br />
1D<br />
C1<br />
R<br />
205
Q3<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
Synchroner Modulo-10-Zähler II<br />
Q2<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
Q1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
Z<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
Q3+<br />
0<br />
0<br />
Q2+<br />
0<br />
0<br />
Q1+<br />
0<br />
1<br />
Q0+<br />
1<br />
0<br />
Q1<br />
Q1<br />
Q1<br />
Q1<br />
© G. Fries<br />
Q0 +<br />
Q2 +<br />
Q0 Q0<br />
Q2 Q2 Q2<br />
Q0 Q0<br />
Q2 Q2 Q2<br />
Q3<br />
Q3<br />
Q3<br />
Q3<br />
Q3<br />
Q3<br />
Q1 +<br />
Q1<br />
Q1<br />
Q1<br />
Q1<br />
Q0 Q0<br />
Q2 Q2 Q2<br />
Q3 Q0 Q0<br />
+<br />
Q2 Q2 Q2<br />
Q3<br />
Q3<br />
Q3<br />
Q3<br />
Q3<br />
Q3<br />
206
Warum, wo und wozu Schieberegister ?<br />
Schieberegister allgemein<br />
� Parallel-Seriell-Wandlung (Übertragungstechnik)<br />
� in Rechner-Strukturen (Serieller Addierer)<br />
Rückgekoppelte Schieberegister<br />
� Erzeugung von Pseudo-Zufallszahlen (PRBS)<br />
� Sicherheitsverfahren, Kryptologie<br />
� Scrambling<br />
Anritsu Bit Error Ratio Tester (Generator)<br />
© G. Fries<br />
12,5 Gbit/s<br />
209
Schieberegister<br />
� Speicherschaltungen mit kettenförmig angeordneten getakteten FF<br />
� Information wird wie in einem Register gespeichert<br />
� Information lässt sich zwischen benachbarten FF-Stufen verschieben<br />
0<br />
1<br />
0<br />
0 1 1 0<br />
0 0 1 1<br />
1 0 0 1<br />
0 1 0 0<br />
0<br />
1<br />
1<br />
0<br />
© G. Fries<br />
0 1 1 0<br />
0 0 1 1<br />
1 0 0 1<br />
1 1 0 0<br />
rückgekoppelt<br />
210
Schieberegister II<br />
� Synchrone Schaltung<br />
� Realisierung mit D-FF<br />
� Ergänzen Sie die Schaltung<br />
C<br />
1D<br />
C1<br />
Q0 Q1 Q2 Q3<br />
1D<br />
C1<br />
© G. Fries<br />
1D<br />
C1<br />
1D<br />
C1<br />
211
Rückgekoppeltes Schieberegister<br />
� Ausgang wird auf Eingang rückgeführt<br />
� Ergänzen Sie die Schaltung<br />
� Statische Setz- bzw. Rücksetzeingänge sind nötig!<br />
� Auch negierte Rückkopplung möglich<br />
C<br />
� Weniger FF werden benötigt<br />
1D<br />
Q0 Q1 Q2 Q3<br />
1D<br />
C1<br />
C1<br />
C1<br />
C1<br />
R R R R<br />
© G. Fries<br />
1D<br />
1D<br />
213
Rückgekoppeltes Schieberegister<br />
Zwei Möglichkeiten der Implementation<br />
gm =1<br />
Fibonacci<br />
g 0 =1<br />
Galois<br />
gm-1<br />
+ + + + +<br />
+ + + + +<br />
g 1<br />
g m-2<br />
g 2<br />
© G. Fries<br />
gm-3<br />
g 3<br />
g 2<br />
g 1<br />
g m-2 gm-1<br />
g 0 =1<br />
g m =1<br />
215
Rückgekoppeltes Schieberegister<br />
� M-Sequenzen (M-Sequences, Maximal Length Sequence)<br />
� Pseudozufallszahlen<br />
� Periode: 2 m -1 [Beispiel: m=3 �Periodenlänge = 7 (1011100…)]<br />
� Anzahl der Nullen: 2 (m-1) -1 [im Beispiel: 3 Nullen: 1011100…)]<br />
� Anzahl der Einsen: 2 (m-1) [im Beispiel: 4 Einsen: 1011100…)]<br />
� Für die Anwendung ist wichtig, dass die Zahlen möglichst<br />
zufällig verteilt sind (PRBS= Pseudo Random Bit Sequence)<br />
� Die Art des Ausgangssignals eines rückgekoppelten<br />
Schieberegisters hängt von den "Taps" ab, d.h. von der Art der<br />
Rückkopplung - oder:<br />
� Nicht jede Rückkopplung bringt M-Sequences hervor<br />
� Standardisierung und "Best Practice"<br />
© G. Fries<br />
216
Rückgekoppeltes Schieberegister<br />
Periode<br />
2 7 -1 1+X 6 +X 7<br />
2 9 -1 1+X 5 +X 9<br />
.<br />
.<br />
.<br />
Generator<br />
Polynom<br />
2 31 -1 1+X 28 +X 31<br />
.<br />
.<br />
.<br />
Blockdiagramm der Erzeugung der PRBS-Folge<br />
1 2 3 4 5 6 7<br />
1 2 3 4 5 6 7<br />
1 2 3 27 28 29<br />
© G. Fries<br />
+<br />
+<br />
+<br />
8 9<br />
30 31<br />
217
Rückgekoppeltes Schieberegister<br />
Stufen N<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
Rückkopplungen<br />
[2,3]<br />
[4,3]<br />
[5,3]<br />
[6,5]<br />
[7, 6] [7, 4]<br />
[8, 7, 5, 3 ]<br />
[9,5]<br />
[10, 7]<br />
[11, 9]<br />
[12, 11, 10, 4]<br />
[13, 12, 11, 8]<br />
[14, 13, 12, 2]<br />
[15, 14]<br />
[16, 15, 13, 4 ]<br />
Anritsu Realisierung<br />
Stufen N<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
27<br />
28<br />
29<br />
30<br />
31<br />
Rückkopplungen<br />
[17, 14] [17,12] [17,11]<br />
[18, 11]<br />
[19, 18, 17, 14]<br />
[20, 17] (Anritsu: [20,3] ?)<br />
[21, 19]<br />
[22, 21]<br />
[23,18] [23, 14]<br />
[24, 23, 22, 17]<br />
[25, 22] [25,18]<br />
[26, 25, 24, 20]<br />
[27, 26, 25, 22]<br />
[28, 25] [28, 19] [28, 15]<br />
[29, 27]<br />
[30, 29, 28, 7]<br />
[31, 28] [31, 25] [31, 24] [31, 18]<br />
http://www.newwaveinstruments.com/resources/articles/m_sequence_linear_feedback_shift_register_lfsr.htm<br />
© G. Fries<br />
218
Rückgekoppeltes Schieberegister - Praxis<br />
Einsatz als Scrambler – oder wie man es nicht machen sollte<br />
� Standard-Video-Format SDI (Serial Digital Interface)<br />
� 270 Mbit/s, Standardisiert in ITU-R, ANSI/SMPTE 259M-1997<br />
� Scrambler zur Verwürfelung zur Vermeidung langer Null-Folgen<br />
serieller<br />
Eingang<br />
+ 1 2 3 4 5 6 7 8 9 +<br />
+<br />
© G. Fries<br />
serieller<br />
Ausgang<br />
(gescrambelt)<br />
Problem, was man nicht richtig bedacht hatte: Die langen Null-<br />
Folgen entstehen trotzdem in einem sichtbaren Bildbereich<br />
�"Pathologisches Testsignal"<br />
219
Rückgekoppeltes Schieberegister –<br />
Beispiel 1<br />
Einsatz als Pseudo-Zufallsgenerator<br />
1<br />
Schieberegister aus D-FF<br />
+<br />
2 3 4<br />
© G. Fries<br />
220
C<br />
Rückgekoppeltes Schieberegister –<br />
Beispiel 2<br />
Johnson-Zähler (5-Bit-Ringzähler)<br />
1D<br />
C1<br />
1D<br />
C1<br />
1<br />
Q0 Q1 Q2 Q3<br />
1D<br />
C1<br />
© G. Fries<br />
1D<br />
C1<br />
1D<br />
C1<br />
221
222<br />
© G. Fries<br />
Rückgekoppeltes Schieberegister –<br />
Beispiel 2<br />
Johnson-Zähler (5-Bit-Ringzähler)<br />
9<br />
0<br />
0<br />
0<br />
0<br />
1<br />
2<br />
1<br />
1<br />
0<br />
0<br />
0<br />
3<br />
1<br />
1<br />
1<br />
0<br />
0<br />
4<br />
1<br />
1<br />
1<br />
1<br />
0<br />
5<br />
1<br />
1<br />
1<br />
1<br />
1<br />
6<br />
0<br />
1<br />
1<br />
1<br />
1<br />
7<br />
0<br />
0<br />
1<br />
1<br />
1<br />
8<br />
0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
Q0<br />
0<br />
1<br />
0<br />
Ziffer<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
Q1<br />
Q2<br />
Q3<br />
Q4
Rückgekoppeltes Schieberegister –<br />
Beispiel 2<br />
Johnson-Zähler (5-Bit-Ringzähler)<br />
0 5m 10m 15m 20m 25m 30m 35m<br />
40m<br />
© G. Fries<br />
clk1.val<br />
ffd1.q<br />
ffd2.q<br />
ffd3.q<br />
ffd4.q<br />
ffd5.q<br />
t [s]<br />
223
Quarz / Frequenzteiler<br />
� 1927 erste Quarz-Uhr<br />
(Marrison)<br />
� ab 1970 Massenprodukt<br />
� Digitaluhr ETA 955432<br />
(OEM)<br />
Funktionen<br />
quarzgesteuerter Schrittmotor<br />
Daten<br />
Dm= 23.3mm, H= 2.5mm<br />
7 Steine<br />
f = 32768 Hz<br />
� 32768 Hz = 2 15 Hz<br />
© G. Fries<br />
224
Quarz (Ersatz-)Schaltbild<br />
C R L<br />
typische Werte für 4-MHz-Quarz<br />
L = 100 mH R = 100 Ohm<br />
C = 0,015 pF C 0 = 5 pF<br />
Q<br />
C 0<br />
© G. Fries<br />
225
Piezolektrischer Effekt<br />
© G. Fries<br />
226
.<br />
Schaltbild Quarz-Oszillator (Sinus)<br />
© G. Fries<br />
227
.<br />
Schaltbild Quarz-Oszillator (Rechteck)<br />
© G. Fries<br />
228
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Dr.-Ing. Ralf Herber<br />
Elektrotechnik / <strong>Digitaltechnik</strong><br />
<strong>Kapitel</strong> 7. Programmierbare Logik<br />
� Definition und Klassifizierung programmierbarer<br />
Logik<br />
� Aufbau und Funktionsweise von FPGA<br />
Logikblock, IO-Block, Verbindungsressourcen<br />
� Weitere PLD<br />
PLA, PROM, PAL<br />
� CPLD<br />
Stand: 2.11.2006
Einordnung FPGA in Klassen Digitaler Logik<br />
Standard Logik<br />
(z.B. TTL, Controller)<br />
Prog. Speicher<br />
PLD und CPLD<br />
Digitale Logik<br />
Feld-programmierbare<br />
Bausteine (FPD)<br />
Prog. Logik (UPL)<br />
FPGA<br />
© G. Fries<br />
Masken-programmierbare<br />
Bausteine (ASIC)<br />
ASIC = Application Specific Integrated Circuit, Anwendungsspezifischer IC<br />
FPD = Field Programmable Device<br />
UPL = User Programmable Logic<br />
PLD = Programmable Logic Device, CPLD = Complex PLD<br />
230
FPGAs<br />
� FPGA = Field Programmable Gate Array<br />
� Frei programmierbare Logik Struktur<br />
� Baustein zum Aufbau von digitalen, logischen Schaltungen<br />
� FPGAs werden mit einer Struktur von mehreren identischen,<br />
programmierbaren Logikblöcken und Verdrahtungsressourcen<br />
vom Hersteller anwendungsunabhängig vorgefertigt<br />
� „Field Programmable“ bedeutet, dass die endgültige Funktionalität<br />
des Bausteins erst vom Anwender programmiert (bzw. besser:<br />
konfiguriert) wird<br />
� Gut geeignet zur schnellen Erstellung von Schaltungsprototypen<br />
� Kurze Entwurfszeit (Fast Time To Market)<br />
� Wenige Minuten Programmierzeit<br />
� Mehrfach programmierbar<br />
© G. Fries<br />
231
Schematischer Aufbau eines FPGA<br />
Konfigurierbare<br />
Logik-Blöcke,<br />
CLB =<br />
Configurable Logic<br />
Blocks<br />
Programmierbare<br />
Elemente:<br />
• Logik-Blöcke<br />
• Verbindungspunkte<br />
• I/O-Blöcke<br />
Verbindungsressourcen,<br />
verschiedene Längen<br />
© G. Fries<br />
Prog.<br />
I/O-Block<br />
Verbindungspunkte,<br />
Interconnection Points<br />
(PIP)<br />
232
Programmierbare Logik-Blöcke: Look-Up-Table<br />
� Mit einer n-LUT (n Eingänge) kann jede boolesche Funktion mit bis<br />
zu n Variablen dargestellt werden<br />
� Meistens ist n zwischen 3 und 6, die Logik-Blöcke innerhalb eines<br />
FPGAs können auch über mehrere LUT-Sektionen verfügen<br />
� Implementiert als SRAM mit n Adreßleitungen und 1 Datenleitung<br />
� Beispiel n = 3 => 2 n = 8 Speicherzellen 3-LUT:<br />
a<br />
b<br />
c<br />
1<br />
&<br />
≥1<br />
Gewünschte Funktion:<br />
y = f ( a, b, c) = ( a ∧ b)<br />
∨ c<br />
y<br />
a b c y<br />
0 0 0 0<br />
0 0 1 1<br />
0 1 0 1<br />
0 1 1 1<br />
1 0 0 0<br />
1 0 1 1<br />
1 1 0 0<br />
1 1 1 1<br />
© G. Fries<br />
a<br />
b<br />
c<br />
0<br />
1<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
y<br />
234
Programmierbare Logik-Blöcke: LUT-Prinzip<br />
� Funktion wird nicht mit Gattern, sondern mit einem RAM realisiert<br />
� Im RAM werden alle möglichen Funktionswerte abgespeichert<br />
� An den Adress-Eingängen a,b,c liegen die Eingangsvariablen an<br />
� Am Ausgang y wird der Funktionswert ausgegeben<br />
a<br />
b<br />
c<br />
1<br />
&<br />
≥1<br />
y = f ( a, b, c) = ( a ∧ b)<br />
∨ c<br />
y<br />
a=1<br />
b=1<br />
c=0<br />
© G. Fries<br />
0<br />
1<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
y=0<br />
a b c y<br />
0 0 0 0<br />
0 0 1 1<br />
0 1 0 1<br />
0 1 1 1<br />
1 0 0 0<br />
1 0 1 1<br />
1 1 0 0<br />
1 1 1 1<br />
235
Programm. Logik-Blöcke: Multiplexer-basiert<br />
� Bei Multiplexer-Architekturen (MUX) wird der Logik-Block nur aus<br />
Multiplexern und dazugehöriger Logik aufgebaut<br />
� Ein 2 n -Input Multiplexer kann jede<br />
Funktion mit n Variablen realisieren durch:<br />
� Verbinden der Eingangsvariablen mit den<br />
Select-Eingängen des Multiplexers<br />
� Die Daten-Eingänge werden auf die<br />
gewünschten Funktionswerte gesetzt<br />
� MUX versus LUT:<br />
� LUT-basierte Bausteine sind flexibler,<br />
mehr Eingänge pro Block<br />
� Jedoch: größere Chipfläche und größere<br />
Verzögerungszeiten<br />
© G. Fries<br />
Gewünschte Funktion:<br />
y = f ( a, b, c) = ( a ∧ b)<br />
∨ c<br />
0<br />
1<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
2 1 0<br />
a b c<br />
8-Input-MUX<br />
y<br />
236
3 prinzipielle Programmier-Technologien<br />
� SRAM-FPGAs (Xilinx):<br />
� On-Chip Speicherzellen mit Bitmustern der Chipkonfiguration<br />
� Konfiguration flüchtig, muß nach Einschalten neu geladen werden<br />
� Benötigen externen permanenten Speicher zum „Booten“<br />
� Antifuse-FPGAs (Actel, Quicklogic):<br />
� Schließen von Antifuse Switches, Gegenteil von Fuse (Sicherung)<br />
� Hier werden irreversible Verbindungen elektrisch hergestellt<br />
� Schneller und geringerer Platzbedarf als SRAM-FPGAs<br />
� EPROM-FPGAs (Altera):<br />
� Programmierung bleibt permanent bei Spannungsunterbrechung<br />
erhalten, ist jedoch löschbar<br />
� Herstellungsprozeß ist schwierig<br />
© G. Fries<br />
237
Speichertechnologien<br />
Festwertspeicher<br />
� ROM (Read-Only Memory)<br />
� PROM (Programmable Read-Only Memory)<br />
� EPROM (Erasable Programmable Read-Only Memory)<br />
� EEPROM (Electrically Erasable PROM)<br />
� Flash EEPROM (Flash Memory)<br />
Schreib/Lese-Speicher<br />
� SRAM (Static Random-Access Memory)<br />
� DRAM (Dynamic Random-Access Memory)<br />
© G. Fries<br />
238
Fuse-Technologie<br />
40-60 µm<br />
Aufbau<br />
Aufschmelzen<br />
� Programmieren: 10..30 V, einige ms pro bit<br />
� Früher unsicher durch "Wiederzusammenwachsen" (nicht völlig<br />
verdampfte Reste, "Whisker"-Wachstum)<br />
� Heute wichtige Technik für PROMS und PLD<br />
© G. Fries<br />
Verbindung<br />
getrennt<br />
242
Antifuse-Technologie (Quicklogic)<br />
Metall<br />
Si0 2<br />
Metall<br />
Si<br />
Antifuse<br />
Wolfram<br />
� Programmieren: 10..30 V, einige ms pro bit<br />
� Änderung des Widerstandes: 1 GOhm ���� 30 Ohm<br />
© G. Fries<br />
243
EPROM-Technologie<br />
Flowting-gate MOS<br />
Transistoren: Ladung<br />
auf dem Flowting<br />
Gate "disabled" den<br />
Transistor<br />
Löschen durch UV-<br />
Licht<br />
R<br />
© G. Fries<br />
+5 V<br />
R …. R<br />
244
EPROM-Technologie<br />
� Programmieren: 12..25 V,<br />
einige ms pro bit<br />
� Löschen mit UV-Lampe 5-20<br />
Minuten<br />
� Datenerhaltung ca 10 Jahre<br />
bei 125 °C<br />
© G. Fries<br />
245
EEPROM-Technologie<br />
� Programmieren: 12..25 V,<br />
einige ms pro bit<br />
� Lebensdauer: rund 100.000<br />
Programmierzyklen<br />
� Langsamer Lese-Zugriff:<br />
3-5 ms<br />
© G. Fries<br />
EEPROM im IBM-ThinkPad<br />
246
DRAM-Technologie<br />
T<br />
C<br />
U<br />
1<br />
0<br />
� Speicherzelle aus einem Transistor und einem Kondensator<br />
� Zyklisches Refresh erforderlich, da Ladung aus dem<br />
Kondensator langsam abfließt<br />
aktuelle Weiterentwicklungen für den Rechnerbereich<br />
� SDRAM (Synchronous DRAM) 100 MHz, 7-15 ns Zugriff<br />
� DDR-SDRAM (Double Data Rate SDRAM)<br />
Daten werden sowohl auf der ansteigenden als auch auf der<br />
abfallenden Flanke übertragen<br />
© G. Fries<br />
1 geschrieben<br />
Refresh<br />
Refresh<br />
t<br />
247
SRAM-Technologie<br />
� Speicherzelle wird aus einem Flip-Flop gebildet<br />
� Kein Refresh erforderlich<br />
� Benötigt im Vergleich zum DRAM mehr Chip-Fläche<br />
(����teurer)<br />
� Schneller als DRAM<br />
� Daten gehen beim Ausschalten verloren<br />
© G. Fries<br />
248
FPGA-Entwurfsprozess (1)<br />
Der Entwurfsprozess umfaßt 2 prinzipielle Stufen:<br />
1. Entwurfseingabe<br />
(Frontend)<br />
Netzliste: Namen und<br />
Verbindungen aller Pins<br />
VHDL = VHSIC HDL<br />
VHSIC = Very High Speed IC<br />
2. Implementierung<br />
(Backend)<br />
Technologieabhängig,<br />
Tools vom Hersteller<br />
Bitstream beschreibt die<br />
Konfiguration des FPGAs<br />
Graphische<br />
Schaltplaneingabe<br />
Netzliste<br />
Technologieabbildung<br />
(Mapping)<br />
Bitstream<br />
© G. Fries<br />
Graphische VHDL<br />
Generierung<br />
VHDL Modell<br />
Simulation<br />
und<br />
Verifikation<br />
256
FPGA-Entwurfsprozess (2)<br />
FPGA<br />
Bibliotheken<br />
Download<br />
Bitstream<br />
Stream<br />
Generator<br />
Graphische VHDL Generierung<br />
VHDL<br />
Synthese<br />
Netzliste<br />
Map<br />
Place<br />
Route<br />
Netzliste +<br />
Timing<br />
© G. Fries<br />
Vorgaben<br />
Vorgaben<br />
Simulation<br />
Vorgaben<br />
Simulation, Timing<br />
257
Electronic Design Automation (EDA) Tools<br />
� Universelle Entwurfswerkzeuge für FPGAs<br />
� Große EDA Tools, professionell, Unterstützung weiter Bereiche<br />
� Herstellereigene<br />
Werkzeuge, hier<br />
Ausschnitt aus<br />
Xilinx XACTStep<br />
Designmanager<br />
© G. Fries<br />
Flow Engine<br />
Timing Analyse<br />
PROM File Formatierer<br />
Hardware Debugger<br />
EPIC Design Editor<br />
258
Anwendungen für FPGAs<br />
� Klassisch: beliebige unstrukturierte Logik (Random Logic) z.B<br />
� Glue-Logik zur Verbindung von VLSI Chips, einfache ALUs<br />
� Festkomma-DSP (Audio, Video, Funk- & Sprachband Modems)<br />
� Hohe Komplexität: bis 100 MAC-Units auf einem Chip<br />
(MAC = Multiply and Accumulate)<br />
� Parallele Verarbeitung => hohe Datenraten (bis 100 MSamples/s)<br />
� Rapid Prototyping:<br />
� ASICs, Emulation von komplexen Hardware Systemen<br />
� Nutzung als Computer-Element (Highend und Lowcost)<br />
� Custom Computing Machines<br />
� Application Specific Instruction Set Processor<br />
� Rekonfigurierbare Logik<br />
� Einschreiben unterschiedlicher Konfigurationen erlaubt flexible<br />
Kundenanpassung, Updates => rekonfigurierbarer Computer<br />
© G. Fries<br />
260
Weitere Programmable Logic Devices<br />
PAL<br />
Prog. Speicher<br />
PLD und CPLD<br />
PLA<br />
Feld-programmierbare<br />
Bausteine (FPD)<br />
© G. Fries<br />
Prog. Logik (UPL)<br />
PROM<br />
FPGA<br />
PLD = Programmable Logic Device,<br />
CPLD = Complex PLD<br />
PAL = Programmable Array Logic<br />
PLA = Progammable Logic Array<br />
262
Programmable Logic Devices (PLDs und CPLDs)<br />
� PLD besteht aus<br />
programmierbarer, zweistufiger<br />
UND/ODER Matrix<br />
� n Eingangssignale werden zu r<br />
UND Termen verschaltet<br />
� Diese werden in der 2. Stufe zu k<br />
Ausgangssignalen verodert<br />
UND ODER<br />
PLA prog. prog.<br />
PAL prog. fest<br />
PROM fest prog.<br />
� CPLD: Verknüpfung von<br />
mehreren PLDs zu einem<br />
komplexen PLD (CPLD)<br />
© G. Fries<br />
n-Input<br />
U<br />
N<br />
D<br />
O<br />
D<br />
E<br />
R<br />
r-UND<br />
k-ODER<br />
PLD-ähnliche<br />
Struktur<br />
Zentrale<br />
Schaltmatrix<br />
263
Darstellungsarten<br />
In1<br />
In2<br />
1<br />
1<br />
≥ 1<br />
Out<br />
x<br />
=<br />
In1<br />
In2<br />
1<br />
1<br />
≥ 1<br />
© G. Fries<br />
Out<br />
Symbolische Darstellung<br />
für PLD<br />
Programmierbare Verbindung wird<br />
mit X oder O dargestellt<br />
PAL PLA<br />
Alte US-Norm<br />
264
Grundstruktur PAL mit 4 Ein- und Ausgängen<br />
I 3 I 2 I 1 I 0<br />
1 1 1<br />
UND Matrix<br />
1<br />
programmierbar<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
© G. Fries<br />
ODER Matrix<br />
feste Verbindung<br />
≥ 1<br />
≥ 1 ≥ 1 ≥ 1<br />
O 3 O 2 O 1 O 0<br />
265
Grundstruktur PLA mit 4 Ein- und Ausgängen<br />
I 3 I 2 I 1 I 0<br />
1 1 1<br />
UND Matrix<br />
1<br />
programmierbar<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
ODER Matrix programmierbar<br />
DNF kann direkt realisiert werden<br />
© G. Fries<br />
≥ 1<br />
≥ 1 ≥ 1 ≥ 1<br />
O 3 O 2 O 1 O 0<br />
266
Grundstruktur PROM mit 4 Ein- und Ausgängen<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
A<br />
B<br />
C<br />
D<br />
E<br />
F<br />
I 3 I 2 I 1 I 0<br />
1 1 1<br />
UND Matrix: Feste Verbindung<br />
Adressen!<br />
1<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
© G. Fries<br />
ODER Matrix: programmierbar<br />
Speicherinhalt!<br />
≥ 1<br />
≥ 1 ≥ 1 ≥ 1<br />
O 3 O 2 O 1 O 0<br />
267
Beispiel PAL<br />
I 3 I 2 I 1 I 0<br />
1 1 1<br />
frei<br />
1<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
Implementieren Sie die Funktion<br />
Y = ( A ∧ B ∧ C ∧ D) ∨ ( A ∧ B ∧ C) ∨ ( A ∧ C ∧ D)<br />
© G. Fries<br />
≥ 1<br />
≥ 1 ≥ 1 ≥ 1<br />
O 3 O 2 O 1 O 0<br />
vorgegeben<br />
272
Beispiel PAL<br />
I 3 I 2 I 1 I 0<br />
A B C D<br />
1 1 1<br />
1<br />
AABBC<br />
CDD<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
&<br />
Implementieren Sie die Funktion<br />
Y = ( A ∧ B ∧ C ∧ D) ∨ ( A ∧ B ∧ C) ∨ ( A ∧ C ∧ D)<br />
© G. Fries<br />
≥ 1<br />
≥ 1 ≥ 1 ≥ 1<br />
O 3 O 2 O 1 O 0<br />
Y<br />
273
FH Wiesbaden<br />
FB Informationstechnologie & Elektrotechnik<br />
Prof. Dr.-Ing. Georg Fries<br />
Elektrotechnik / <strong>Digitaltechnik</strong><br />
<strong>Kapitel</strong> 8. Systematische Beschreibung<br />
von Schaltwerken<br />
� Schaltwerke<br />
� Zustandsdiagramm<br />
� Zustandsfolgetabelle<br />
� Moore-Automat<br />
� Realisierung mit PROM<br />
Stand: 23.02.2003
Schaltwerk<br />
� Schaltwerk<br />
� Ausgangsgrößen sind nicht nur vom momentanen Wert der<br />
Eingangsgrößen, sondern auch vom inneren Zustand des Systems<br />
abhängig (Vorgeschichte!)<br />
� Im Schaltwerk sind Speicher vorhanden, die die Werte der Eingangsgrößen<br />
zu endlich vielen vorangegangenen Zeitpunkten erfassen<br />
� Da Schaltwerke die Vorgeschichte berücksichtigen, lassen sie sich gut<br />
für die sequentielle Verarbeitung digitaler Signale einsetzen<br />
� Schaltwerk lässt sich aufteilen in<br />
- einen rein kombinatorischen Teil und<br />
- einen ausschließlich speichernden Teil<br />
� Weitere Namen für Schaltwerke<br />
� Sequentielle Logik<br />
� Sequentielle Schaltung<br />
� Endlicher Automat<br />
� Finite State Machine (FSM)<br />
� Zustandsmaschine<br />
© G. Fries<br />
277
Automatenzeit und Mengen<br />
� Formale Beschreibung eines Automaten durch<br />
� 3 nicht leere, endliche Mengen<br />
� 2 Funktionen, die die Abhängigkeit der Mengen untereinander angeben<br />
� „Automatenzeit“<br />
� Hochindex m bezeichnet die diskrete Automatenzeit<br />
� Abkürzend mit “*“ oder “+“ gekennzeichnet<br />
� Zeit wird beim synchronen Schaltwerk mit der Taktflanke um 1 erhöht<br />
� Eingabemenge<br />
� X = {X1, X2, X3, ...}<br />
� Elemente von X sind die i Eingangsvariablen X1, X2, X3, ...,Xi<br />
� Ausgabemenge<br />
� Y = {Y1, Y2, Y3, ...}<br />
� Elemente von Y sind die j Ausgangsvariablen Y1, Y2, Y3, ...,Yj<br />
� Zustandsmenge<br />
� Z = {Z1, Z2, Z3, ...}<br />
� Elemente von Z sind die k Zustandsvariablen Z1, Z2, Z3, ...,Zk<br />
© G. Fries<br />
278
Übergangs- und Ausgabefunktion<br />
� Übergangsfunktion<br />
� oder abkürzend<br />
� Z = Zustand, Z + m+ 1<br />
Z<br />
m<br />
= g( Z, X )<br />
= Folgezustand<br />
� Ausgabefunktion<br />
� Hinsichtlich der Abhängigkeit der Ausgabemenge von der Eingabeund<br />
Zustandsmenge unterscheidet man zwei Automatentypen, die in<br />
der Praxis eingesetzt werden:<br />
� Mealy-Automat<br />
m m<br />
� Y = f ( Z, X ) oder abkürzend Y = f ( Z, X )<br />
� Moore-Automat<br />
m m<br />
� Y = f ( Z)<br />
oder abkürzend<br />
� Ausgabefunktion ist nur von den Zustandsvariablen Z abhängig!<br />
© G. Fries<br />
+<br />
Z = g( Z, X )<br />
Y = f ( Z)<br />
279
Mealy- und Moore-Automat<br />
� Mealy-Automat<br />
X<br />
Z<br />
g<br />
r<br />
Z +<br />
Z<br />
+ Z = g(<br />
Z, X )<br />
f<br />
Y<br />
X<br />
© G. Fries<br />
� Moore-Automat<br />
Z<br />
g<br />
r<br />
Z +<br />
Z<br />
+ Z = g(<br />
Z, X )<br />
Y = f ( Z, X )<br />
Y = f ( Z)<br />
Technische Realisierung des Blocks mit der Funktion r<br />
(Rückführung zwischen Z und Z + ) entscheidet, ob es sich um ein<br />
asynchrones oder synchrones Schaltwerk handelt<br />
f<br />
Y<br />
280
Zustandsdiagramm & Zustandsfolgetabelle<br />
� „Zustand“:<br />
� Die in einem Speicher festgehaltene Eigenschaft, auf einen Eingabe-<br />
Vektor X(t 0 ) mit einem Ausgabe-Vektor Y(t>t 0 ) zu reagieren<br />
� Entwurf von Schaltwerken<br />
� Aufgabenstellung systematisch analysieren und lösen<br />
� Grundlage sind die Übergangs- und Ausgabefunktion<br />
� Da die Anzahl der Zustands- und Eingangsvariablen begrenzt ist,<br />
lassen sich für alle Kombinationsmöglichkeiten dieser Größen die<br />
Ergebnisse der Übergabe- und Ausgabefunktion in tabellarischer<br />
oder grafischer Form angeben:<br />
- Zustandsdiagramm<br />
- Zustandsfolgetabelle<br />
� Dient sowohl zur Analyse als auch zum Entwurf<br />
© G. Fries<br />
281
Beispiel „Personenmeldeanlage“<br />
� Beispiel<br />
� Wenn eine Person anwesend ist, wird eine 1 ausgegeben<br />
� Wenn keine Person anwesend ist, wird eine 0 ausgegeben<br />
� Zustandsfolgetabelle<br />
Person<br />
anwesend<br />
1<br />
1<br />
0<br />
0<br />
Zustand<br />
(t)<br />
0<br />
1<br />
0<br />
1<br />
Folgezustand<br />
(t+1)<br />
� Zustandsdiagramm<br />
1<br />
1<br />
0<br />
0<br />
© G. Fries<br />
Person<br />
da<br />
Person<br />
nicht da<br />
Melder<br />
an<br />
Melder<br />
aus<br />
Person<br />
da<br />
Person<br />
nicht da<br />
282
Mealy-Automat<br />
X<br />
i<br />
f<br />
g<br />
Kombinatorischer Teil<br />
Schaltnetze für „f“, „g“<br />
+ Z = g( Z, X )<br />
Z<br />
k<br />
k<br />
j<br />
© G. Fries<br />
Y = f ( Z, X )<br />
r<br />
Speichernder Teil<br />
Zustandsspeicher<br />
283
Zum Mealy-Automat<br />
� Mealy-Automat<br />
� Allgemeinfall<br />
� Speichernder Teil „r“<br />
� Dieser Zustandsvariablenspeicher hat k Eingänge und k Ausgänge<br />
� Kombinatorischer Teil<br />
� Die Eingänge sind aufgeteilt in<br />
- i Eingänge des Eingabe-Vektors X (äußere Variablen)<br />
- k Eingänge des Eingabe-Vektors Z (innere Variablen)<br />
� Die Ausgänge sind aufgeteilt in<br />
- den Ausgabe-Vektor Y = f ( Z, X ) (Ausgangsgröße)<br />
- den Zustands-Vektor Z + (Folgezustand)<br />
� Moore-Automat ist Sonderfall<br />
� Der Ausgabe-Vektor ist unabhängig von X:<br />
© G. Fries<br />
Y = f ( Z)<br />
284
Moore-Automat<br />
f<br />
X i<br />
+ Z = g( Z, X )<br />
g<br />
Kombinatorischer Teil<br />
Schaltnetze für „f“, „g“<br />
Z<br />
k<br />
k<br />
j<br />
© G. Fries<br />
Y = f ( Z)<br />
r<br />
Speichernder Teil<br />
Zustandsspeicher<br />
285
Vergleich mit Mealy-Automat<br />
X<br />
i<br />
f<br />
g<br />
Kombinatorischer Teil<br />
Schaltnetze für „f“, „g“<br />
+ Z = g( Z, X )<br />
Z<br />
k<br />
k<br />
j<br />
© G. Fries<br />
Y = f ( Z, X )<br />
r<br />
Speichernder Teil<br />
Zustandsspeicher<br />
286
Vereinfachter Moore-Automat<br />
f<br />
X i<br />
+ Z = g( Z, X )<br />
g<br />
Kombinatorischer Teil<br />
Schaltnetze für „f“, „g“<br />
Z<br />
k<br />
k<br />
j<br />
© G. Fries<br />
Y = f ( Z)<br />
r<br />
Speichernder Teil<br />
Zustandsspeicher<br />
287
Vereinfachter Moore-Automat<br />
� Schaltnetz für die Funktion „f“ fällt weg<br />
� Der Zustands-Vektor ist gleichzeitig der Ausgabe-Vektor: Y = Z<br />
� Z.B. ein Vorwärts/Rückwärts Zähler (Richtungskontrolle über X)<br />
� Bei einfachen Zählern kann X auch wegfallen<br />
� Generell kann es somit für eine einzige Eingangskombination X<br />
bis zu 2 k Ausgangskombinationen geben!<br />
X i<br />
+ Z = g( Z, X )<br />
g<br />
Kombinatorischer Teil<br />
Schaltnetz für „g“<br />
Z<br />
k<br />
k<br />
© G. Fries<br />
r<br />
Speichernder Teil<br />
Zustandsspeicher<br />
Y = Z<br />
288
Realisierung: Vereinfachter Moore-Automat<br />
� Kombinatorischer Teil<br />
� Wird mit einem PROM realisiert<br />
� Andere Möglichkeiten wären diskrete oder programmierbare Logik<br />
� Zustandsspeicher<br />
� Realisierung mit Flipflops, meist D-FF<br />
X i<br />
+ Z = g( Z, X )<br />
g<br />
Kombinatorischer Teil<br />
Schaltnetz für „g“<br />
Z<br />
k<br />
k<br />
© G. Fries<br />
r<br />
Speichernder Teil<br />
Zustandsspeicher<br />
Y = Z<br />
289
Grundprinzip: Vereinfachter Moore-Automat<br />
X<br />
PROM<br />
Reset<br />
Z Z + Y<br />
1D<br />
C<br />
© G. Fries<br />
R<br />
C1<br />
290
Anmerkungen<br />
� Wesentliche Elemente<br />
� Adressregister<br />
� PROM<br />
� Prinzip<br />
� Takt<br />
� Y wird als Adresse auf den PROM-Eingang rückgekoppelt<br />
� PROM enthält die Schaltfunktion! (z.B. Zählcode)<br />
� X ermöglicht die Verknüpfung / Steuerung mittels äußerer Variablen<br />
� n D-FF‘s => maximal 2 n Schaltwerk-Zustände!<br />
� Reset<br />
� Programmiertabelle mit Hexcode erstellen spart Arbeit!<br />
� Beispiel 1<br />
� 4-Bit Rückwärtszähler<br />
� Beispiel 2<br />
� 4-Bit Vorwärts-/Rückwärtszähler<br />
© G. Fries<br />
291
PROM- Programmable Read Only Memory<br />
16 x 4<br />
4 bit breit<br />
2 4 =16 Zellen<br />
0<br />
1<br />
1<br />
1<br />
A3<br />
A2<br />
A1<br />
A0<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
0010<br />
0001<br />
0011<br />
0010<br />
0000<br />
0100<br />
0000<br />
0110<br />
0110<br />
1000<br />
0000<br />
1111<br />
0000<br />
1100<br />
1000<br />
1110<br />
1110<br />
© G. Fries<br />
D3<br />
D2<br />
D1<br />
D0<br />
0<br />
1<br />
1<br />
0<br />
292
293<br />
© G. Fries<br />
A3<br />
A2<br />
A1<br />
A0<br />
D3<br />
D2<br />
D1<br />
D0<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
Moore-Automat mit PROM: Rückwärtszähler<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0000<br />
1001<br />
0110<br />
0001<br />
0011<br />
0100<br />
0010<br />
0101<br />
1000<br />
0111<br />
0000<br />
0000<br />
0000<br />
0000<br />
0000<br />
0000<br />
D3<br />
D2<br />
D1<br />
D0<br />
C<br />
0<br />
1<br />
1<br />
1<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1
Moore-Automat mit PROM: Rückwärtszähler<br />
� Programmiertabelle<br />
16 x 4 PROM<br />
Adresse<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
A<br />
B<br />
C<br />
D<br />
E<br />
F<br />
© G. Fries<br />
Wert<br />
9<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
294
295<br />
© G. Fries<br />
A4<br />
A3<br />
A2<br />
A1<br />
A0<br />
D4<br />
D3<br />
D2<br />
D1<br />
D0<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
A<br />
B<br />
C<br />
D<br />
E<br />
F<br />
10<br />
11<br />
1F<br />
Vor-/Rückwärtszähler<br />
00000<br />
01001<br />
00110<br />
00001<br />
00011<br />
00100<br />
00010<br />
00101<br />
01000<br />
00111<br />
00000<br />
00000<br />
00000<br />
00000<br />
00000<br />
00000<br />
D4<br />
D3<br />
D2<br />
D1<br />
D0<br />
C<br />
X<br />
10001<br />
10010<br />
00000<br />
…
Beispiel für Analyse synchroner Schaltwerke<br />
X<br />
C<br />
1D<br />
C1<br />
Q3 Q2 Q1<br />
1D<br />
C1<br />
Beispiel hier: Schieberegister mit einem Eingang X und den<br />
Ausgängen Q1,Q2,Q3 � 7 Zustände<br />
© G. Fries<br />
1D<br />
C1<br />
296
Beispiel für Analyse synchroner Schaltwerke<br />
X<br />
C<br />
1D<br />
C1<br />
Q3 Q2 Q1<br />
1D<br />
C1<br />
Beispiel hier: Schieberegister mit einem Eingang X und den<br />
Ausgängen Q1,Q2,Q3 � 8 Zustände<br />
X<br />
0<br />
1<br />
0<br />
1<br />
Q1<br />
0<br />
0<br />
Q2<br />
0<br />
0<br />
Q3<br />
0<br />
1<br />
Zust.<br />
0<br />
1<br />
© G. Fries<br />
Q1+<br />
0<br />
0<br />
0<br />
0<br />
1D<br />
C1<br />
Q2+<br />
0<br />
0<br />
1<br />
1<br />
Q3+<br />
0<br />
1<br />
0<br />
1<br />
Zust + .<br />
0<br />
1<br />
2<br />
3<br />
297
298<br />
© G. Fries<br />
Beispiel für Analyse synchroner Schaltwerke<br />
2<br />
0<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
0<br />
3<br />
1<br />
1<br />
0<br />
1<br />
4<br />
0<br />
0<br />
1<br />
2<br />
0<br />
1<br />
0<br />
0<br />
5<br />
1<br />
0<br />
1<br />
1<br />
6<br />
0<br />
1<br />
1<br />
3<br />
1<br />
1<br />
0<br />
0<br />
7<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
4<br />
0<br />
0<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
2<br />
0<br />
1<br />
0<br />
5<br />
1<br />
0<br />
1<br />
0<br />
3<br />
1<br />
1<br />
0<br />
1<br />
4<br />
0<br />
0<br />
1<br />
6<br />
0<br />
1<br />
1<br />
0<br />
5<br />
1<br />
0<br />
1<br />
1<br />
7<br />
1<br />
1<br />
1<br />
7<br />
1<br />
1<br />
1<br />
1<br />
6<br />
0<br />
1<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
Zust. +<br />
Q3+<br />
Q2+<br />
Q1+<br />
Zust.<br />
Q3<br />
Q2<br />
Q1<br />
X
Beispiel für Analyse synchroner Schaltwerke<br />
Zustandsdiagramm<br />
0<br />
1<br />
1<br />
2 3<br />
4 5 6 7<br />
0<br />
© G. Fries<br />
299
Beispiel für Analyse synchroner Schaltwerke<br />
Zustandsdiagramm<br />
0<br />
1<br />
0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
2 3<br />
0<br />
1<br />
1 0<br />
4 5 6<br />
0<br />
1<br />
1<br />
© G. Fries<br />
1<br />
0<br />
7<br />
1<br />
300
Aufgabe 1<br />
Eine Boolesche Funktion sei definiert durch<br />
f ( x , x , x ) =<br />
( x ⋅ x ) ⊕ x<br />
0<br />
1<br />
2<br />
0<br />
Bitte geben Sie das KV-Diagramm an. (⊕=EXOR)<br />
1<br />
2<br />
© G. Fries<br />
301
Aufgabe 1 - Lösung<br />
Eine Boolesche Funktion sei definiert durch<br />
f ( x , x , x ) = ( x ⋅ x ) ⊕ x<br />
0<br />
1<br />
2<br />
Bitte geben Sie das KV-Diagramm an.<br />
x2<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
x1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
x0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
x0 . x1<br />
0<br />
1<br />
x0 . x1 f<br />
© G. Fries<br />
2<br />
b<br />
0<br />
0<br />
1<br />
1<br />
EXOR<br />
a<br />
0<br />
1<br />
0<br />
1<br />
y<br />
0<br />
1<br />
1<br />
0<br />
302
Aufgabe 2<br />
Gegeben ist ein 4:1 Multiplexer.<br />
Bitte geben Sie das KV-Diagramm an.<br />
X0<br />
X1<br />
X2<br />
X3<br />
X2<br />
0<br />
0<br />
1<br />
0<br />
1<br />
2<br />
3<br />
} G 0<br />
MUX<br />
3<br />
Y<br />
Y<br />
X1<br />
© G. Fries<br />
X0<br />
X2<br />
X3<br />
307
Aufgabe 2 - Diskussion<br />
Darstellung als 8:1 Multiplexer.<br />
Nur die Variable X3 taucht als Eingangsgröße auf.<br />
X0<br />
X1<br />
X2<br />
0<br />
X3<br />
1<br />
0<br />
1<br />
X3<br />
0<br />
0<br />
0<br />
1<br />
2<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
} G<br />
MUX<br />
0<br />
7<br />
Y<br />
Y<br />
X1<br />
© G. Fries<br />
0<br />
0<br />
0<br />
1<br />
X0<br />
0<br />
0<br />
1<br />
0<br />
X2<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
X3<br />
313
Aufgabe 2 - Diskussion<br />
Darstellung als 8:1 Multiplexer.<br />
Nur die Variable X1 taucht als Eingangsgröße auf.<br />
X0<br />
X2<br />
X3<br />
X1<br />
0<br />
X1<br />
0<br />
X1<br />
X1<br />
X1<br />
X1<br />
0<br />
1<br />
2<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
} G<br />
MUX<br />
0<br />
7<br />
Y<br />
Y<br />
X1<br />
© G. Fries<br />
5<br />
0<br />
0<br />
1<br />
0<br />
X0<br />
0<br />
0<br />
7<br />
1<br />
0<br />
0<br />
0<br />
6<br />
1<br />
1 3 X2 2 0<br />
1<br />
1<br />
1<br />
0<br />
0<br />
X3<br />
4<br />
314
Aufgabe 3 (18.1.2001, <strong>Digitaltechnik</strong> ET)<br />
Gegeben ist folgende Schaltung:<br />
a) Bestimmen Sie die Ausgangsfunktion Y in der gegebenen<br />
Form.<br />
b) Vereinfachen Sie die Ausgangsfunktion Y mit Hilfe der<br />
Schaltalgebra (Bitte Lösungsweg angeben!)<br />
c) Stellen Sie die Funktionstabelle auf.<br />
d) Wie lautet die disjunktive Normalform ?<br />
© G. Fries<br />
315
Aufgabe 4<br />
Vier Pumpen P1..P4 werden von den Signalen A..D<br />
angesteuert. Ergänzen Sie die Pumpensteuerung mit einer<br />
Anzeige-Einheit derart, dass ein Fehlersignal erzeugt wird,<br />
wenn mehr als zwei Pumpen gleichzeitig laufen.<br />
a) Geben Sie die Logik der Lampenansteuerung an.<br />
b) Geben Sie die Logik für eine Warnhupe an, wenn vier<br />
Pumpen gleichzeitig laufen.<br />
Ansteuer-<br />
elektronik<br />
A<br />
B<br />
C<br />
D<br />
P1<br />
P2<br />
P3<br />
P4<br />
Ansteuer-<br />
elektronik<br />
Ist-Zustand Soll-Zustand<br />
© G. Fries<br />
A<br />
B<br />
C<br />
D<br />
Lampen-<br />
ansteuerung<br />
P1<br />
P2<br />
P3<br />
P4<br />
318
319<br />
© G. Fries<br />
Aufgabe 4 -Lösung<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
A<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
D<br />
0<br />
0<br />
0<br />
8<br />
1<br />
1<br />
1<br />
7<br />
0<br />
1<br />
1<br />
6<br />
0<br />
0<br />
0<br />
9<br />
0<br />
1<br />
0<br />
10<br />
1<br />
1<br />
0<br />
11<br />
0<br />
0<br />
1<br />
12<br />
1<br />
0<br />
1<br />
13<br />
15<br />
14<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
Nr<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
F<br />
B<br />
C<br />
A<br />
B<br />
C<br />
D<br />
a)
Aufgabe 5 – Multiplexer (Deniz, 19.6.2004)<br />
Nr<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
A<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
B<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
1<br />
1<br />
C<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
0<br />
1<br />
1<br />
D<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
F<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
C<br />
D<br />
1<br />
1<br />
B<br />
1<br />
1<br />
© G. Fries<br />
1<br />
1<br />
A<br />
Läßt sich die gegebene<br />
Funktionstabelle als<br />
a) 8:1 Multiplexer und als<br />
b) 4:1 Multiplexer<br />
realisieren ?<br />
321
Aufgabe 6 Rückgekoppeltes Schieberegister<br />
Die Schaltung im Bild soll die Zahlenfolge 010011…<br />
kontinuierlich am Ausgang Q3 wiedergeben. Bestimmen Sie die<br />
Logik für das Schaltnetz SN. Eine ggf. nötige Initialisierung der<br />
D-FF sei gewährleistet.<br />
Clk<br />
SN<br />
1D<br />
C1<br />
Q1<br />
© G. Fries<br />
1D<br />
C1<br />
Q2<br />
1D<br />
C1<br />
Q3<br />
323
Aufgabe 6 - Lösung<br />
Die Schaltung stellt ein rückgekoppeltes Schieberegister dar.<br />
Der Inhalts aller Registerstufen ist (zeitverschoben) identisch.<br />
KV-Nr<br />
Q1<br />
Q2<br />
Q3<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
Q1+<br />
© G. Fries<br />
Q2+<br />
Q3+<br />
als erstes trägt man sich die gewünschte Folge in die<br />
Spalte für Q3 ein<br />
324
Aufgabe 7<br />
Bestimmen Sie die Funktion Y in der im Bild vorgegebenen<br />
Form. Vereinfachen Sie mit Hilfe der Booleschen Algebra.<br />
Stellen Sie die gleiche Funktion mit nur zwei Booleschen<br />
Verknüpfungen (= Bauelementen) dar.<br />
C B A<br />
1<br />
1<br />
&<br />
&<br />
© G. Fries<br />
≥1 1<br />
&<br />
Y<br />
329
A<br />
B<br />
C<br />
A<br />
B<br />
C<br />
A<br />
B<br />
C<br />
Aufgabe 8 –<br />
Welche Schaltungen sind identisch ?<br />
&<br />
≥1 Y1 & Y 2<br />
&<br />
& Y 3<br />
&<br />
1<br />
© G. Fries<br />
331
Aufgabe 9a Synchrones Schaltwerk<br />
Ein synchrones Schaltwerk mit dem Eingang X und dem<br />
Ausgang Y habe folgendes Zustandsdiagramm:<br />
Startzustand<br />
0/0<br />
1/1<br />
00 10<br />
0/0 1/0<br />
1/1<br />
01 11<br />
0/1<br />
© G. Fries<br />
1/1<br />
0/0<br />
Notation: X/Y<br />
Q 1 Q 2<br />
Das Schaltwerk soll mit zwei JK-Flip-Flops realisiert<br />
werden. Die Zustände im Zustandsdiagramm<br />
beschreiben die Werte der JK-Flip-Flops 1 und 2.<br />
333
Aufgabe 9b Synchrones Schaltwerk<br />
a) füllen Sie die Wertetabelle aus:<br />
+ +<br />
Q1 Q2 X Q1<br />
Q2 Y J1 K1 2 2<br />
0<br />
0<br />
0<br />
0<br />
0<br />
1<br />
b) Bestimmen Sie Y, J 1 , K 1 , J 2 , K 2<br />
© G. Fries<br />
J<br />
K<br />
334