../../icons/Logo.pngPraktische Elektronik

Daten-Speicher

Wir haben in dem Praktikum NAND-Gatter mit Gedächtnis gelernt, wie mit zwei NAND-Gattern ein einfacher Speicher, ein R-S-Flip-Flop aufgebaut wird.

Nand_RS.png
Bild 1: Ein RS-Flip-Flop aus NAND-Gattern

Ein R-S-Flip-Flop ist allerdings nicht einfach anzusteuern. Wir müssen vermeiden, dass beide Eingänge 0 werden.

Die folgende Schaltung vermeidet diesen Nachteil.

Nand-D-Speicher.png
Bild 2: D-Speicher (D-Latch) aus Nand-Gattern

Die Schaltung in Bild 2 ist ein einfacher Daten-Speicher, meistens D-Latch genannt. Er hat drei Anschlüsse:

  • den Dateneingang D,
  • den Takteingang C und
  • den Datenausgang Q.

Eine Änderung des Zustands am Dateneingang (über Taster D) hat keine Wirkung auf die Ausgänge, wenn C=0 ist. Ist der Eingang C=1, folgt der Ausgang Q dem Dateneingang D. Q behält den Zustand bei, wenn C=0 ist.

Wer es nicht glaubt:

Die LED1 und LED2 zeigen, wie die Signale für das RS-Flip-Flop gebildet werden.

1.
Der Ausgang von U1A wird nur dann 0, wenn D=1 und C=1 ist (NAND).
2.
Wenn D=0 ist, ist der Ausgang von U1A immer 1.
3.
Der Ausgang von U1B wird nur dann 0, wenn U1A=1 und C=1 ist. Das ist nur dann der Fall, wenn D=0 ist (Siehe 2.).
4.
U1A oder U1B können nur dann 0 werden, wenn C=1 ist.
5.
Es sind nie U1A und U1B gleichzeitig 0 (Siehe 1. 2. 3.).
6.
Die Ausgänge U1A und U1B sind die Eingänge des RS-Flip-Flops.
7.
Der Ausgang Q des RS-Flip-Flops wird dann Q=1, wenn U1A=0 ist, d.h. wenn D=1 und C=1.
8.
Der Ausgang Q des RS-Flip-Flops wird dann Q=0, wenn U1B=0 ist, d.h. wenn D=0 und C=1.
9.
Wenn C=1 ist, wird der Wert von D in Q gespeichert (Siehe 7. und 8.).

Diese Schaltung ist grundlegend und wir sollten sie auf dem Steckboard aufbauen und nachmessen.

Wir betrachten die Wahrheitstabelle eines D-Latches:

D C Q
0 1 0 1
1 1 1 0
x 0 Q

x meint 0 oder 1.

Das D-Latch hat den Nachteil, dass der Ausgang Q dem Eingang D folgt, wenn C=1 ist. Wenn wir den Ausgang über eine Logik dem Eingang wieder zuführen würden, können wir Chaos erzeugen.

Auf der anderen Seite können gerade dadurch, dass die Zustände von Ausgängen über Logik auf Eingänge zurückgeführt werden, intelligente Schaltungen (Zustands-Maschinen) aufgebaut werden. Wir werden darauf noch eingehen. Moderne D-Speicher übernehmen deshalb den Zustand nicht während der Takt aktiv ist, sondern mit einer Taktflanke.

  • Eine Taktflanke ist der schnelle Übergang des Eingangs C
  • von 0 nach 1 (positive Flanke)
  • oder von 1 nach 0 (negative Flanke).

74HC175

Es gibt zwar den 74HC75 mit vier D-Latches. Wir nehmen jedoch aus den oben genannten Gründen einen 74HC175.

D-Register-74HC175.png
Bild 2: Vierfach D-Register 74HC175

Das D-Register 74HC175 hat alles, was zum Bau von Zustandsmaschinen benötigt wird.

  • Der Zustand wird übernommen, wenn der Takt Cp von 0 nach 1 übergeht, mit der positiven Flanke des Übergangs von 0 nach 1.
  • Änderungen vor oder nach der Flanke haben keinen Einfluss auf den Wert im D-Register.
  • Der 74HC175 hat den Eingang M̅r̅ mit dem alle Q-Ausgänge auf 0 gesetzt werden.
  • wenn an Pin 1 eine 0 gelegt wird, werden alle D-Register zurückgesetzt.
  • Wenn der 74HC175 eingeschaltet wird, hat er einen zufälligen Wert.
  • Durch M̅r̅ wird der 74HC175 auf einen definierten Wert gesetzt.
  • Der 74HC175 hat für jeden Ausgang Q einen invertierten Ausgang .
  • Die sind hilfreich, wenn an das D-Register komplexe Logiken angeschlossen werden sollen.
  • Der Eingang M̅r̅ (Master reset) wird manchmal auch mit C̅l̅r̅ (Clear) bezeichnet.

Die Wahrheitstabelle für jedes D-Register ist:

M̅r̅ Cp D Q
0 x x 0 1
1 1 1 0
1 0 0 1
1 0 x Q
1 0 x Q

Mit x ist ein beliebiger Wert (0 oder 1 oder Flanken) gemeint.
Mit dem ist die Flanke von 0 nach 1 gemeint. Entsprechend ist die Flanke von 1 nach 0.

Weitere Versuche

1.
In der Schaltung Bild 3, wird der Ausgang Q̅3̅ auf den Eingang D3 zurückgeführt. Der Taster D und R1 werden natürlich entfernt. Wie verhält sich die Schaltung, wenn der Taster C betätigt wird?
3.
Können wir uns auf das Verhalten im Versuch 2. verlassen?
Der Zustand von Q3 sollte bei jedem Takt umschalten.
Wenn nicht, prellt der Taster für den Takt.
Welche Lösung gibt es gegen Prellen?

Regeln

  • D-Latches und D-Register werden über einen Takt gesteuert.
  • Zustands-gesteuerte D-Latches übernehmen das Datum am Eingang, wenn der Takt aktiv ist.
  • Flanken-gesteuerte D-Register übernehmen das Datum am Eingang mit einer Taktflanke.
  • Eine Flanke ist der Übergang
  • von 0 nach 1, positiv oder steigend
  • von 1 nach 0, negativ oder fallend
  • Mit einem Mr oder Reset-Eingang können D-Register auf einen definierten Wert (meisten 0) gesetzt werden.
  • Anstelle von Mr ist auch die Bezeichnung CRL gebräuchlich.
  • Fast immer ist es besser, flankengesteuerte D-Register zu verwenden.