Digitale Schaltungstechnik/ Zähler/ Synchron/ D Flipflop/ beliebige Zählfolge
Titelseite |
---|
Exkurs: |
Einleitung
[Bearbeiten]Um eine andere Zählfolge zu erreichen, können wir einfach die Eingangslogik anpassen und mit dieser angepassten Logik dann den Zähler realisieren.
In diesem Kapitel wird anhand eines Beispieles das systematische Vorgehen gezeigt.
Aufgabe
[Bearbeiten]Es soll ein synchroner Zähler mit D-Flipflops realisiert werden, der folgende Zahlen ausgibt:
2 12 8 3 6 7 0
nach der letzten Zahl wieder von vorne beginnen
Binäre Darstellung der Zahlenfolge
[Bearbeiten]In einem ersten Schritt stellen wir die Zahlenfolge in der Zählreihenfolge Binär dar:
dez | ||||
---|---|---|---|---|
2 | 0 | 0 | 1 | 0 |
12 | 1 | 1 | 0 | 0 |
8 | 1 | 0 | 0 | 0 |
3 | 0 | 0 | 1 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
0 | 0 | 0 | 0 | 0 |
Dieser Teil der Tabelle stellt den Eingang unsere Logik dar.
Bestimmen der Ausgangswerte
[Bearbeiten]Da unsere Logik einen Eingang hat, hat sie logischerweise auch einen Ausgang.
Bei einem synchronen Zähler mit D-Flipflop hat die Logik gleich viele Ein- wie Ausgänge und auch die Namen bleiben ähnlich. Um aber klar zustellen, dass eine Zeiteinheit (also ein Takt) zwischen den Codes steht, ist der Name nun n+1 statt n.
Eingänge | Ausgänge | |||||||
---|---|---|---|---|---|---|---|---|
dez | ||||||||
2 | 0 | 0 | 1 | 0 | ||||
12 | 1 | 1 | 0 | 0 | ||||
8 | 1 | 0 | 0 | 0 | ||||
3 | 0 | 0 | 1 | 1 | ||||
6 | 0 | 1 | 1 | 0 | ||||
7 | 0 | 1 | 1 | 1 | ||||
0 | 0 | 0 | 0 | 0 |
Der nächste Schritt ist das Bestimmen der Ausgangswerte unserer Logik.
In der Einleitung wurde geschrieben, das die Logik des synchronen Zählers aus dem aktuellen Wert den nächsten Wert erzeugen soll.
Entsprechend ist der Ausgang gleich dem Eingang um eine Zeile nach oben verschoben.
Die letzte Zeile in der Wahrheitstabelle ergibt sich aus der Definition in der Aufgabe: Nach Erreichen des letzten Wertes soll wieder von vorne begonnen werden.
Grafisch dargestellt sieht das Verfahren wie folgt aus:
Eingänge | Ausgänge | |||||||
---|---|---|---|---|---|---|---|---|
dez | ||||||||
2 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
12 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
8 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
3 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
6 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
7 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
In diesem Kapitel wurde die Tabelle neu gezeichnet, in der Praxis wurden bei der ersten einfach die weiteren Spalten eingefügt.
Sortieren der Wahrheitstabelle
[Bearbeiten]Dieser Zwischenschritt erleichtert das Erstellen der KV-Diagramme. In der Praxis wird dieser Schritt zumeist weggelassen.
Nicht verwendete Zustände benötigen keinen bestimmten Ausgangswert, entsprechend werden sie mit X gekennzeichnet.
Eingang | Ausgang | |||||||
---|---|---|---|---|---|---|---|---|
dez | ||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | x | x | x | x |
2 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
4 | 0 | 1 | 0 | 0 | x | x | x | x |
5 | 0 | 1 | 0 | 1 | x | x | x | x |
6 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
7 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
8 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
9 | 1 | 0 | 0 | 1 | x | x | x | x |
10 | 1 | 0 | 1 | 0 | x | x | x | x |
11 | 1 | 0 | 1 | 1 | x | x | x | x |
12 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
13 | 1 | 1 | 0 | 1 | x | x | x | x |
14 | 1 | 1 | 1 | 0 | x | x | x | x |
15 | 1 | 1 | 1 | 1 | x | x | x | x |
KV Diagramme
[Bearbeiten]Der letzte Schritt ist nun relativ Einfach: Für die gegebenen Wahrheitstabelle ist eine möglichst einfache Funktionsgleichung zu erstellen.
15 X | 11 X | 3 0 | 7 0 | |
14 X | 10 X | 2 1 | 6 0 | |
12 1 | 8 0 | 0 0 | 4 X | |
13 X | 9 X | 1 X | 5 X |
15 X | 11 X | 3 1 | 7 0 | |
14 X | 10 X | 2 1 | 6 1 | |
12 0 | 8 0 | 0 0 | 4 X | |
13 X | 9 X | 1 X | 5 X |
15 X | 11 X | 3 1 | 7 0 | |
14 X | 10 X | 2 0 | 6 1 | |
12 0 | 8 1 | 0 1 | 4 X | |
13 X | 9 X | 1 X | 5 X |
Q_{0n+1} | ||||
---|---|---|---|---|
15 X | 11 X | 3 0 | 7 0 | |
14 X | 10 X | 2 0 | 6 1 | |
12 0 | 8 1 | 0 0 | 4 X | |
13 X | 9 X | 1 X | 5 X |