電子工作

                    部品編4

1,フリップ・フロップ
2,カウンター
3,シフトレジスタ

1,フリップ・フロップ

ここからは、少しステップアップして、フリップフロップ(以下、FF)に入ります。
FFは、簡単に説明すると、1ビットのメモリーです。

FFには、D−FF,RS−FF,T−FF,JK−FFの4種類があります。

 

●D−FF

D−FFは、最もポピュラーなFFです。まずは、D−FFを
2つ内蔵した4013の真理値表をご覧ください。

4013 4013

 

  PR CLR CLK Q~
Clear 0 1 X 0 1
Preset 1 0 1 0
(禁止) 1 1 1 1
change 0 0 n up n n~
保持 X 0 or 1 Q Q~

注) Q~はQのインバースの意味

ゲートICと比べてかなり複雑になっています。
このD-FFには、CLK、Dという基本となる入力端子に対して
Qという出力端子があります。これに加え、CLR(クリアー)とPR(プリセット)
がついています。

まずは、1〜3行目をご覧ください。
PRが0のときCLRを1にするとクリアーが実行され、出力Qが0になります。
反対にCLR=0、PR=1にするとプリセットが実行され、Qは1になります。
もし両方とも1にすると、Qも、Q~も1になります。通常、このような使い方はしないでしょう。
DやCLKの欄には、「X」になっていますが、これはどんな値でもよいという意味です。
PRやCLRは優先権が高いので、DやCLKがどんなことになっていても
影響されないのです。

次に、4〜5行目をご覧ください。
PRもCLRも0の状態でDには適当な値「n」が入力されています。(nは0か1)
この状態で、CLKが0から1へと変化する(これを立ち上がりといい、upで示す)と、
Qの値がDの値へと変化します。一度変化したら、次のCLKの立ち上がりが
来るまで、Qの値は保持されます。

以上が、D−FFの動作です。

 

●RS−FF

RS−FFは、D−FFからDとCLKをなくしたものです。
このRS−FFはIC単体として存在しないので、実際に回路をつくるときは
D−FFのCLKとDを0にした状態で用います。

  PR CLR Q~
Clear 0 1 0 1
Preset 1 0 1 0
(禁止) 1 1 1 1
保持 0 0 Q Q~

この真理値表も、前回のものと同じです。
「保持」の行でQの値がQになっていますが、これはQの出力は
前回のQである、すなわち保持されるという意味です。

 

●T−FF

T−FFは、入力されたクロック周波数を1/2にします。
このクロックというのは、0と1が周期的に変わるパルス状の信号のことです。

このICも単体では存在しなく、D−FFを改造して作ります。
改造はD−FFのPRとCLRを0に接続し、Q~をDに接続して完成です。
クロック信号をCLKに入力させると、1/2にされたクロックがQから出力されます。

 

●JK−FF

最後に、JK−FFの説明をします。以下は、JK−FFを2つ内蔵した
4027のピン配置と真理値表です。

4027 4027

 

  PR CLR CLK Q~
Clear 0 1 X 0 1
Preset 1 0 1 0
(禁止) 1 1 1 1
保持 0 0 up 0 0 Q Q~
0へ up 0 1 0 1
1へ up 1 0 1 0
反転 up 1 1 Q~ Q
保持 0 or 1 X Q Q~

かなり複雑に見えますが、1〜3の機能は、D−FFと同じです。
4〜7行目は、JK−FF独自の機能です。
J,Kの両方とも0にした場合、出力の変化はありません。
Kのみ1にした場合、Qの値が0になります。一見CLRに似ていますが
CLRはCLKに関係なく実行されるのに対し、これは、CLKの立ち上がり時にのみ実行されます。
反対にJのみ1にした場合は、Qは1になります。
おもしろいのは、J,K両方とも1にした場合には、Qの値が反転します。


2,カウンター

●簡易カウンター

カウンターは、入力されるクロックをカウントするICです。
Q0からQ3に2進数の各ビットが出力されます。
ICには、4518と4520という2種類がありますが
4518は10進カウンターで、9までカウントすると0に戻ります。
4520はFまでカウントした後0に戻ります。

 

4518 (10)

4520 (16)

4518

 

  CLR CLK CKE Q0〜3
Clear 1 × 0000
カウント 0 up 1 +1
0 down

CLRを1にすると、問答無用で0にリセットされます。
CKEを1の状態でCLKにクロックを入力すると、立ち上がりでカウント、
CLKを0の状態でCKEにクロックを入力すると、立ち下がりでカウントします。

 

●Up/Downカウンター

このあたりから本格的なカウンターになります。
4510は10進、4516は16進カウンターです。
このカウンターは、アップ、ダウンどちらのカウントもできる上
桁上げや、指定した値からのカウントもできます。

4510 (10)

4516(16)

4510

 

  CLR Load CI U/D CLK P0〜3 Q0〜3
Clear 1 X 0000
Preset 0 1 X N N
Count
Stop
0 1 X Q0〜3
Count
Up
0 1 up X +1
Count
Down
0 -1

CLR=1で、最優先で0にセットされます。
CLR=0,Load=1で、P0〜3の値がQ0〜3にせっとされ、そこからカウントが始まります。
CLR=0,Load=0,CI=1では、カウントがストップします。
CLR=0,Load=0,CI=0で、CLKが立ち上がったときに初めてカウントが開始されます。
カウントアップかダウンは、U/Dで決定されます。

さて、この真理値表に載っていないCOの役割ですが、これは桁上がり(下がり)の際に使用します。
UpCountの場合、8→9で0になり9→0で1になります。0から8までは1です。
DownCountの場合、1→0で0になり0→9で1になります。9から1までは1です。
なお、この説明は10進カウンターの場合なので、16進の場合はFや0の前後で
変化が起きます。

さて、このカウンターを複数個つなげると、何桁もカウントすることができます。
つなぎ方は、低位のカウンターのCOを高位のCLKに接続するだけです。
CLRやLoad,U/Dは一つに束ねておくと、一斉にリセットなどがかけられます。

 

●デコーダー

今までのカウンターは、Q0〜3に2進数をビットごとに出していましたが
このICでは、現在のカウント値のビットだけが1になり、他ビットは0です。
このタイプのICは2種類あり、4017は10進、4022は8進です。

4017 4017
4022 4022

 

  CLR CLK CKE Q0〜9
Clear 1 X Q0
カウント 0 up 1 +1
0 down

カウントアップの様子

Q0 Q1 Q2 Q3 Q4 ・・・
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0

CLR=1でリセットされカウンターの値は0になるので、Q0のみ1になり
Q1からQ9は0になります。カウントは、前述の通りに動きます。

さて、このカウンターは10進や8進なのですが、実は任意の進数に設定できます。
それは、Q0からQnまでのn+1進にしたい場合は、Qn+1の出力をCLRに
接続すればOKです。

COは4017の場合で、カウント値が0から4のときで1、5から9のときで0になります。


3,シフトレジスタ

シフトレジスタは、F・Fを横に並べたもので、
クロックが入力されるたびにデータを次々にシフトさせます。
次の図は、シフトレジスタ内部の様子です。D−FFが並んでいるのがわかるでしょう。

シフトレジスタ内部

この回路では、CKの立ち上がりによってDの値が読み込まれて
Q1に出力されます。その後、再びCKの立ち上がりが来ると
隣のFFにシフトし、Q2に出力されます。
このようなことが繰り返されQ4までいくと、そのデータはこのICから消滅します。
以下のは系チャートは、シフトレジスタの各ピンの変化の様子です。

シフトレジスタの波形

CKが立ち上がるごとにデータがQ1からQ4へと移っていく様子が分かります。

 

4015 4015

 

  CLR CK Q1〜4
Clear 1 X 0000
Preset 0 up   (シフト)
保持 0,1 X (変化なし)

4015には、4段階のシフトレジスタが2回路入っています。
もし、両方のCLK同士とCLR同士をつないだ上に、
一方のQ4ともう一方のDを結べば、8段階のシフトレジスタができます。

 

4006 4006

4006には、4段階(一部5段階)のシフトレジスタが4回路入っています。
しかし、最終段近辺の値しか出力されていません。

たとえば、a回路では、Daに値が入力されたら、4段階シフトした後に
Qa+4に値が出力されます。


戻る戻る