Hallo, ich habe ein Problem mit einem RS-Flipflop.
Mein RS-Flipflop hat zwei Eingänge R und S sowie zwei Ausgänge mit Q und
notQ. Da der eine Ausgang immer das Gegenteil von dem anderen Ausgang
sein muss, ist in der Wahrheitstabelle ein Zustand vorhanden, der als
"verboten" gekennzeichnet ist - das ist dann der Fall, wenn R=S=1 ist.
Angenommen, ich würde mir die Schaltung so auf einem Steckbrett
nachbauen und zwei Taster erstellen, die für R und S stehen. Laut
Wahrheitstabelle darf es den Zustand, dass dann beide Taster synchron
gedrückt werden, nicht geben. Aber ich könnte es ja dennoch tun... - und
genau darin liegt mein Problem.
Müsste ich dann z.B. mechanisch dafür sicherstellen, dass man nicht
gleichzeitig beide Schalter drücken kann, wenn dieser Fall nicht sein
darf?
Schüler schrieb:> Aber ich könnte es ja dennoch tun...
Das ist nicht unbedingt ein Problem, sondern wird auch genutzt.
Je nachdem ob das RS-FF aus 2 NOR oder 2 NAND aufgebaut ist, sind dann
beide Ausgänge zugleich H oder L.
Mit dieser Schaltung kann man z.B. feststellen, welches der beiden
Signale zuerst da war, oder welches zuerst verschwindet.
P.S.:
In dem von crazyhorse verlinkten Artikel steht:
> Wer solch eine "Wahrheitstabelle" kreiert oder verteidigt,> der kann nur von einem Planeten eines entfernten Sonnensystems,> auf dem andere physikalische Naturgesetze wirken, stammen.
Das scheint mir auf den Autor jener Webpage besonders zuzutreffen.
Das mit dem "verboten" ist absoluter Quatsch, der immer noch in den
Büchern auftaucht und wohl nicht auszurotten ist. Die Polizei kommt
nicht vorbei, es gibt keinen Strafzettel, der Chip raucht nicht ab und
beide Ausgänge sind in dem Fall sauber 0 (NAND-RS) oder 1 (NOR-RS).
Dieser Zustand hat nur zwei Probleme:
a) Zum einen stimmt die Sache mit der Invertierung nicht mehr. Es heisst
ja Q und /Q, was impliziert, dass der einer immer das invertierte vom
anderen ist. Ist aber eigentlich völlig egal. Wenn man das braucht, muss
man halt einen Ausgang ausssuchen und einen extra Inverter nehmen.
b) Wenn man S und R gleichzeitig zurücknimmt, also wieder in den
speichernden Zustand geht, ist nicht definiert, wie das RS-FF aus Q=(/Q)
sich auf Q= / (/Q) festlegt, da muss das mit der Invertierung ja wieder
stimmen. Prinzipiell kann man zwar sagen, dass das letzte aktive S oder
R gewinnt, es gibt aber wirklich ein kleines Zeitfenster, in dem das
nahezu gleichzeitige Zurücknehmen das FF in einem etwas verwirrten
Zustand zurücklässt (aka Metastabilität). In dem muss es die Sache mit
der Invertierung erstmal auflösen. Je nach Schaltungsaufbau kann das
etwas dauern oder anders aussehen. Das Ergebnis ist dann, dass die
Ausgänge für einige Zeit oszilieren, analoge Werte annehmen (d.h. keine
eindeutige 0/1) oder sich auch im Nachhinein noch wieder spontant anders
entscheiden. Das ist für das Schaltungsdesign und vermutlich die
Funktion insgesamt etwas lästig, ist also zu vermeiden. Technisch gibt
es keine Lösung, die Metastabilität zu vermeiden, sie ist immer da, man
kann nur das Fenster etwas kleiner bekommen. Ist wie das Perpetuum
Mobile, viele wollen es gefunden haben, bei näherer Betrachtung gehts
aber dann doch nicht.
BTW: Bei getakteten FFs ist das dann die Setup/Hold-Zeit, die man
beachten muss. Wenn sich die Eingangsdaten um die Flanke des
abspeichernden Takts herum verändern, passiert genau dasselbe.
Georg A. schrieb:> Technisch gibt> es keine Lösung, die Metastabilität zu vermeiden, sie ist immer da, man> kann nur das Fenster etwas kleiner bekommen.
Nicht nur etwas kleiner.
Man kann das Fenster sogar dramatisch verkleinern, indem man ein zweites
FF, das von der gleichen Clock gesteuert wird, nachschaltet.
In Kürze:
Das gängige FF mit verbotenen Zuständen ist nur eine mögliche Form, die
aus dem logischen "Ideal" abgeleitet wird.
Es gibt andere FFs bei denen diese Zustände nicht verboten sind. Sowohl
in der abstrakten Beschreibung als auch als konkrete Schaltung.
Lange Antwort:
Dieses "Verbot" bezieht sich vor allem auf eine logische Voraussetzung.
Es ist demnach sinnlos, ein Flip-Flop zugleich zu setzen und
zurückzusetzen.
Wie die konkrete Schaltung darauf reagiert, ist hingegen ein
elektronisches resp. physikalisches Problem und nicht in erster Linie
ein logisches.
Wie ja eine der Antworten schon ausgesagt hat, gibt es Schaltungsformen
eines Flip-Flops die sowohl für den Zustand R=S=1 als auch für den
nachfolgenden R ungleich S einen determinierten (d.h. klar
beschriebenen, festgelegten) Zustand erreichen. Das ist sinnvoll, denn
es ist unter Umständen nicht oder mit Aufwand (der entweder eben in der
besonderen Form des FF oder der vorherigen Schaltung aufgebracht werden
muss) vermeidbar, dass dieser "verbotene Zustand" auftritt.
Diese schaltungstechnisch definierten Zustände (sowohl für R=S=1 und die
nachfolgenden) können logisch (im Sinne der Schaltalgebra) als gegenüber
dem (von Dir als Referenz benutzen) "Normalfall" veränderte
Wahrheitstabellen bzw. Zustandsdiagramme abgebildet werden. Sie fallen
also nicht aus der Logik heraus. Das so beschriebene FF ist halt ein
wenig anders als die "ideelle" Form - und hat dann keine verbotenen
Eingangs-Werte mehr.
> Das wirst Du wohl nicht schaffen. Ein Signal wird immer schneller sein.
Da gehts um die Theorie. Und da kann man beide wirklich gleichzeitig
zurücknehmen. Und wenn man das dann im Kopf/auf dem Papier
durchsimuliert, dreht man sich im Kreis, ohne auf einen stabilen
Fixpunkt zu kommen. In der Praxis wird das eben zu "nahezu
gleichzeitig".
> Nicht nur etwas kleiner.> Man kann das Fenster sogar dramatisch verkleinern, indem man ein zweites> FF, das von der gleichen Clock gesteuert wird, nachschaltet.
Dann hat das aber nichts mehr mit der Funktion eines (1) FFs zu tun...
Die diversen Metastabilitätspatente beziehen sich nur darauf.
> meine Güte ist das kompliziert :-(
Nicht anders als bei einem Lichtschalter, da gibts auch immer einen
Punkt, wo er in der Mitte hängenbleibt ;)
Verboten heisst dass das Verhalten undefiniert ist. Weil die Material
von den beiden Transistoren nicht EXAKT gleich sein können, ein
Transistor kann mehrere hunderte Atome mehr als den anderen haben und
das führt dazu dass immer ein Signal R oder S vor dem anderen kommt.
Mann weiss nicht genau welche kommt zuerst trotz man denkt dass man man
beide gleichzeitig betätigt hat.
Schüler schrieb:> Laut Wahrheitstabelle darf es den Zustand, dass dann beide Taster synchron> gedrückt werden, nicht geben.
Die Wahrheitstabelle ist kein Naturgesetz. Was spricht, außer einem
Stück Papier, gegen den Zustand?
Im übrigen ist Gleichzeitigkeit eine Illusion - die gibt es nicht
wirklich.
> Verboten heisst dass das Verhalten undefiniert ist.
Nein, auch das stimmt nicht. Das statische Verhalten dieser Zeile der
Wahrheitstabelle ist absolut definiert, da gibt es keinerlei Zweifel
oder Spielraum. Lässt sich an einem NOR/NAND-RS-FF auch problemlos
nachsimulieren.
Undefiniert ist nur das Ergebnis des Übergangs zum speichernden Zustand,
wenn der Übergang nicht asymmetrisch über die Set oder Reset-Zweige
läuft. Der Korrektheit halber müsste man in die Wahrheitstabelle eben
auch die Übergänge reinbringen...
Leider steht das so nur selten in den Grundlagenlehrbüchern, stattdessen
wird oft der Unfug mit dem "verboten" ausgegraben, der dann irgendwie
den Leuten als potentielle Atombombenexplosion im Kopf herumspukt. Das
zeigt eigentlich, dass die Schreiberlinge das auch nicht verstanden
haben ;)
> Das statische Verhalten dieser Zeile der> Wahrheitstabelle ist absolut definiert, da gibt es keinerlei Zweifel> oder Spielraum.> Lässt sich an einem NOR/NAND-RS-FF auch problemlos nachsimulieren.
Hmm, das wäre auszuprobieren. Ich schätze, es kommt stark auf die
Simulation an:
https://www.circuitlab.com/editor/#?id=7pq5wm
> Lässt sich an einem NOR/NAND-RS-FF auch problemlos> nachsimulieren.
Ich habe vor langer Zeit mal ein RS-Flipflop aus NORs simuliert. Das
Teil fing an, mit der Simulationsgeschwindigkeit zu oszillieren. Das ist
so ziemlich das Gegenteil von "da sind beide Ausgänge statisch" ist.
Wenn ein Simulator ein Problem damit hat, zB. bei einem NAND-RS einen
stabilen Zustand mit R=S=0 hinzubekommen, dann ist er kaputt.
Schliesslich ist je ein Eingang der beiden NANDs 0, was soll da am
NAND-Ausgang was anderes als 1 rauskommen?