Kindle で読む

機械電力システムに関する情報伝送及び処理 / 2進数と論理回路15分で読めます

フリップフロップとは|RS・JK・D・T の動きとタイミングチャートを図解

電験三種の機械で扱うフリップフロップの基本を図解で整理します。RS・JK・D・T の動作と特性、クロックの立ち上がりと立ち下がり、タイミングチャートの読み方、カウンタまで、例題と解答つきで確認できます。

シェア

緑色のプリント基板に赤い LED が横一列に8個並び、左の3個が点灯している写真
この記事の目次
  1. フリップフロップとは
  2. RS フリップフロップ
  3. クロック付きフリップフロップ(JK・D・T)
  4. クロックと立ち上がり・立ち下がり
  5. JK フリップフロップ
  6. D フリップフロップと T フリップフロップ
  7. タイミングチャートの読み方
  8. D フリップフロップの波形
  9. JK フリップフロップの波形
  10. カウンタとシフトレジスタ
  11. 非同期カウンタ
  12. 分周と例題
  13. シフトレジスタ
  14. よくある質問
  15. RS フリップフロップで S = R = 1 を禁止するのはなぜですか。
  16. JK フリップフロップと T フリップフロップは、どう違いますか。
  17. 立ち上がりで動くか、立ち下がりで動くかは、どう見分けますか。
  18. カウンタは、何段で何まで数えられますか。
  19. まとめ
図解でわかる 電験三種 機械 1 直流機 の表紙機械を図解で読む図解でわかる 電験三種 機械 1
直流機
Kindle Unlimited 対象Kindle で読む

フリップフロップとは、1 ビット(0 か 1)を記憶する回路です。論理回路に記憶を持たせたものがフリップフロップで、入力が変わっても、次の合図が来るまで出力の値を保ち続けます。この記事では、RS・JK・D・T の 4 種類の動き、タイミングチャートの読み方、カウンタとシフトレジスタまでを順に確認します。結論から言うと、「合図の瞬間の入力を読み、特性表で次の出力を決める」を繰り返せば、どの問題も同じ手順で解けます。

フリップフロップの全体像
  • フリップフロップとは
    • 組合せ回路と順序回路の違い、1 ビットの記憶
  • RS フリップフロップ
    • NOR を交差させた回路と、禁止入力 S = R = 1
  • クロック付きフリップフロップ(JK・D・T)
    • 立ち上がり・立ち下がりと、4 種類の特性表
  • タイミングチャートの読み方
    • 合図の瞬間の入力を読む 4 つの手順
  • カウンタとシフトレジスタ
    • T を 3 段つなぐ分周と、D を並べて右へ送る動き

フリップフロップとは

フリップフロップは、出力 QQ と、その否定 Q‾\overline{Q} を持つ記憶回路です。QQ が 1 なら「1 を記憶している」、0 なら「0 を記憶している」と読みます。図1の LED のように、点灯を 1、消灯を 0 とすれば、記憶した値を目で確かめられます。

白いブレッドボードに赤い LED が4個並び、左から1個目と3個目が点灯している写真
  1. 点灯した LED 1 を記憶している状態の例
  2. 消えた LED 0 を記憶している状態の例
  3. 抵抗 LED に流れる電流を抑える
  4. ジャンパ線 部品どうしをつなぐ
図1 LED の点灯と消灯。記憶した 1 と 0 を目で見る例(写真はイメージ)

論理回路とカルノー図で扱った AND や OR などのゲートの回路は、いまの入力だけで出力が決まる組合せ回路です。これに対して、出力が「いまの入力」と「記憶している状態」の両方で決まる回路を順序回路といいます。図2のように、順序回路には記憶の部分があり、その記憶に使うのがフリップフロップです。

組合せ回路 論理回路 X Y 入力 出力 出力 Y は、いまの入力 X だけで決まる 順序回路 論理回路 X Y 入力 出力 記憶(フリップフロップ) 次の状態 いまの状態 出力 Y は、いまの入力 X と記憶している状態で決まる
図2 組合せ回路は入力だけで出力が決まる。順序回路は記憶の部分を使い、入力と状態で出力が決まる
項目組合せ回路順序回路
出力を決めるものいまの入力だけ入力と記憶している状態
記憶なしあり
例ゲート、半加算器カウンタ、レジスタ

フリップフロップには、動きの違う 4 種類があります。

  • RS:セット(QQ を 1 にする)とリセット(QQ を 0 にする)の入力を持つ、最も基本の形
  • JK:RS で使えなかった入力の組み合わせを「反転」に割り当てたもの
  • D:入力 DD の値を、そのまま QQ に写す
  • T:入力 TT が 1 のとき、QQ を反転する

RS フリップフロップ

RS フリップフロップは、セット(Set)入力 SS とリセット(Reset)入力 RR を持つ、最も基本のフリップフロップです。図3のように、2 つの NOR ゲートの出力を、たがいの入力につなぎます(交差結合)。上の NOR が QQ、下の NOR が Q‾\overline{Q} を出力します。

R リセット S セット Q Q NOR NOR NOR の出力を、たがいの入力につなぐ(交差結合)
図3 NOR 型の RS フリップフロップ。2つの NOR の出力をたがいの入力に戻す

動きは、NOR が「入力のどちらかが 1 なら出力が 0」になる性質から読めます。

  • S=1S = 1、R=0R = 0(セット):下の NOR の出力 Q‾\overline{Q} が 0 になり、上の NOR の入力は両方 0 になるので、Q=1Q = 1 になります。
  • S=0S = 0、R=1R = 1(リセット):上の NOR の出力 QQ が 0 になり、下の NOR の入力は両方 0 になるので、Q‾=1\overline{Q} = 1 になります。
  • S=0S = 0、R=0R = 0(保持):たがいの出力が相手の入力に戻るので、直前の QQ の値のまま変わりません。

いまの QQ を QnQ_n、入力を与えた後の QQ を Qn+1Q_{n+1} と書くと、動きは次の表になります。

SR次の Q(Qn+1Q_{n+1})
00QnQ_n(保持)
010(リセット)
101(セット)
11禁止

S⋅R=0S \cdot R = 0 のとき、この動きは次の特性式にまとめられます。

Qn+1=S+R‾⋅QnQ_{n+1} = S + \overline{R} \cdot Q_n

状態の移り変わりを図4に示します。Q=0Q = 0 の状態は S=0S = 0 のあいだとどまり、S=1S = 1、R=0R = 0 で Q=1Q = 1 の状態に移ります。Q=1Q = 1 の状態は R=0R = 0 のあいだとどまり、S=0S = 0、R=1R = 1 で Q=0Q = 0 の状態に戻ります。

Q = 0 Q = 1 S = 1, R = 0 S = 0, R = 1 S = 0 R = 0 S = R = 1 は使わない(禁止)
図4 RS フリップフロップの状態の移り変わり。S = 1 でセット、R = 1 でリセット、0 のあいだは保持

交差結合は、出力を入力に戻す「帰還」の一種です。制御で扱うフィードバックは、出力を目標に近づけるために戻しますが、ここでは出力を入力に戻して状態を保つために使っています。フィードバック制御は、ブロック線図と伝達関数で扱います。

解答と解説を見る

入力ごとに、セット・リセット・保持のどれにあたるかを読みます。

  1. (0,0)(0, 0) は保持なので、Q=1Q = 1 のままです。
  2. (0,1)(0, 1) はリセットなので、Q=0Q = 0 になります。
  3. (0,0)(0, 0) は保持なので、Q=0Q = 0 のままです。
  4. (1,0)(1, 0) はセットなので、Q=1Q = 1 になります。
  5. (0,0)(0, 0) は保持なので、Q=1Q = 1 のままです。

答えは、順に 1、0、0、1、1 です。特性式 Qn+1=S+R‾⋅QnQ_{n+1} = S + \overline{R} \cdot Q_n に代入しても、同じ値になります。

クロック付きフリップフロップ(JK・D・T)

RS フリップフロップは、入力が変わるとすぐに出力が変わります。複数のフリップフロップを組み合わせる回路では、動くタイミングがばらばらだと誤動作するので、クロック(CK)の合図にそろえて動かします。これがクロック付きのフリップフロップで、JK・D・T はすべてこの形です。

クロックと立ち上がり・立ち下がり

クロックは、0 と 1 をくり返す信号です。0 から 1 に変わる瞬間を立ち上がり、1 から 0 に変わる瞬間を立ち下がりといいます。図5のように、記号の CK 端子に三角があれば立ち上がりで、三角に丸が付いていれば立ち下がりで動きます。入力を読むのはその瞬間だけで、次の合図までに入力が変わっても、出力は変わりません。

クロック(CK) 1 0 立ち上がり 立ち下がり 0 から 1 へ変わる瞬間が立ち上がり、1 から 0 へ変わる瞬間が立ち下がり T CK Q Q T CK Q Q 立ち上がりで動く 立ち下がりで動く CK に三角 CK に三角と丸
図5 クロックの立ち上がりと立ち下がり。CK の三角に丸が付くと立ち下がりで動く

JK フリップフロップ

JK フリップフロップは、RS の SS を JJ、RR を KK に置き換え、RS では禁止だった J=K=1J = K = 1 のときに、出力を反転させるようにしたものです。図6の記号のとおり、入力は JJ、KK、CK の 3 つです。

J CK K Q Q JK フリップフロップ D CK Q Q D フリップフロップ T CK Q Q T フリップフロップ J = K = 1 で反転 D の値を写す T = 1 で反転
図6 JK・D・T フリップフロップの記号。入力は J・K、D、T のどれかと CK
JK次の Q(Qn+1Q_{n+1})
00QnQ_n(保持)
010(リセット)
101(セット)
11Qn‾\overline{Q_n}(反転)

D フリップフロップと T フリップフロップ

D フリップフロップは、クロックの合図で入力 DD の値を QQ に写します。1 ビットの値をいったん保持するのに使います。T フリップフロップは、T=1T = 1 のときだけ合図で出力が反転し、T=0T = 0 のときは保持します。JK の JJ と KK をつないで 1 つの入力 TT にしたものと同じ動きです。

D または TD の次の QT の次の Q
00QnQ_n(保持)
11Qn‾\overline{Q_n}(反転)

4 種類の特性式を、表にまとめます。

種類特性式
RSQn+1=S+R‾⋅QnQ_{n+1} = S + \overline{R} \cdot Q_n
JKQn+1=J⋅Qn‾+K‾⋅QnQ_{n+1} = J \cdot \overline{Q_n} + \overline{K} \cdot Q_n
DQn+1=DQ_{n+1} = D
TQn+1=T⊕QnQ_{n+1} = T \oplus Q_n
解答と解説を見る

立ち上がりごとに、表から動きを読みます。

  1. (1,0)(1, 0) はセットなので、Q=1Q = 1 です。
  2. (0,0)(0, 0) は保持なので、Q=1Q = 1 のままです。
  3. (1,1)(1, 1) は反転なので、Q=0Q = 0 になります。
  4. (1,1)(1, 1) は反転なので、Q=1Q = 1 になります。
  5. (0,1)(0, 1) はリセットなので、Q=0Q = 0 になります。
  6. (1,0)(1, 0) はセットなので、Q=1Q = 1 になります。

答えは、順に 1、1、0、1、0、1 です。

タイミングチャートの読み方

タイミングチャートは、クロック・入力・出力の波形を、時間をそろえて並べた図です。次の 4 つの手順で読みます。

  1. CK の記号から、立ち上がりで動くか立ち下がりで動くかを確かめ、その位置に印を付ける
  2. その瞬間の入力(D、または J と K)の値を読む
  3. 特性表から、次の QQ を決める
  4. 次の合図までは QQ を変えない。入力が合図の間に変わっても無視する

D フリップフロップの波形

図7は、立ち上がりで動く D フリップフロップの波形です。丸の数字が立ち上がりの位置で、黄色い点がその瞬間の DD の値です。DD の値は 1、1、0、0、1 の順に読めるので、QQ も 1、1、0、0、1 となります。3 番目の立ち上がりの少し後に DD が一瞬 1 になっていますが、どの立ち上がりにも当たらないので、QQ には影響しません。

1 2 3 4 5 CK 1 0 D 1 0 Q 1 0 エッジの間の変化は無視 丸の数字はクロックの立ち上がり。黄色い点の D の値を、Q が受け取る 最初の Q は 0 とする
図7 D フリップフロップのタイミングチャート。立ち上がりの瞬間の D を Q に写し、合図の間の変化は無視する

JK フリップフロップの波形

図8は、JK フリップフロップの波形です。各立ち上がりの瞬間の (J,K)(J, K) は、(1,0)(1, 0)、(0,0)(0, 0)、(0,1)(0, 1)、(1,1)(1, 1)、(1,1)(1, 1) です。動作は、セット、保持、リセット、反転、反転となり、QQ は 1、1、0、1、0 と変わります。

1 2 3 4 5 CK 1 0 J 1 0 K 1 0 Q 1 0 セット 保持 リセット 反転 反転 動作 丸の数字はクロックの立ち上がり。その瞬間の J と K で Q の動きが決まる
図8 JK フリップフロップのタイミングチャート。立ち上がりごとに J と K からセット・保持・リセット・反転を読む

実際の回路では、図9のように部品にプローブを当てて信号の波形を調べ、タイミングチャートと同じ形の波形が出ているかを確かめます。

緑色の基板の上で、手に持った黒いプローブの先を部品に当てている写真
  1. ケーブル 測定器へ信号を送る
  2. 手 プローブを持って部品に当てる
  3. プローブ 先端を当てて信号を調べる
  4. 大きな IC 内部に回路が入った部品
図9 プローブを当てて信号の波形を調べる(写真はイメージ)

カウンタとシフトレジスタ

フリップフロップをつなぐと、クロックの数を数えるカウンタや、データを 1 ビットずつ送るシフトレジスタが作れます。

非同期カウンタ

T フリップフロップの TT を 1 に固定すると、合図のたびに出力が反転します。これを図10のように 3 段つなぎ、最初の段にクロックを入れ、前の段の QQ を次の段の CK につなぎます。段ごとに動く合図が前の段から順に伝わるので、非同期カウンタといいます。CK に丸が付いているので、各段は立ち下がりで動きます。

FF0 FF1 FF2 1 1 1 クロック Q0 Q1 Q2 T は 1 に固定。前の段の Q が 1 から 0 に変わると、次の段が反転する
図10 T フリップフロップ3段の非同期カウンタ。前段の Q を次段の CK につなぐ

波形を図11に示します。Q0Q_0 はクロックが立ち下がるたびに反転します。Q1Q_1 は Q0Q_0 が 1 から 0 に変わるたびに、Q2Q_2 は Q1Q_1 が 1 から 0 に変わるたびに反転します。Q2Q_2、Q1Q_1、Q0Q_0 を 2 進数として読むと、計数は 0、1、2、…、7 と増え、8 個目の立ち下がりで 0 に戻ります。

1 2 3 4 5 6 7 8 CK 1 0 Q0 1 0 Q1 1 0 Q2 1 0 計数 0 1 2 3 4 5 6 7 0 丸の数字はクロックの立ち下がり。計数は Q2 Q1 Q0 を2進数として読んだ値
図11 3段カウンタの波形。Q2 Q1 Q0 を2進数として読むと 0 から 7 までを数える

3 段なら 23=82^3 = 8 通りの値を数えられ、nn 段なら 2n2^n 通りです。前の段が動いてから次の段が動くので、段が増えるほど、出力が確定するまでの遅れが積み重なります。

分周と例題

図11で、Q0Q_0 の波形はクロックの 2 周期分で 1 周期になっています。Q0Q_0 の周波数はクロックの 1/2、Q1Q_1 は 1/4、Q2Q_2 は 1/8 です。周波数を整数分の 1 にすることを分周といい、nn 段のカウンタの最終段は、クロックを 1/2n1/2^n に分周します。

解答と解説を見る

(1) 3 段のカウンタは、8 個ごとに 0 に戻ります。13 個では 1 周して、あと 5 個進んだ状態です。

13=8×1+55=(101)2\begin{aligned} 13 &= 8 \times 1 + 5 \\ 5 &= (101)_2 \end{aligned}

答えは Q2Q1Q0=(101)2Q_2 Q_1 Q_0 = (101)_2 です。

(2) 3 段なので、周波数は 1/23=1/81/2^3 = 1/8 になります。

823=1 [kHz]\frac{8}{2^3} = 1\,\mathrm{[kHz]}

答えは 1 kHz です。

D フリップフロップの DD に、自分の出力 Q‾\overline{Q} をつなぐと、合図のたびに Qn+1=Qn‾Q_{n+1} = \overline{Q_n} となり、反転をくり返します。これは T=1T = 1 の T フリップフロップと同じ動きで、1/2 に分周できます。

解答と解説を見る

(1) D=Qn‾D = \overline{Q_n} なので、立ち上がりのたびに QQ が反転します。0 から始めると、1、0、1、0、1 の順です。

(2) QQ は、クロック 2 個で 1 周期になります。周波数はクロックの 1/2 です。

102=5 [kHz]\frac{10}{2} = 5\,\mathrm{[kHz]}

答えは 5 kHz です。

シフトレジスタ

D フリップフロップを図12のように並べ、各段の QQ を次の段の DD につなぎ、クロックを共通にすると、クロックの合図ごとにデータが 1 ビットずつ右の段へ送られます。各段の上の入力が DD、下の入力が CK です。4 段なら 4 ビットのデータを保持でき、1 ビットずつ入れたデータを、4 個の合図のあとに 4 つの出力から同時に取り出せます。

FF0 FF1 FF2 FF3 入力 Q0 Q1 Q2 Q3 出力 クロック(共通) クロックごとに1ビットずつ右へ送る
図12 D フリップフロップ4段のシフトレジスタ。上の入力が D、下の入力が CK で、合図ごとに1ビットずつ右へ送る

マイコンの IC の内部にも、データを保持するレジスタや、時間を数えるカウンタが入っています。図13のような小さなボードの中でも、フリップフロップが基本の部品として使われています。

白いブレッドボードに青いマイコンボードが載り、赤・青・黄のジャンパ線と赤い LED がつながれている写真
  1. USB コネクタ 電源や書き込みの接続口
  2. マイコン 黒い四角いチップ。内部にレジスタを持つ
  3. LED 出力を光で見せる
  4. ジャンパ線 部品どうしをつなぐ
図13 マイコンの中にもカウンタやレジスタが入っている(写真はイメージ)

よくある質問

RS フリップフロップで S = R = 1 を禁止するのはなぜですか。

NOR 型では S=R=1S = R = 1 のとき、QQ と Q‾\overline{Q} がどちらも 0 になり、「Q‾\overline{Q} は QQ の否定」という約束が崩れます。さらに、SS と RR を同時に 0 に戻すと、QQ が 0 か 1 かが決まらなくなります。JK フリップフロップは、この組み合わせを「反転」に割り当てて、問題をなくしたものです。

JK フリップフロップと T フリップフロップは、どう違いますか。

JK は JJ と KK の 2 入力で、保持・セット・リセット・反転の 4 つの動きを選べます。T は JJ と KK を同じ入力につないだもので、T=0T = 0 で保持、T=1T = 1 で反転の 2 つだけです。反転を使いたいだけなら T で足ります。

立ち上がりで動くか、立ち下がりで動くかは、どう見分けますか。

記号の CK 端子を見ます。三角だけなら立ち上がり、三角に丸が付いていれば立ち下がりで動きます。タイミングチャートの問題でも、まずここを確かめて、合図の位置を決めます。

カウンタは、何段で何まで数えられますか。

nn 段なら 2n2^n 通りの値を数え、0 から 2n−12^n - 1 までを数えて 0 に戻ります。3 段なら 0 から 7 まで、4 段なら 0 から 15 までです。最終段の出力の周波数は、クロックの 1/2n1/2^n になります。

思い出してみよう

答えを見る前に、まず自分で思い出してからタップしてください。

フリップフロップは、何を記憶する回路ですか?

1 ビット(0 か 1)です。出力は QQ と、その否定 Q‾\overline{Q} の 2 つです。

RS フリップフロップで、S=R=1S = R = 1 が禁止なのはなぜですか?

Q=Q‾=0Q = \overline{Q} = 0 となって否定の関係が崩れ、SS と RR を同時に 0 に戻すと QQ が決まらなくなるからです。

JK フリップフロップで、J=K=1J = K = 1 のときの動きは何ですか?

合図のたびに QQ が反転します。J=K=0J = K = 0 は保持、J=1J = 1、K=0K = 0 はセット、J=0J = 0、K=1K = 1 はリセットです。

D フリップフロップと T フリップフロップの特性式は何ですか?

D は Qn+1=DQ_{n+1} = D、T は Qn+1=T⊕QnQ_{n+1} = T \oplus Q_n です。

タイミングチャートは、どの順に読みますか?

CK の丸の有無でエッジを決め、その瞬間の入力を読み、特性表で次の QQ を決めます。合図の間の入力の変化は無視します。

T フリップフロップを nn 段つないだカウンタは、いくつまで数え、どう分周しますか?

2n2^n 通りの値を数え、最終段の周波数はクロックの 1/2n1/2^n になります。

まとめ

  • フリップフロップは 1 ビットを記憶する回路で、出力は QQ と Q‾\overline{Q}。入力と記憶の両方で出力が決まる回路が順序回路
  • RS は S=1S = 1 でセット、R=1R = 1 でリセット、両方 0 で保持。S=R=1S = R = 1 は禁止
  • JK は J=K=1J = K = 1 で反転、D は Qn+1=DQ_{n+1} = D、T は T=1T = 1 で反転(Qn+1=T⊕QnQ_{n+1} = T \oplus Q_n)
  • タイミングチャートは、合図のエッジの瞬間の入力を読み、特性表で次の QQ を決める。合図の間の変化は無視する
  • T フリップフロップを nn 段つなぐと 2n2^n 進のカウンタで、1/2n1/2^n に分周できる。D を並べるとシフトレジスタになる

ゲートの回路の読み方や真理値表に不安があるときは、論理回路とカルノー図で復習しましょう。この記事の特性表も、真理値表の読み方がそのまま使えます。

図解でわかる 電験三種 機械 1 直流機 の表紙電験三種 機械を図解で通して読む図解でわかる 電験三種 機械 / 第1巻直流機磁界と電磁力から発電機・電動機の特性、速度制御・効率まで機械の単元を、図と式で1冊ずつ通して読む Kindle 本のシリーズです。例題と練習問題まで入っています。Kindle Unlimited の対象なので、会員は追加料金なしで読めます。Amazon で見る

読んだら、すぐ解いて覚える

「2進数と論理回路」の問題を
アプリで解いてみよう

読んだ直後に問題で思い出すと、記憶に残りやすくなります。電験三種の問題集アプリ「デンケンラボ」なら、機械の問題を図解つきの解説で確かめられます。

アプリでできることを見る
デンケンラボの問題画面
動画でも見て覚えるYouTube のデンケンラボで、電験三種の解説動画を配信しています

この記事をシェアする

デンケンラボ編集部

電験三種の合格プランをつくる問題集アプリ「デンケンラボ」の編集部です。試験センターの出題範囲に沿って、計算の考え方と覚えどころを図と式で解説しています。

編集方針アプリについて見る