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


Wir lernen, wie man mit NAND-Gattern einen einen Daten-Speicher aufbaut.


list.png

Daten-Speicher

Datenspeicher mit R-S-Flip-Flop

Wir haben im 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
  • Jeder Eingang wird über einen Widerstand auf 1 gelegt.
    Bei Betätigung des Tasters wird eine 0 erzeugt.

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.

Das D-Latch

Nand-D-Speicher.png
Bild 2: D-Speicher (D-Latch) aus Nand-Gattern
  • Die Eingänge mit Taster und Widerstand in Bild 2 sind gegenüber Bild 1 umgekehrt.
    Bei Betätigung eines Tasters wird eine 1 erzeugt.

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 den 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 Q
0 1 0 1
1 1 1 0
x 0 Q Q

x meint 0 oder 1.

Der Ausgang Q ist NOT Q, also der invertierte Wert des Ausgangs Q.

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 3: Vierfach D-Register 74HC175
  • Bei Betätigung eines Tasters wird eine 1 erzeugt.

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 Mr 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 Mr wird der 74HC175 auf einen definierten Wert gesetzt.
  • Der 74HC175 hat für jeden Ausgang Q einen invertierten Ausgang Q.
  • Die Q sind hilfreich, wenn an das D-Register komplexe Logiken angeschlossen werden sollen.
  • Der Eingang Mr (Master reset) wird manchmal auch mit Clr (Clear) bezeichnet.

Die Wahrheitstabelle für jedes D-Register ist:

Mr Cp D Q Q
0 x x 0 1
1 1 1 0
1 0 0 1
1 0 x Q Q
1 0 x Q 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 Q3 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.