Boolesche Algebra und Schaltalgebra Grundlagen der ... · • R, um das Flipflop zu löschen oder...

38
Boolesche Algebra und Schaltalgebra Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik Grundlagen der technischen Informatik Kapitel 3 – Digitale Netzwerke Prof. Dr.-Ing. Axel Hunger Pascal A. Klein, M.Sc.

Transcript of Boolesche Algebra und Schaltalgebra Grundlagen der ... · • R, um das Flipflop zu löschen oder...

Boolesche Algebra und Schaltalgebra

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Grundlagen der technischen Informatik

Kapitel 3 – Digitale Netzwerke

Prof. Dr.-Ing. Axel Hunger

Pascal A. Klein, M.Sc.

Digitale Netzwerke

2

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3. Digitale Netzwerke .......................................................................... 3

3.1 Allgemeine Einführung .......................................................... 3

3.2 Kombinatorische Schaltungen ................................................ 5

3.2.1 Definition Schaltnetze ........................................................ 5

3.2.2 Schaltnetze mit nur einem Gattertyp .................................. 7

3.2.3 Realisierung von Schaltnetzen ............................................ 9

3.3 Sequentielle Schaltungen ..................................................... 11

3.3.1 Flipflops ............................................................................ 12

3.3.1.1 Einführung ..................................................................... 12

3.3.1.2 RS-Flipflop .................................................................... 12

3.3.1.3 Taktsteuerung ................................................................ 17

3.3.1.4 JK-Flipflop .................................................................... 19

3.3.1.5 D-Flipflop ...................................................................... 23

3.3.1.6 T-Flipflop ...................................................................... 24

3.3.1.7 Das Master-Slave-Prinzip .............................................. 25

3.4 Register ................................................................................ 28

3.4.1 Einführung ........................................................................ 28

3.4.2 Schieberegister ................................................................. 28

3.4.3 Ringschieber ..................................................................... 29

3.4.4 Zwischenspeicher ............................................................. 29

3.4.5 Seriell/Parallel-Umsetzer .................................................. 30

3.5 Zähler ................................................................................... 32

3.5.1 Einführung ........................................................................ 32

3.5.2 Asynchrone Zähler ........................................................... 33

3.5.3 Synchrone Zähler .............................................................. 35

3.5.4 Zähler in verschiedenen Codes ......................................... 37

3.5.5 Ladbare Zähler .................................................................. 38

Digitale Netzwerke

3

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3. Digitale Netzwerke 3.1 Allgemeine Einführung Es werden zwei Arten logischer Schaltungen (digitaler Netzwerke) unterschieden:

• kombinatorische Schaltungen (Schaltnetze) • sequentielle Schaltungen (Schaltwerke)

Digitales Netzwerk

zweistufig

(z.B. PLA-Struktur, zur Realisierung der

dis- oder konjunktiven Normalform)

Schaltnetz Schaltwerk

mehrstufig

(z.B. ortsequentieller Addierer)

synchron asynchron

Abbildung 3.1: Unterteilung Digitaler Netzwerke Während Schaltnetze aus einer reinen Komposition aus Logik-Gattern ohne Rückkopplung bestehen, ist für die Schaltwerke die Rückkopplung charakteristisch. Durch die Rückkopplung ist ein Ausgangssignal nicht mehr ausschließlich von Eingangssignalen der Schaltung abhängig, sondern zusätzlich von den inneren Zuständen der Schaltung, die an die Gattereingänge zurückgekoppelt werden. Dies bedingt die Fähigkeit der Schaltung zur Speicherung der inneren Zustände (Vorgeschichte der Schaltung). Schaltnetze werden durch die

Digitale Netzwerke

4

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Anzahl der vorhandenen Gatterebenen (Stufigkeit) weiter unterteilt (s.u.)1. Schaltwerke hingegen werden durch den Zusatz synchron bzw. asynchron genauer spezifiziert. Bei synchronen Schaltwerken wird der Zustandswechsel über einen zentralen Takt gesteuert. Demgegenüber besitzen asynchrone Schaltwerke keinen solchen Takt. Bei ihnen werden Speicherelemente (Flipflops) durch Signale innerhalb des Schaltwerkes gesteuert, oder die Gatterlaufzeiten werden als eine quasi Speicherung der inneren Zustände genutzt.

1 Die in der Abbildung angegebenen Beispiele für Schaltnetze werden in einem der folgenden Kapitel erläutert. Die Bedeutung ist für das weitere Verständnis dieses Grundlagenkapitels nicht notwendig.

Digitale Netzwerke

5

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.2 Kombinatorische Schaltungen 3.2.1 Definition Schaltnetze

Definition: Schaltnetz

Schaltnetze sind logische Schaltungen, deren Ausgangssignale A1, A2,..., Am nur von den Eingangssignalen E1, E2,..., En (Eingangsbelegung) abhängen. D.h. die Ausgänge der Schaltung hängen zu jedem beliebigen Zeitpunkt nur von der Eingangsbelegung ab.

... …E1E2

En

A1A2

Am

Schaltnetz

Diese Schaltungen werden auch als kombinatorische Schaltungen bezeichnet.

An den Eingängen E1, E2,...,En werden 0-1-Kombinationen angelegt, wodurch sich an den Ausgängen A1, A2,..., Am die entsprechenden binären Werte ergeben. Das logische Verhalten des Schaltnetzes ist somit durch eine Schar Boolescher Funktionen beschreibbar: A1=f1(E1, E2,..., En) A2=f2(E1, E2,..., En) : Am=fm(E1, E2,..., En). Technisch werden Schaltnetze durch eine geeignete Verschaltung von Grundgattern realisiert. Dabei müssen die Gatter (Verknüpfungsglieder) rückführungsfrei verbunden werden, um sicherzustellen, dass die Schaltungsausgänge nur von den Schaltungseingängen abhängen (s. obige Definition).

Digitale Netzwerke

6

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Beispiel: 5-stufiges Schaltnetz mit ( ) BACCBAX ⋅++⋅⋅=

Ebene 1 Ebene 2 Ebene 3 Ebene 4 Ebene 5

Definiton: Stufigkeit

Der Signalverlauf eines Schaltnetzausganges kann durch seine zugehörige Boolesche Funktion beschrieben werden (vgl.obiges Bsp.). Bei der Berechnung des Ausgangswertes für eine gegebene Eingangsbelegung muss die durch die Verknüpfung und die Klammerung gegebene Reihenfolge des Booleschen Funktionsterms beachtet werden. Auch das Schaltnetz muss diese Berechnungsreihenfolge einhalten, deshalb muss die Erzeugung des Ausgangssignals auch in mehreren Schritten (Stufen) erfolgen. Die Schaltung kann dementsprechend in mehrere Gatter-Ebenen unterteilt werden. Die erste Ebene repräsentiert die innersten Operationen (i .d.R.) die Negation der Eingangssignale. In der nachfolgenden Ebene werden jeweils die Teilausdrücke realisiert, zu deren Auswertung die Ergebnisse der vorherigen Ebene notwendig sind.

Aus einem gegebenen Schaltnetz lässt sich umgekehrt die zugehörige Boolesche Funktion des Ausgangssignals durch sukzessive Verknüpfung der Ausdrücke ablesen, die beim Verfolgen aller möglichen Signalpfade von den Eingängen bis zum Ausgang entstehen.

Digitale Netzwerke

7

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Ebene 1 Ebene 2 Ebene 3 Ebene 4 Ebene 5

3.2.2 Schaltnetze mit nur einem Gattertyp

Es ist möglich alle Booleschen Funktionen mit Ausdrücken darzustellen, die nur eine Art von Verknüpfung enthalten (vgl.Kap. 1.4 Systeme vollständiger Verknüpfung). Somit kann jede beliebige Gatterschaltung unter Verwendung eines einzigen Gattertyps (NAND- bzw. NOR-Gatter) aufgebaut werden. So aufgebaute Schaltungen werden als NAND- bzw. NOR-Technik bezeichnet. Für die Umwandlung eines "regulären" Booleschen Ausdrucks mit UND-, ODER- und NICHT-Verknüpfungen in einen Ausdruck mit nur NAND- bzw. nur NOR-Verknüpfungen existieren verschiedene Methoden. Eine einfache Methode ist die direkte Umwandlung der UND-, ODER- bzw. NICHT-Ausdrücke in ihre entsprechenden NAND- bzw. NOR-Äquivalente (vgl.Kap. 1.4 Systeme vollständiger Verknüpfung). NAND NOR

UND ( ) ( )baba ||| ( ) ( )bbaa ↓↓↓

ODER ( ) ( )bbaa ||| ( ) ( )baba ↓↓↓

NICHT aa | aa ↓

Bei Verwendung dieser Methode können sehr lange Ausdrücke und dadurch aufwendige Schaltungen mit unnötig vielen Gattern entstehen. Es ist oftmals günstiger mittels algebraischer Umformung günstigere Ergebnisse zu bekommen. Dies setzt eine gewisse Erfahrung und viel Fingerspitzengefühl voraus. Bei der algebraischen Umformung werden vorwiegend die De Morgansche Regel und die Grundfunktion Identität verwendet. Das folgende Beispiel soll die Umformung einer gegebenen Schaltung in die NOR-Technik veranschaulichen.

Digitale Netzwerke

8

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Beispiel: ( )BACDX ⋅+⋅=

G1

G2

G3

G4 X

Durch Einsetzen der NOR-Äquivalente kann die Schaltung zu einem Schaltnetz aus NOR-Gattern umgewandelt werden.

X

G4

G3G2G1

Durch geschicktes Umformen kann eine vereinfachte Schaltung gefunden werden:

Weiterführende Frage:

Welches Gesetz wurde angewandt, um obige Schaltung zu vereinfachen?

In der Regel liefert eine algebraische Umformung günstigere Ergebnisse als das direkte Einsetzen der NAND- bzw. NOR-Äquivalente.

Digitale Netzwerke

9

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.2.3 Realisierung von Schaltnetzen

Bei der Realisierung von Schaltnetzen müssen auf Grund technologischer und/oder anderer Anforderung an die zu entwickelnde Schaltung bestimmte Randbedingungen eingehalten werden. Dies kann zum einen die Forderung nach einem zweistufigen Netzwerk sein, um die Signallaufzeit klein zu halten. (In diesem Fall wird die Schaltfunktion durch eine Normalform beschrieben.) Zum anderen können Einschränkungen bezüglich der zu verwendeten Gatter getroffen werden, d.h. es dürfen nur Gatter eines Typs und/oder nur Gatter mit 2 Eingängen verwendet werden. Des weiteren kann es effektiver sein, komplexere Schaltnetze, sogenannte Komplexgatter, als Elementargatter einzusetzen. Sollte die Verwendung von Komplexgatter gefordert sein, wird die Schaltungsentwicklung dementsprechend komplexer. Beispiel: D)CBA(X ⋅++= 1.) "Eins-zu-eins-Übertragung" der gegebenen

Schaltfunktion in ein Schaltnetz:

2.) Realisierung bei vorgeschriebenem Gattertyp 2.1.) Unter Verwendung der NOR-Technik:

D)CBA(D)CBA(X +++=⋅++=

Digitale Netzwerke

10

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

2.2) Unter Verwendung ausschließlich von NAND-Gatter mit 2 Eingängen

1. Möglichkeit:

DCBA

DCBA

DCBA

D)CBA(X

⋅⋅⋅=

⋅⋅+=

⋅⋅+=

⋅++=

2. Möglichkeit:

DCDBDA

DCDBDA

DCDBDA

D)CBA(X

⋅⋅⋅⋅⋅=

⋅⋅⋅⋅⋅=

⋅+⋅+⋅=

⋅++=

Weiterführende Frage:

Bewerte die obigen Schaltnetze. Welches Schaltnetz ist unter welchen Bedingungen das geeignetste? Wieso wird überhaupt die NOR- bzw. NAND-Technik \s.o. eingesetzt?

Digitale Netzwerke

11

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.3 Sequentielle Schaltungen In digitalen Rechenanlagen ist es wichtig Daten zwischen zu speichern. Speicher stellen eine wesentliche Rolle in Computersystemen dar. Sie dienen der Zwischenlagerung sowohl von Informationen als auch von Befehlen. Definition: Schaltwerk

Schaltwerke sind logische Schaltungen, deren Ausgangssignale A1, A2,..., Am nicht nur von den Eingangssignalen E1, E2,..., En (Eingangsbelegung) abhängen, sondern auch von den inneren Zuständen der Schaltung Y1, Y2,..., Yn die an die Gattereingänge zurückgekoppelt werden (Feedback-Schleife). Dies bedingt die Fähigkeit des Schaltnetzes zur Speicherung der inneren Zustände. Hierfür werden Speicherelemente, sogenannte Flipflops (s.n.Kap.), eingesetzt.

En AmSchaltwerk

Diese Art Schaltungen werden auch als sequentielle Schaltungen bezeichnet. Des weiteren wird zwischen synchronen und asynchronen Schaltungen unterschieden. Bei einem synchronen Schaltwerk verursacht ein periodisches Referenzsignal, der Takt, bei den Speicherelementen ein Zustandswechsel und damit ändern sich die inneren Zustände der Schaltung. Bei asynchronen Netzwerken gibt es keinen solchen gemeinsamen Takt, hier ändern sich die Zustände der Speicherelemente nicht gleichzeitig (asynchron).

Digitale Netzwerke

12

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.3.1 Flipflops

3.3.1.1 Einführung

Definition: Flipflop

Ein Flipflop ist ein elementarer 1-bit Speicher. Im Unterschied zu den bisher kennengelernten Verknüpfungsgliedern (z.B.UND-Gatter) besitzt ein Flipflop zwei stabile Zustände (bistabiles Kippglied), nämlich Ausgang auf logisch 1 und Ausgang auf logisch 0. Durch kurzzeitige Ansteuerung des Flipflops (Impuls an einem Eingang) kann es von einem Zustand in den anderen umgeschaltet werden, in dem es dann bis zum nächsten Impuls verharrt. Mit einem Flipflop lassen sich also, solange die Stromversorgung anliegt (vgl.Kap.4, aktive Bauelemente), binäre Informationen beliebig lang speichern.

Flipflops gibt es in den verschiedensten Ausführung. Diese werden im folgenden vorgestellt.

3.3.1.2 RS-Flipflop

Das RS-Flipflop stellt ein grundlegendes Flipflop dar. Es kann beispielsweise durch Verwendung zweier NOR-Gatter konstruiert werden. Dabei wird der Ausgang eines NOR-Gatters auf einen Eingang des anderen NOR-Gatters zurückgeführt (vgl.Abb.). Durch diese statische Rückkopplung wird erreicht, dass die Schaltung zwei stabile Zustände einnehmen kann. Das RS-Flipflop besitzt zur Steuerung seines Speicherzustands zwei Eingänge:

• S, um das Flipflop zu setzen (set) • R, um das Flipflop zu löschen oder zurückzusetzen (reset)

Mittels der Eingangsbelegung von R und S wird der Ausgang Q auf logisch 1 (setzen/set) oder auf logisch 0 (zurücksetzen/reset) gesetzt. Die gespeicherte Information kann zu jeder Zeit am Ausgang Q abgelesen werden. Zusätzlich liegt der komplementäre Wert am Ausgang Q an.

Digitale Netzwerke

13

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Um Informationen im Flipflop zu speichern wird der Eingang S auf logisch 1 und der Eingang R auf logisch 0 gesetzt. Dadurch erhält man am Ausgang Q eine logische 1. Der Ausgang Q führt entsprechend komplementär zum Ausgang Q eine logische 0. Analog wird der Ausgang Q auf logisch 0 gesetzt, indem der Eingang R auf logisch 1 und der Eingang S auf logisch 0 gesetzt wird. Liegt an den Eingängen R und S eine logische 0 an, so wird der vorherige Zustand am Ausgang beibehalten, sozusagen gespeichert. Die Belegung beider Eingänge S und R mit logisch 1 ist nicht erlaubt. Dies wiederspräche der erwünschten Funktionsweise eines Flipflops, denn wenn beide Steuereingänge gesetzt sind, müßte das Flipflop gleichzeitig gesetzt und rückgesetzt werden. Dies ist ein logischer Widerspruch und deshalb ist diese Belegung verboten. Zum anderen ist aus schaltungstechnischen Gründen nicht vorhersagbar, welcher Wert sich am Ausgang Q einstellen wird, wenn im Anschluß die Eingänge S und R auf logisch 0 gesetzt werden (racing). Ein solcher unbekannter Zustand wird mit X bezeichnet (vgl. Kap.1.3.4 Unvollständig definierte Boolesche Funktionen). Weiterführende Frage:

Informiere dich über das Verhalten eines Flipflops bei der nicht erlaubten Eingangsbelegung. Wie kann eine solche racing-Bedingung per Simulation festgestellt werden?

Aus der Beschreibung lässt sich die vollständige Funktionstabelle des Flipflops ableiten. Die Bezeichnung Qn+1 beschreibt dabei den Folgezustand nach Anlegen der jeweiligen Eingangssignale. Im Gegensatz dazu bezeichnet Qn den aktuell bestehenden Zustand.

Digitale Netzwerke

14

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

S R 1+nQ Funktion 0 0 nQ Speichern0 1 0 Rücksetze

n 1 0 1 Setzen 1 1 X Unzulässi

g

Tabelle 1: Funktionstabelle des RS-Flipflops Die nachfolgende Tabelle zeigt für die jeweilige Eingangsbelegung abhängig vom vorherigen Zustand den resultierenden Folgezustand (Ausgangswert):

S R nQ 1+nQ 1+nQ

0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 X X 1 1 1 X X

Die Tabelle zeigt unter anderem, daß bei einer Eingangsbelegung des Flipflops mit S=R=0 der Zustand des Flipflops unverändert bleibt ( nQ = 1+nQ ). Hier zeigt sich das speichernde Verhalten eines Flipflops. Das Schaltverhalten eines Flipflops kann auch mittels einer logischen Funktionsgleichung beschrieben werden. Diese sogenannte charakteristische Gleichung des RS-Flipflops kann der Wahrheitstabelle entnommen und beispielsweise mittels eines KV-Diagramms vereinfacht werden:

Digitale Netzwerke

15

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

nn QRSQ ⋅+=+1 Weiterführende Frage:

Bestätige die Richtigkeit der obigen charakteristischen Gleichung.

Die Funktionsweise eines Flipflops kann auch mittels eines Zustandsübergangsdiagramms beschrieben werden. Ein Zustandsübergangdiagramm stellt die Zustände einer Schaltung (hier Ausgangswert Q) mittels Kreisen dar. Die einzelnen Zustände sind durch Pfeile verbunden. Die Pfeile werden mit derjenigen Eingangsbelegung beschriftet, die zu der Zustandsänderung führt, die durch den Pfeil dargestellt wird. Das Zustandsübergangsdiagramm eines RS-Flipflops sieht dementsprechend folgendermaßen aus:

Q=0 Q=1

S=1R=0

S=0R=1

S beliebigR=0

S=0R beliebig

Ein RS-Flipflop lässt sich auch aus zwei NAND-Gatter aufbauen. Es ist zu beachten, dass die Eingänge des Flipflops in diesem Fall negiert sind, d.h. genau genommen stellt die folgende Schaltung ein SR -Flipflop dar.

Um das Verhalten eines RS-Flipflops - wie es obige Funktionstabelle beschreibt - unter Verwendung von NAND-

Digitale Netzwerke

16

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Gattern zu erhalten, muss den Eingängen jeweils ein NOT-Gatter vorgeschaltet werden.

Bei komplexeren Schaltungen wird in der Praxis nicht mehr die gesamte Verschaltung des Flipflops im Schaltplan dargestellt, sondern stattdessen das entsprechende Symbol verwendet. In der DIN 40700 ist für das RS-Flipflop das folgende Symbol festgelegt:

Q

Q

S

R

Das RS-Flipflop ist das Basiselement der sequentiellen Schaltungstechnik.

Digitale Netzwerke

17

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.3.1.3 Taktsteuerung

Bei den bis jetzt vorgestellten Flipflops handelt es sich um asynchrone Schaltungen, da ein Zustandswechsel zu jeder Zeit erfolgen kann. Um einen Zustandswechsel zu kontrollierten Zeiten zu erwirken wird ein zusätzlicher Kontroll- bzw. Takteingang eingeführt. Dieser ermöglicht die Steuerung des Zeitpunktes, an dem ein Zustandswechsel erfolgen kann. Dies wird notwendig, wenn z.B. mehrere Flipflops parallel angesteuert werden sollen oder die Information nur zu bestimmten Zeitpunkten aufgenommen werden soll.

Aus der Schaltung ist abzulesen, daß bei Anlegen einer logischen 0 am Takteingang T, unabhängig von den Eingängen R und S, kein Zustandswechsel erfolgen kann. Erst wenn am Takteingang eine logische 1 anliegt, wird die Information an den Eingängen R und S übernommen. Es gibt zwei Arten von Taktsteuerung zwischen denen bezüglich der Wirkung des Taktsignals unterschieden wird: • Taktzustandssteuerung • Taktflankensteuerung Bei beiden Arten löst nur der Takt einen Zustandswechsel aus. Dies wird als synchrones Schaltverhalten bezeichnet. Taktzustandsgesteuerte Flipflops nehmen die an den Eingängen anliegenden Informationen während der Dauer des Taktimpulses auf. Dies kann entweder während der 1-Phase oder der 0-Phase geschehen. Taktflankengesteuerte Flipflops übernehmen die Eingangsinformationen, die unmittelbar vor der aktiven

Digitale Netzwerke

18

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Taktflanke an den Eingängen anliegt. Während der Zeit zwischen zwei aktiven Taktflanken ist das Flipflop unempfindlich sowohl gegenüber Signaländerungen als auch gegenüber Störsignalen. Findet ein Wechsel von logisch 0 auf logisch 1 statt, so wird von einer positiven Taktflanke gesprochen, bei einem Wechsel von logisch 1 auf logisch 0 von einer negativen Taktflanke.

T=

positiv flankengesteuert

negativ flankengesteuert

Eine Möglichkeit der Taktflankensteuerung zeigt die folgende Schaltung:

Die Verzögerung realer Gatterschaltungen vom Eingang zum Ausgang wird hier ausgenutzt, um bei der aktiven Taktflanke einen kurzen Impuls zu erzeugen, währenddessen die Eingangsinformation in das Flipflop übernommen wird.

Digitale Netzwerke

19

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Ein negativ taktflankengesteuertes Flipflop wird durch schlichtes Invertieren des Takteingangs gewonnen. Weiterführende Frage:

Wie sieht die Schaltung eines negativ taktflankengesteuerten Flipflops aus?

Zur Kennzeichnung taktzustands- bzw. taktflankengesteuerter Flipflops wird entweder ein Rechteck oder ein Pfeil am Takteingang des Flipflops gezeichnet. In der nachfolgenden Abbildung sind die vier unterschiedlichen Typen taktgesteuerter Flipflops nebeneinander gestellt.

T

T

positiverTaktzustand

negativerTaktzustand

T

T

steigendeTaktflanke

fallendenTaktflanke

3.3.1.4 JK-Flipflop

Ein RS-Flipflop ist unter anderem dadurch gekennzeichnet, daß der Zustand R=S=1 verboten ist, da bei diesem Zustand der nachfolgende Zustand nicht eindeutig bestimmbar ist. Um dieses Manko zu beseitigen gilt es eine Schaltung zu entwerfen, die diesen Zustand erlaubt. Das JK-Flipflop erfüllt diese Bedingung. Hierbei werden die Ausgänge des Flipflops zurückgeführt und mit den Eingängen UND-Verknüpft. Da mindestens ein Ausgang immer logisch 0 ist, bewirkt selbst die Eingabe einer logischen 1 auf beide Eingänge das nur eine logische 1 weitergereicht wird und sich dadurch kein unerwarteter Zustand einstellen kann.

Digitale Netzwerke

20

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Die Eingänge werden mit J und K bezeichnet. Die Buchstaben J und K werden allgemein benutzt um das JK-Flipflop vom RS-Flipflop zu unterscheiden, sie haben aber keine tiefergehende Bedeutung. Die Funktionsweise eines JK-Flipflops lässt sich mittels der folgenden Tabelle erläutern.

J K 1+nQ Funktion 0 0 nQ speichern0 I 0 rücksetzenI 0 I setzen I I nQ kippen

Der Eingang J wird zum Setzeingang und dementsprechend K zum Rücksetzeingang. Wie beim RS-Flipflop wird bei einer Eingangsbelegung J=K=0 der vorherige Zustand gespeichert. Bei einer Eingangsbelegung von J=K=1 wechselt das JK-Flipflop, anders als beim RS_Flipflop, mit jedem Taktimpuls den Zustand. Das JK-Flipflop besitzt demnach gegenüber dem RS-Flipflop eine leicht abgewandelte Wahrheitstabelle:

J K nQ 1+nQ 1+nQ

0 0 0 0 I 0 0 I I 0 0 I 0 0 I 0 I I 0 I I 0 0 I 0 I 0 I I 0 I I 0 I I I I I 0 I

Digitale Netzwerke

21

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Aus der Wahrheitstabelle lässt sich die charakteristische Gleichung des JK-Flipflops ableiten:

nn1n QKQJQ ⋅+⋅=+ Weiterführende Frage:

Bestätige die Richtigkeit der obigen charakteristischen Gleichung.

Das JK-Flipflop hat nach DIN ein dem RS-Flipflop ähnliches Symbol; nur die Eingänge tragen eine andere Bezeichnung.

Q

Q

J

K

In der nachfolgenden Abbildung wird die Funktionsweise des JK-Flipflops mit Hilfe des Zustandsübergangsdiagramms erläutert.

Q=0 Q=1

J=1

K=1

K=0J=0

In der Praxis produzierte JK-Flipflops weisen neben den dynamischen Eingängen J und K noch statische negierte R- und S-Eingänge auf. Bei einer Belegung dieser statischen Eingänge mit einer logischen 1 sind sie wirkungslos. Bei einer Belegung von S mit einer logischen 0 wird der Takteingang

Digitale Netzwerke

22

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

gesperrt und der Flipflop-Speicher gesetzt. Sobald S wieder eine logische 1 führt, ist der Takteingang freigegeben und das Flipflop arbeitet wieder normal allerdings ausgehend vom Zustand Q=1. Entsprechendes gilt für die Belegung von R mit einer logischen 0.

Weiterführende Frage:

Verdeutliche die Wirkungsweise der Eingänge S und R .

Das Symbol eines JK-Flipflops mit statischen Eingängen sieht ist in der folgenden Abbildung gezeigt:

Q

Q

J

K T

S

R

S: Preseteingang

R: Reseteingang

Digitale Netzwerke

23

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.3.1.5 D-Flipflop

Eine andere Möglichkeit den verbotenen Zustand des RS-Flipflops zu umgehen, ist es die Eingangskombination R=S=1 zu verhindern. Dies kann zum Beispiel durch Vorschalten eines Inverters vor den zweiten Eingang geschehen.

Beim D-Flipflop folgt der Ausgang immer direkt dem Eingang. Die Bezeichnung D-Flipflop kommt vom englischen Wort „to delay“ (verzögern), da der Ausgang Q dem Eingang D verzögert folgt. Dadurch ergibt sich die folgende Wahrheitstabelle und dementsprechend die charakteristische Gleichung.

D 1nQ +

0 0 I I

Charakteristische Gleichung: DQ 1n =+

Weiterführende Frage:

Bestätige die Richtigkeit der obigen charakteristischen Gleichung.

Digitale Netzwerke

24

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

In einer Schaltung wird das D-Flipflop wie in der folgenden Abbildung gezeigt symbolisiert:

Q

Q

D

Das D-Flipflop findet z.B. beim Aufbau von Registern zur Zwischenspeicherung von Signalen Verwendung.

3.3.1.6 T-Flipflop

Aus dem JK-Flipflop kann durch einfache Beschaltung ein T-Flipflop oder Taktuntersetzer gewonnen werden:

Der Ausgangszustand des T-Flipflops hängt nicht von der Eingangsvariablen ab, sondern ändert sich jeweils mit dem Taktsignal ⇒ Toggle-Flipflop (T-Flipflop). Bei dieser Schaltung handelt es sich somit um einen Binärteiler oder Frequenz-halbierer. Funktionstabelle:

E 1nQ + 0 nQ

I nQ

E: Enable; ermöglicht oder sperrt die interne Rückkopplung von Q und Q nach J und K. Wird der Eingang E mit einer logischen 1 belegt und der Ein-gang T mit einem periodischen Taktsignal, so nimmt das Flip-

Q

Q

J

K

ET

Digitale Netzwerke

25

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

flop nach jedem zweiten Takt den alten Zustand wieder an. Die Frequenz des Ausgangssignals Q ist also halb so groß wie die Taktfrequenz.

Die charakteristische Gleichung des T-Flipflops ergibt sich mit J = K = E zu:

nn1n QEQEQ ⋅+⋅=+

Weiterführende Frage:

Bestätige die Richtigkeit der obigen charakteristischen Gleichung.

3.3.1.7 Das Master-Slave-Prinzip

Werden mehrere RS-Flipflops in der Art hintereinander geschaltet, dass der Ausgang des einen Flipflops mit dem Eingang des nachfolgenden Flipflops verbunden ist und alle Kontrolleingänge parallel verbunden sind, so würden alle Flipflops gleichzeitig (synchron) angesteuert werden. Beim Anlegen eines Variablenwerts am Eingang des ersten Flipflops, würden während der Dauer des Taktzustandes T=1 alle Flipflops den gleichen Ausgangszustand annehmen, da das Signal direkt durchgereicht würde. Dies kann durch eine Zweizustandssteuerung, auch Master-Slave-Prinzip genannt, vermieden werden. Hier werden zwei Flipflops mit Kontrolleingang hintereinandergeschaltet, wobei das hintere Flipflop mit einem, dem vorderen Flipflop gegenüber invertierten Taktsignal, angesteuert wird.

Digitale Netzwerke

26

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Das erste Flipflop wird als Master-Flipflop, das zweite als Slave-Flipflop bezeichnet. Die Bezeichnung der kombinierten Flipflops lautet Zweispeicher-Flipflop, Zwischenspeicher-Flipflop oder Master-Slave-Flipflop. Mittels dieses Prinzips wird vermieden, daß ein Eingangssignal direkt zum Ausgang durchgereicht wird. Durch die Verwendung zweier Flipflops pro Speicherelement wird eine Zweiflankensteuerung erreicht. Wichtig beim Master-Slave-Prinzip ist das beim Wechsel des Taktes von T=0 nach T=1 zuerst die Eingänge des Slave-Flipflops gesperrt werden bevor die Eingänge des Master-Flipflops freigegeben werden. Umgekehrt müssen bei einem Taktwechsel von T=1 nach T=0 zuerst die Eingänge des Master-Flipflops gesperrt werden bevor die Eingänge des Slave-Flipflop freigegeben werden. Zur weiteren Veranschaulichung der Vorgänge während eines Taktimpulses sei das folgende Diagramm gegeben, welches den Verlauf der ansteigenden und abfallenden Flanke eines Taktimpulses angibt.

1

0 1

2 3

4

Mit ansteigendem Takt unterschreitet der negierte Takt den 1-Pegel und sperrt damit das Slave-Flipflop (1). Ab dem Punkt (2) wird der 1-Pegel des Master-Flipflops überschritten und die Information an den Eingängen des Master-Flipflops übernommen. Während der Zeitdauer zwischen den Punkten

Digitale Netzwerke

27

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

(2) und (3) wird ein Signalwechsel an den Eingängen in das Master-Flipflop übernommen. Bei der abfallenden Flanke wird der Eingang des Master-Flipflops wieder gesperrt und die Information gespeichert (3). Im Punkt (4) wird das Slave-Flipflop wieder freigeschaltet, die Information wird weitergereicht und erscheint damit am Ausgang Q des Master-Flipflops. Somit haben die vier Punkte die folgenden Funktionen:

Punkt Funktion

1 Sperren der Eingänge des Slave-Flipflops

2 Übernahme der Information in das Master-Flipflop

3 Sperren der Eingänge des Master-Flipflops

4 Slave-Flipflop übernimmt den Zustand des Master-Flipflops

Digitale Netzwerke

28

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.4 Register 3.4.1 Einführung

Eine Information liegt selten in Form eines einzelnen Bits vor. Außerdem werden für die Verknüpfung nicht zeitgleich eintreffender Informationen Zwischenspeicher mit kurzer Zugriffszeit benötigt. Daher werden mehrere Flipflops entsprechend der Breite eines Datenwortes zu einer Einheit zusammengefasst. Diese Einheit wird als Register bezeichnet. Die Taktsignale aller Flipflops werden gleichzeitig angesteuert, so dass alle Flipflops synchron angesteuert werden. Register gibt es in verschiedenen Ausführungen, wobei eine kleine bauliche Veränderung mitunter eine neue Funktionsweise hervorruft

3.4.2 Schieberegister

In der digitalen Informationsverarbeitung ist es oftmals sinnvoll eine Information schrittweise, z.B. innerhalb einer Speicherkette weiterzuführen. Solch eine Speicherkette wird Schieberegister genannt. Die Daten werden durch Taktimpulse um eine oder mehrere Stellen verschoben, wobei bei jedem Taktimpuls die Daten nur um eine Stelle verschoben werden. Benötigt werden Schieberegister z.B. bei den digitalen Grundrechenarten Multiplizieren und Dividieren. Beide lassen sich durch Addition bzw. Subtraktion und einer Stellenverschiebung realisieren. Selbst das einfache Schieben einer Dualzahl entspricht schon einer mathematischen Operation. Denn werden den Ausgängen des Schieberegisters Stellenwertigkeiten zugeordnet, so entspricht eine Stellenverschiebung der Dualzahl nach rechts einer Multiplikation mit 2 und eine Stellenverschiebung nach links entspricht einer Division durch 2. Die einfachste Form eines Schieberegisters ist in der folgenden Abbildung gegeben. Es besteht aus D-Flipflops, deren Eingänge mit den Ausgängen des vorherigen Flipflops verbunden sind. Diese Ausführung des Schieberegisters lädt die Daten seriell ein und gibt sie auch wieder seriell aus. Mit

Digitale Netzwerke

29

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

jedem Taktsignal werden die Daten um eine Stelle nach rechts geschoben. Hierbei handelt es sich um einen sogenannten FIFO-Speicher (First In – First Out).

3.4.3 Ringschieber

Ringschieber werden durch Schieberegister hergestellt, bei denen die Ausgänge des letzten Flipflops mit den Eingängen des ersten Flipflops verbunden werden. Ein Signal das durch das Schieberegister geführt wird, gelangt somit nach einmaligen Durchlauf wieder an den Anfang zurück. Solch ein Register kann auch als ein Ringzähler verwendet werden.

3.4.4 Zwischenspeicher

Ein Schieberegister kann auch als PIPO (Parallel In - Parallel Out) genutzt werden. Die hauptsächliche Anwendung dieses Registers liegt in der Synchronisierung und Zwischen-speicherung.

Digitale Netzwerke

30

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Der Eingang TS zum seriellen Schieben der Daten wird in dieser Ausführung nicht benötigt.

3.4.5 Seriell/Parallel-Umsetzer

Serien/Parallel-Umsetzer werden benötigt, wenn die einzelnen Stellen einer Information nacheinander ankommen, zur Weiterverarbeitung diese aber parallel vorliegen müssen. Das Gegenstück hierzu ist der Parallel/Seriell-Umsetzer, der die parallel eingelesene Information seriell über ein Taktsignal ausgibt. Bei dem nachfolgend skizzierten Schieberegister ist ein paralleles Einlesen und ein serielles Schieben der Daten möglich. Das Laden und Speichern des Registers wird über den Eingang TP gesteuert und das serielle Schieben über das Taktsignal TS. Dieses Schieberegister wird häufig auch als PISO (Parallel In - Seriell Out) bezeichnet.

Der Gegensatz zum PISO ist ein Schieberegister, welches die Daten seriell einliest und parallel ausgibt. Dieses wird als SIPO

Digitale Netzwerke

31

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

(Seriell In - Parallel Out) bezeichnet. Der Eingang TP zum parallelen Laden des Registers wird hierbei nicht mehr benötigt.

Das zugehörige Schaltsymbol zu den beschriebenen Schieberegistern sieht folgendermaßen aus:

Digitale Netzwerke

32

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.5 Zähler 3.5.1 Einführung

Zähler werden in vielen Bereichen der Informationsverarbeitung benötigt. Sei es, daß die Zeit über ein kontinuierliches Taktsignal gemessen wird oder es werden die Anzahl Autos, welche eine Kreuzung passieren oder die gefertigte Menge eines Produktes bei der maschinellen Fertigung gezählt. Immer wenn eine große Anzahl von Ereignissen über einen großen Zeitraum oder eine sehr schnelle Folge von Ereignissen gemessen werden soll, eignen sich elektronische Zähler bestens. Elektronische Zähler sind in der Lage eine Folge von Impulsen am Eingang des Zählers abzuzählen. Dem Zähler selbst ist die Art des Impulsgebers egal, er verarbeitet nur das eintreffende Signal. Zähler sind Schaltungen bei denen eine eindeutige Zuordnung zwischen der Anzahl der Impulse am Eingang und den Zuständen an den Ausgängen besteht. Bei einer Anzahl n Ausgänge sind 2n Kombinationen denkbar, welche einen bestimmten Zählerzustand repräsentieren. Diese Ausgänge können zur Anzeige oder zur Weiterverarbeitung verwendet werden. Ein Zähler, der die einkommenden Impulse addiert, zählt vorwärts. Dementsprechend zählt ein Zähler rückwärts, wenn er die einkommenden Impulse subtrahiert. Zähler werden weiterhin unterteilt in synchrone und in asynchrone Zähler. Bei synchronen Zählern werden alle Bausteine über eine Taktleitung parallel angesteuert. Asynchrone Zähler geben das Taktsignal vom Ausgang eines Bausteins auf den Eingang des nachfolgenden Bausteins weiter. Ferner unterscheidet der Zählcode Zähler in Binär- oder BCD-Zähler. BCD-Zähler ermöglichen bei entsprechender Innenschaltung das Zählen im Aiken- oder 3-Exzess-Code.

Digitale Netzwerke

33

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.5.2 Asynchrone Zähler

Asynchrone Zähler werden durch die Hintereinanderschaltung von JK-Flipflops gebildet. Die beiden Eingänge des Flipflops werden auf logisch 1 gesetzt und der Takteingang wird vom Ausgang des vorherigen Flipflops gespeist. Dadurch arbeiten die Flipflops als Taktuntersetzer. Die folgende Skizze zeigt einen 4 Bit Asynchronzähler.

Wird an den Eingang T des ersten Flipflops ein Taktsignal angelegt, so ergibt sich das folgende Impulsdiagramm.

Die Funktion kann auch in einer Wahrheitstabelle dargestellt werden. Wird jedem Ausgang eine Wertigkeit zugeordnet (z.B. E0=1, E1=2, E2=4, E3=8), so ergibt sich der Dualcode und es kann nachgewiesen werden, dass der Zähler alle dualen Zahlen von 0000|2 bis 1111|2 durchläuft.

Takt E3 E2 E1 E0 Ziffer0 0 0 0 0 01 0 0 0 1 12 0 0 1 0 23 0 0 1 1 3

Digitale Netzwerke

34

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

4 0 1 0 0 45 0 1 0 1 56 0 1 1 0 67 0 1 1 1 78 1 0 0 0 89 1 0 0 1 9

10 1 0 1 0 1011 1 0 1 1 1112 1 1 0 0 1213 1 1 0 1 1314 1 1 1 0 1415 1 1 1 1 1516 0 0 0 0 017 0 0 0 1 1

Bei dem bisher beschriebenen Zähler handelt es sich um einen asynchronen Vorwärtszähler im Dualcode. Um einen entsprechenden Rückwärtszähler zu erhalten brauchen nur geringfügige Änderungen an der Schaltung vorgenommen werden. Werden nämlich statt der regulären Ausgänge der Flipflops die invertierten Ausgänge verwendet und ihnen die entsprechenden Wertigkeiten zugeordnet, so ergibt sich ein asynchroner Rückwärtszähler im Dualcode.

Weiterführende Frage:

Wie sieht das Impulsdiagramm bzw. die Wahrheitstabelle des Rückwärtszählers aus?

Digitale Netzwerke

35

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.5.3 Synchrone Zähler

Bei einem synchronen Zähler werden alle Flipflops über ein Taktsignal gleichzeitig angesteuert. Gegenüber dem asynchronen Zähler arbeiten die Flipflops nicht mehr als Taktuntersetzer, sondern die jeweilige Beschaltung der Eingänge J und K der Flipflops führt zu der Funktion eines Zählers. Hierzu gilt es für alle Flipflops die entsprechende Funktion der beiden Eingänge J und K zu finden. Bei einem 4 Bit Synchronzähler sind dies schon 16 Funktionen. Das Aufstellen der Funktionen kann vereinfacht werden, wenn beide Eingänge des ersten Flipflops mit logisch 1 versehen werden. Schließlich ändert das niederwertigste Bit ständig den Zustand. Für die Beschaltung der restlichen Flipflops werden die Zusammenhänge durch Betrachten der Wahrheitstabelle gesucht.

D C B A0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

Bei näherer Betrachtung ist ersichtlich, dass das zweite Flipflop jeweils dann seinen Zustand wechselt, wenn das erste Flipflop eine logische 1 am Ausgang führt. Dieser kann somit auf den

Digitale Netzwerke

36

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

Eingang des zweiten Flipflops gelegt werden. Das dritte Flipflop ändert seinen Zustand, wenn die ersten beiden Flipflops gleichzeitig eine logische 1 am Ausgang führen. Somit bestehen die Eingänge des dritten Flipflops aus einer UND-Verknüpfung der Ausgänge der ersten beiden Flipflops. Das vierte Flipflop ändert seinen Zustand nur, wenn alle drei vorherigen Flipflops eine logische 1 an ihren Ausgängen führen. Also handelt es sich hierbei um eine UND-Verknüpfung der Ausgänge der ersten drei Flipflops. Die nachfolgende Grafik zeigt die Schaltung eines 4 Bit Synchronzählers.

Die Schaltung lässt sich beliebig nach der oben beschriebenen Methode erweitern. Um einen entsprechenden Rückwärtszähler zu erhalten brauchen wiederum nur die invertierten Ausgänge verwendet werden.

Digitale Netzwerke

37

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.5.4 Zähler in verschiedenen Codes

Neben dem Dualcode gibt es noch weitere Codes, wie z.B. den BCD-, den Aiken- oder den 3-Exzess-Code, für die ein Zähler realisiert werden kann. Hierbei handelt es sich um asynchrone Zähler.

Zähler im BCD-Code:

Zähler im Aiken-Code:

Zähler im 3-Exzess-Code:

Digitale Netzwerke

38

Prof. Dr.-Ing. Axel Hunger Grundlagen der Technischen Informatik

3.5.5 Ladbare Zähler

Durch eine schaltungstechnische Erweiterung kann der Zähler mit einem LOAD-Eingang versehen werden. Dadurch ist es möglich, eine bestimmte Startzahl vorzugeben. Dies kann z.B. für eine Rückwärtszähler verwendet werden, der von einer gegebenen Zahl bis auf Null herunterzählt, ein sog. Countdown.

Weiterführende Frage:

Verdeutliche die Funktionsweise des ladbaren Zählers. Welche Aufgabe haben die Eingänge L und A?