NAND-Gatter mit Gedächtnis
Die Schaltung hat einige interessante Eigenschaften.
Zuerst haben wir die Eingänge Pin 1 und Pin 5 über Widerstände mit Plus verbunden. Wenn kein Taster betätigt wird, nehmen die Eingänge dies als logisch 1 wahr. Der Taster T1 legt Pin 1 auf Minus (0V). Ein betätigter Taster erzeugt somit eine logische 0 am Eingang des Gatters.
Wir betätigen den Taster T1
Dann liegt am Eingang Pin 1 von Gatter A eine 0 an. Wir schauen in die Wahrheitstabelle eines NAND-Gatters.
Pin 1 | Pin 2 | Pin 3 |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Das NAND-Gatter A erzeugt am Ausgang eine 1, unabhängig, was an Pin 2 anliegt. Die LED1 leuchtet.
Der Taster T2 ist offen. Damit liegt an Pin 5 eine 1 an. Der andere Anschluss (Pin 4) von Gatter B liegt am Ausgang (Pin 3) von Gatter A. Der Ausgang von Gatter A ist, wie oben beschrieben, 1. Beide Eingänge von Gatter B sind 1. Ein Blick in die Wahrheitstabelle zeigt, dass dann der Ausgang von Gatter B dann 0 ist. LED2 leuchtet nicht. Der Ausgang von Gatter B wird auf den Eingang Pin 2 von Gatter A geführt und erzeugt dort eine 0.
Wenn wir nun den Taster T1 loslassen, liegt am Eingang Pin 1 von Gatter A eine 1 an. Auf Pin 2 liegt immer noch die 0 vom Ausgang von Gatter B. Die Wahrheitstabelle besagt, dass dann der Ausgang von A = 1 bleibt. Die LED1 leuchtet also weiterhin. Am Ausgang von Gatter B ändert sich nichts, da sich seine Eingänge nicht geändert haben. Die 0 bleibt erhalten und LED2 leuchtet nicht.
Mit anderen Worten, der Ausgang von A bleibt auf 1, auch wenn wir T1 loslassen.
Die Schaltung aufbauen
Bevor wir uns weiter mit logischen Konstrukten beschäftigen, brauchen wir Praxis. Wir bauen die Schaltung auf und beobachten ihr Verhalten.
Und nun zur Praxis: Welche der beiden LEDs beim Einschalten leuchtet, hängt vom Zufall ab. Manchmal ist immer die gleiche LED, manchmal kann es auch wechseln.
Unser Versuch:
Das Ergebnis:
- T1 schaltet die rote LED1 ein, T2 schaltet die grüne LED2 ein.
- Bei mehrmaligem Drücken desselben Tasters ändert sich der Zustand nicht.
Der R-S-Flip-Flop
Die Schaltung merkt sich, welcher Taster zuletzt betätigt wurde. Sie bildet einen Speicher. Wir nennen diese Schaltung ein R-S-Flip-Flop. Mit Flip-Flop bezeichnet man eine Schaltung, die verschiedene Zustände einnehmen kann. R-S ist eine Abkürzung von Reset-Set, also Zurücksetzen-Setzen. Dafür gibt es ein Schaltzeichen:
Der Ausgang Q ist NOT Q, also der invertierte Wert des Ausgangs Q.
Mit R ist NOT R gemeint.
Mit S ist NOT S gemeint.
R und S sind low-active.
Übertragen auf unsere Schaltung ist S Pin1, R Pin5, Q1 Pin3 und Q2 Pin6
Wenn an S eine 0 gelegt wird, wird Q = 1 und Q = 0. Q wurde bei allen unseren Versuchen immer zu Q negiert. Ein Reset, eine logische 0 am Eingang R setzt den RS-Flip-Flop zurück. Es wird Q = 0 und Q = 1.
Leider ist dieses Symbol praktisch bedeutungslos, da es keinen IC mit RS-Flip-Flops gibt. RS-Flip-Flops sind oft in Schaltungen von komplexeren ICs enthalten.
Was passiert, wenn wir beide Taster gleichzeitig betätigen und wieder loslassen?
Welche LED leuchtet, ist zufällig. Falsch! Welche LED anschließend leuchtet, ist durch unsere Schaltung eindeutig vorgegeben. Es hängt vielmehr von uns ab, welchen Taster wir zuletzt loslassen. Der 74HC00 reagiert in Millionstel Sekunden.
Wir können das Verhalten des RS-Flip-Flops in Form einer Wahrheitstabelle beschreiben:
R | S | Q | Q | Anmerkung |
0 | 0 | Der Zustand der Ausgänge ist undefiniert | ||
0 | 1 | 0 | 1 | |
1 | 0 | 1 | 0 | |
1 | 1 | Der letzte Zustand wird gespeichert |
Wir haben noch ein weiteres Problem: Der Zustand beim Einschalten ist nicht eindeutig. Die Lösung ist einfach: Wir brauchen jemanden, der beim Einschalten kurz T1 oder T2 betätigt. In Bild 2 sind zwei Kandidaten abgebildet: Kondensatoren. Sie liegen oben rechts. Kondensatoren können kurzzeitig einen Kurzschluss erzeugen.
Wenn wir einen Kondensator parallel zum Taster T1 legen, ist nach dem Einschalten der Stromversorgung Q = 1 sein und die LED1 leuchtet. Wenn wir ihn parallel zu T2 schalten, leuchtet LED2.
Wir nehmen einen Keramik-Kondensator oder Vielschicht-Kondensator mit 100nF. Diese Kondensatoren haben keine Polarität und wir müssen uns darum kümmern, wie wir den Kondensator anschließen müssen.
In Bild 2 ist der blaue Kondensator mit 100nS gekennzeichnet. Normalerweise lässt man das F für Farad einfach weg. Was das 'S' bedeutet, weiß nur der Hersteller. Er meint 100nF. Auf dem kleinen gelben Kondensator steht 104. Das bedeutet 10 und 4 Nullen, also 100000. Das sind 100000pF oder 100nF.
Mit diesen Zahlenspielen werden wir uns später beschäftigen. Für uns ist jetzt wichtig, dass der Kondensator tatsächlich den RS-Flip-Flop nach dem Einschalten der Stromversorgung in einen definierten Zustand bringt. Diesen Trick mit dem Kondensator werden wir später noch einmal anwenden.
In der obigen Schaltung ist der Kondensator eingezeichnet. Er ist durch zwei parallele Linien mit zwei Anschlüssen dargestellt.
Entprellen von Schaltern
Für uns sind RS-Flip-Flops von praktischer Bedeutung, weil wir damit Schalter entprellen können.
Wenn man einen Schalter betätigt, schließt er nicht sofort, sondern die Mechanik schwingt kurz hin und her. Der Schalter öffnet und schließt sich einige Male sehr schnell hintereinander. Dadurch erzeugt er einige Impulse, auf die eine schnelle Digitalschaltung reagiert und dann z.B. falsch zählt.
Wir bauen einfach ein RS-Flip-Flop davor und verhindern fehlerhafte Impulse.
Der Schalter wird durch einen Umschalter ersetzt. Beim Prellen schwingt der Schalter natürlich nicht von einer Stellung in die andere. War der Schalter einmal kurz in einer Stellung und hat dort eine 0 erzeugt, übernimmt der RS-Flip-Flop diesen Zustand. Die folgenden 0-en, und damit das Prellen werden ignoriert.
Weitere Versuche
- Wo muss der Kondensator angeschlossen werden, wenn der RS-Flip-Flop nach dem Einschalten im Set-Zustand sein soll?