電子回路の基本知識(7)‐フリップフロップと記憶の仕組み
前回は、論理回路と基本ゲートについて学びました。今回はその続きとして、「フリップフロップ(Flip-Flop)」という回路を紹介します。フリップフロップは、電子回路において「記憶」や「状態保持」を行う基本構成であり、デジタル回路の中枢を担う存在です。
■ なぜ「記憶」が必要なのか?
これまで学んできた「組み合わせ論理回路」は、入力が変われば即座に出力も変わる仕組みでした。しかし、例えば次のような状況では「前の状態を覚えておく」必要があります。
・スイッチを一度押したらLEDが点灯し、もう一度押すまで保持したい
・一定のタイミングで制御信号を切り替えたい
・数を数えるカウンタを作りたい
このような用途では「順序回路(sequential logic)」が必要であり、その基本要素がフリップフロップです。
■ フリップフロップとは?
フリップフロップは、2つの安定状態(0または1)を持ち、外部からの信号でその状態を切り替える回路です。つまり、1ビットの情報を記憶する「最小のメモリ素子」と言えます。
基本的な種類としては以下があります。
-
RSフリップフロップ(Set-Reset型)
-
Dフリップフロップ(Delay型)
-
JKフリップフロップ
-
Tフリップフロップ(Toggle型)
ここでは初心者向けに、RSとDフリップフロップを中心に解説します。
■ RSフリップフロップ(基本構造)
RS(Set-Reset)型は、次のような機能を持ちます。
・Set(S)=1で出力Qを1にする
・Reset(R)=1で出力Qを0にする
・S=0かつR=0では、出力は変化せず前の状態を保持
・S=1かつR=1は「禁止状態(不定)」であり通常は避ける
この構成は、NANDゲートやNORゲートで構成可能で、スイッチの押下状態を記憶する回路(ラッチ)として使われます。
■ Dフリップフロップ(クロック同期型)
Dフリップフロップは、RS型の改良型で「1つの入力(D)」と「クロック(CLK)」信号で制御されます。
動作原理はシンプルです:
・クロック信号の立ち上がり(または立ち下がり)に合わせて、入力Dの値を出力Qに転送
・それ以外のタイミングではQは保持されたまま
Dフリップフロップは、クロック同期回路における標準的な記憶素子として使用され、レジスタやカウンタ、シリアル通信などで幅広く使われています。
■ 実用例1:ワンタッチスイッチ(ラッチ動作)
人間の操作では、機械的スイッチはON/OFFが瞬間的にしか入力できません。RSフリップフロップを使えば、「スイッチを一度押すと状態を保持し、別の入力でリセットする」ことができます。
・ボタンAでSet → LED点灯
・ボタンBでReset → LED消灯
■ 実用例2:データの一時記憶
Dフリップフロップは、データを一定時間保持する「レジスタ」に使用されます。これにより、CPU内部で演算に必要な情報を一時的に保存したり、入力データを順番に処理することが可能になります。
■ フリップフロップとクロック
順序回路では「クロック(clock)」と呼ばれる一定周期のパルス信号が非常に重要です。Dフリップフロップなどの同期型回路は、クロック信号の立ち上がり(または立ち下がり)に反応して動作します。
このような「タイミング」によって、複数の論理回路を協調して動作させることができ、制御や通信の信頼性を高めることができます。
■ 注意点とノイズ対策
・RSフリップフロップは「両方1」の状態を避ける必要がある
・クロック信号が不安定だと誤動作の原因になる
・スイッチ入力はバウンス(接点の跳ね返り)が発生しやすく、対策が必要(チャタリング防止)
これらの問題を防ぐために、パルス整形回路やチャタリング除去回路を組み合わせることがあります。
■ まとめ
フリップフロップは、電子回路における「記憶」「制御」「同期」を可能にする、極めて重要な構成要素です。1ビット単位で情報を保持できるため、組み合わせ次第でカウンタ、レジスタ、シリアル送受信回路など、より高度な機能が実現できます。
次回は、「電子回路の基本知識(8)‐クロックとタイミング制御」として、フリップフロップを含む回路を時間的に正確に制御するための「クロック信号」の役割と生成方法について解説する予定です。
Previous: 電子回路の基本知識(8)‐クロックとタイミング制御
Next: 電子回路の基本知識(6)‐論理回路と基本ゲート
もっと用語集
- オシロスコープは「見えている=正しい」ではない
- 【技術コラム・入門〜初級】電気回路におけるインピーダンスの意味とは?
- 【技術コラム・入門〜初級】電気回路におけるコンデンサの重要な働きとは?
- OWONを「安心して選べる」人・選ばないほうがよい人
- 「測定が合わない」と言われたとき、まず考えること
- なぜ高級機と“まったく同じ測定”はできないのか
- 「十分な性能」と言える基準はどこか
- 安いオシロスコープは本当に危険なのか
- スペック表の数字は、どこまで信じていいのか
- 【技術コラム・入門〜初級】電気回路でよく見かける dB(デシベル)の意味とは?
- なぜ「帯域幅」だけ見てオシロを選んではいけないのか
- なぜ同じ測定なのに、測定値が毎回違うのか
- オート測定は信用していいのか
- ノイズはどこから来るのか(測定しているつもりで、実は拾っているもの)
- プローブをつなぐとなぜ波形が変わるのか
- 入力インピーダンス(50Ω / 1MΩ)をもう一段やさしく分解する
- トリガ(Trigger)をもう一段やさしく分解する
- 分解能(Resolution)をもう一段やさしく分解する
- 帯域幅(Bandwidth)をもう一段やさしく分解する
- 【技術コラム・入門〜初級】なぜ差動プローブが必要なのか?
- オシロスコープを替える前に、まず疑うべき3つのこと
- 【技術コラム・入門〜初級】なぜ帯域幅が重要なのか?足りないと何が起きるのか
- FFT 解析なのに、なぜ波形(スペクトル)が汚く見えるのか
- 【技術コラム・入門〜初級】アンプで欠かせない NFB(負帰還)とは?
- 【技術コラム・入門〜初級】プローブで測定結果が変わる理由とは?
- 【技術コラム・入門〜初級】なぜ高速信号は測りにくいのか?
- 【技術コラム・入門〜初級】帯域幅と立ち上がり時間の関係とは?
- 【技術コラム・入門〜初級】なぜ100MHzオシロスコープで10MHz信号が見えるのか?
- 【技術コラム・入門〜初級】スペクトラムアナライザとFFT解析は何が違うのか?
- 【技術コラム・入門〜初級】パッシブプローブとアクティブプローブの違いとは?
- 【技術コラム・入門〜初級】FFTで分かること・分からないこと
- 【技術コラム・入門〜初級】FFTで分かること・分からないこと
- 【技術コラム・入門〜初級】ノイズとは何か?なぜ見えないのに回路に影響するのか
- 【技術コラム・入門〜初級】FFT解析で失敗しない設定のコツとは?
- 【技術コラム・入門〜初級】FFT解析とは何か?周波数で見ると何が分かるのか
- 【技術コラム・入門〜初級】オシロスコープ設定で結果が変わる理由とは?
- 【技術コラム・入門〜初級】測定ミスはなぜ起きるのか?初心者が陥りやすい原因
- 【技術コラム・入門〜初級】なぜ波形は安定しないのか?よくある原因と考え方
- 【技術コラム・入門〜初級】オシロスコープでノイズを見るコツとは?
- 【技術コラム・入門〜初級】時間波形と周波数解析はどう使い分けるべきか?
- 【技術コラム・入門〜初級】チャタリングとは?なぜ起きるのか、どう対策するのか
- 【技術コラム・入門〜初級】プルアップ・プルダウンとは?知らないと起きるトラブル
