第14回 カウンタ回路 (2)

オンデマンド受講する場合は、必ず連絡の動画を見てから今回の内容に進んでください。

非同期式10進アップカウンタ

概要

動画の解説を参照
ネガティブエッジトリガ型JK-FFには、(これまで省略していましたが) リセット用の入力があります。

この入力 \(R\) を1にすると、\(CLK\) の値が何であっても強制的に \(Q\) が 0 になります。
\(R=0\) に戻すとまたこれまで通りの動作になります。

前回見たアップカウンタは、4進、8進、16進、...のように2の累乗進数のカウンタに限定されていましたが、リセットを上手く使えばそれ以外のカウンタも作れます。

16進カウンタは0→1→2→...→8→9→10→11→12→13→14→15→0→1→... という動作をしますが、
\(Q\), つまり \(Q_3Q_2Q_1Q_0\) の並びの2進数が \((1010)_2=(10)_{10}\) になった瞬間に \(Q_0\)~\(Q_3\) を強制的に 0 にすれば、
10進カウンタ、つまり 0→1→2→...→8→9→0→1→... のような動作になります。
\(Q_3\bar{Q}_2Q_1\bar{Q}_0\)
は \(Q_3=1, Q_2=0, Q_1=1, Q_0=0\) のとき、つまり \(Q\) が 10 のときだけ 1 になり、それ以外では 0 になるので
このように \(Q_3\bar{Q}_2Q_1\bar{Q}_0\) を4つのネガティブエッジトリガ型JK-FFのリセットに入れる回路を作れば、10進アップカウンタになります。

10 になったあとで強制的に 0 に戻されるので、オシロスコープではこのように一瞬だけ 10 になるのが確認できます。
(10 になるのは一瞬だけなので、人間の目には7セグメントLEDの表示が 9 の次に 0 に変わったように見えます)

課題1

※ 準備 : 学籍番号を入れて「入力」をクリック (タップ) してください。


10進アップカウンタ回路 の配線を変え、進アップカウンタ回路に変更してURLを提出してください。
※ 7セグメントLEDの表示が のあとに 0 になれば正しい動作です。

課題1解説

同期式カウンタ

概要

動画の解説を参照
前項で見た10進カウンタでは、一瞬だけ「10」の状態が発生してしまうため、機械的な測定などには向かないことがあります。
そのような用途では、ほんとうに 9 の次に 0 に変わるような回路が必要になります。

準備段階として、0→1→2→3→4→0→1→... のように変化する 5進アップカウンタを考えてみます。
(前項と同じ考え方で、8進カウンタで「5になったらリセット」する信号を3つの \(R\) に入れればほぼ同様になりますが、これも一瞬だけ 5 になってしまいます)
それには、3つのネガティブエッジ型JK-FF に同じ \(CLK\) を入れ、直前の状態に応じて \(J, K\) に適切なものが入るようにします。
クロックの立ち下がりの前後で「こうなって欲しい」動作を真理値表にまとめるとこのようになります。
変化前 変化後 \(J_2\) \(K_2\) \(J_1\) \(K_1\) \(J_0\) \(K_0\)
\(Q_2\) \(Q_1\) \(Q_0\) \(Q_2\) \(Q_1\) \(Q_0\)
0 0 0 0 0 1 0 \(x\) 0 \(x\) 1 \(x\)
0 0 1 0 1 0 0 \(x\) 1 \(x\) \(x\) 1
0 1 0 0 1 1 0 \(x\) \(x\) 0 1 \(x\)
0 1 1 1 0 0 1 \(x\) \(x\) 1 \(x\) 1
1 0 0 0 0 0 \(x\) 1 0 \(x\) 0 \(x\)
\(x\) : don't care

例えば表の1行目 (000→001) では変化の前後で \(Q_2\) がどちらも 0 です。
これを実現するには \(J_2=0, K_2=0\) にして「保持」にするか、\(J_2=0, K_2=1\) にして\(Q_2\) を 0 にすればいいので、 表ではこれらの部分が「0」「\(x\)」になっています。 \(J_1, K_1, J_0, K_0\) についても同様です。
\(J_2\) だけに注目すると、\(Q_2\)~\(Q_0\) についてのカルノー図が描けて、図から \(J_2=Q_1Q_0\) にすればいいことがわかります。
\(Q_2\) \ \(Q_1Q_0\) 00 01 11 10
0 1
1 \(x\) \(x\) \(x\) \(x\)
同様にして残りの論理式も求めると以下のようになります。
\(J_2 = Q_1Q_0\), \(K_2=1\)
\(J_1 = Q_0\), \(K_1=Q_0\)
\(J_0 = \bar{Q}_2\), \(K_0=1\)
この論理式を回路で作り、それぞれのJK-FFの J と K に入れるとこのようになります。
このような回路を同期式5進アップカウンタといいます。

\(R\) で強制的に 0 にしたときとは異なり、このように 4 のあとは自然に 0 に戻ります。

同期式10進アップカウンタも同様にして作れます。
真理値表とカルノー図は省略しますが、同様に \(Q_3Q_2Q_1Q_0\) が 0000→0001→0010→...→1001→0000→0001→...のように変化する条件をすべて満たすように J, K に入るものを決めると
\(J_3 = Q_2Q_1Q_0\), \(K_3=Q_0\)
\(J_2 = Q_1Q_0\), \(K_2 = Q_1Q_0\)
\(J_1 = \bar{Q}_3Q_0\), \(K_1 = Q_0\)
\(J_0 = 1\), \(K_0 = 1\)
となります。この論理式を回路で作り、それぞれのJK-FFの J と K に入れるとこのようになります。

前項の非同期式 10進カウンタとは異なり、このように 9 のあとは自然に 0 に戻ります。

課題

課題解答