Das RS-Flipflop

Zur Animation

Das RS-Flipflop ist das einfachste aller Flipflop-Arten und bildet selbst die Grundlage für andere Flipflop-Schaltungen. Für die Ausführungen auf dieser Site wird davon ausgegangen, dass das RS-Flipflop mit NOR-Gattern aufgebaut wird (siehe Abb. 1). Das ist keine Einschränkung. Bei Verwendung von NAND-Gattern brauchen nur die entsprechenden Umformungsregeln beachtet zu werden.
Ein 1-Signal an S, während R 0-Signal hat (S=1,R=0) setzt das Flipflop (Q1=1, Q2=0), während mit (S=0, R=1) das Flipflop zurückgesetzt wird (Q1=0,Q2=1). Mit dem anschließenden Übergang zu S=R=0 wird der entsprechende Ausgangszustand beibehalten. (gespeichert).

RS-Flipflop
Abb. 1 RS-Flipflop

Aber was passiert nun, wenn beide Eingänge 1-Signal erhalten (S=R=1)?
Schaut man in Fachbücher oder ins Internet findet man bei Erläuterungen des RS-Flipflops und in den zugehörigen Wahrheitstabellen u.a. Aussagen wie:
- "R=S=1 ist verboten oder unbedingt zu vermeiden oder unsinnig"
- "R=S=1 ist instabil/metastabil"
- "R=S=1 führt zu einem instabilen oder metastabilen Zustand"
- "R=S=1 führt zu keiner Zustandsänderung"

Mit diesem Unsinn werden wir uns im Folgenden kritisch auseinandersetzen.

Wie müsste eine korrekte Wahrsheitstabelle aussehen?

Grundsätzliches

Wenn im Allgemeinen von einem RS-Filpflop gesprochen wird, versteht man darunter die Hardwarerealisierung des Flipflops mittels zweier rückgekoppelter NOR- oder NAND-Gatter. Die einfachste Ausführung eines solchen NOR-Gatters ist ein einfacher Transistor mit Kollektor- und Basis-Widerstand. Insofern identische Bauelemente für beide Gatter eingesetzt werden, gibt es auch keinerlei Vorzugspositionen wie vorrangiges Setzen oder Rücksetzen zum Beispiel beim Anlegen der Versorgungsspannung.
Das ist die Grundlage für alle Erklärungen dieser Schaltung nebst der entsprechenden Wahrheitstabelle! (auch Zustandstabelle genannt)
Eine Wahrheitstabelle zeigt den statischen Endzustand eines Systems bei einer definierten Eingangsbelegung. Um Übergangszustände darzustellen, werden Graphen verwendet, mit entsprechenden Knoten, die die einzelnen Zustände darstellen.

Eine Wahrheitstabelle muss alle möglichen Zustände erfassen, die bei unterschiedlichen Eingangsbelegungen der untersuchten Schaltung - in diesem Fall des RS-Flipflops - auftreten. Dabei spielt ein spezieller Einsatzfall keine Rolle. Der Anwender/Entwickler entscheidet dann selbst wie er bestimmte Eigenschaften sinnvoll nutzt und was er besonders beachten muss. Da diese Schaltung bisher ausschließlich durch alternative Ansteuerung der beiden Eingänge in jeweils einen stabilen Speicherzustand versetzt wurde, spricht man in diesem Fall von Setzen und Rücksetzen eines Speichers. Entsprechend bezeichnet man die beiden Eingänge mit S (Set) und R (Reset). Das ist aber willkürlich. Zum Beispiel einfach E1 und E2 wäre auch möglich. Dann hätten viele es nicht für unlogisch, widersprüchlich oder absurd gehalten, wenn beide Eingänge zur selben Zeit ein aktives Signal erhalten.
Mit R=S=1 erreicht man auch einen stabilen Zustand, der aber nicht speicherbar ist. Diese Eigenschaft ist aber sehr wichtig für erweiterte Anwendungen des RS-Flipflops. Damit habe ich schon vor ca. 40 Jahren ein nicht getaktetes (asynchrones) JK-Flipflop realisiert (siehe nächste Seiten). Das haben einige unter den intelligenten Lesern meiner Homepage inzwischen auch schom mit Erfolg getan. Es gibt aber auch andere, die die Funktionsweise meiner Schaltung nicht begreifen (wollen) aber anderen geifernd versuchen zu erklären, dass diese "komische Schaltung" gar nicht funktionieren kann, weil Instabilitäten auftreten müssen.

So kann eine korrekte Wahrheitstabelle aussehen!

S R Q1 Q2 Bemerkung
0 0 Q1n Q2n Speichern des Zustandes
1 0 1 0 Setzen
0 1 0 1 Rücksetzen
1 1 0 0 Zustand stabil, aber nicht speicherbar!
Race Condition

Es ist endlich notwendig und sinnvoll, sich auf eine korrekte, die Realität widerspiegelnde Definition/Beschreibung des RS-Flipflops zu einigen. Sie könnte z.B. so aussehen, wie in dieser Wahrheitstabelle gezeigt.
Im Gegensatz zu allen bisherigen Betrachtungen mit folgender korrekten Interpretation für den letzten Zustand:
Achtung, dieser Zustand ist stabil aber nicht speicherbar!
Wenn S=R=0 folgt (und nur in diesem Fall!) kommt es zu einer kurzzeitigen Instabilität (Race Condition), und es ist nicht eindeutig in welchen stabilen (Speicher-)Zustand das RS-Flipflop letztendlich kippt.
So einfach könnte eine korrekte Lösung aussehen, die genau mit der oben gezeigten Animation übereinstimmt.


Darstellung (vereinfacht) in den Wikipedien verschiedener Sprachen

Deutsch


/S /R /Q
... ... ...
0 0 Q=/Q=1 (Fehler: widersprüchliche Eingabe; hier hat Q Setzvorrang)
S R Q
... ... ...
1 1 Q=/Q=0 (Fehler: widersprüchliche Eingabe; hier hat Q Rücksetzvorrang)

Achtung! Anders als bei allen anderen Darstellungen wird hier das RS-Flipflop mittels NAND-Gattern realisiert (obere Tabelle).



Die untere Tabelle zeigt die gleichen Aussagen bei Realisierung mit NOR-Gattern.

Vor einigen Jahren stand hier unter "Q" noch der totale Unsinn, dass dieser Zustand instabil/metastabil wäre, den ich mit meinem Wikipedia-Eintrag, der aber leider von den Verantwortlichen wieder gelöscht wurde, korrigieren wollte.
Heute (März 2021) ist endlich ein kleiner Fortschritt zu verzeichnen.
Jetzt steht für diesen Fall der richtige Wert 1 (bei NAND-Gattern) bzw. 0 (bei NOR-Gattern) in der Wahrheitstabelle. Endlich wird auch in den Erläuterungen darauf hingewiesen, dass dieser Zustand stabil ist. Aber der Rest ist wieder Unsinn.
Da Q und /Q negiert zueinander sind, können sie nicht gleich sein, egal ob 1 oder 0. Die korrekte Angabe wird erreicht indem Q durch Q1 und /Q durch Q2 ersetzt wird. Dass hier ein Fehler vorliegt durch eine "widersprüchliche Eingabe" ist natürlich ebenfalls Unsinn. Obwohl die beiden Eingänge allgemein mit Setzen und Rücksetzen bezeichnet werden, bedeutet das nicht, dass sie nur alternativ angesteuert werden dürfen. Der Anwender entscheidet ob und wie er diese Eingänge verwendet und ansteuert. Und das Q Setzvorrang hat ist weiterer Unsinn. Der Anwender/Entwickler entscheidet, ob er diese Belegung nutzt. Und wenn das der Fall ist, entscheidet auch er über die Auswertung.
Das ist auf den nächsten Seiten bei der Realiesung eines idealen Impulsgliedes und eines nichtgetakteten JK-Flipflops so geschehen! Daraus ist zu ersehen, dass es hier nicht um einen nutzlosen Streit um Begriffe geht. Damit sind neue sinnvolle Anwendungen möglich!

Englisch


S R Action Q
... ... ... ...
1 1 X Not allowed

Das kann einfach kein Expertenwissen sein!
In den Erläuterungen wird R=S=1 als 'eingeschränkte Kombination' oder 'verbotener Zustand' bezeichnet. Der Grund dafür: weil beide Ausgänge dann 0 ausgäben und nicht Q=/Q sein kann. Diese Kombination soll auch in Schaltkreisen ungeeignet sein.
Bei dieser Logik verwundert es mich nicht, dass man hier solchen Unsinn schreibt.
Kein Wunder, dass auch in diesem Wikipedia mein Beitrag wieder gelöscht wurde.

Niederländisch


S R Q Functie
... ... ... ...
1 1 0 verboden toestand

Auch hier der gleiche Unsinn wie zuvor bereits.
Die Kombination R=S=1 wird verboten. Jedoch wird in der Wahrheitstabelle korrekt Q=0 angegeben.

Spanisch


S R Q
... ... ...
1 1 N.D.
N.D.=Estado no deseado

'Estado no deseado' bedeutet 'unerwünschter Zustand'.
Hier wird erst gar nicht angegeben welches Ausgangssignal auftritt. Ob der Zustand wirklich unerwünscht ist muss man dem Anwender überlassen

Italienisch


S R Q Descrizione
... ... ... ...
1 1 - Combinazione proibita

Der Unsinn setzt sich fort. Die "verbotene Kombnation" (Combinazione proibita) ist nämlich instabil laut der Beschreibung.

Französisch


S R Q /Q remarque
... ... ... ... ...
1 1 0 0 etat interdit

Auch hier wird richtig erkannt was bei R=S=1 passiert. Jedoch folgt auch wieder die falsche Schlussfolgerung, dass dieser Zustand verboten werden muss. In der Tabelle ist es jedoch falsch bei Q und /Q jeweils 0 anzugeben. Hier müsste dann wie bei der deutschen Fassung bereits erklärt Q1 und Q2 verwendet werden.

Russisch


S R Q /Q
... ... ... ...
1 1 0 0

Mit den entsprechenden Erläuterungen ist das die fortschrittlichste Seite. Hier wird richtig beschrieben wie sich das Flipflop auch bei R=S=1 verhält. Nicht ganz glücklich getroffen ist die Aussage, dass der Zustand bei R=S=1 'nicht definiert' ist und von der Implementierung abhängt, denn die Warheitstabelle zeigt eindeutig die richtigen Werte. Wahrscheinlich ist mit 'nicht definiert' die internationale falsche und nicht einheitliche Position dazu gemeint. Allerdings sollten auch hier noch Q und /Q durch Q1 und Q2 ersetzt werden.

Softwarerealierungen von RS-Flipflops

Hier kann es sicher jeder Programmierer nach seinen Vorstellungen anpassen. Denn er weiß in seinem Programm es entsprechend zu nutzen.

Probleme können aber bei Simulationsprogrammen auftreten wenn dort falsch programmierte RS-Flipflop-Bausteine zum Einsatz kommen. In 2 von 2 getesten Simulationsprogrammen war das der Fall. Deshalb sollte man besser das RS-Flipflop mittels zweier NOR- oder NAND-Gatter selbst nachbilden.

Wippenbeispiel

Immer wieder wird versucht die Wirkungsweise eines RS-Flipflops mit einer mechanischen Wippe zu vergleichen. Bis zum Jahr 2018 wurde im deutschen Wikipedia solch ein Beispiel demonstriert, dass allerdings völlig unbrauchbar war, da es auf totalem technischen Unverstand aufbaute und nur für Verwirrung sorgen konnte. Denn eine 'normale' Wippe ist nicht geeignet.
Darauf soll jetzt nicht mehr eingegangen werden. Stattdessen wird im Folgenden eine mögliche Lösung gezeigt.

Überarbeitetes Wippenbeispiel 1

Die Wippe kann nicht als einfacher Balken dargestellt sondern zum Beispiel als ein flexibler, an beiden Enden verschlossener Plastik- oder Gummischlauch, in dem sich eine bewegliche Kugel befindet (auch eine Flüssigkeit ist möglich).

RS-Wippe-Wiki

Linkes Bild
Die Kugel sorgt mit ihrem Gewicht dafür, dass die Lage stabil ist (rückgesetzt). Erfolgt eine kurzzeitige Krafteinwirkung, damit die Wippe kippt, so rollt die Kugel in die linke Position.
Mittleres Bild
Auch hier sorgt die Kugel dafür, dass diese Lage stabil bleibt, auch wenn die Kraft nicht mehr einwirkt.
Rechtes Bild
Wirkt auf beide Wippenenden eine dauerhafte Kraft, dann werden beide Enden der Wippe nach oben ("0") bewegt und verharren in diesem stabilen Zustand, während die Kugel sich in die Mitte bewegt. Wird jetzt die Krafteinwirkung an einem der Wippenenden vor der anderen beseitigt, ist jedem klar was passieren wird. Es wird ein vorher definierbarer Endzustand erreicht. Werden aber beide Kräfte gleichzeitig beseitigt, dann tritt eine kurzzeitige Instabilität auf. Beide Wippenenden schwingen in die Waagerechte zurück und die Kugel wird sich zufällig "entscheiden" in welche Endposition sie rollt, um damit wieder einen stabilen Endzustand zu erreichen.

Auch Wippenbeispiel 2 ist möglich

Hier ist in den ersten beiden Bildern die Lage stabil, weil das linke bzw. rechte Drehmoment größer ist als das auf der anderen Seite.

RS-Wippe-Wiki


RS-Flipflop Animationen

In allen oben aufgeführten Wikipedien ist die gleiche miserable Animation enthalten. Auf diese kann sehr gut verzichtet werden. Es wird zwar angedeutet in welchem Zweig ein Kollektorstrom fließt nachdem ein Eingangsimpuls erzeugt wurde, aber wie sich die Eingangs- und Ausgangssignale verhalten wird verschwiegen. Weiterhin ist schwer zu erkennen weshalb das Fliflop in der jeweiligen Position verharrt. Völlig außer Acht gelassen wird die Realisierung der Eingangsbelegung R=S=1.

Deshalb folgt jetzt auch noch eine eigene Animation, die alles das zeigt, was nowendig ist, um die vollständige Funktiosweise eines RS-Flipflops gut zu verstehen.

Eine Simulation/Animation des RS-Flipflops in Transistor-Transistor-Logik


image/svg+xml Q 1 Q 2 S R 0 0 1 0 S ändern R ändern R c R c R b1 R b1 R b2 R b2 +5V 0 Achtung Jetzt tritt eine Race condition auf !!Zufällig wird einer der beiden stabilenspeicherbaren Zustände Q1=1, Q2=0 oder Q1=0, Q2=1eingenommen. Weiter S+R öffnen

Mit dieser Animation ist die korrekte Funktionsweise des RS-Flipflops sehr gut zu erkennen und zu verstehen.
Durch Anklicken der Schalter können die Eingangsbelegungen beliebig variiert werden. Dabei werden die entscheidenden Stromflüsse dargestellt.
Eine gute und vollständige Animation setzt aber einen Browser voraus, der skalierbare Vektorgrafiken umfassend unterstützt.
Sehr gut geeignet sind zum Beispiel Firefox, Chrome, Safari.

SignalR, SQ1, Q2
0≤0,8V≤0,4V
1≥2,0V≥2,4V

Eine bessere Animation wird niemand finden !, weil
1. das RS-Flipflop real durch 2 NOR-Gatter nachgebildet wird,
2. alle Eingangsbelegungen beliebig modifiziert werden können,
3. die Ausgangssignale mit der Realität übereinstimmen,
4. anhand der erkennbaren Ströme die reale Reaktion des Flipflops nachvollziehbar ist.
Damit sieht jeder was tatsächlich passiert und nicht das, was realitätsfremde lernresistente Webseitenbetreiber und Lehrende einem vorzugaukeln versuchen.



Fazit

Allen bisherigen Lehrmeinungen (siehe Startseite Pkt. 1.) und unzähligen Webseiten ist eines gemeinsam:
Die Wahrheitstabellen bzw. Beschreibungen sind Modelle, die für den Fall R=S=1 (NOR-Gatter) vorgeben, wie dieser Fall zu behandeln ist, unabhängig von den tatsächlichen Verhältnissen am konkreten Objekt, also realitätsfremd und damit einfach falsch.
Das muss zu Widersprüchen führen, da sich die Realität nicht nach den Modellen richtet.
In allen diesen Fällen wird nur eine eingeschränkte Funktion dieser Schaltung betrachtet.
Die verschiedenen Wikipedien zeigen, dass es teilweise erhebliche Unterschiede in den Ansichten gibt. Das russische Wikipedia stellt am Besten die realen Eigenschaften des RS-Flipflops dar. Die anderen zeigen einen zum Teil erschreckenden Mangel an Sachkenntnis.
Bei Simulationsprogrammen ist bei der Verwendung "vorgefertigter" RS-FF-Bausteine Vorsicht geboten. In solchen Fällen ist es sicherer einen solchen Baustein selbst durch 2 ensprechend verschaltete NOR- oder NAND-Gatter aufzubauen.
Diese Homepage zeigt wie eine allgemeine richtige Definition und Beschreibung des RS-Flipflops aussehen kann.

Die neuen auf den folgenden Seiten gezeigten Schaltungen für ein 'Ideales Impulsglied' und ein 'nichtgetaktetes (asynchrones) JK-Flipflop' beweisen die Richtigkeit meiner Darlegungen. Diese werden noch unterstützt durch den Analysebericht von Herrn Stefan Dumler.