Flipflop
aus Wikipedia, der freien Enzyklopädie
Ein Flipflop (engl. flip-flop), auch bistabile Kippstufe, bistabiles Kippglied oder bistabiler Multivibrator genannt, ist eine elektronische Schaltung, die zwei stabile Zustände einnehmen und diese speichern kann.
Das Flipflop ist eine einfache elektronische Schaltung, welche eine Datenmenge von einem Bit über eine lange Zeit speichern kann. Es ist fundamentaler Bestandteil vieler elektronischer Schaltungen (sequentieller Schaltkreise) – von der Quarzuhr bis zum Mikroprozessor. Daneben ist es in vieltausend- bis milliardenfacher Ausführung in Computerspeicherchips (statischen Speicherbausteinen) enthalten.
Inhaltsverzeichnis |
[Bearbeiten] Entstehung
Entwickelt wurde die Flipflop-Schaltung auf der Suche nach Zählschaltungen von den Engländern William Henry Eccles und F. W. Jordan an rückgekoppelten Radioröhren-Verstärkern (Radio Review. Dez. 1919, S. 143 ff), und erhielt ursprünglich die Bezeichnung Eccles-Jordan-Schaltung.
[Bearbeiten] Charakteristik
Flipflops unterscheiden sich in der Art der Eingänge, der Reaktion auf Taktsignale, der verwendeten Schaltgatter und in anderen Eigenschaften. Gemeinsam ist jedoch allen, dass sie zwei stabile Zustände haben, welche an einem Ausgang gemessen werden können. Diese Zustände werden „gesetzt“ (set) und „zurückgesetzt“ (reset) genannt. Zwischen diesen Zuständen kann durch Signale an den Eingängen umgeschaltet werden. Üblicherweise ist neben dem Ausgang Q ein weiterer Ausgang Q vorhanden, an dem der negierte Wert von Q anliegt.
Wird ein Flipflop zum Beispiel in Transistor-Transistor-Logik (TTL) aufgebaut, dann entspricht der Zustand „gesetzt“ einer Spannung von 5 Volt am Ausgang Q. An dem negierten Ausgang Q liegen dann 0 Volt an. Bei der Verwendung von positiver Logik wird dieser Zustand als Q = 1 und Q = 0 interpretiert. In dem Zustand „zurückgesetzt“ liegen die Werte vertauscht an den Ausgängen an (Q = 0 und Q = 1).
Das einfachste Flipflop ist das ungetaktete RS-Flipflop, welches die zwei Eingänge S und R besitzt. Der Eingang S setzt den Ausgang des Flipflops, versetzt das Flipflop also in den Zustand „gesetzt“. Der Eingang R setzt den Ausgang zurück, versetzt das Flipflop also in den Zustand „zurückgesetzt“. Die Eigenschaften des RS-Flipflops und anderer Flipflop-Arten werden weiter unten detaillierter erläutert.
Durch das Zusammenschalten mehrerer Flipflops entstehen komplexe Systeme wie Zähler (asynchron oder synchron), Datenspeicher (Halbleiterspeicher) und Mikroprozessoren. Flipflops sind Grundbausteine für die gesamte Digitaltechnik und Mikroelektronik von heute, einschließlich des Computers.
[Bearbeiten] Klassifizierung anhand von Taktabhängigkeit
Das oben eingeführte ungetaktete SR-Flipflop ändert seinen Zustand direkt bei Änderung der Eingangssignale S oder R. Da diese nur in bestimmten Zeitabschnitten stabil anliegen, ist es oft gewünscht, dass ein Flipflop nur zu bestimmten Zeiten die Eingangssignale berücksichtigt. Dieses Verhalten kann durch Verwendung eines Taktsignals realisiert werden, welches die Steuereingänge des Flipflops zu bestimmten Zeiten freischaltet. Das Berücksichtigen eines Taktsignals ermöglicht auch Synchronität mit anderen Schaltungsteilen. Hier gilt es zu unterscheiden, auf welche Weise ein Flipflop Taktsignale berücksichtigt. Das folgende Bild zeigt diesbezüglich, wie verschiedene Flipflop-Typen voneinander abhängen.
[Bearbeiten] Taktzustands- und taktflankengesteuerte Flipflops
Flipflops lassen sich in zustandsgesteuerte (auch „pegelgesteuert“) und flankengesteuerte Flipflops einteilen. Zustandsgesteuerte Flipflops reagieren während der gesamten aktiven Taktphase auf die Spannungen, welche an den Eingängen angelegt werden. Sie arbeiten asynchron. Zustandsgesteuerte Flipflops werden auch (transparente) Latches genannt. Strenggenommen werden als „Flipflop“ nur flankengesteuerte Bausteine bezeichnet. Pegelgesteuerte Bausteine werden vor allem in der englischsprachigen Literatur als „Latch“ bezeichnet.
Taktflankengesteuerte Flipflops können den Zustand nur an einer Taktflanke ändern. Genauer gesagt, reagiert das Flipflop nur während einer sehr kurzen Zeit nach der Taktflanke auf die Spannungen, welche an den Eingängen anliegen. In der übrigen Zeit zwischen den Flanken bleibt der vorher eingestellte Zustand gespeichert und ändert sich, im Gegensatz zu taktzustandsgesteuerten Flipflops, auch dann nicht, wenn sich die Eingangsspannungen ändern. Man unterscheidet vorderflankengesteuerte (Wechsel bei steigender (positiver) Taktflanke) und rückflankengesteuerte (Wechsel bei fallender (negativer) Taktflanke) Flipflops. Zweiflankengesteuerte Flipflops werden auch „Master-Slave-Flipflops“ genannt. Sie bestehen aus zwei hintereinander geschalteten Flipflops. Die erste Flanke setzt nur den Master, die zweite den Slave. Dieser ist mit dem Ausgang verbunden, so dass der Ausgang erst bei der zweiten Flanke reagiert. Es gibt eine Vielzahl von verschiedenen Ausführungen.
[Bearbeiten] Flipflop-Typen
Im Folgenden sind einige typische Flipflops dargestellt, welche sich durch die vorhandenen Steuereingänge unterscheiden.
[Bearbeiten] RS-Flipflop
Ein RS-Flipflop ist die einfachste Art eines Flipflops. Mit einem Signal am „Setz“-Eingang (S) wird der Ausgang auf 1 gesetzt und mit dem „Rücksetz“-Eingang (R) zurückgesetzt. RS-Flipflops zählen zu der Gruppe der nicht taktgesteuerten Flipflops und stellen eine asynchrone Schaltung dar. Diese Flipflops gibt es ebenfalls flankengesteuert.
Besondere Aufmerksamkeit muss dem Eingangszustand gewidmet werden, bei dem sowohl R- als auch S-Eingang aktiv sind (R = S = 1 beim RS-Flipflop aus NOR-Gattern bzw. R = S = 0 beim RS-Flipflop aus NAND-Gattern). Dabei nimmt das zustandgesteuerte Flipflop einen dritten Zustand an, bei dem beide Ausgänge gleichen Pegel führen und der nicht gespeichert werden kann. Ein gleichzeitiger bzw. annähernd gleichzeitiger Wechsel beider Eingänge zum inaktiven Pegel führt zu einem undefinierten metastabilen Zustand (race condition), bei dem das Flipflop, salopp formuliert, nicht weiß, in welchen Zustand es wechseln soll. Er kann im Prinzip beliebig lange andauern, in der Praxis wird er meist in einen der beiden stabilen Zustände fallen, deshalb sollte ein solcher Wechsel vermieden werden. Ein flankengesteuertes RS-Flipflop kann durch (annähernd) gleichzeitiges Takten beider Eingänge ebenfalls in einen undefinierten Zustand gelangen. Man kann jedoch einen Eingang dominierend schalten und somit den dritten Zustand vermeiden. Solche Flipflops werden am dominierenden Eingang mit einer 1 nach dem Buchstaben gekennzeichnet.
In der folgenden Gegenüberstellung ist die erste Ausführung in negativer Logik ausgeführt. Das heißt, dass der Ruhezustand der Eingangssignale durch den 1-Pegel gebildet wird, und der aktive, schaltende Zustand durch 0-Pegel der Eingänge. Dies ist durch den Aufbau des Flipflops aus NAND-Gattern bedingt und durchaus auch in der Praxis üblich. Bei der zweiten Ausführung ist den Eingängen praktisch eine zusätzliche Inverterstufe vorgeschaltet, so dass hier wieder in positiver Logik gearbeitet wird.
Name | Schaltsymbol | Impulsdiagramm | Ersatzschaltbild | Wahrheitstabelle | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RS-Flipflop |
Die Eingänge R und S sind als negative Logik zu verstehen
|
|||||||||||||||||||||||||||||||||||||||
RS-Flipflop mit Taktpegelsteuerung |
|
Ein RS-Flipflop mit nur einem Eingang, der gleichzeitig Setz- und negierter Rücksetz-Eingang ist, wird D-Flipflop (D für Delay, nach anderer Definition auch für Daten) oder Latch genannt. Solange der Takteingang (C für Clock) aktiv ist, nimmt das Flipflop den Zustand an, der am Eingang anliegt. Der Vorteil des D-Flipflops ist, dass der illegale Zustand R = S = 1 vermieden wird. Sowohl RS- als auch D-Flipflop haben den (allerdings nur in bestimmten Schaltungen bedeutsamen) Nachteil, dass der Eingangswert sofort am Ausgang sichtbar wird, solange der Takt vorliegt (C = 1).
[Bearbeiten] JK-Flipflop
Eine weitere Klasse von Flipflops, die primär in diskreten digitalen Schaltungen Anwendung findet, sind die JK-Flipflops. Sie wurden wahrscheinlich nach Jack Kilby benannt, werden aber oft Jump-/Kill-Flipflops genannt, da bei der Eingangsbeschaltung J = 1 eine 1 und bei K = 1 eine 0 gespeichert wird. Sie sind fast immer als flankengesteuertes Bauelement ausgeführt. Der Eingang C kann für steigende Flanken (Wechsel von 0 auf 1) oder für fallende Flanken (Wechsel von 1 auf 0) ausgelegt werden. Der Zustand J = K = 1 ist erlaubt. In diesem Fall wechselt der Ausgangspegel mit jeder wirksamen Flanke des Taktsignals, was dem Verhalten eines Toggle-Flipflops entspricht. Für J = K = 0 bleibt der Zustand erhalten.
Bei JK-Flipflops muss als wesentliche Einschränkung beachtet werden, dass sich bei aktivem Taktzustand (C = 1) die Zustände der beiden Eingänge J und K nicht mehr ändern dürfen. Es liegt also kein rein taktflankengesteuertes Flipflop vor. Dieser Nachteil ist auch der primäre Grund, warum JK-Flipflops in komplexen Digitalschaltungen nur noch selten verwendet werden und primär durch einflankengetriggerte D-Flipflops ersetzt werden, die diesen Nachteil nicht aufweisen.
Name | Schaltsymbol | Impulsdiagramm | Wahrheitstabelle | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JK-Flipflop |
|
Viele der erhältlichen Flipflops vereinen verschiedene Bauformen in sich und sind so vielseitiger einsetzbar.
[Bearbeiten] D-Flipflop
Eine in komplexeren integrierten Schaltungen wie Field Programmable Gate Array (FPGAs) und ASICs anzutreffende taktflankengesteuerte Klasse von Flipflops sind die D-Flipflops. Diese besitzen einen Daten- (D) und einen Clock-Eingang (C, oft dargestellt als ">", siehe Grafik). Oft ist noch ein sogenannter Clock-Enable-Eingang (CE) vorhanden, mit dem der Takteingang in seiner Funktion freigeschaltet werden kann (engl. enable für Freigabe). Als Ausgang kommt Q und nur selten der dazu invertierte Ausgang vor.
Das D-Flipflop speichert bei freigeschaltetem Takteingang und aktiver Taktflanke den logischen Zustand des Eingangs und gibt seinen Wert in Folge auf Q aus. Liegt keine aktive Taktflanke an oder ist der Clock-Enable-Eingang deaktiviert, erfolgt keine Übernahme des Eingangswertes.
Aus diesem elementaren Flipflop lassen sich durch externe Beschaltung alle weiteren taktflankengesteuerten Typen von Flipflops und komplexere Schaltungen wie Synchronzähler, Taktteiler oder auch Schieberegister realisieren.
[Bearbeiten] T-Flipflop
Ein T-Flipflop kann durch ein D-Flipflop gebildet werden, wenn dessen Ausgang Q invertiert auf den Eingang D zurückgeführt wird. Damit entsteht ein T-Flipflop. T steht dabei für englisch toggle - Hin- und herschalten. Vor allem bei diskreten Digitalschaltungen wird zur Realisierung eines T-Flipflops manchmal auch das oben beschriebene JK-Flipflop verwendet. Dabei müssen beide Eingänge des JK-FF auf logisch "1" gelegt werden.
Ein T-Flipflop funktioniert ähnlich wie ein Druckkugelschreiber oder ein Stromstoßrelais (Stromstoßschalter). Wegen der oben schon erwähnten Eigenschaft des mit halber Frequenz des Taktsignals wechselnden Ausgangspegels dienen diese Flipflops vor allem als Frequenzteiler und als Grundelement in digitalen Zählern. Man verwendet sie auch, um ein Rechtecksignal mit einem Tastverhältnis von exakt 1:1 zu gewinnen.
bgc | Q |
---|---|
0 | 0 |
1 | 1 |
0 | 1 |
1 | 0 |
[Bearbeiten] Schaltzeichen verschiedener Flipflop-Typen
[Bearbeiten] Verwendung von Flipflops
Flipflops können als 1-Bit-Speicher betrachtet werden. Aus ihnen können Register verschiedener Wortbreiten zusammengesetzt werden, wie sie beispielsweise in Mikroprozessoren Verwendung finden.
Auch die einzelnen Speicherzellen von statischen RAMs bestehen aus Flipflop-Schaltungen. Beim Dynamischen RAM hingegen besteht eine Speicherzelle nur aus einem Kondensator und einem Transistor.
[Bearbeiten] Weblinks
- Flipflops interaktiv
- Interaktive Simulation von verschiedenen Flipflop-Typen mit dem Hades simulation framework
- Interaktive LogiFlash-Animationen (Rubrik "2 Speicherglieder")
- Ideale Impulsglieder ohne Einsatz von RC-Gliedern und nicht getaktete JK-Flipflops
- Weitere Informationen über Kippglieder und Zählwerke