Ich hab nun die möglichen Zustände /Übergänge in ein Sheet eingetragen
A = Eingang 1
a = Eingang 1 delayed
B = Eingang 2
b = Eingang 2 delayed
das Dach "^" stellt ein XOR dar
| = OR
& = AND
! = NOT
Die nichtgerahmte "Dir" ist die tatsächliche Richtung, das gerahmte DIR ganz rechts das abzuleitende
"AaBb" ist nur die Zusammenfassung der Eingänge
Bei jedem stabilen Zustand (lt. Zeichnung Manfred) sind zwei Übergänge möglich: vorwärts und zurück
Durch das XOR der Eingänge / delay findet die Flanken-Erkennung statt.
Die Clock für den Zähler ist also offensichtlich EdgeA OR EdgeB
(A^a | B^b) zu verwenden
De Richtung kann folgendermaßen festgestellt werden
DIR = (A^a | B^b) & (a^B) & !( A^b)
Eigentlich genügt aber DIR = (a^B) & !( A^b) , da der Zähler ohnehin nur die Richtung bei einer Flanke von Clock übernimmt.
Vielleicht findet sich jemand, der diese binäre Orgie als anschaulichere konkrete Schaltung aufzeichnet, dann sieht es nicht mehr so schlimm aus.
Bei dem vorgeschlagenen Chip sind die Clock Ausgänge UP / DOwn gesondert geführt. Das ist praktisch, wenn man zwei Interrupts damit bepflastert, die dann ohne weitere Informationen von außen hoch- oder runterzählen können.
Die üblichen Up/Down Counter haben mit unserer Version mehr Freude.
Manfred, sind wir jetzt komplett ? (die darstellung ist halt nicht state-of-the-art)
PS: Ich hab auch nicht überprüft, ob der Herr Morgan das nicht auch etwas kompakter zuläßt, überhaupt, wenn man die XOR's auftröselt.
Lesezeichen