んなもん使わんじゃろ?とかいいつつ、前回は、トランジスタを使った RSフリップフロップをつくってみました。これは、双安定マルチバイブレータと同じ回路だと、わかりましたね。
ここまできたら、次はやっぱり、Dフリップフロップです (;´Д`)
Dフリップフロップ
Dフリップフロップについては、関連記事を参照ください。
DTL-NAND を使った Dフリップフロップ回路
DTLーNAND回路を 4個使って Dフリップフロップにしたのが、図2.です。NANDの内部回路が DTLってだけで、それぞれのつながりは同じ。説明することもないです。
図3.は、実験用の周辺回路とクロック発振回路です。
押しボタン回路は、押下時 HIGHを出力します。LEDは出力の状態表示です。
クロック発振回路もトランジスタを使おうと思い、非安定マルチバイブレータ回路にしました。発振周波数は約 1.5KHzです。
出力は、そのままではなまった波形ですので、NOT回路を入れて整形しています。
この回路は、Dフリップフロップと書いていますが、正確には「ラッチ」回路です。
クロック (黄) が LOWのあいだに入力が HIGHになっていれば、図4.のように、クロックの立ち上がりエッジで出力 (青) も HIGHになります。クロックが LOWのときは、入力は出力に反映されません。
でも、クロックが HIGHのあいだの入力の変化は、そのまま出力にでてきます。
図5.は、クロック (黄) がHIGHのあいだに入力が HIGHになった場合の出力 (青) で、クロックの立ち上がりエッジには同期していません。
入力が LOW になったときでも、クロックが HIGHであればすぐに LOWが出力されます。
このように、クロックが HIGHのときにだけ入力が出力に反映される回路を「バイ・ステーブル・ラッチ」と呼びます。
プライマリ・レプリカ型 Dフリップフロップ
一般に使われているような、クロックの立ち上がりエッジで出力が変化する Dフリップフロップをつくってみましょう。
DTL-NAND を使ったプライマリ・レプリカ型 Dフリップフロップ
図7.が、DTL-NAND を使ったプライマリ・レプリカ型 Dフリップフロップの回路図です。これも、DTL-NAND回路をそのままつないだだけです。
クロックは、図3.の発振回路を使います。クロックの反転に DTL-NOT回路を使っています。
Dフリップフロップで分周回路をつくる
クロックの立ち上がりエッジで動作する Dフリップフロップができました。
ならば、反転出力 Q を入力 D にもどしてやれば、Tフリップフロップになるはず。ということは、分周回路になる、はず。
回路は描きませんが、図8.が、Tフリップフロップ接続したときのクロック CLK (黄) と出力 Q (青) の波形です。
みごとに分周されています。バッチリです。
後記
今回は、トランジスタを使った Dフリップフロップ回路をつくってみました。
NANDゲートを使ったフリップフロップについては、これまでにも試してみています。トランジスタを使ったとしても、その基本的な構成に違いはないです。過去の記事をいろいろみていただければ、と思います。
なので、JKフリップフロップは、ないです (;´Д`) 過去記事を参照ください。