Digitale Schaltungstechnik/ Zähler/ Asynchron/ Vorwärts/ Rücksetzend
Titelseite |
---|
Zählbereich 0 bis n
[Bearbeiten]Um einen Zähler zu realisieren, der nicht nur in 2x Schritten zählt, könnte man den Zähler sozusagen vor Erreichen des Maximums zurück auf 0 setzen. In der Praxis wird auch genau das gemacht.
Hierzu wird dem T-Flipflop ein Reset-Eingang hinzu gefügt, über den das Flipflop zwangsmäßig auf 0 gesetzt werden kann.
Betrachten wir uns das aber näher an einem Beispiel:
Lösungsmethode 1
[Bearbeiten]Als erstes Zeichnen wir ein bisherigen Zähler der gerade ein Stück zu weit zählt:
In unserem Fall wollen wir bis 4 Zählen, gemäss unsere Tabelle am Anfang ist die nächstgrössere Zahl 7. Um bis 7 zu zählen benötigen wir 3 Flipflops: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Stellen wir nun die Wahrheitstabelle dieses Zählers auf: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Besonders Interessant sind diese Zeilen: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Das die Vier rauskommt wollen wir, aber die Fünf wollen wir eigentlich nicht.
Der Zähler musste also von 4 wieder auf 0 springe. Um den Zähler auf Nullsetzen, können wir die einzelnen Flipflops zurücksetzen. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fügen wir den Flipflops eine Resetleitung an: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Da der Zähler als ganzes zurückgesetz werden soll, können wir auch die einzelnen Flipflops gemeinsam zurücksetzen: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Jetzt bleibt nur noch die Frage, wann genau wir den Zähler zurücksetzen müssen.
Ergänzen wir die Wahrheitstabelle unseres Zählers jedenfalls mal mit einem Resetsignal: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Die Vier wollen wir noch sauber haben, die fünf hingegen wollen wir nicht.
Folglich setzten wir den Zähler bei Fünf, der ersten "verbotenen Zahl", zurück: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Die Zahlen vor fünf wollen wir ja. Also dort setzen wir nicht zurück: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bei den anderen Zahlen spielt es uns keine Rolle, also notieren wir das auch so: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Den nächsten Schritt Schritt ist das Auslesen der Gleichung. QA, QB und QC sind die Eingänge und R der Ausgang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Der Nächste Schritt ist nun nur noch das Einfügen dieser Logik: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Das zugehörige Impulsdiagramm könnte so aussehen: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Die 5 wird also effektiv ausgegeben. Ebenfalls besteht das Reset-Signal länger als der entsprechende Eingangszustand, da alle Tore in der Digitaltechnik eine sogenannte Laufzeit haben. Diese sogenannte Signallaufzeit bestimmt auch, wie lange der „verbotene Zustand“ 5 bestehen bleibt. |
Lösungsmethode 2
[Bearbeiten]Statt jedes mal eine Wahrheitstabelle zu erstellen, können wir auch einfach die obere Limit plus eins in das Und ein codieren.
Als Beispiel realisieren wir einen 0 bis 5-Zähler:
Als erstes Zeichnen wir ein bisherigen Zähler der gerade ein Stück zu weit zählt:
In unserem Fall wollen wir bis 5 Zählen, gemäss unsere Tabelle am Anfang ist die nächstgrössere Zahl 7. Um bis 7 zu zählen benötigen wir 3 Flipflops: |
||||||||||||||||||||||||
Statt nun die komplette Wahrheitstabelle zu erstellen, schreiben wir nur die Zeile mit dem ersten unerwünschten zustand: |
| |||||||||||||||||||||||
und lesen für diese Zeile die Gleichung aus: | ||||||||||||||||||||||||
und setzen sie in der Schaltung um: |
Länge des Rücksetzsignales
[Bearbeiten]Die Minimale Länge (die das Flipflop braucht um sauber zurückgesetzt zu werden) und die effektive Länge (solange wir Reset tatsächlich High ist) des Rücksetzsignal lässt sich leider nicht einfach bestimmen, obwohl es für die Funktion dieser Schaltungen elementar ist.
Tatsache ist, dass die Schaltung meisten funktioniert. Jedoch wenn sie nicht funktioniert oder noch schlimmer nicht zuverlässig funktioniert, wird die Fehlersuche schwierig. Um diesem Problem zu entgehen, kann man in die Reset Leitung ein Monoflop einbauen.
Details
[Bearbeiten]Unsere Ausgangslage sei ein 0 bis 9 Zähler | ||||||||||||||||||||||||||||||
Betrachten wir das Zurücksetzen nochmal näher, aber aus einer etwas anderen Perspektive: |
| |||||||||||||||||||||||||||||
QA ist schon auf 0 und muss deshalb eigentlich nicht zurückgesetzt werden. QC wäre zwar auch 0, muss aber zurück gesetzt werden, weil beim zurücksetzen von QB ein Impuls erzeugt wird, der QC umschaltet. | ||||||||||||||||||||||||||||||
Das Schema sieht dann also so aus: | ||||||||||||||||||||||||||||||
In der Praxis würde das wie gehabt auch funktionieren.
Die genauen Regeln, wann ein Zurücksetzen erforderlich ist und wann es weggelassen werden kann, ließen sich anhand weiterer Bespiele entwickeln und aufstellen. Da das Weglassen von Reset-Leitungen aber ohnehin keine wesentliche Vereinfachung darstellt, verzichten wir darauf. Des weiteren stellt sie auch noch zusätzliches Fehlerpotential dar und die Lesbarkeit der Schaltung wird verringert. |
Anwendung
[Bearbeiten]Zählbereich n bis m
[Bearbeiten]In diesem Beispiel wollen wir einen Zähler von 3 bis 12 realisieren. Beginnen wir bei einem Zähler, der von 0 bis 12 zählt: | |
Wie wir im Kapitel Flipflop gesehen haben, gibt es nicht nur Flipflops mit Reset, sondern auch mit Set-Eingang.
Statt das wir alle Flipflops einfach auf Null setzen, können wir die Flipflops auch auf den gewünschten Wert setzen. Also: |