アフィリエイト広告
アフィリエイト広告

マスタースレーブ型JK-FFをTTL-NANDゲートで作る

ウィキペディアのJK-FFはうまく動かない」で書いたように、ウィキペディアに載っている JK フリップフロップはうまく動作しません。そこで、マスタースレーブ型として組み立ててみることにしました。
マスタースレーブ型フリップフロップの基本的な回路は、グーグル先生に尋ねると教えてもらえます。

まずはロジック IC で動作を確認してみた

回路がちょっとだけ複雑になってきますので、まずはロジック IC を使って動作を確認してみることにしました。

左図が実験した回路です。
CMOS のロジック IC を利用しています。

Arduino はクロックを発生させています。
スケッチは Blink をそのまま使っていますので、13 番ピンに 0.5 Hz のクロックが出てきます。

S1 、S2 を押すと、それぞれ J 、K が High になります。

入力ゲートは 3入力 NAND ですけど、手元にありませんでしたので、2 入力 AND と 2 入力 NAND を組み合わせています。

A・B・C(A・B)・C

ってことですね。

NOT は手元にあったシュミットインバータを利用しています。シュミットインバータはヒステリシスがありますが、ここではそれが問題になることはありません。NAND ゲートの入力を束ねて利用することもできますよ。

一番右のトランジスタは LED の駆動回路です。フリップフロップの出力が High のとき LED が点灯します。

ロジック IC で組み立てたブレッドボード

ロジック IC で組み立てたマスタースレーブ型 JK フリップフロップの様子です。

IC は左からシュミットインバータ、AND 、NAND 、NAND ゲートです。

左の押ボタンスイッチを押すと入力が High になります。
右のトランジスタは LED 駆動回路で、出力が High になると LED が点灯します。

動作は予定した JK フリップフロップの動きで、まったく問題ありませんでした。
押ボタンを押すと、クロックの立ち下がりで出力が変化します。押ボタンを両方同時に押すと、クロックに同期して LED は交互に点滅します。
クロックは Arduino のビルトイン LED の点灯状態をみているとわかりますね。

JK フリップフロップを TTL-NAND ゲートで作る

それでは漸くですが、トランジスタで作った NAND ゲートで マスタースレーブ型 JK フリップフロップを作ってみましょう。

えーと (^_^;) 、手持ちのトランジスタの数が足りませんでした。
マスターフリップフロップは TTL-NAND ゲートで作りましたが、スレーブフリップフロップは TTL のロジック IC でご勘弁を m(__)m

Arduino はクロックを発生させるために利用しています。スケッチはサンプルの Blink ですので、クロックに応じてビルトイン LED が点滅します。Q1 はクロックのバッファ、Q2 はスレーブにクロックを与える NOT ゲートになっています。
S1 、S2 は入力 J 、K の押しボタンスイッチ、Q3 、Q4 がそれぞれのバッファです。
Q5 から Q8 、および Q9 から Q12 がそれぞれ 3 入力 NAND ゲートを構成し、入力ゲートになっています。Q13 から Q15 、および Q16 から Q18 がそれぞれ 2 入力 NAND ゲートで、フリップフロップ部分です。これらがマスターフリップフロップとなっています。

スレーブフリップフロップは TTL のロジック IC で作っています。それぞれ 2 入力 NAND ですので、そのままトランジスタに置き換えることができると思います。

TTL-NAND ゲートで組み立てたブレッドボード

ブレッドボードです。

毎度のように回路図に合わせて配置していますので、どこがどの部分かだいたいわかると思います。

左の押ボタンが J 、K の入力で、その隣のトランジスタがバッファ。次がクロックのバッファと NOT 。トランジスタが 4 つならんでいるのが 3 入力 NAND で、3 つのほうが 2 入力 NAND の部分です。
そしてスレーブの IC と、一番右が LED とその駆動トランジスタです。

トランジスタでちょっと遊ぶつもりでしたが (^_^;)

RS フリップフロップから D フリップフロップ、JK フリップフロップと試してみました。
ちなみに T フリップフロップというのもありますが、これは JK フリップフロップの J と K の入力を常に High にしたものですので、基本的に JK フリップフロップと変わりありません。

L チカからの派生で、トランジスタでちょっと遊ぶつもりでしたが、なんだか難しくなってしまいました。
こうしたフリップフロップも専用の IC がありますから、トランジスタで組み立てることなどないでしょう。でも、その仕組みを確認したり、トランジスタのちょっとかわった使い方を試してみたり、俺自身はそれなりに勉強になりました。

さて、では L チカに戻って、今度は 7 セグメント LED で遊んでみようかと考えています。

タイトルとURLをコピーしました