Entwerfen Sie einen Zähler mit einer beliebigen Sequenz

Ich versuche, einen asynchronen Zähler mit JK-Flip-Flops mit einer beliebigen Sequenz zu entwerfen.

Die Reihenfolge ist: 0 ,1,10,11, 0 ,5,14,15.

Ich weiß, wie man diese Art von Problemen löst, aber in diesem Fall wiederholt die Sequenz eine Zahl, 0.

Ich möchte das so lösen: https://www.youtube.com/watch?v=Zce6NlHuvfs

Aber ich weiß nicht, wie ich das Problem der Wiederholung einer Zahl in der Folge lösen soll.

Irgendeine Idee?

Vielen Dank im Voraus.

Das Nachverfolgen des vorhergehenden Werts ist eine mögliche Lösung.

Antworten (2)

Wenn Sie die Zuordnung der Zählstände 0-7 zu den Ausgängen aufschreiben

count             oputput
C2 C1 C0          O3 O2 O1 O0
0  0  0           0  0  0  0    =  0
0  0  1           0  0  0  1    =  1
0  1  0           1  0  1  0    = 10
0  1  1           1  0  1  1    = 11 
1  0  0           0  0  0  0    =  0
1  0  1           0  1  0  1    =  5
1  1  0           1  1  1  0    = 14
1  1  1           1  1  1  1    = 15

Sie sehen, dass
O0 = C0
O1 = O3 = C1
O2 = (C0 ODER C1) UND C2

Sie können das also einfach mit einem 3-Bit-Zähler, einem ODER- und einem UND-Gatter erreichen:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Hinweis: Zwischen Zählstand 5 und 6 besteht jedoch ein sogenannter Hazard , dh es können mehrere Flanken auftreten, bevor das Signal auf den neuen Zustand einschwingt. Das ist kein Problem, wenn Sie sich nicht um Ausgangskanten kümmern, sondern nur um Pegel.

Das ist gut. +1!
Mit welcher Software machst du diesen Schaltplan?
@Josedearimatea Er verwendet den in die Site integrierten Schaltplan-Editor. Sehen Sie sich das Stift-, Dioden-, Kondensator- und Widerstandssymbol oben im Editor an oder geben Sie im Editor Strg-M ein.

Anstatt einen Zähler zu erstellen, der in einer seltsamen Reihenfolge zählt, lassen Sie den Zähler normal zählen und ordnen Sie das Ergebnis dann einer Nachschlagetabelle zu. Es scheint, dass Ihre Zahlen auf den Bereich 0-15 beschränkt sind, also 4 Bit. Das bedeutet, dass Sie nur einen 4-Bit-Speicher mit 4-Bit-Adressen für insgesamt 64 Bit benötigen.

Noch einfacher ist es, dies alles in Firmware in einem Mikrocontroller zu tun. Generieren Sie die Zählung durch Inkrementieren und verwenden Sie dann die niedrigen 4 Bits, um in eine Tabelle zu indizieren.