FlipFlops: Rückkopplung

Algorithmen, Sprachunabhängige Diskussionen zu Konzepten, Programmiersprachen-Design
nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

FlipFlops: Rückkopplung

Beitrag von nufan » Do Apr 16, 2009 8:33 pm

So, die versprochene Diskussion über FlipFlops ist da :)

Ich denke ich hab das Prinzip verstanden. Die Gleichungen, KVs und Wahrheitstabellen ergeben für mich Sinn.
Was ich jedoch überhaupt nicht kapiere sind die zugehörigen elektronischen Schaltungen mit den Rückkopplungen.

Vielleicht mal diese Seite als Beispiel. Ich beziehe mich auf den ersten NOR-RS-FF links, wobei E1 und 2 für r und s stehen.
Wenn wir in der Schule Impulsdiagramme gezeichnet haben, war q2 einfach immer ein negiertes q1.

Was ich nicht verstehe:
* Was ist überhaupt der Unterschied zwischen q1 und q2?
* Wie fließen q1 und q2 in die Ergebnisse des nächsten Durchgangs ein?
* Wie wird gesetzt wenn s high ist? (gleiche Frage für r)
* Was passiert beim ersten Durchlauf? Wie sind q1 und q2 dann definiert?

Ich stell mir das ein bisschen wie eine Schleife vor, in der ständig die Werte geändert werden.
Wenn ich versuche das mir Schritt für Schritt vorzustellen, ende ich immer mit Speichermüll ^^

Hoffe das waren nicht zu viele Fragen auf einmal. ;)

PS: Ich habe schon angefangen zu schreiben, aber für das mach ich dann einen eigenen Thread auf, wenn mal mehr Inhalt da ist.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: FlipFlops: Rückkopplung

Beitrag von Xin » Do Apr 16, 2009 8:39 pm

Kurze Antwort: Ich habe ein ganzes Informatikstudium (mit E-Technik Schwerpunkt) geschafft, ohne jemals zu kapieren, wie ein FlippFlopp funktioniert. Ich weiß, das ist keine Hilfe, aber es ist eine vertretbare Bildunglücke... solltest Du es kapieren, erklär's mir mal...
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Jside
Beiträge: 377
Registriert: Di Nov 11, 2008 12:56 am

Re: FlipFlops: Rückkopplung

Beitrag von Jside » Do Apr 16, 2009 8:44 pm

nufan hat geschrieben: * Was ist überhaupt der Unterschied zwischen q1 und q2?
.
Das eine ist immer das Invertierte des anderen.

Ich erklärs mal komplett:

Wenn du auf S Strom setzt, ist auf Q2 Strom und Q1 auf Low, egal, ob weiterhin auf S Strom ist, oder nicht.
Wenn du nun auf R Strom setzt, wird das FlipFlop getoggelt, daher dann ist auf Q1 Strom, und Q2 ist Low.

Ein NAND Gate hat immer Strom ein, als Output, solange die beiden Inputs != 1 sind.
Versuch dir am besten garnicht vorzustellen, wie das _genau_ mit den RS-FlipsFlops funktioniert, das beschehrt nur Kopfweh ;)

Ich kann allerdings D Oktal FlipsFlops empfehlen ;)

//EDIT Hab übersehen, da werden die Outputs überkreutzt, einfach in dem obrigen Beitrag je Q1 durch Q2 und umgekehrt ersetzten ;)

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: FlipFlops: Rückkopplung

Beitrag von nufan » Do Apr 16, 2009 8:56 pm

Xin hat geschrieben:Kurze Antwort: Ich habe ein ganzes Informatikstudium (mit E-Technik Schwerpunkt) geschafft, ohne jemals zu kapieren, wie ein FlippFlopp funktioniert.
Man bedenke ich bin in der EDV-Abteilung, ich hab ernsthaft Mitleid mit den Schülern der Elektronik-Abteilung...
Und weil unser Lehrer versucht uns das immer mehr einzutrichtern, geht die ganze Zeit für Assembler drauf :(
Xin hat geschrieben:Ich weiß, das ist keine Hilfe, aber es ist eine vertretbare Bildunglücke... solltest Du es kapieren, erklär's mir mal...
Das Prinzip verstehe ich. Ich kann mir ohne Probleme die charakteristische Gleichung für den RS im Kopf ausdenken. Aber den Zusammenhang zwischen Gleichung und Schaltung krieg ich nicht hin...
Ich habe in der Schule inzwischen drei Tests darüber geschrieben und das nie gebraucht. Aber ich würde das gern im Wiki halbwegs gut erklären. Wenn ich so recht drüber nachdenke wurde mir das aber auch nie wirklich erklärt.
Jside hat geschrieben:Das eine ist immer das Invertierte des anderen.
Ja, wie bereits von mir erwähnt.
Jside hat geschrieben:Wenn du auf S Strom setzt, ist auf Q2 Strom und Q1 auf Low, egal, ob weiterhin auf S Strom ist, oder nicht.
Wenn du nun auf R Strom setzt, wird das FlipFlop getoggelt, daher dann ist auf Q1 Strom, und Q2 ist Low.
Ich wollte es gerade an einem Beispiel erklären, aber dann kamen die erwähnten Kopfschmerzen ^^
Jside hat geschrieben:Ich kann allerdings D Oktal FlipsFlops empfehlen ;)
D-FFs kenne ich schon. Mit Clock-Input, Trigger, usw. Beschert ein Oktal-FF etwa 8-fache Verwirrung? ^^


-----------------------
EDIT:
Jside hat geschrieben://EDIT Hab übersehen, da werden die Outputs überkreutzt, einfach in dem obrigen Beitrag je Q1 durch Q2 und umgekehrt ersetzten ;)
Ja, bei meinen Skizzen mach ich das normal nicht. Nun wirds dann noch verwirrender. Ist es egal ob q oder q' bei r bzw. s ist? Dadurch kommt man doch zu einem ganz anderen Ergebnis, oder?
-----------------------

Benutzeravatar
Jside
Beiträge: 377
Registriert: Di Nov 11, 2008 12:56 am

Re: FlipFlops: Rückkopplung

Beitrag von Jside » Do Apr 16, 2009 9:14 pm

Ok, wenn du Mutig genug bist, erkläre ichs dir, ich übernehme aber keine Haftung gegenüber Kopfschmerzen:

...Also (die RS-FFs werden übrigends LOW-Aktiv benutzt, wenn ich mich recht erinnere)

Also, das obere ist da High Aktiv ungesetzt, wenn ich nun ein Input(LOW) darauf setzte, wird dieses Aktiviert, dadurch wird das untere Gesetzt(Da LOW Output), was wiederum wegen der Kreuzleitung das obere entsetzt(da dann beide Aktiv sind). Mache ich das nun beim unten wird das untere Gesetzt, was das obere Setzt, was wiederum das untere entsetzt.


Wenn du es dir nicht vorstellen kannst, dann mache ich schnell eine Zeichnung ;) ?!

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: FlipFlops: Rückkopplung

Beitrag von nufan » Do Apr 16, 2009 9:22 pm

Jside hat geschrieben:...Also (die RS-FFs werden übrigends LOW-Aktiv benutzt, wenn ich mich recht erinnere)
In meinem Skriptum steht High-Active. Wenn ein Eingang auf H ist, dann wird die Information am Ausgang verändert (wie auch immer das passiert).

Jside hat geschrieben:Also, das obere ist da High Aktiv ungesetzt, wenn ich nun ein Input(LOW) darauf setzte, wird dieses Aktiviert, dadurch wird das untere Gesetzt(Da LOW Output), was wiederum wegen der Kreuzleitung das obere entsetzt(da dann beide Aktiv sind). Mache ich das nun beim unten wird das untere Gesetzt, was das obere Setzt, was wiederum das untere entsetzt.
:?
Jside hat geschrieben:Wenn du es dir nicht vorstellen kannst, dann mache ich schnell eine Zeichnung ;) ?!
Wenn du Zeit hast und außerdem könnte man die dann gleich ins Wiki übernehmen :)
Meine Skizzen sehen normal so aus:
Bild
Wobei die Position von r, s, q, q' nach dem Zufallsprinzip ausgewählt werden...


Nochmal auf eine andere Frage:
Wie sind q und q' beim ersten Durchgang definiert? Sonst steh ich schon beim ersten Gatter vor nem großen '?'

Benutzeravatar
Jside
Beiträge: 377
Registriert: Di Nov 11, 2008 12:56 am

Re: FlipFlops: Rückkopplung

Beitrag von Jside » Do Apr 16, 2009 9:41 pm

nufan hat geschrieben:
Jside hat geschrieben:...Also (die RS-FFs werden übrigends LOW-Aktiv benutzt, wenn ich mich recht erinnere)
In meinem Skriptum steht High-Active. Wenn ein Eingang auf H ist, dann wird die Information am Ausgang verändert (wie auch immer das passiert).
Nein Eindeutig ein Mittelding...Warum? ganz einfach den Zustand 0 0 als Input gibt es nicht, bzw. hat nicht den Gewünchten Effekt. Zum speichern müssen beide eingänge auf 1 stehen. Zum setzten(also toggeln) muss immer auf einem Port 1, und auf dem anderen Port 0 sein, aber als Input 0 & 0 ist fehlerhaft. Damit dürften sich einige Fragen erledigt haben ;)

Bis auf "speichern" ein einfaches Beispiel; Blau heißt 1, und grün 0.
Bild

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: FlipFlops: Rückkopplung

Beitrag von nufan » Do Apr 16, 2009 10:22 pm

Jside hat geschrieben:Nein Eindeutig ein Mittelding...Warum? ganz einfach den Zustand 0 0 als Input gibt es nicht, bzw. hat nicht den Gewünchten Effekt.
Ich dachte genau das ist der Punkt bei FlipFlops. Speicherung von Informationen ohne permanentes Eingangssignal. Und wenn ich nicht setzte und auch nicht zurücksetzte passiert beim RS gar nix... *verwirrt*

Charakteristische Gleichung des RS-FF:
Zustand im nächsten Durchlauf (kurz qn+1) = ¬r ^ (s v q)
Angenommen q = 1, s = 0, r = 0
1 ^ (0 v 1)
1 ^ 1 = 1
Jside hat geschrieben:Zum speichern müssen beide eingänge auf 1 stehen.
Irgendwie sagst du ständig das Gegenteil von dem was ich bisher glaubte zu wissen ^^
Jside hat geschrieben:Damit dürften sich einige Fragen erledigt haben ;)
Nein, leider eher das Gegenteil ^^
Jside hat geschrieben:Bis auf "speichern" ein einfaches Beispiel; Blau heißt 1, und grün 0.
Was ist das für ein +? Ist das die NAND-Darstellung?

Gleich beim ersten Gatter. Beim allerersten Durchlauf. Welchen Wert hat da 2? Oder werden beim ersten Durchlauf nur r und s bewertet?
Das ergibt für mich so viel Sinn wie:

Code: Alles auswählen

#include <stdio.h>

int main ()
{

  int a, b, erg = a + b;

  printf ("%d\n", erg);

  return 0;

}
Nur, dass es beim FF nur 2 Möglichkeiten gibt...

Benutzeravatar
Jside
Beiträge: 377
Registriert: Di Nov 11, 2008 12:56 am

Re: FlipFlops: Rückkopplung

Beitrag von Jside » Do Apr 16, 2009 10:29 pm

nufan hat geschrieben:
Jside hat geschrieben:Nein Eindeutig ein Mittelding...Warum? ganz einfach den Zustand 0 0 als Input gibt es nicht, bzw. hat nicht den Gewünchten Effekt.
Ich dachte genau das ist der Punkt bei FlipFlops. Speicherung von Informationen ohne permanentes Eingangssignal. Und wenn ich nicht setzte und auch nicht zurücksetzte passiert beim RS gar nix... *verwirrt*
Ne, wenn beide auf 0 stehen, liegt auf Q1 und Q2 Strom an.
Jside hat geschrieben:Bis auf "speichern" ein einfaches Beispiel; Blau heißt 1, und grün 0.
Was ist das für ein +? Ist das die NAND-Darstellung?
Das sieht in dem CAD Programm halt so aus. Jaap, sind zwei(resp. 4) NANDs.
Gleich beim ersten Gatter. Beim allerersten Durchlauf. Welchen Wert hat da 2? Oder werden beim ersten Durchlauf nur r und s bewertet?
Beim ersten durchlauf sind die Outputs(siehe oben) glaubisch beide 1 solange bis halt eine Aktion ausgeführt wurde.

Überall lese ich, das 00 speichern wäre, und 11 fehlerhaft, ist aber genau andersherum, da die Inputs LOW Aktiv sind...

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: FlipFlops: Rückkopplung

Beitrag von nufan » Do Apr 16, 2009 10:44 pm

Ich hab jetzt mal meine NAND-Darstellung rausgesucht. Wir haben sie aus der charakteristischen Gleichung welche aus dem KV abgeleitet ist, welches aus der Wahrheitstabelle abgleitet ist, wenn für r = s = 1 gesetzt wird.
Dort sieht das ein bisschen anders aus. Die Eingänge r und s sind mit sich selbst mittels NAND verknüpft (also r NAND r und s NAND s vor der eigentlichen Schaltung).
Wenn du unter Wikipedia auf FlipFlops gehst (auf die elektrischen natürlich ^^) findest du unter dem RS-FF eine Tabelle. Dort ist die Wahrheitstabelle zu finden.
Dort steht:
Die Eingänge R und S sind als negative Logik zu verstehen

Code: Alles auswählen

S 	R 	Q
1 	1 	unverändert
0 	1 	1 (gesetzt)
1 	0 	0 (zurückgesetzt)
0 	0 	Q=Q=1 (wird nicht gespeichert; potenzielle Race condition)
Dann würden deine Aussagen auch stimmen. Dann wäre 11 = LL und der Wert wird gespeichert.

Antworten