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

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

2023.6.29
内容を新しくした記事を投稿しました。あわせてご覧ください。


今回は、「NANDゲートをトランジスタで作る」で作った TTL-NAND ゲートで、RS フリップフロップを作ってみようと思います。

Flipflop RS type.png
ja:User:Signed-C – 投稿者が撮影, CC 表示-継承 3.0, リンクによる

左図が、ウィキペディアに載っている NAND ゲートで作った RS フリップフロップです。

入力 S が High になると出力 Q が High になり、S が Low になっても Q は High のままです。
入力 R が High になると出力 Q は Low になり、R が Low になっても Q は Low のまま、S が High になるまで保持されます。

RS フリップフロップでは、S と R が同時に High になることは禁止されています。

トランジスタの NAND ゲートで RS フリップフロップを作る

下図が TTL-NAND ゲート回路を組み合わせて作った RS フリップフロップの回路図です。

Q1 、Q6 は入力 S 、R の NOT ゲートで、入力を反転させています。
Q2 、Q3 、Q4 が TTL-NAND ゲート、Q7 、Q8 、Q9 も同じく TTL-NAND ゲートです。Q5 、Q10 は LED の駆動用で、フリップフロップの出力が High のとき LED が点灯します。

まず、初期状態で LED1 が消灯、LED2 が点灯しているとします。

スイッチ S1 を押すとQ2 のエミッタは Low 、Q4 のコレクタは High となり LED1 が点灯します。同時に Q7 のエミッタが High になり、Q8 のエミッタも High なので、Q9 のコレクタは Low 、LED2 は消灯します。
スイッチ S1 を離しても Q3 のエミッタが Low のままですから、LED1 は点灯したままになります。

次にスイッチ S2 を押すと Q8 のエミッタが Low になるため、Q9 のコレクタが High になり LED2 が点灯します。Q3 のエミッタが High 、Q2 のエミッタも High ですから LED1 は消灯します。
S2 を離しても LED の状態は保持されます。

ブレッドボード

実際に組み立ててみたブレッドボードの様子です。

左から、入力用の押ボタンスイッチと NOT ゲート。次にトランジスタ 3 個の NAND ゲートがあります。右側は出力表示用の LED 駆動回路です。

回路図と同じように、上下に同じ回路が並んでいるのがわかると思います。

動作時の各部の電圧

LED1 が点灯しているときの各部の電圧を測ってみました。

トランジスタ Q7 の電圧を見ると、エミッタが 0.77V 、コレクタが 0.72V で、逆トランジスタになっていることがうかがえます。実際に Q4 のコレクタから Q7 のエミッタへ流れ込む電流を測ってみると 0.63mA でした。
この電流と、R9 を流れる電流 ( 5.03 – 1.37 ) / 10K = 0.37mA を合わせた 1.00mA が Q9 のベース電流となっていることになります。

また、R4 を流れる電流は ( 5.03 – 0.77 ) / 1K = 4.26mA です。このうち R5 へ流れる電流は 0.77 / 10K = 0.08mA ですから、Q5 のベース電流は 4.26 – 0.08 – 0.63 = 3.55mA です。

回路的にはまだ改善したほうが良いところもありますが、まぁ、RS フリップフロップとしての動きはきちんとできていますので良しとしましょう (^_^;)

では次は D フリップフロップを試してみようと思います。

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