Wikipedia · einfach zusammengefasst · Stand
Flipflop
Ein Flipflop (auch Flip-Flop), oft auch bistabile Kippstufe oder bistabiles Kippglied genannt, ist eine elektronische Schaltung, die zwei stabile Zustände …
Inhalt6 Abschnitte
Grundprinzip und Bedeutung
Ein Flipflop, auch bistabile Kippstufe oder bistabiles Kippglied genannt, ist eine elektronische Schaltung mit zwei stabilen Ausgangszuständen. Der aktuelle Zustand hängt nicht nur von den momentanen Eingangssignalen, sondern auch vom vorherigen Zustand ab. Es reagiert daher auf Ereignisse und nicht unmittelbar auf den zeitlichen Verlauf.
Durch diese Bistabilität kann ein Flipflop ein Bit unbegrenzt speichern, solange die Spannungsversorgung aufrechterhalten wird. Es ist ein Grundbaustein sequentieller Schaltungen und der Digitaltechnik, unter anderem für Register, synchrone und asynchrone Zähler, Halbleiterspeicher, Frequenzteiler, Schieberegister und Mikroprozessoren.
Die beiden Zustände heißen „gesetzt“ (set) und „zurückgesetzt“ (reset). Üblicherweise gibt es den Ausgang Q und einen komplementären Ausgang Q̅. Bei positiver Logik bedeutet beim Standard-TTL mit 5 V Betriebsspannung ein H-Pegel von 2,5 bis 5 V an Q den gesetzten Zustand Q = 1; am negierten Ausgang liegen dann 0 bis 0,4 V (L-Pegel) und Q̅ = 0. Im zurückgesetzten Zustand sind die Werte vertauscht. Welche Pegellage als „gesetzt“ gilt, ist eine Festlegung; eine Zuordnung mit L-Pegel wird negative Logik genannt.
Flipflops unterscheiden sich nach der Anzahl und Funktion ihrer Eingänge, ihrem Timing, ihrer Transparenz und ihrem inneren Aufbau. Man unterscheidet unter anderem einfache rückgekoppelte Einspeicher-Flipflops sowie Master-Slave-Flipflops mit zwei Speichern.
Takt- und Speicherverhalten
Asynchrone pegelgesteuerte Flipflops reagieren direkt auf die Pegel ihrer Eingänge. Asynchrone flankengesteuerte Flipflops ändern ihren Zustand dagegen nur bei einem Pegelwechsel. Früher wurden dafür Differenzierglieder verwendet; heute werden Signalflanken meist intern in kurze Impulse umgewandelt oder durch flüchtige interne Zustände ausgewertet.
Taktgesteuerte Flipflops reagieren nur zu festgelegten Zeiten auf Daten- und Steuersignale. Dadurch können Schaltungsteile mit einem gemeinsamen Taktsignal synchron arbeiten.
- Taktzustandsgesteuerte Flipflops reagieren während eines ganzen aktiven Taktpegels. Eingangsänderungen werden in dieser Zeit bis zum Ausgang weitergegeben; sie sind transparent. Am Ende des Taktimpulses wird der Zustand gespeichert. Solche Bausteine heißen Latches.
- Beim Master-Slave-Prinzip übernimmt ein transparentes Master-Flipflop den Eingangszustand. Mit der Endflanke wird dieser in das Slave-Flipflop übertragen. Nur der Slave ist mit dem Ausgang verbunden, sodass der Ausgang nichttransparent ist. Dieses klassische Master-Slave-Flipflop kann als Zähl-Flipflop dienen.
- Taktflankengesteuerte Flipflops ändern ihren Zustand nur während einer kurzen Zeit an einer festgelegten steigenden oder fallenden Taktflanke. In der übrigen Zeit bleibt der Zustand unabhängig von Eingangänderungen gespeichert. Zweiflankengesteuerte Flipflops übernehmen Daten an einer Flanke und geben sie an der anderen aus.
RS-Flipflop als Grundelement
Das RS-Flipflop (Rücksetz-Setz-Flipflop, auch SR-Flipflop) ist die einfachste Flipflop-Art. Es besitzt die Eingänge S (Setzen) und R (Rücksetzen) und wird meist aus zwei rückgekoppelten NAND- oder NOR-Gattern aufgebaut.
Beim beschriebenen NOR-Grundelement gilt: S = 1 und R = 0 setzen Q auf 1. Werden anschließend S und R auf 0 gesetzt, bleibt der bisherige Zustand durch die Rückkopplung gespeichert. R = 1 und S = 0 setzen Q auf 0. Bei R = S = 0 ist der Ausgang nur aus der Vorgeschichte bestimmbar.
Die charakteristische Gleichung lautet:
Q = ¬(R ∨ Q*) = ¬R ∧ ¬Q* = ¬R ∧ (S ∨ Q).
Dass sich diese Gleichung formal nicht nach Q auflösen lässt, beschreibt das Speicherverhalten: Der Ausgang hängt von seiner Vorgeschichte ab. Anschaulich entspricht die Schaltung einer Wippe mit zwei stabilen Endlagen. Eine Mittellage ist im binären System nicht vorgesehen.
Problematisch ist die widersprüchliche Eingangskombination. Bei einem NOR-RS-Flipflop erzeugen R = S = 1 an beiden Ausgängen 0, bei einem NAND-RS-Flipflop erzeugen R = S = 0 an beiden Ausgängen 1. Der Zustand selbst ist stabil; unbestimmt kann aber der Folgezustand werden, wenn fast gleichzeitig in den Speicherzustand gewechselt wird. Dabei kann für einige Piko- bis Nanosekunden ein metastabiler Zustand auftreten.
Schaltungen können für den Fehlerfall einen Vorrang festlegen. Das NAND-Flipflop hat mit Q = 1 Setzvorrang, das NOR-Flipflop mit Q = 0 Rücksetzvorrang. In speicherprogrammierbaren Steuerungen dominiert bei der Software-Realisierung der zuletzt ausgeführte Befehl; Setzen und Rücksetzen müssen dort gegebenenfalls gekapselt und vor Unterbrechungen geschützt werden.
D-, JK- und T-Flipflops
Das D-Flipflop vermeidet beim RS-Grundelement den widersprüchlichen Zustand durch eine Eingangsbeschaltung. Beim taktpegelgesteuerten D-Latch gibt es den Dateneingang D und den Freigabeeingang E. Bei E = 1 ist es transparent: D erscheint unmittelbar an Q. Bei E = 0 bleibt der bisherige Zustand erhalten.
Beim taktflankengesteuerten D-Flipflop wird D erst an der aktiven Taktflanke übernommen. Die charakteristische Funktion lautet Q′ = D. Danach bleibt der Zustand bis zur nächsten aktiven Flanke gespeichert; die gegenläufige Flanke hat keinen Einfluss. Das Flipflop ist dadurch nichttransparent und direkt rückkopplungsfähig. Ein Clock-Enable-Eingang CE, im Deutschen Vorbereitungseingang V, kann die Übernahme zusätzlich freigeben; ein solches Bauteil wird DV-Flipflop genannt. Anwendungen sind die Speicherung eines Bits, die Synchronisierung paralleler Vorgänge und die Unterdrückung kurzzeitiger Glitches oder Spikes. Mehrere D-Flipflops bilden unter anderem Synchronzähler, Frequenzteiler und Schieberegister.
Das JK-Flipflop besitzt die Eingänge J und K. J = 1, K = 0 setzt den Ausgang; J = 0, K = 1 setzt ihn zurück; J = K = 0 hält den bisherigen Zustand. Bei J = K = 1 wechselt der Ausgang bei jeder wirksamen Taktflanke. Die charakteristische Gleichung lautet Q′ = (J ∧ ¬Q) ∨ (¬K ∧ Q). Master-Slave-JK-Flipflops haben den Nachteil, dass sich J und K während der Transparenzphase des Masters nicht ändern dürfen; deshalb werden in komplizierten Digitalschaltungen häufig flankengesteuerte Varianten verwendet.
Das synchrone T-Flipflop besitzt neben dem Takteingang C den Eingang T (toggle). Bei T = 0 bleibt Q unverändert, bei T = 1 wechselt Q an der aktiven Flanke. Es kann aus einem JK-Flipflop mit J = K = T gebildet werden und wird beispielsweise in Synchronzählern eingesetzt. Seine Gleichung lautet Q′ = (T ∧ ¬Q) ∨ (¬T ∧ Q).
Beim asynchronen T-Flipflop ist T fest auf 1 gelegt; der bisherige Takteingang C wird zum Signaleingang. Es gilt Q′ = ¬Q. Ein solches Flipflop kann aus einem flankengesteuerten D-Flipflop mit Rückführung von Q nach D entstehen. Bei einem periodischen Eingangssignal halbiert es die Frequenz und wird deshalb in asynchronen Binärzählern, dezimalen Frequenzteilern und Frequenzzählern verwendet. Eine elektromechanische Entsprechung ist der Stromstoßschalter.
Asynchrone Steuereingänge und Timing
Viele getaktete Flipflops besitzen zusätzliche asynchrone Setz- und Rücksetzeingänge. Reset beziehungsweise Clear bringt den Ausgang unabhängig vom Taktsignal in den Zustand Q = 0; Set beziehungsweise Preset bringt ihn in den Zustand Q = 1. Diese Funktionen werden beispielsweise beim Einschalten oder beim erneuten Initialisieren einer Schaltung verwendet. Häufig sind die Eingänge LOW-aktiv. Eine gleichzeitige Betätigung von Set und Reset gilt als verboten.
Für zeitkritische Schaltungen müssen beim D-Flipflop mehrere Zeitbedingungen eingehalten werden. Die Setzzeit t_su (setup-time) ist die Mindestzeit, während der sich das Eingangssignal vor der aktiven Taktflanke nicht ändern darf. Die Haltezeit t_h (hold-time) ist die Mindestzeit nach der Flanke, in der D stabil bleiben muss. Die Signallaufzeit durch das Bauteil wird als t_pd (propagation delay time) bezeichnet.
Zusätzlich darf die garantierte maximale Taktfrequenz f_clk,max nicht überschritten werden. Die Mindestpulsbreite t_pw,clk darf nicht unterschritten werden; sie wird von der aktiven bis zur umgekehrten Taktflanke gemessen. Auch asynchrone Steuersignale müssen vor und nach der aktiven Flanke für festgelegte Mindestzeiten stabil bleiben. Werden die Timing-Vorgaben verletzt, können Verarbeitungsfehler, Metastabilität oder fehlende Synchronität mehrerer Flipflops auftreten. Für JK-Flipflops gelten entsprechende Setz- und Haltezeiten für J und K, für RS-Flipflops ebenfalls Zeitvorgaben.
Verwendung und diskrete Bausteine
Flipflops werden heute in der professionellen Schaltungsentwicklung meist nicht als einzelne Bauelemente eingesetzt, sondern als Bestandteile komplexerer integrierter Schaltungen. Dazu gehören FPGA-, PLD- und ASIC-Bausteine, die typischerweise D-Flipflops enthalten.
Als diskrete Schaltkreise existieren Flipflops unter anderem in den Logikfamilien 74xx, TTL, LS-TTL und CMOS 4000. Beispiele sind der 74ACT74 mit zwei D-Flipflops, der 74HC374 und 74HC377 mit jeweils 8 D-Flipflops, der 4027 mit zwei JK-Flipflops sowie der 4013 mit zwei D-Flipflops. Der 4027 arbeitet im Bereich 3–18 V, der 4013 ebenfalls im Bereich 3–18 V; 74HC374 und 74HC377 sind für 2–6 V angegeben. Daneben gibt es Latches, Businterfaces und Kombinationen mit asynchronem Clear oder Preset.