„Flipflop" – Versionsunterschied
Version vom 12. März 2014, 12:02 Uhr
Ein Flipflop (engl. flip-flop), oft auch bistabile Kippstufe oder bistabiles Kippglied genannt, ist eine elektronische Schaltung, die zwei stabile Zustände einnehmen und damit eine Datenmenge von einem Bit über eine lange Zeit speichern kann. Es ist als Grundbaustein der sequentiellen Schaltungen ein unverzichtbares Bauelement der Digitaltechnik und damit fundamentaler Bestandteil vieler elektronischer Schaltungen von der Quarzuhr bis zum Mikroprozessor. Insbesondere ist es sehr häufig in bestimmten Ausführungen von Computerspeicher-Chips (statischen Speicherbausteinen) als elementarer 1-Bit-Speicher enthalten.
Geschichte
Erfunden wurde die Flipflopschaltung 1918 von den Engländern William Henry Eccles und Frank W. Jordan an rückgekoppelten Radioröhrenverstärkern auf der Suche nach Zählschaltungen[1] und erhielt ursprünglich die Bezeichnung Eccles-Jordan-Schaltung.[2]
Charakteristik
Flipflops unterscheiden sich in der Anzahl und der logischen Funktion ihrer Eingänge (beschrieben durch ihre charakteristische Gleichung), der zeitlichen Reaktion auf diese Eingangssignale, insbesondere auf die Taktsignale (Timing), der Möglichkeit der direkten Rückführung von Ausgangssignalen auf die Eingänge (Transparenz oder Zähl-Flipflop) und dem strukturellen Aufbau (Master-Slave-Prinzip oder nicht). 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. Der Initialzustand (Einschaltzustand) ist bei einem einfachen Flipflop aus zwei bipolaren Transistoren (wie in der Abbildung rechts) nicht definiert. Dies kann nachträglich mittels eines RC-Gliedes an einem der beiden Eingänge geschehen.
Wird ein Flipflop zum Beispiel in Transistor-Transistor-Logik (TTL) aufgebaut, dann entspricht der Zustand „gesetzt" einer Spannung von 2,4 bis 5 Volt am Ausgang Q. An dem negierten Ausgang Q liegen dann 0 bis 0,4 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 also in den Zustand „gesetzt" (S = set). Der Eingang R setzt den Ausgang zurück, versetzt das Flipflop also in den Zustand „zurückgesetzt" (R = reset). 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.
Klassifizierung anhand von Taktabhängigkeit
Nicht taktgesteuerte Flipflops
Der Zustand des oben eingeführten ungetakteten RS-Flipflop wird direkt durch die Pegel der Eingangssignale S oder R bestimmt. Solche Flipflops nennt man asynchrone pegelgesteuerte (level triggered) Flipflops. Es gibt aber auch die Möglichkeit, dass ein Flipflop seinen Zustand nur während eines Pegelwechsels der Eingangssignale ändert und der Pegel des Eingangssignals selbst keinen weiteren Einfluss hat. Solche Flipflops nennt man asynchrone flankengesteuerte (edge triggered) Flipflops. Zur praktischen Realisierung wurden früher Differenzierglieder verwendet. Heute werden die Flanken meist mit Hilfe von Laufzeitunterschieden in kurze Nadelimpulse verwandelt oder sie werden direkt durch flüchtige interne Zustände ausgewertet.
Taktgesteuerte Flipflops
Da die Eingangssignale nur in bestimmten Zeitabschnitten stabil anliegen, ist es oft gewünscht, dass ein Flipflop nur zu bestimmten Zeiten auf die Eingangssignale reagiert. Dieses Verhalten kann durch Verwendung eines Taktsignals realisiert werden, das die Steuereingänge des Flipflops zu bestimmten Zeiten freischaltet. Das Berücksichtigen eines Taktsignals ermöglicht auch Synchronität mit anderen Schaltungsteilen und die Bildung von Synchronen Schaltkreisen. 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.
Taktzustands- und taktflankengesteuerte Flipflops
Taktgesteuerte Flipflops werden in synchronen Schaltwerken als Speicherelemente verwendet. Sie übernehmen ihre Daten- und Steuersignale durch ein (innerhalb des jeweiligen Schaltwerkes) einheitliches Taktsignal synchron und lassen sich in taktzustandsgesteuerte und taktflankengesteuerte Flipflops einteilen.
- Einfache taktzustandsgesteuerte Flipflops reagieren während der gesamten aktiven Taktphase auf die Eingangssignale und reichen deren Änderungen zum Ausgang durch. Solche transparenten taktpegelgesteuerten Bausteine sind nicht direkt rückkopplungsfähig und werden vor allem in der englischsprachigen Literatur als Latch, d. h. Klinkenschalter, bezeichnet (strenggenommen werden nur flankengesteuerte Bausteine als Flipflop bezeichnet).
- Übernimmt man den Zustand eines transparenten „Master-Flipflops" mit der fallenden Taktflanke in ein „Slave-Flipflop", dann entsteht ein rückkopplungsfähiges taktpegelgesteuertes „klassisches" Master-Slave-Flipflop (z. B. Typ 7472), das als Zähl-Flipflop verwendet werden kann.
- Taktflankengesteuerte Flipflops können ihren Zustand nur während der Taktflanken ändern. Das Flipflop reagiert also nur während einer sehr kurzen Zeit nach der Taktflanke auf die Signale, die 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 Eingangssignale ändern. Damit sind taktflankengesteuerte Flipflops prinzipiell rückkopplungsfähig und können als Zähl-Flipflop verwendet werden. Man unterscheidet vorderflankengesteuerte (Wechsel bei steigender (positiver) Taktflanke), rückflankengesteuerte (Wechsel bei fallender (negativer) Taktflanke) und zweiflankengesteuerte (Übernahme mit steigender, Ausgabe mit fallender Taktflanke) Flipflops.
- Zweiflankengesteuerte Flipflops werden oft als „Master-Slave-Flipflop" realisiert. Sie bestehen aus zwei hintereinandergeschalteten Flipflops. Die steigende Flanke setzt nur den vorderflankengesteuerten Master, die fallende übernimmt dessen Zustand in den Slave. Nur dieser ist nach außen geführt, so dass der Ausgang erst mit der fallenden Flanke reagiert. Da (echte) zweiflankengesteuerte Flipflops aber sehr aufwändig zu realisieren sind, werden sie praktisch selten eingesetzt.
Flipflop-Typen
Im Folgenden sind einige typische Flipflops dargestellt. Sie unterscheiden sich im Wesentlichen durch ihr logisches Verhalten, d.h. den Einfluss des aktuellen Zustandes und der Werte der aktuell anliegenden Eingangssignale (Daten- und Steuersignale) auf den Folgezustand. Dieser Einfluss wird durch die charakteristische Gleichung des Flipflops beschrieben. Diese beschreibt das äußere Verhalten des Flipflops und abstrahiert deshalb von der Art der Taktsteuerung. Sie wird meist in Form einer Wahrheitstabelle (auch Schaltfolge- oder Automatentabelle genannt) zur Spezifikation des Flipflops angeführt.
RS-Flipflop
Ein RS-Flipflop (Reset-Set-Flipflop) ist die einfachste Art eines Flipflops. Grundelement dieser Schaltungen ist ein Flipflop ohne Taktsteuerung, wie es in der nachfolgenden Tabelle in der ersten Zeile gezeigt ist. Mit geeigneter Zusatzbeschaltung können daraus sowohl taktpegelgesteuerte RS-Flipflops (asynchrone Schaltungen) als auch taktflankengesteuerte RS-Flipflops generiert werden. Diese RS-Flipflops dienen als Grundschaltungen zum Aufbau komplexerer Flipflops.
Ein RS-Flipflop verfügt über zwei Eingänge, die üblicherweise mit R (reset) und S (set) bezeichnet werden, ggf. ist ein dritter, typischerweise mit C (Clock) bezeichneter Eingang vorhanden, an den ein Taktsignal angelegt werden kann. Mit einem Signal am „Setz"-Eingang, das heißt {\displaystyle S=1} und gleichzeitig {\displaystyle R=0}, wird der Ausgang {\displaystyle Q} des Flipflops auf 1 gesetzt. Aktiviert man hingegen den „Rücksetz"-Eingang (also {\displaystyle R=1} und gleichzeitig {\displaystyle S=0}), so wird das Flipflop zurückgesetzt: Am Ausgang {\displaystyle Q} liegt dann eine logische 0 an. Liegt anschließend an beiden Eingängen eine 0 an, so verharrt das Flipflop in dem zuvor eingestellten Zustand. 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. {\displaystyle {\bar {R}}={\bar {S}}=0} beim RS-Flipflop aus NAND-Gattern). Dabei nimmt das zustandgesteuerte Flipflop einen dritten Zustand an, bei dem beide Ausgänge den gleichen Pegel (beim Aufbau aus NOR-Gattern 0, beim Aufbau aus NAND-Gattern 1) annehmen. Oft wird behauptet, dieser Zustand sei instabil, was allerdings nicht stimmt. Er ergibt nur einen logischen Widerspruch und wird deswegen auch „verbotener Zustand" genannt. Ist das Flipflop taktgesteuert, können Änderungen der Ausgangszustände natürlich nur dann vorgenommen werden, wenn der steuernde Eingang aktiviert ist. Bei taktzustandsgesteuerten Flipflops muss dementsprechend eine 1 am Eingang C anliegen, bei Takt-Flankengesteuerten Flipflop eine geeignete Flanke (steigend oder fallend, je nach Konstruktion). Ein flankengesteuertes RS-Flipflop kann durch (annähernd) gleichzeitiges Takten beider Eingänge ebenfalls in einen undefinierten Zustand gelangen.
Ein Eingang kann jedoch dominierend geschaltet und somit der dritte Zustand vermieden werden. Solche Flipflops werden am dominierenden Eingang mit einer 1 nach dem Buchstaben gekennzeichnet. In der Automatisierungstechnik, beispielsweise bei speicherprogrammierbaren Steuerungen ist die Nutzung der Dominanz verpflichtend, da instabile oder nicht vorhersagbare Zustände hier nicht tolerierbar sind. Die Dominanz wird dabei dadurch sichergestellt, dass der dominante Zustand zeitlich nach dem dominierten programmiert wird und diesen somit überschreibt, so dass zum Synchronisationszeitpunkt das gewünschte dominierende Verhalten gewährleistet ist. Innerhalb von Multitaskingsystemen muss daher die Abarbeitung des Setzens und Rücksetzens gekapselt sein und darf nicht unterbrochen werden. Dominierende RS-Flipflops waren nicht als einzelne Hardwarebausteine erhältlich. Die Dominanz kam nur indirekt dann zum Einsatz, wenn ein komplexer Baustein mit Reset- und Set-Eingängen ausgestattet war. Als symbolisches Einzelelement traten sie erst in Erscheinung, als ihre Funktion durch Programmierung implementiert wurde.
Die Arbeitsweise eines RS-Flipflops lässt sich grob mit der einer mechanischen Wippe vergleichen (dieser Vergleich motiviert auch die Bezeichnung Kippstufe). Eine Wippe besitzt zwei stabile Zustände: Einerseits, wenn ihr linkes Ende den Boden berührt, andererseits, wenn ihr rechtes Ende auf dem Boden aufliegt. Durch geeigneten Kraftaufwand kann man die Wippe von einem stabilen Zustand in den anderen stabilen Zustand überführen (bei einem Flipflop entspricht dies der Aktivierung der Eingänge, d. h. {\displaystyle R=0,S=1} bzw. {\displaystyle R=1,S=0}). Lässt die steuernde Kraft nach (entspricht {\displaystyle R=0} und {\displaystyle S=0}), so verharrt die Wippe in dem zuvor eingestellten Zustand: Dieser ist damit gleichsam gespeichert. Eine horizontale Ausrichtung der Wippe führt jedoch zu einem metastabilen Zustand (entspricht dem Fall {\displaystyle R=1} und {\displaystyle S=1}): Da die Wippe nicht exakt symmetrisch gebaut ist und nicht alle äußeren Störeinflüsse ausgeschaltet werden können, kippt die Wippe nach einer bestimmten Zeit und nimmt einen der beiden stabilen Zustände ein, sobald die steuernde Kraft nachlässt. In der Regel kann nicht vorhergesagt werden, ob ihr linkes Ende oder ihr rechtes Ende in Richtung des Erdbodens kippen wird, da nicht alle Störungen exakt genug bekannt sind. Ein getaktetes Flipflop entspricht dabei einer Wippe, bei der die steuernde Kraft nur während einer durch ein äußeres Taktsignal bestimmten Zeit wirken kann.
In der folgenden Gegenüberstellung ist die erste Ausführung mit negierten Signalnamen am Eingang 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. Das 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 mit „echten" Signalnamen gearbeitet wird.
Name | Schaltsymbol | Impulsdiagramm | Ersatzschaltbild | Wahrheitstabelle | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Asynchrones RS-Flipflop |
Die Eingänge des Flipflops besitzen die negierten Signalnamen R und S, da diese ihre (aktive) Rücksetz- bzw. Setz-Funktion mit 0 ausführen.
| |||||||||||||||||||||||||||||||||||||||
RS-Flipflop mit Taktpegelsteuerung |
|
nigger sind schwarz=== D-Flipflop ===
Das D-Flipflop (abgekürzt für Delay-Flipflop zum „Verzögern" des Signals am Dateneingang um einen Takt) erschien als Einzelbaustein erstmals in den 1960er Jahren. Es besitzt einen Daten- (D) und einen Takt-Eingang (C von Clock, oft dargestellt als „>"). Neben dem Ausgang Q existiert meist auch der dazu invertierte Ausgang. Ein D-Flipflop realisiert die elementare charakteristische Funktion Q' = D der taktgesteuerten direkten Übernahme des Dateneingangs zum Ausgang. Solange der Takt nicht aktiv ist, wird also der aktuelle Zustand gehalten („verzögert").
Diese Verzögerung ist aber aus anderer Sicht auch eine Speicherung des Datenbits, solange der Takteingang nicht eine neue Speicherung auslöst. Damit ist dieser Flipflop-Typ auch als 1-Bit-Speicher anzusehen und wird in dieser Funktion häufig eingesetzt. Er wird dann typischerweise „Latch" genannt (s. u.).
Wegen ihrer elementaren Funktionsweise haben sich D-Flipflops als verbreitetes Beschreibungssymbol für Einzelfunktionen in hochintegrierten Bausteinen wie Microcontrollern, Field Programmable Gate Array (FPGAs) und ASICs erhalten.
Falls noch ein sogenannter Clock-Enable-Eingang (CE, im deutschen Raum auch als „Verzögerungseingang" mit V bezeichnet) vorhanden ist, mit dem der Takteingang in seiner Funktion freigeschaltet werden kann (engl. enable = freigeben), spricht man von einem DV-Flipflop.
- Das taktzustandsgesteuerte D-Flipflop (D-Latch) besteht aus einem asynchronen RS-Flipflop mit einer eingangsseitigen „Taktzustandsbeschaltung". Dadurch wird der „verbotene" Zustand R = S = 1 automatisch vermieden. Es wird insbesondere in der englischsprachigen Literatur und zur Unterscheidung vom taktflankengesteuerten D-Flipflop als Latch (Falle, Riegel) bezeichnet. Solange der Enable-Eingang E (der meist mit dem Takt beschaltet ist) aktiv ist, folgt der Ausgang des Latch dem Pegel, der am Eingang D anliegt. Deshalb nennt man dieses Verhalten transparent. Der Vorteil des D-Latch ist sein geringer schaltungstechnischer Aufwand. Der Nachteil besteht darin, dass es – wie alle transparenten Flipflops – einen direkten Durchgriff des Eingangs D auf den Ausgang Q aufweist. Gegenüber einem „Zähl-Flipflop" kann es deshalb in synchronen Schaltungen nicht direkt rückgekoppelt werden.
- Das taktflankengesteuerte D-Flipflop ist als elementares transparentes Flipflop direkt rückkopplungsfähig. Deshalb lassen sich durch externe Beschaltung alle weiteren taktflankengesteuerten Typen von Flipflops und komplexere Schaltungen wie Synchronzähler, Taktteiler oder auch Schieberegister realisieren. Ein einflankengesteuertes D-Flipflop speichert mit der aktiven Taktflanke den logischen Zustand des Eingangs D und gibt seinen Wert auf Q aus. Außerhalb der aktiven Taktflanke (oder bei eventuell vorhandenen deaktivierten Clock-Enable-Eingang) erfolgt keine Übernahme des Eingangswertes.
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 Eingangsbelegung J = 1 (mit K = 0) eine 1 und bei K = 1 (mit J = 0) eine 0 gespeichert wird. Sie sind immer flankengesteuert und/oder als Master-Slave-Flipflop 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 der Realisierung des JK-Flipflops als taktzustandsgesteuertes Master-Slave-Flipflop 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. Dann liegt also kein rein taktflankengesteuertes Flipflop vor. Dieser Nachteil ist auch ein Grund, warum taktzustandsgesteuerte JK-Master-Slave-Flipflops in komplexen Digitalschaltungen nur noch selten verwendet werden und primär durch flankengetriggerte Flipflops ersetzt werden, die diesen Nachteil nicht aufweisen.
Name | Schaltsymbol | Impulsdiagramm | Ersatzschaltbild (für fallende Takt-Flanken, nicht konsistent zum Impulsdiagramm!) | Wahrheitstabelle | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JK-Flipflop |
|
Viele der erhältlichen Flipflops vereinen verschiedene Bauformen in sich und sind so vielseitiger einsetzbar.
T-Flipflop
Ein asynchrones T-Flipflop (Toggle-Flipflop) wechselt mit jedem Taktimpuls seinen Ausgangszustand. Seine erste Realisierung in elektromechanischer Bausteinform wurde schon im 19. Jahrhundert als Treppenhausschalter prominent und ist heute noch bei Neuinstallationen verbreitet im Einsatz. Das asynchrone T-Flipflop kann durch ein (synchrones) D-Flipflop gebildet werden, wenn dessen Ausgang Q invertiert auf den Eingang D zurückgeführt wird. T steht dabei für englisch toggle – Hin- und herschalten. Vor allem bei diskreten Digitalschaltungen wird zur Realisierung eines asynchronen 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 asynchrones 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 asynchronen 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 |
Demgegenüber besitzt das synchrone T-Flipflop (neben dem Takteingang C) einen T-Eingang. Nur wenn an diesem eine 1 anliegt, schaltet das synchrone T-Flipflop mit dem Takt in den anderen Zustand. Es kann z. B. aus einem JK-Flipflop nachgebildet werden, indem J-Eingang und K-Eingang zum T-Eingang verbunden werden. Das synchrone T-Flipflop wird beispielsweise in Synchronzählern verwendet.
Zusätzliche asynchrone Steuereingänge bei Flipflops
Je nach Bauart besitzen die getakteten Flipflops (taktzustandsgesteuerte oder taktflankengesteuerte Flipflops) auch noch zusätzliche asynchrone Steuereingänge. Die asynchronen Steuereingänge beeinflussen das Flipflop auch ohne Taktsignal. Je nach Bauart besitzen diese Bauelemente einen zusätzlichen asynchronen Reset-Eingang, einen asynchronen Set-Eingang oder beide Eingänge zusammen. Das asynchrone Reset wird manchmal auch als „Clear" (=Löschen) bezeichnet, während das asynchrone Setzen auch als 'Preset' (=Vorbelegen) bezeichnet wird.
Durch einen asynchronen Reset-Eingang kann das Flipflop unabhängig vom Takt in den definierten Anfangszustand (Ausgang = 0) gebracht werden. Diese Funktion beim Bauelement wird beispielsweise als asynchroner Reset beim Einschalten der Versorgungsspannung verwendet oder wenn die Schaltung während des Betriebs wieder in einen definierten Zustand (Reset-Zustand) gebracht werden muss. Der asynchrone Set-Eingang verhält sich analog wie der asynchrone Reset-Eingang, bringt aber das Flipflop in den Setz-Zustand (Ausgang = 1). Eine gleichzeitige Betätigung des asynchronen Setz- und Rücksetzeingangs zusammen kann das Flipflop je nach Bauart aber in einen undefinierten Zustand bringen. Häufig werden die beiden zusätzlichen asynchronen Eingänge low-aktiv angesteuert. Das asynchrone Reset-Signal kann dann direkt an einen Reset-Generator mit einem Low-aktiven Schaltausgang angeschlossen werden.
Timing der Flipflops
Bei der ingenieurmäßigen Anwendung der Flipflop-Bauelemente bei Elektronik-Schaltungen müssen verschiedene Zeitbedingungen beachtet werden. Betrachten wir beispielsweise ein taktflankengetriggerten D-Flipflop mit Einflankentriggerung. Als Referenz für jeden einzelnen Schaltvorgang betrachten wir beim Flipflop die aktive Schaltflanke des Takts (clk). Das Eingangssignal (D-Eingang) des Flipflops darf sich vor der aktiven Schaltflanke des Taktsignals für eine definierte Mindestdauer nicht ändern. Diese Zeit wird als Setup-Zeit tSU (engl. setup-time) bezeichnet.
Weiterhin darf sich der Logikzustand am D-Eingang nach der aktiven Schaltflanke des Taktsignals für eine definierte Mindestdauer ebenfalls nicht ändern. Diese Zeit wird als Haltezeit tH (engl. hold-time) bezeichnet. Weiterhin gibt es bei den Flipflops noch die Signallaufzeit durch das Bauelement (engl. propagation delay time) tPD (siehe auch Laufzeittoleranzrechnung).
Die maximale Taktfrequenz des Taktsignals fclk,max darf nicht überschritten werden. Als weitere Timingvorgabe beim Taktsignal tritt beim Flipflop die Pulsbreite des Taktsignals tPW,clk (engl. pulse-width) auf. Diese Mindestlänge des Taktsignals (beginnt ab der aktiven Taktflanke und endet bei der umgekehrten Taktflanke des Impulses) darf nicht unterschritten werden, damit das Flipflop sicher schalten kann.
Bei Flipflops mit zusätzlichen asynchronen Steuereingängen darf es bei den asynchronen Steuereingängen ebenfalls für eine definierte Mindestzeit vor der aktiven Taktflanke beim Taktsignals CLK keine Signaländerung geben. Weiterhin dürfen sich die asynchronen Steuereingänge nach der aktiven Taktflanke für eine definierte Mindestdauer nicht ändern.
Wenn die Timing-Vorgaben beim Flipflop nicht eingehalten werden, kann davon ausgegangen werden, dass es zu Fehlfunktionen bei den Flipflops kommt.
Im Beispiel ist das Timing beim D-Flipflop beschrieben. Alle anderen Flipflops mit Takteingang, z. B. beim T-FF, haben grundsätzlich das gleiche Verhalten. Beim RS-Flipflop und JK-Flipflop muss analog zum D-Flipflop ebenfalls die Setup-Time tSU und die Hold-Time tH eingehalten werden. Da diese beiden Flipflop-Typen jeweils 2 Eingänge besitzen gilt die Zeitvorgabe dann jeweils für den R- und S-Eingang bzw. J- und K-Eingang.
Schaltzeichen verschiedener Flipflop-Typen
Verwendung von Flipflops
Einfaches Beispiel einer Aufzugsteuerung
An dem einfachen Beispiel einer Aufzugsteuerung soll die Speicherfunktion eines RS-Flipflops verdeutlicht werden. Wir betrachten einen Aufzug in einem mehrgeschossigen Gebäude. Auf jeder Etage befindet sich ein Rufknopf für den Aufzug. Der Vorgang ist aus dem Alltag bekannt: Drückt man die Ruftaste, so leuchtet diese auch dann noch auf, wenn man den Knopf loslässt. Der Rufbefehl bleibt also gespeichert, auch wenn der Schalter nicht gedrückt bleibt. Das Licht hinter der Taste verlischt erst, wenn der Aufzug auf unserer Etage angehalten und die Türen geöffnet hat. Erst jetzt ist auch der Rufbefehl gelöscht. Ein solches Verhalten lässt sich mit einem RS-Flipflop realisieren. Dazu benötigen wir für jede Etage einen Flipflop. Seine beiden Eingänge (S und R) legen wir dazu jeweils an eine Spannungsquelle (HI = High), die eine für eine logische 1 hinreichend große Spannung liefert. Zwischen Spannungsquelle und den Flipflop-Eingängen sitzen jeweils Taster. Der eine Taster ist mit dem Rufknopf der jeweiligen Etage verbunden, der andere Taster kann nur vom Aufzug selbst bedient werden. Indem wir die Ruftaste auf einer Etage drücken, schließen wir kurz die Verbindung zwischen der Spannungsquelle und dem S-Eingang des Flipflops, der für unsere Etage zuständig ist. Damit wird wegen S=1 und R=0 der Flipflop gesetzt: Q = 1. Der Ausgang Q speichert damit den Rufbefehl. Lassen wir den Knopf wieder los, schnellt der Taster zurück, die Verbindung zwischen der Spannungsquelle und dem Eingang S ist unterbrochen, der Eingang S des Flipflops fällt auf 0 zurück (S = 0 und R=0). Dennoch verharrt das Flipflop in dem zuvor eingestellten Zustand: Q bleibt nämlich solange auf 1, bis der Reset-Eingang aktiviert wird (Speicherfall). Der Aufzug setzt sich nun in Bewegung. Sobald er an unserer Etage anhält und seine Türen öffnet, betätigt ein Mechanismus den Taster, der den R-Eingang und die Spannungsquelle verbindet. Dadurch wird wegen S = 0 und R=1 der Rufbefehl gelöscht (Q = 0) und bleibt solange gelöscht, bis ein weiterer Besucher die Ruftaste erneut drückt. In der Realität ist die Steuerung natürlich weit komplexer, die in den jeweiligen Etagen gespeicherten Rufbefehle werden an eine Steuerelektronik des Aufzugs gegeben, die dann aus diesen und aus den in der Aufzugkabine gedrückten Tasten eine sinnvolle Reihenfolge errechnet, nach der die Etagen angefahren werden sollen.
Breite Verwendung in der Digitalelektronik
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.
Weiterhin sind Flipflops unverzichtbar in digitalen Zählschaltungen. Hier kommen besonders D- oder T-Flipflops (verschiedener Typen) als Frequenzteiler zum Einsatz.
In älteren Quarzuhren mit Zeigeranzeige teilt eine Kette von 14 Flipflops die Oszillatorfrequenz 32768 Hz durch 214 und liefert Impulse einer Länge von genau einer halben Sekunde, die einem Lavet-Schrittmotor zugeführt werden, welcher die Zeiger der Uhr über ein mechanisches Getriebe bewegt.
Bei den oben beschriebenen Anwendungen sind die Flipflops typischerweise Teil eines größeren Elektronikbauelements. In der ingenieurmäßigen Schaltungsentwicklung werden Flipflops heute kaum mehr als Einzelbauelemente eingesetzt. Heute werden typischerweise Bauelemente eingesetzt, die neben Flipflops auch weitere Schaltungsfunktionen in einem gemeinsamen Bauelement beinhalten. Hierunter fallen unter anderem auch die FPGA-, PLD- und ASIC-Bauelemente. In diesen Bauelementen sind typischerweise D-Flipflops enthalten.
Weblinks
- Flipflops interaktiv (Java erforderlich)
- Interaktive Simulation von verschiedenen Flipflop-Typen mit dem Hades simulation framework (englisch)
- Interaktive LogiFlash-Animationen (Rubrik „2 Speicherglieder")
- Weitere Informationen über Kippglieder und Zählwerke
- Mehr Informationen zu RS- und JK-Flipflops (Homepage deutsch/englisch)
- Pneumatische Flip Flops
- Wikibooks – Digitale Schaltungstechnik zum Thema FlipFlops
Literatur
- Manfred Seifart, Helmut Beikirch: Digitale Schaltungen. Verlag Technik, Berlin 1998, ISBN 3-341-01198-6.
- Gerd Scarbata: Synthese und Analyse Digitaler Schaltungen. Oldenbourg Wissenschaftsverlag GmbH, München 2001, ISBN 3-486-25814-1.
Einzelnachweise
- ↑ Radio Review. Dez. 1919, S. 143 ff
- ↑ Zur Geschichte: Robert Dennhardt: Die Flipflop-Legende und das Digitale : eine Vorgeschichte des Digitalcomputers vom Unterbrecherkontakt zur Röhrenelektronik 1837–1945. Kulturverlag Kadmos, Berlin 2009, Zugleich: Diss. Humboldt-Universität, Berlin 2007, ISBN 978-3-86599-074-7.