押しボタンスイッチAを一度押すと豆電球が点灯し、その状態を保持する。そして別の押しボタンスイッチBを押すと消灯する。このような動作は、工場の制御盤などで使われる自己保持回路として非常によく知られています。この記事では、フリップフロップを直接使わず、AND・OR・NOT・NAND・NORなどの基本論理ゲートだけで同じ動作を実現する考え方を解説します。
自己保持回路はなぜ状態を記憶できるのか
押しボタンAを押した瞬間だけ電気が流れる回路では、スイッチを離すと豆電球は消えてしまいます。しかし、求めている動作は「一度押したら、その後も点灯状態を維持する」というものです。
このためには、現在の出力状態をもう一度入力側へ戻す仕組みが必要になります。つまり、回路自身が「今は点灯している」という情報を保持し、その情報を利用して次の状態を決める必要があります。
このような回路を順序回路と呼びます。論理ゲートだけで作る場合でも、出力を入力へ戻すフィードバック構造を利用することで記憶動作が可能になります。
基本ゲートで作る自己保持回路の考え方
自己保持回路は論理式で表すと非常にシンプルです。出力をQ、点灯用スイッチAをON、消灯用スイッチBをOFF信号として考えると、次のような状態変化になります。
Q(次の状態)=(A OR Q) AND NOT B
この式が意味することは、「Aが押された場合、または現在すでに点灯している場合は点灯状態を維持する。ただしBが押された場合は強制的に消灯する」ということです。
つまり、ORゲートで自己保持を作り、ANDゲートとNOTゲートでリセット条件を追加する構成になります。
論理ゲートによる具体的な回路構成
基本ゲートだけで構成する場合、次のような流れになります。
| 部分 | 役割 |
|---|---|
| ORゲート | スイッチAの入力と現在の出力Qを合わせる |
| NOTゲート | スイッチBの信号を反転する |
| ANDゲート | 消灯条件を除いて最終出力を決める |
回路の流れとしては、スイッチAをORゲートの一方の入力へ接続し、もう一方の入力には豆電球の制御出力Qを戻します。
そしてORゲートの出力をANDゲートへ送り、もう一方のAND入力にはスイッチBをNOTゲートで反転した信号を入れます。ANDゲートの出力が豆電球を駆動する信号になります。
動作を確認すると自己保持になる理由が分かる
まず初期状態では豆電球は消灯しており、Qは0です。この状態でスイッチAを押すと、ORゲートの入力が1になるため、出力Qが1になります。
Qが1になると、その信号がORゲートへ戻ります。そのため、スイッチAを離してもORゲートには「Q=1」という入力が残り、点灯状態が維持されます。
次にスイッチBを押すと、NOTゲートによって消灯許可の信号が作られ、ANDゲートの条件が成立しなくなります。その結果、Qは0となり豆電球が消えます。
これは実質的にフリップフロップなのか
このような回路は、名前を付けるならラッチ回路に近い動作をしています。フリップフロップも基本的には、論理ゲートを組み合わせて作られた記憶回路です。
つまり、「フリップフロップを使わない」と考えていても、実際には論理ゲートで記憶機能を作ると、結果的にフリップフロップやラッチと同じ原理に近づきます。
これは論理ゲートが単なるリレーの置き換えではなく、情報を保持したり状態を変化させたりするデジタル回路の基本部品だからです。
リレーシーケンスとの違い
有接点リレーによる自己保持回路では、リレー接点自身が機械的に状態を保持します。一方、論理ゲート回路では電気的なフィードバックによって状態を保持します。
動作の考え方は非常によく似ています。リレー回路で「自己保持」を理解している場合、論理ゲートによるラッチ回路への理解は比較的スムーズです。
例えば、モーター起動回路でスタートボタンを押すとリレーが保持され、ストップボタンで解除される仕組みは、今回の豆電球回路と同じ「状態を記憶する」という考え方になります。
まとめ
押しボタンAで点灯し、押しボタンBで消灯する豆電球回路は、AND・OR・NOTなどの基本論理ゲートだけでも構成できます。
ポイントは、出力を入力へ戻すフィードバックによって、回路自身に現在の状態を記憶させることです。
また、このような回路を理解すると、フリップフロップやコンピューター内部の記憶回路の仕組みへ自然につながります。リレーシーケンスの経験がある場合は、自己保持という共通概念から考えると論理ゲート回路も理解しやすくなります。

コメント