1 論理回路学 9. カウンタ 佐藤証 ⻄9-613 [email protected] 2 2進数カウンタ T-FF(Trigger)はクロック Tが⼊るごとに出⼒が反転 周波数が1/2になる分周 これを数珠つなぎにすると 分周 Q3Q2Q1を3ビットの2進数と 考えるとTが1になるごとに +1/-1するカウンタになる 分周 分周 分周 分周 分周 10進 0 Q3 0 Q2 0 Q1 0 10進 7 Q3 1 Q2 1 Q1 1 1 0 0 1 6 1 1 0 2 0 1 0 5 1 0 1 3 0 1 1 4 1 0 0 4 1 0 0 3 0 1 1 5 1 0 1 2 0 1 0 6 1 1 0 1 0 0 1 7 1 1 1 0 0 0 0 0 0 0 0 7 1 1 1 1 0 0 1 6 1 1 0 2 0 1 0 5 1 0 1 3 演習1(解答) 次のカウンタのタイムチャートと表を完成させなさい ここから 10進 7 Q3 1 Q2 1 Q1 1 10進 0 Q3 0 Q2 0 Q1 0 6 1 1 0 1 0 0 1 5 1 0 1 2 0 1 0 4 1 0 0 3 0 1 1 3 0 1 1 4 1 0 0 2 0 1 0 5 1 0 1 1 0 0 1 6 1 1 0 0 0 0 0 7 1 1 1 7 1 1 1 0 0 0 0 6 1 1 0 1 0 0 1 非同期式と同期式 JK-FFはJ/Kが変化するとすぐにQ/Qが変化する →⾮同期式 クロック付JK-FFは、クロックTの⽴上りのときのJ/Kの値でQ/Qが変化する →クロック同期式 前出のアップ/ダウンカウンタはバタバタと変化が隣に伝搬するので⾮同期式 シフトレジスタは同期式 J J 0 0 1 1 K 0 1 0 1 Q Q 0 1 Q Q Q 1 0 Q 動作 保持 Reset Set 反転 K Q JかKが変化するとすぐにQが変化する T Q クロックの⽴上りのJとKの状態で変化する ⾮同期式 同期式 4 非同期式と同期式 演習でクロックTに同期しているT-FFは左の⼀つだけ Tの⽴ち上りから他のT-FFの⽴ち上り/⽴下りはどんどん遅れる 詳しく 描くと 5 6 非同期式カウンタ 2n周期で出⼒パターンが⼀周して値が00…0に戻るカウンタはT-FFの カスケード接続で簡単に作れる T T1 Q1 Q1 T2 Q2 Q2 T T1 Q1 Q1 T2 Q2 Q2 T3 Q3 Q3 前はQを⼊れていたが 図を簡単にするため Qの反転を⼊れている T-FFが使えない時はD-FFで代⽤できる 信号が少し 遅れて戻る 教科書はD-FFでカウンタを作っているが、簡単なのでここではT-FFを使う 7 非同期式3進カウンタ 2n進カウンタは2n 周期でFFの値が⾃動的に00…0に戻るが、その他の カウンタは決めた値で強制的にFFをリセットする必要がある 3進ならばQ2Q1の値が3(=112) になる瞬間にリセットをかける パルス Q2 0 1 0 2 1 3 1 4 0 Q1 0 1 0 1 0 11で リセット 1 リセット⼊⼒ 1 ⼊⼒が11でリセット パルス Q2 0 1 0 2 1 3 0 4 0 Q1 0 1 0 0 1 Tを反転したので⽴下り で0になるとアクティブ になることに注意! 1 1 1 1 リセット 8 非同期式5進カウンタ Q3Q2Q1が5(=1012)になる瞬間にリセットをかける Q3Q2Q1が7(=1112)になることはないので、実はQ2は無視(Donʼt Care)できる Q1 T T1 R Q1 1 T2 R Q2 Q2 0 T3 R Q3 Q3 1 1 T T1 R Q1 Q1 T2 R 1 Q2 ⼊⼒が111 で出⼒が1 Q2 T3 R Q3 Q3 1 1 1 0 0 1 1 パルス Q3 0 1 0 2 0 3 0 4 1 5 0 6 0 7 0 Q2 0 0 1 1 0 0 0 1 Q1 0 1 0 1 0 0 1 0 101で リセット 非同期式5進カウンタ Q1 T T1 R Q1 1 T2 R Q2 Q2 0 T3 R Q3 Q3 1 1 ⼊⼒が111 でリセット こう描くとわかりやすい 1 0 1 ⼊⼒が101 でリセット 9 10 演習2 (解答) ⾮同期式7進カウンタを作りなさい パルス Q3 0 1 0 2 0 3 0 4 1 5 1 6 1 7 0 8 0 9 0 10 0 1 1 1 T T1 R Q1 Q1 T2 R 1 Q2 Q2 T3 R 1 Q3 Q3 1 Q2 0 0 1 1 0 0 1 0 0 1 1 Q1 0 1 0 1 0 1 0 0 1 0 1 11 同期式カウンタ J 0 0 1 1 2n進カウンタはクロック付JK-FF の⼊⼒JとKを⼀緒にして、保持 (J=K=0)と反転(J=K=1)だけを 使ってT-FFのように使う 1 T T1 Q1 Q1 T2 Q2 Q2 T3 Q3 Q3 T K 0 1 0 1 Q Q 0 1 Q Q1 J1 Q1 T1 K1 Q Q 1 0 Q 動作 保持 Reset Set 反転 ここだけ使う Q2 J2 Q 2 T2 K2 Q3 J3 Q3 T3 K3 12 同期式8進カウンタ Q1は毎クロック反転 Q2はQ1=1で反転 Q3はQ2Q1=11で反転 パルス Q3 Q2 Q1 1 2 3 4 5 6 7 8 9 10 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 11で次に 0 Q3が反転 1 0 1 0 反転 1 0 教科書P89の図3や図4の回路 はクロックTにANDゲートを ⼊れているが、FFの⼊出⼒の タイミングがずれるのでやっ てはいけない 1 T Q1 J1 Q1 T1 K1 1 J2 Q 2 T2 K2 Q2 1 × 1 Q3 J3 Q3 T3 K3 13 同期式8進ダウンカウンタ Q1は毎クロック反転 Q2はQ1=0で反転 Q3はQ2Q1=00で反転 1 J1 Q 1 T1 K1 パルス Q3 Q2 Q1 パルス Q3 Q2 Q1 1 2 3 4 5 6 7 8 9 10 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 8 9 10 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 00で次に 1 Q3が反転 0 1 0 1 反転 0 1 Q1 T 1 T Q2 Q3 J2 Q2 T2 K2 Q1 J1 Q 1 T1 K1 J3 Q3 T3 K3 Q2 Q3 J2 Q2 T2 K2 J3 Q3 T3 K3 0 0 1 1 1 14 演習3(解答例) 同期式16進アップカウンタを作りなさい パルス Q4 Q3 Q2 Q1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 反転 反転 反転 反転 15 演習4(解答例) 同期式16進ダウンカウンタを作りなさい パルス Q4 Q3 Q2 Q1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 反転 反転 反転 反転 最大動作周波数 Tの⽴下りからのANDの出⼒遅延はどんどん増えるが次のTの⽴下りまでに安 定していれば正しく動作し、Qの出⼒遅延はANDとは無関係 FFの⼊⼒に⼊る組合せ回路の遅延時間でその回路の最⼤動作周波数が決まる 16 17 同期式3進カウンタ 3数える毎にJ=0,K=1としてFFをリセット する カウントアップしてQ2Q1=10となった次 のクロックでQ2Q1=00にリセットするが Q2=1だけチェックすればよい ここからTの⽴ち上りに同期するFFを使う パルス Q2 Q1 1 2 3 4 5 6 0 0 1 1 0 0 1 0 1 0 1 0 1 0 パルス Q2 Q1 1 2 3 4 5 6 0 0 1 0 0 1 0 0 1 0 0 1 0 0 Q2=1で次を リセット ここを使う J 0 0 1 1 K 0 1 0 1 Q Q 0 1 Q Q Q 1 0 Q 動作 保持 Reset Set 反転 18 同期式3進ダウンカウンタ 3→2→1→3→2→1と数えるカウンタは簡単 3数える毎にJ=1,K=0としてFFをセットする カウントダウンしてQ2Q1=00となった次の クロックでQ2Q1=10にセットする パルス Q2 Q1 パルス Q2 Q1 1 2 3 4 5 6 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0→1→2 →0→1→2 1 2 3 4 5 6 1 1 0 1 1 0 1 1 0 1 1 0 1 1 3→2→1 →3→2→1 Q2=0で 次をセット ここを使う J 0 0 1 1 K 0 1 0 1 Q Q 0 1 Q Q Q 1 0 Q 動作 保持 Reset Set 反転 演習5(解答) 次の同期式カウンタのタイムチャートを完成させなさい 教科書P.96 図5はこの線が抜けている 19 20 同期式5進アップ/ダウンカウンタ Q1 1 T J1 Q1 T1 K1 Q2 J2 Q2 T2 K2 Q1 J1 T1 K1 Q1 T Q3 1 J3 Q3 T3 K3 Q2 J2 Q 2 T2 K2 Q2 Q3 J3 Q3 T3 K3 Q3 パルス Q3 Q2 Q1 パルス Q3 0 0 0 1 1 0 0 1 1 0 2 反転 0 1 0 2 0 3 0 1 1 3 0 4 1 反転 0 0 4 0 5 0 0 0 5 1 6 0 0 1 6 0 7 0 1 0 7 0 8 0 1 1 8 0 9 1 0 0 9 0 10 0 0 0 10 1 11 0 0 1 11 0 12 0 1 0 12 0 Q2 Q1 0 0 1 1 1 0 0 1 0 0 反転 0 0 反転 1 1 1 0 0 1 0 0 0 0 1 1 1 0 21 カウンタの組合せ 複数のカウンタを組合わせて様々なn進カウンタを作ることができる Q2 Q1 Q Texas Instruments社の SN74LS390は2進カウンタ×2個 と5進カウンタ5個を実装している 2進 4進 5進 10進 20進 25進 50進 100進 進組合せ 2進 2進×2進 5進 2進×5進 2進×2進×5進 5進×5進 2進×5進×5進 2進×2進×5進×5進 T T R 2進 2進 T 2カウントアッ プでQ1:0→1 Q R 5カウントアップで Q4Q3Q2:000→100 22 ジョンソンカウンタ 全FFをリセットすると次のクロックでD1=Q4=1が Q1にセットされる nビットの場合2n-1進カウンタとして動作 出⼒は⼆進数のカウントアップではない 毎回1ビットしか変化しないので、出⼒Qの遅延にば らつきがあってもその論理演算結果はバタつかない D T Q Q D-FFはクロックが⼊る毎 にDを取り込みQに出⼒ ジョンソンカ 1 2 3 4 5 6 7 8 9 二進数 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Q4 Q3 Q2 Q1 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 23 リングカウンタ FFの1ビットだけに1をセットしてクロック毎に1が 巡回シフト nビットの場合n進カウンタとして動作 ⾃⼰補正型は⾃動的に1ビットだけ1がセットされる Q1 Q2 Q3 クロック Q4 Q3 Q2 Q1 0 0 0 1 1 0 0 1 0 2 0 1 0 0 3 1 0 0 0 4 0 0 0 1 5 0 0 1 0 Q4 Q1 T Q2 Q3 Q4 D1 Q1 D2 Q2 D3 Q3 D4 Q4 D1 Q1 D2 Q2 D3 Q3 D4 Q4 T Q1 T Q2 T Q3 T Q4 T Q1 T Q2 T Q3 T Q4 初期設定をミスしても3クロック以内で正しい状態に T 初期設定ミスがあると正しくカウントしない 24 演習6(解答) Q2の出⼒が⼤きく遅れるときの遅延時間を考慮したタイム チャートを完成させなさい Q1 ここがどうなるか T Q2 Q3 Q4 D1 Q1 D2 Q2 D3 Q3 D4 Q4 T Q1 T Q2 T Q3 T Q4 ハザード クロックの⽴ち上りで各出⼒は安定しているので動作に問題はない
© Copyright 2025 ExpyDoc