Flip-Flops


R-S-Flip-Flop

Im letzten Kapitel wurde die Speicherung eines Bits mit Hilfe einer Rückkopplung möglich gemacht:

Diese logische Schaltung soll noch mit einer zweiten Ausgangsleitung erweitert werden, die immer das invertierte Bit der anderen Leitung anzeigt. In der Schaltung verwenden wir als Bauteil ein OR-Gatter, dessen Ausgang negiert ist:

Die Schalttabelle für das NOR-Gatter ist folgende:

Z1 Z2 NOR
0 0 1
0 1 0
1 0 0
1 1 0

Damit können wir die logische Schaltung für die Speicherung eins Bits wie folgt bauen:

Diese Schaltung zur Speicherung eines einzigen Bits nennt man ein R-S-Flip-Flop.


Taktung der Speicheränderung

Das gespeicherte Bit soll nur geändert werden, wenn der Taktgeber über eine Steuerleitung das "OK" dazu gibt. Dazu wird das R-S-Flip-Flop mit einer Steuerleitung erweitert.

Eine Änderung in der "Set"-Leitung oder in der "Reset"-Leitung wird nur dann weitergegeben, wenn die Taktleitung auf "1" gesetzt wurde. Ist die Taktleitung auf "0" werden die Änderungen in den EIngabeleitungen nicht weitergegeben.


Serielle Bitspeicher

Wenn im Flip-Flop ein Bit gespeichert ist, wird das sofort überschrieben, sobald ein neues Bit über den Eingang des Flip-Flops ankommt. Das alte Bit wird sofort vergessen. In der folgenden logischen Schaltung werden zwei Flip-Flops direkt hintereinander gebaut, so dass das erste eingespeicherte Bit erst nach zwei Taktzyklen überschrieben wird.

Das Flip-Flop kann also eine neue Bit-Information entgegennehmen, ohne dass dadurch das zuvor gespeicherte Bit überschrieben wird. Erst nach einem zweiten Taktzyklus wird das alte Bit vom neuen Bit überschrieben.

Ein solches Flip-Flop kann weiterentwickelt werden zu einem sogenannten JK-Flip-Flop, das ein Bit getaktet weitergeben kann. Das JK-Flip-Flop ist in der Simulation bereits ein Baustein, der verwendet werden kann.


4-Bit-Schieberegister

Mit Hilfe von JK-Flip-Flops kann ein sogenanntes Schieberegister entwickelt werden, mit welchem z.B. eine 4-Bit-Binärzahl gespeichert werden kann, die durch eine einzige Datenleitung eingespeichert wird.

Anleitung: um z.B. die 4-Bit-Binärzahl 1101 zu speichern, gehen Sie wie folgt vor:

  • setzen Sie 1 als Eingabe-Bit und ändern Sie den Takt von 0 auf 1 auf 0 (1 Takt), die 1 ist auf dem linken Bit gespeichert.
  • wiederholen Sie das für 0, dann 1, dann 1. Die 4 Bits werden seriell (nacheinander) in den Speicher geschoben.

Nach 4 Taktzyklen ist die 4-Bit-Binärzahl im 4-Bit-Schieberegister gespeichert. Um den Speicher zu löschen, schieben Sie 4 mal die 0 in den Speicher.


Anwendung: USB-Stick

Auf einem USB-Stick werden Daten in Form von 1 und 0 gespeichert. Der USB = Universal Serial Bus überträgt die Daten seriell, d.h. ein Bit nach dem anderen über eine einzige Leitung. Dieses Verhalten soll jetzt mit Hilfe von JK-Flip-Flops modelliert werden.

Anleitung:

  • Setzen Sie das Kopier-Bit auf 0, damit keine Daten übertragen werden.
  • Speichern Sie die Binärzahl z.B. 1010 im 4-Bit-Schieberegister, wie es im letzten Beispiel erklärt wurde.
  • Setzen Sie das Eingabe-Bit auf 0 und das Kopier-Bit auf 1.
  • Übertragen Sie mit 4 Taktzyklen die Binärzahl vom USB-Stick auf den PC.

Mit Hilfe der Lösch-Bits können Sie den Speicher des USB-Sticks und des PCs löschen.