Learning logic circuits by Minecraft (part 10).
前回に続き、マイクラで論理回路(ろんりかいろ)を学ぼう、の第 10回目です。今回は、D(ディー)フリップフロップという回路について勉強しましょう。
シリーズの記事一覧は、こちらです。
このページをふりがな付きで読みたいときは、こちらをクリックしてください!(「ひらひらのひらがなめがね」さんのサービスを使わせて頂いています。)
前回は SR フリップフロップについて勉強しましたね。SR フリップフロップは「順序(じゅんじょ)回路」の一種で、セット(S)という入力信号を短い時間オンにすると、出力がオンになり、リセット(R)という入力信号を短い時間オンにすると、出力がオフになる回路です。オン/オフの状態(じょうたい)を覚えていることができるので、「記憶(きおく)回路」の一種です。SR フリップフロップは、身近にある電気器具(照明のリモコン、せんたく機など)のオン/オフスイッチと同じ働きをするので、分かりやすかったかと思います。
D フリップフロップ回路
今回新しく覚える回路は、D フリップフロップと言います。次のような記号で表します。
入力 D の「D」は、データ(data)、あるいはディレイ(delay = 時間の遅れのこと)の略と言われています。入力 D があるフリップフロップなので、「D フリップフロップ」という訳です。
その下の入力はクロック(clock = 時計のこと)と言います。コンピュータやスマートフォンで、CPU(演算回路)の速度(スピード)を何メガヘルツ、何ギガヘルツと言いますが、それは、CPU のクロック速度のことを表しています。CPU が 1 ギガヘルツで動くというのは、クロックが 1秒間に 1ギガ(10億)回、オン/オフを繰り返すことを意味しています。
D フリップフロップのクロック入力もそれと同様に、この入力をオン/オフすることで回路が働きます。(クロック入力をオン/オフしないと、D フリップフロップは全く働きません。) どのように働くのかは、これから説明していきます。
詳しく勉強したい方へ: クロック入力の端子に三角の印(記号)が付いています。これは何でしょう?
これは、クロック入力がエッジトリガー(edge trigger)という種類の入力であることを示しています。英語で、エッジとは「角(かど)」、トリガーとは「引き金(ひきがね)」という意味です。つまりエッジトリガー入力とは、このクロック信号入力が「変化」したときに(タイミング図上で波形の角のところで)、それを引き金として働く回路ですよ、ということを意味しています。いまは、詳しく理解しなくても大丈夫です。
なお、上の D フリップフロップのクロック入力では、クロック入力が L から H に変化したときにトリガーとなります。これを「立ち上がりエッジ(rising edge)」と言います。逆向き(H から L に変化したとき)のトリガーが必要なときは、三角の左側に小さな丸を描きます。こちらは、「立ち下がりエッジ(falling edge)」と言います。これも、いまは覚えなくて大丈夫です。(2022/2/10 加筆)
回路の右側には、出力 Q があります。SR フリップフロップと同様に、Q の反転(NOT)である Q バー(Q の上に棒線を引く)があるものもあります。
まずはビデオを観ちゃいましょう!
残念ながら、私たちの身近に、D フリップフロップのような働きをする部品や道具が見当たりません。そのため、そのような身近な例を示して、「ああ、D フリップフロップってそういうものなんだ」と想像するのが難しいです。そこで今回は、まずは以下のビデオを観て頂いたほうが良いでしょう。実際の電子回路で、D フリップフロップ回路を作ってみました。
入力 D には、スライド型のトグルスイッチを繋ぎます。トグルスイッチは、マイクラのレッドストーン回路でいうと、「レバー」と似た働きをします。おうちの部屋の壁に付いている、パチパチと切り替わる照明(電気)スイッチもトグルスイッチです。
クロック入力には、押しボタンスイッチを繋ぎました。この押しボタンスイッチは、押している間だけスイッチがオンになるタイプのものです。押していないときはオフになります。このオン/オフの繰り返しが先ほど説明した「クロック」になります。
出力 Q には LED を繋ぎ、出力がオン(1)の時に点灯、オフ(0)のときに消灯するようになっています。
それでは、ビデオをどうぞ!
タイミング図を見てみましょう
前回、タイミング図(timing diagram)というものを学びましたね。回路の動きを時間を追って見るための図でした。上のビデオの中で入力 D やクロック入力を変化させたのと同じ動きを、以下にタイミング図で説明しておきます。もちろん、出力 Q も書いてあります。できたら、ビデオを観ながらタイミング図を追いかけてみてください。きっと勉強になると思います。(後記: クロックがエッジトリガーであることを明確にするため、タイミング図を差し替えました。タイミング図で、ある入力信号がエッジトリガー(立ち上がりエッジ)であることを強調するには、このように、立ち上がりエッジ部分に矢印を描きます。2022/2/10 加筆)
追加の説明(2022/2/10)
上のビデオやタイミング図では、エッジトリガーのクロック入力についての説明が不足していました。ごめんなさい。ビデオは直せないので、タイミング図だけ追加させてください。
エッジトリガーの重要な働きは、この入力(クロック)が 1 である間に、入力 D が変化しても、出力 Q が変化しない、という点にあります。これは、次回のテキストでレッドストーン回路を作るときに重要なポイントになりますので、ここできちんと説明させて頂くことにしました。以下のタイミング図を見てください。
クロックが 1(高い)である間に入力 D が変化しても、出力 Q は変化しないことをタイミング図で表しています。これが D フリップフロップの重要なポイントです。
補足: 以前に、今後は「フリップフロップとラッチを区別しないで説明します」と書いてしまったのですが、クロックが 1 である間に入力 D が変化したときに、出力 Q が変化する論理回路のことを、D フリップフロップではなく「D ラッチ」と呼びます。本シリーズの今後のテキストでは、D ラッチではなく、D フリップフロップを扱っていきます。
今日はここまで! 次回は、Minecraft(マイクラ)のレッドストーン回路で、この D フリップフロップを作ってみましょう。なお、以下の YouTube チャネルに御登録頂くと、新しい教材が公開された際にすぐ御覧頂けます。よろしくお願いいたします!