CMOS-IC
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]

5. Flipflops

Flipflops RS-Flipflop JK-Flipflop T-Flipflop
D-Flipflop

Flipflops
Sehr wichtig sind in der Digitaltechnik Flipflops. Das sind Schaltungen aus Gattern, die als Speicher fungieren und so einen best. logischen Zustand festhalten können. Sie haben immer zwei stabile Zustände und können durch best. Eingangssignale vom einen in den anderen Zustand gekippt werden. Deswegen nennt man Flipflops auch bistabile Kippstufen (bi = zwei). In den nächsten Abschnitten werden die Wichtigsten vorgestellt.

RS-Flipflop
Ein sehr wichtiges und häufig verwendetes Flipflop ist das RS-Flipflop (reset-set). Es kann mit NANDs aufgebaut werden. Der Schaltplan sieht so aus:

Wenn man das Bild betrachtet fällt einem auf, dass die Eingänge mit R (Reset) und S (Set) bezeichnet werden und dass beide Ausgänge der Gatter je mit einem Eingang des anderen Gatters verbunden sind. Ferner sieht man über dem Q am unteren Gatter einen Strich. Der Strich bedeutet, dass dieser Ausgang immer den entgegengesetzten logischen Pegel des anderen Ausgangs hat (außer bei einem Spezialfall (s.u.)). Liegt also Q ohne Strich auf ’1’, dann liegt Q mit Strich auf ’0’ und umgekehrt.
Was passiert wenn man R und S gleichzeitig auf ’1’ legt? Nach der Wahrheitstabelle des NANDs könnte dann jeder Ausgang auf ’1’ oder ’0’ liegen, je nachdem welchen Pegel der andere Eingang des jeweiligen Gatters führt. Welcher Ausgang auf ’1’ bzw. ’0’ geht ist also Zufall und darf in der Technik daher nicht vorkommen. Wenn R und S auf ’0’ gelegt werden, dann gehen beide Ausgänge auf ’1’, da es nach der Wahrheitstabelle egal ist ob der andere Eingang auf ’1’ oder ’0’ liegt (Spezialfall).
Angenommen S wird auf ’1’ und R auf ’0’ gelegt. Dann wird der Ausgang des unteren Gatters (Q mit Strich) auf ’1’ gehen, da der Wert an seinem anderen Eingang egal ist. Der untere Eingang des oberen Gatters wird dann folglich auch auf ’1’ liegen. Was passiert dann am oberen Gatter? S und der andere Eingang liegen auf ’1’, dann wird Q folglich auf ’0’ gehen. Diese ’0’ kommt aber zum oberen Eingang des unteren Gatters und bewirkt, dass der Ausgang Q mit Strich auf ’1’ liegen bleibt, selbst wenn man R jetzt auf ’1’ legen würde. Fazit: Die Pegel an den Ausgängen bleiben erhalten (’1’ bei Q mit Strich und ’0’ bei Q). Es wird also ein Zustand gespeichert.
Dieser Zustand kann jetzt aber umgedreht werden. S lag bis jetzt auf ’1’ und R auf ’0’. Wichtig für die Funktion des RS-Flipflops ist, das R nun auch auf ’1’ gelegt wird (In der Technik macht man dies mit Pullupwiderständen, die einen Eingang sofort nach einem ’0"-Impuls wieder auf ’1’ legen). Jetzt wird S auf ’0’ gelegt. Da der andere Eingang des oberen Gatters immer noch auf ’1’ liegt, muss der Pegel an Q nach der Wahrheitstabelle des NANDs von ’0’ auf ’1’ wechseln. Diese ’1’ gelangt an den oberen Eingang des unteren Gatters. Da R auf ’1’ liegt muss Q mit Strich auf ’0’ gehen. Dieser Zustand bleibt wieder erhalten bleiben. Zusammenfassend kann man also sagen, dass die Ausgangspegel durch abwechselndes Legen des R- und S-Eingangs auf ’0’ gewechselt werden können (S = ’0’ führt zu Q = ’1’ und R = ’0’ führt zu Q mit Strich = ’1’). Da ein Pegelwechsel immer beim Legen eines Eingangs auf ’0’ erfolgt, sagt man das RS-Flipflop mit NAND-Gattern ist ein 0-aktives Flipflop.
Ein RS-Flipflop kann aber auch mit NOR-Gattern aufgebaut werden. Der Aufbau ist genau der gleiche wie im oberen Bild, nur werden statt NAND-Gattern NOR-Gatter verwendet. Der Unterschied ist, dass ein Pegelwechsel an den Ausgängen hier durch einen ’1’-Impuls an S- bzw. R-Eingang hervorgerufen wird (Wahrheitstabelle NOR-Gatter). Daher spricht man hier von einem 1-aktiven Flipflop.
Das folgende Bild zeigt die Schaltzeichen von NOR- und NAND-RS-Flipflop.

JK-Flipflop
Ein weiteres Flipflop ist das JK-Flipflop (jump-kill). Es besteht aus einem RS-Flipflop, bei dem vor die Eingänge AND-Gatter geschaltet sind. Zusätzlich besitzt es einen Takteingang, der mit C oder CLK (clock) bezeichnet wird. Das Schaltzeichen sieht so aus:

Das JK-Flipflop arbeitet ähnlich wie das RS-Flipflop, nur ist die Funktion zusätzlich vom Takteingang abhängig. J entspricht dem S-Eingang und K dem R-Eingang beim RS-Flipflop. Angenommen J, K und CLK werden auf ’0’ gelegt. Zufallsbedingt wird dann einer der Ausgänge auf ’1’ liegen, da diese Eingangsbeschaltung zum Speichern dient und daher beim Einschalten nicht klar ist, welchen Pegel welcher Ausgang hat. Angenommen Q liegt auf ’0’ und Q mit Strich auf ’1’; das Flipflop ist also rückgesetzt. Es kann nun gesetzt werden, indem J und danach CLK auf ’1’ gelegt wird (Würde man nur J auf ’1’ legen, würde sich der Zustand nicht verändern). Q liegt nun auf ’1’, Q mit Strich auf ’0’. Egal ob CLK oder J wieder auf ’0’ gelegt werden, dieser Zustand bleibt gespeichert. Wenn das Flipflop wieder zurückgesetzt werden soll, ist es aber nötig J und CLK wieder auf ’0’ zu legen. K und anschließend CLK werden dann auf ’1’ gelegt. Q liegt dann wieder auf ’0’, Q mit Strich auf ’1’. Zum Setzen legt man K und CLK wieder auf ’0’ und danach J und anschließend CLK wieder auf ’1’, usw. Das JK-Flipflop besitzt noch eine Sonderfunktion, den Toggle-Modus (toggle = umschalten). Dabei werden J und K auf ’1’ gelegt. Jedesmal wenn der Pegel an CLK von ’0’ auf ’1’ wechselt, dreht sich der Ausgangszustand um: Q (bzw. Q mit Strich) schalten also zwischen ’0’ und ’1’ (bzw. ’1’ und ’0’) hin und her.
Man sieht also, dass die Funktion des JK-Flipflops immer von einem Taktimpuls abhängig ist. Im gerade besprochenen Fall war das Flipflop positiv flankengetriggert (s. Kap. 4), d.h. es ändert sich immer etwas, wenn der Pegel am Takteingang von ’0’ auf ’1’ wechselt. Natürlich gibt es auch Flipflops, die negativ flankengetriggert sind, d.h. eine Änderung erfolgt wenn der Pegel an CLK von ’1’ auf ’0’ wechselt. Das ein Flipflop flankengesteuert ist, wird durch das Dreieck am Takteingang verdeutlicht (s. Schaltzeichen). Wenn es negativ flankengetriggert ist, befindet sich vor dem Eingang noch ein Kreis. Neben dieser Einflankensteuerung gibt es auch noch Flipflops, die zweiflankengesteuert sind. Bei ihnen werden die Eingangssignale während der positiven Flanke des Taktsignals eingelesen und erst bei der negativen Flanke nehmen die Ausgänge dann den entsprechenden Pegel an. Die Ausgänge solcher Flipflops bezeichnet man als retardiert. Im Schaltzeichen von zweiflankengesteuerten Flipflops befindet sich zusätzlich zum Dreieck am Takteingang vor den Ausgängen ein "Ecksymbol" (s. Schaltzeichen T-Flipflop). Das folgende Bild zeigt die Funktionsweise eines positiv flankengetriggerten JK-Flipflops.

T-Flipflop
Ein T-Flipflop ist nichts anderes als ein JK-Flipflop, bei dem J- und K-Eingang miteinander fest verbunden sind. Das "T" bedeutet, dass sich dieses Flipflop im Toggle-Modus befindet. Das Schaltzeichen sieht so aus:

J und K werden für diese Funktion, wie schon erwähnt, auf ’1’ gelegt. An CLK wird eine Rechteckspannung gelegt. Wenn CLK auf ’1’ gelegt wird, wird die ’1’ an J und K eingelesen und wenn CLK wieder auf ’0’ geht, kippt das Flipflop in den anderen stabilen Zustand. Das T-Flipflop eignet sich als Frequenzteiler. Das folgende Bild zeigt die Funktionsweise.

D-Flipflop
Ein D-Flipflop (data) besitzt einen Takt- und einen Dateneingang. Das Speichern ist vom Takteingang CLK abhängig: Nur wenn an ihm eine positive Flanke auftritt, übernimmt der Ausgang Q den Pegel an D. In allen anderen Fällen bleibt der Wert am Ausgang gespeichert, d.h. eine Änderung von D ist dann wirkungslos.
Schaltzeichen des D-Flipflops:

Neben flankengesteuerten Speicherelementen (Flipflops) gibt es auch welche, die auf den Zustand reagieren (Einzustand- bzw. Zweizustandgesteuerte (verzögert)). Diese besitzen statt einem CLK-Eingang einen Steuereingang. Typisches Beispiel ist das D-Latch, dargestellt im folgenden Bild. Solange Steuereingang E (Enable) auf ’1’ liegt, nimmt Ausgang Q den Wert von D an. Bei E=’0’ bleibt der Wert an Q gespeichert.