Entwerfen Sie einen 3-Bit-Up-Synchronzähler mit JK-Flip-Flop (ungerade vs. gerade Zahlen)

Ich muss einen 3-Bit-Aufwärtssynchronzähler mit JK-Flip-Flops entwerfen.

Der erste sollte gerade Zahlen zählen:0-2-4-6-0

Der zweite soll ungerade Zahlen zählen:1-3-5-7-1

Ausführungstabelle für JK Flip Flop:

Q(n) Q(n+1) J K
---------------
0    0      0 X
0    1      1 X
1    0      X 1
1    1      X 0

Erste Frage: Entwerfen Sie einen negativflankengetriggerten Synchronzähler mit der Betriebsart:0-2-4-6-0

Mein Design:Erste

Zweite Frage: Entwerfen Sie einen negativflankengetriggerten Synchronzähler mit der Wirkungsweise:1-3-5-7-1

Mein Design:zweite

Hauptfrage: Ich habe zwei Designs wie die Bilder oben gemacht. Aber wie Sie sehen können, ist die JK-Ausgabe dieselbe. Das ist seltsam! In beiden Designs (gerade und ungerade) ist der J(C)-Ausgang = Q(B) und der K(C)-Ausgang = Q(B). Und in diesem Fall zählt diese ungeradzahlige Schaltung zwei mal zwei?

Warum sind die Ergebnisse gleich? Wo genau mache ich einen Fehler?

Hinweis:

In der ersten geraden Zählerschaltung K(A)kann der Wert von 1 oder 0 annehmen.

J(A)In der zweiten Odd-Counter-Schaltung kann der Wert von 1 oder 0 annehmen.

Bauen Sie einen 2-Bit-Zähler auf. Verwenden Sie es für Bit 1 und 2. Fügen Sie für Bit 0 eine Jumper-Option zu VCC oder GND ein, je nachdem, ob gerade oder ungerade Zahlen gezählt werden sollen.
Danke für diesen Trick! Aber auf welchen Eintrag des FlipFlops verlinke ich?
Zuerst der Betrieb eines JK-Flip-Flops ... es sei denn, es gibt eine neue Millennial-Version, JK = 10 für Set, 01 für Reset, 11 für Toggle und 00 für keine Änderung. Verdeutlicht das ein wenig?
Oh, ich glaube, du warst ein gemeiner Wahrheitstisch. Aber ich weiß nicht, wie ich das so gestalten soll. Warum verwende ich nicht 3 FlipFlops? Können Sie ein Beispieldesign geben?
Nun, denken Sie darüber nach ... für einen 2-Bit-Zähler möchten Sie b0 jedes Mal umschalten und b1 nur umschalten, wenn b0 wahr ist ... wenn Sie weiter erweitern, umschalten b2 nur, wenn b1 und b0 wahr sind ... .sehen Sie das Muster? Und es ist nicht schwer, ein JK-Flip-Flop zum Umschalten zu bringen.

Antworten (2)

Sie gehen davon aus, dass der gerade Zähler im Zustand 000 "aufwacht" und der ungerade Zähler im Zustand 001 aufwacht. Diese Annahmen sind nicht gültig, daher sollten einige der irrelevanten Werte in Ihrer Zustandstabelle eigentlich 0 oder 1 sein.

Sehen Sie sich ansonsten die Spalten für die Q-Werte in jedem Zähler an. Wenn die Q-Werte ein ähnliches Verhalten aufweisen, würden Sie erwarten, dass auch das Logikdesign ähnlich ist.

Ich verstehe nicht genau, was du gesagt hast. :) Warum sind diese Annahmen nicht gültig? 000-Zustand für gerade und 001-Zustand für ungerade, ist das nicht richtig?

In der zweiten ungeraden Zählerschaltung sollte der Wert von JA 1 (nicht 0) sein, damit QA immer 1 ist.

Wenn Sie eine k-map voller don't cares als Nullen behandeln, dann ist JA = 0.

Wenn Sie eine k-Karte voller irrelevanter Daten als Einsen behandeln, ist JA = 1.

In der ersten geradzahligen Zählerschaltung sollte der Wert von KA 1 (nicht 0) sein, um den QA-Ausgang auf Null zu zwingen, anstatt ihn einfach auf dem digitalen Wert einzufrieren, bei dem er zufällig eingeschaltet wird.