05.11.2012 Aufrufe

Digitaltechnik (#2031) Wintersemester 2007/2008 Kapitel 0 ...

Digitaltechnik (#2031) Wintersemester 2007/2008 Kapitel 0 ...

Digitaltechnik (#2031) Wintersemester 2007/2008 Kapitel 0 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!