Ich möchte eine Schaltung, in der ich die folgende Sequenz bekomme:
0001,
0010,
0100,
1000,
0001
Ich weiß, dass es ein 4-Bit-Schieberegister ist. Aber was ist mein Ansatz, um diese Schaltung zu entwerfen?
Ein Ansatz besteht darin, die Schaltung als regulären Zwei-Bit-Binärzähler unter Verwendung eines Paars Flip-Flops zu entwerfen. Dann setzen Sie eine Schaltung auf die Ausgänge, die die vier Zählerzustände in die gewünschte Ausgangssequenz dekodiert. Solche Dekodierungsfunktionen existieren tatsächlich bereits als eigenständige Chips.
Hier ist die zugehörige Zustandstabelle:
Binär 00 -> 0001 dekodieren
Binär 01 -> 0010 decodieren
Binär 10 -> 0100 dekodieren
Binär 11 -> 1000 decodieren
Binär 00 -> 0001 dekodieren
.....
[usw]
Es gibt andere Möglichkeiten, Ihr rezirkulierendes Schieberegister zu erstellen, aber sie haben oft das Problem, dass unerwünschte Zustände in den Ausgangsstrom gelangen, sodass mehr als ein Bit gleichzeitig gesetzt wird. Der Binärzähler gefolgt von einem Decoder hat dieses Problem nicht.
Vielleicht finden Sie es interessant zu wissen, dass es einen allgemein erhältlichen Chip gibt, der den Zähler- und Decoderbetrieb in einem einzigen IC-Chip durchführt. Der CD74HC4017 ist einer, der dies mit 10 Ausgangspins tut.
Schreiben Sie Ihre Wahrheitstabelle wie gewohnt auf, dh
Current Next
A B C D | A' B' C' D'
0 0 0 1 | 0 0 1 0
0 0 1 0 | 0 1 0 0
0 1 0 0 | 1 0 0 0
1 0 0 0 | 0 0 0 1
Bedeutung A' = D , B' = C , C' = D, D' = A
Sie haben jetzt also die booleschen Gleichungen, die Ihr System definieren, und können jetzt Ihre Schaltung entwerfen. Da Sie möchten, dass Ihre Signale A, B, C und D nur an Taktflanken zugewiesen werden, würden Sie dann jedes Ihrer Ausgangssignale mit dem Ausgang verbinden eines Flipflops verbinden Sie dann den Eingang des Flipflops mit der entsprechenden logischen Gleichung. In diesem Fall würden Sie nur ein Schieberegister erhalten.
Tut