Das RS-Flipflop

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

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 diesen Auffassungen werden wir uns im Folgenden kritisch auseinandersetzen.
Abb. 1 RS-Flipflop

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


Die wesentlichen Beschreibungsformen in der Literatur und im Internet

0. 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 Transisitor mit Kollektor- und Basis-Widerstand. Insofern zwei identische 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!
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.
Anders sieht es offenbar mit der Softwarerealisierung dieser Schaltung aus. Hier kann jeder machen was er will.
Folgende Szenarien sind denkbar:
1. Es wird zuerst nur der S-Eingang abgefragt. Ist dieser 1 wird das RS-FF gesetzt (unabhängig von R) und RETURN.
2. Es wird zuerst nur der R-Eingang abgefragt. Ist dieser 1 wird das RS-FF zurückgesetzt (unabhängiug von S) und RETURN.
3. Es werden beide Eingänge abgefragt und die Ausgänge entsprechend gesetzt. Sind aber beide 1 (NOR) dann erfolgt keine Veränderung des Ausgangszustandes.
4. Das RS-FF wird aus bestehenden "Software-NOR- oder NAND-Gattern" aufgebaut.

Die einzige Position, die die Eigenschaften des Hardware-RS-Flipflops korrekt widerspiegelt, ist die Position 4!
Alle anderen sind Mutationen. Hier könnte der Programmierer zum Beispiel beim Setzen die Nationalhymne und beim Rücksetzen "Spiel mir das Lied vom Tod" erklingen lassen (natürlich unter Beachtung der Urheberrechte).
Es ist also vieles möglich. Es muss nur angegeben werden, wie sich der Baustein, abweichend von einem richtigen Hardware-Flipflop, verhält!
Anders und dabei höchst problematisch wird es aber, wenn eine der ersten drei Varianten die Grundlage für ein Software-Flipflop in einer Simulationssoftware bildet. Das ist totaler Unsinn und kann zu einem falschen Ergebnis führen. In 2 von 2 getesten Simulationsprogrammen war das der Fall. Deshalb sollte man besser das RS-Flipflop mittels zweier NOR- oder NAND-Gatter nachbilden.

1. Die Eingangsbelegung S=R=1 ist verboten oder unbedingt zu vermeiden oder unsinnig.

S R Q /Q Bemerkung
0 0 Qn /Qn Speichern des Zustandes
1 0  1  0 Setzen
0 1  0  1 Rücksetzen
1 1  -  - Verboten

Die Verfasser gehen sicher davon aus, dass das RS-Flipflop ausschließlich als Speicherelement arbeiten soll, dass also die Zustände bei allen möglichen Eingangsbelegungen gespeichert werden können. Die Speicherung erfolgt durch den Übergang zur Eingangsbelegung R=S=0. Das ist aber nur für die beiden Fälle möglich, wenn gilt S ungleich R, also (S=1,R=0) und (S=0,R=1). Wenn R=S=1 ist, dann haben beide Ausgänge 0-Signal (Q1=Q2=0). Dieser Zustand ist aber nicht speicherbar. Wenn danach S=R=0 wird, tritt eine kurzzeitige Instabilität auf. Es ist nämlich nicht sicher in welchen stabilen (Speicher-)Zustand (Q1=1,Q2=0) oder (Q1=0,Q2=1) das RS-Flipflop kippen wird. Deshalb spricht man dann auch von "Race Condition (Wettlauf)". Aus diesem Grund wird diese Eingangsbelegung verboten. Da in diesem Fall Q1 und Q2 immer zueinander invers auftreten, steht in der Wahrheitstabelle Q für Q1 und /Q anstelle Q2. Diese Beschreibung ist (oberflächlich betrachtet) zunächst für viele (zum Glück aber nicht für alle) verständlich und führt deshalb auch kaum zu Verständnisproblemen. Es wurde bisher ja auch kein Grund gesehen weshalb S=R=1 überhaupt sinnvoll sein könnte. Deshalb findet man auch Wahrheitstabellen, in denen die Belegung S=R=1 gar nicht erst aufgeführt ist.
Trotzdem muss man sich im Klaren sein, S=R=1 ist eine mögliche Eingangsbelegung, und sie nicht zu berücksichtigen, führt zu einer Einschränkung der Funktionalität und zu einer falschen Beschreibung der Eigenschaften der Schaltung.
Deshalb ist diese Tabelle keine Wahrheitstabelle sondern nur eine Definitionstabelle, die nicht die volle und korrekte Funktionalität der RS-Flipflop-Schaltung widerspiegelt.

2. Die Eingangsbelegung S=R=1 ist instabil/metastabil.

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 Instabil/metastabil
(Race Condition)

Der Grundgedanke ist der gleiche wie unter 1.  S=R=1 soll vermieden werden. Jedoch wird die Eingangsbelegung S=R=1 nicht verboten. Ihr wird völlig korrekt Q1=0 und Q2=0 zugeordnet. Aber dann wird dieser Zustand als "instabil/metastabil" bzw. mit "Race condition" bezeichnet. Das ist ein Widerspruch zur eigenen Wahrheitstabelle. Hier haben viele Leser Verständnisprobleme, und das ist verständlich. Denn dieser Zustand ist sehr stabil. Solange S=R=1 bleibt, ändert sich daran nichts. Eine Instabilität tritt erst ein, wenn unmittelbar S=R=0 folgt (was nicht zwangsläufig der Fall sein muss), hat also in dieser Form bei S=R=1 in der Wahrheitstabelle nichts zu suchen!!
Wer solch eine "Wahrheitstabelle" kreiert oder verteidigt, der kann nur von einem Planeten eines entfernten Sonnensystems, auf dem andere physikalische Naturgesetze wirken, stammen.

Ein Vertreter dieser Ansicht war noch z.Z. der Veröffentlichung dieser Website das deutsche Wikipedia (siehe Startseite Pkt. 1.). Aber auch im April 2015 findet man eine ähnliche "Erkenntnis" noch in Wikibooks. Hier wird der Zustand bei R=S=1 als "undefiniert" gekennzeichnet. Die Verfasser sind nicht in der Lage für diesen Fall Q=0 zuzuordnen. Es ist unbegreiflich.

3. Die Eingangsbelegung S=R=1 führt zu einem instabilen/metastabilen Zustand.

So allgemein formuliert, ist diese Aussage natürlich falsch!
Nach dem zu 1. und 2. Gesagten wird deutlich, dass diese Aussage nur dann richtig ist, wenn darauf S=R=0 folgt. Denn diese Belegung ist nicht speicherbar.

4. Die Eingangsbelegung S=R=1 führt zu keiner Zustandsänderung

Haben diejenigen, die so etwas schreiben oder eine dementsprechende Wahrheitstabelle zeigen, ihren Verstand völlig abgeschaltet?
Ein Vertreter dieser Ansicht war bis Oktober 2010 das englischsprachige Wikipedia. Jetzt findet man diesen Nonsens aber u.a. - wie bereits geschildert - in Simulationsprogrammen.

5. Nun zu dem Wippenbeispiel

Leider konnte ich die deutschen Wikipedia-Verantwortlichen noch immer nicht überzeugen, dass das dort dargestellte Beispiel falsch ist. Hartnäckig wird es verteidigt, obwohl es im Widerspruch zu den eigenen heutigen (Dez. 2013) Beschreibungen und der dargestellten Wahrheitstabelle steht.
Also muss hier die Kritik erfolgen!

5.1. Das (schlechte) Wikipedia-Wippenbeispiel

Grundlage für das Wippenbeispiel ist die Realisierung eines RS-Flipflops mittels NAND-Gattern. Es folgen 3 Bilder die die Wippenlage bei 3 verschiedenen "Eingangsbelegungen" darstellen. Da sich die sonstigen Beschreibungen bei Wikipedia und auch auf dieser Website auf NOR-Gatter beziehen, erfolgt eine einfache Transformation des Wippenbeispiels auf NOR- Gatter-Grundlage, ohne damit die Eigenschaften zu verändern.
Das sieht dann folgendermaßen aus:

RS-Wippe-Wiki


Ganz offensichtlich soll "oben" das Potential "1" und "unten" das Potential "0" darstellen. Das wurde hier noch hinzugefügt.
Das linke Bild zeigt den rückgesetzten Zustand, das mittlere den gesetzten Zustand und das rechte Bild soll den Zustand bei R=S=1 darstellen, denn hier ist Q=/Q=0 (im Wikipedia-Original mit NAND-Gattern Q=/Q=1).

Kritik:

1. Linkes Bild
Weshalb bleibt die Wippe in dieser Lage?
Ist sie unsymmetrisch (also linksseitig schwerer) oder ist das Lager sehr schwergängig? Dann wäre diese Lage verständlich.
2. Mittleres Bild
Weshalb bleibt die Wippe in dieser Lage?
Ist sie unsymmetrisch (also rechtsseitig schwerer) oder ist das Lager sehr schwergängig?
Da sich linksseitig schwerer und rechtsseitig schwerer ausschließen, bleibt nur: Die Wippe muss sehr schwergängig sein, um beide Lagen beibehalten zu können.
3. Rechtes Bild
Dieses Bild deutet auf fundierten technischen Unverstand hin, es ist schlichtweg unsinnig. Es stellt nicht Q=/Q=0 dar (bei NAND-Gattern Q=/Q=1), sondern Q=/Q=0,5. Und da der ganze Unsinn auch noch schwergängig ist, würde er unverändert in dieser Position verharren.

5.2. Überarbeitetes (korrektes) Wippenbeispiel

Nun will ich aber nicht nur dieses Beispiel zerreißen, sondern auch versuchen, es verständlich darzustellen. Auch das wird am Beispiel von NOR-Gattern erfolgen. Aber es wird notwendig, den 0- und 1-Pegel zu vertauschen. Damit bleibt die Funktionsweise unverändert, aber nur so lässt es sich gut veranschaulichen. Weiterhin wird die Wippe nicht als einfacher Balken dargestellt sondern als ein flexibler, an beiden Enden verschlossener Plastik- oder Gummischlauch, in dem sich eine bewegliche Kugel befindet.

RS-Wippe-Wiki

1. 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.
2. Mittleres Bild
Auch hier sorgt die Kugel dafür, dass diese Lage stabil bleibt, auch wenn die Kraft nicht mehr einwirkt.
3. 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.

Fazit

Allen bisherigen Lehrmeinungen (siehe Startseite Pkt. 1.) 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.

Auch bei Simulationsprogrammen ist bei der Verwendung "vorgefertigter" RS-FF-Bausteine Vorsicht geboten (siehe unter Pkt. 1). In solchen Fällen ist es sicherer einen solchen Baustein selbst durch 2 ensprechend verschaltete NOR- oder NAND-Gatter aufzubauen.

Was sollte getan werden?

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 Race Condition

Es wäre wünschenswert 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 der Wahrheitstabelle gezeigt.
Im Gegensatz zu allen bisherigen Betrachtungen mit folgender neuer Interpretation für
Race Condition:
Achtung, dieser Zustand ist nicht speicherbar!
Wenn S=R=0 folgt kommt es zu einer kurzzeitigen Instabilität, und es ist nicht eindeutig in welchen stabilen (Speicher-)Zustand das RS-Flipflop letztendlich kippt.
So einfach könnte eine korrekte Lösung aussehen.


Aber ganz so einfach ist es dann doch nicht.

Denn die Vertreter der Lehrmeinung sind nicht so einfach zu überzeugen. Verbissen verteidigen sie ihre falschen Ansichten. Sie lassen sich bisher auch nicht durch genaue Darlegung der Fakten und durch den praktischen Beweis, dass S=R=1 eine nützliche Eingangsbelegung sein kann, überzeugen.

Folgende Erfahrungen machte ich bisher (Stand Nov. 2012):

  • Wenn die Argumente nicht mehr ausreichen, wird die Diskussion einfach (wortlos) abgebrochen. Das ist bisher immer der Fall gewesen! Vielleicht liegt es in seltenen Fällen auch daran, dass die Richtigkeit meiner Darlegungen erkannt wird. Aber, das möchte wohl keiner gerne zugeben.
  • Tatsächlisch scheint es aber so zu sein, dass einige selbsternannte 'Experten' ohne ausreichende Sachkenntnis diskutieren und daraus resultierend absurde Urteile abgeben, anonym (nicknamed) natürlich.
    Ich weiß von einigen Studenten, dass ihre Professoren nach wie vor die alte Lehrmeinung vertreten.
    Ich rufe deshalb vor allem alle Lehrenden, wie Professoren, Dozenten und Lehrer aber auch die Wikipedia-Verantwortlichen auf: Vertretet hier Eure Meinung, und versucht mir nachzuweisen, dass ich im Unrecht bin, es wird nicht gelingen!
    Ein Aufruf an alle Studenten und Lernenden: Konfrontiert Eure Professoren und Lehrer mit dieser Website und diesem Aufruf! Fordert sie auf dazu Stellung zu beziehen.
    Nach wie vor kann aber auch jeder Student etc. seine Meinung mir über die Kontaktadresse absolut vertraulisch zusenden.
    Sollte aber jemand meiner Meinung sein und sich praktisch auch davon überzeugt haben, dann würde ich mich auch über seine Meinungsäußerung sehr freuen.
  • Die Diskussion besteht im Wesentlichen aus der Wiederholung des Hinweises, dass die Lehrmeinung richtig sei.
  • Einer Diskussion wird aus dem Weg gegangen.
  • Interessant ist, dass bisher keiner meiner Widersacher seine Identität preisgegeben hat (falscher Name, falsche EMail-Adresse)
  • Auch Foren werden abgebrochen wenn die Diskussion nicht so verläuft wie das von den Verantwortlichen erwartet wird.
  • Allerdings hatte ich auch immer wieder den Eindruck, dass mein Artikel nicht vollständig gelesen wurde (wie z.B. auch auf der Startseite unter den Links zu erkennen), dass er dadurch überhaupt nicht verstanden wurde (oder verstanden werden wollte?)

    Aber:
    Eine falsche Aussage wird nicht dadurch wahr, indem man sie lediglich stereotyp wiederholt.
    Kriterium ist und bleibt die Praxis.

    Und:
    Ein Experte ist nicht jemand, der in der Lage ist einmal erworbenes Wissen (das auch falsch sein kann) nur wiedergeben zu können, sondern der die Fähigkeit und Bereitschaft besitzt, dieses zu verarbeiten und der Neuem gegenüber aufgeschlossen ist.

    Die auf den Seiten Ideales Impulsglied und Neues JK-Flipflop vorgestellte praktische Lösung zeigt die Richtigkeit der hier gemachten Aussagen.

    Auf der Startseite wurde bereits darauf hingewiesen, dass man sich im deutschen Wikipedia endlich meiner Meinung angeschlossen hat, dass R=S=1 ein stabiler Zustand ist. Ganz sicher nicht richtig ist dort aber der Hinweis, dass dieser Zustand in verschiedenen Publikationen als verboten bezeichnet wird, weil er zu einem logischen Widerspruch führt. Der wahre Grund ist, dass die realitätsfernen Verfechter solcher schwachsinnigen Ansichten diesen Zustand als instabil/metastabil betrachten. Der sogenannte logische Widerspruch (Q kann nicht gleich /Q sein) ist kein echter, sondern ein selbst verursachter, der einfach behoben werden durch Verwendung von Q1 und Q2 (siehe letzte Tabelle).