教育分野

アップダウンカウンタの制作 基礎編

◎ロジックICでカウンタを製作する

数を数えるカウンタを製作しましたので紹介します。
図1のようにスイッチを押す毎にカウントアップまたはカウントダウンするアップダウンカウンタです。
使い道は色々と考えられますが、便利な機能としてカウントスタート値が設定できるプリセット機能付です。
このようなカウンタはマイコンで行うことができますが、標準のロジックICで構成することにします。

160128-010-01

◎カウンタの基本

★Tフリップ・フロップ

カウンタの基本はTフリップ・フロップです。
フリップ・フロップとは状態を記憶する回路で「RS」、「D」、「JK」などがあります。
Tフリップ・フロップは入力(クロック」がある毎に出力が反転します。
図2に記号とタイミングチャートを示します。

160128-010-02

Tが入力で出力はQと/Q(バーが書けないのでスラッシュ/で表現)の2つです。
Qと/Qは常に論理が逆になります。
a ) のポジティブエッジトリガはT入力が「L→H」に変化するタイミングで出力が変化します。
b ) のネガティブエッジトリガはT入力が「H→L」に変化するタイミングで出力が変化します。
ネガティブエッジトリガの記号でTに○が付いていることに注意してください。
以下、Tフリップ・フロップをT-FFと表現します。
なお、TはTriggerまたはToggleの略です。

★アップカウンタの原理

図3にアップカウンタの構成例とタイミングチャートを示します。
ネガティブエッジトリガのT-FFを4個(段)用いた例です。
1段目のT入力にクロックを接続し、2段目以降のT-FFのT入力は前段のQ出力です。

160128-010-03

T-FFは入力がある毎に出力が反転しますので各Q出力は図3のようになります。
最初に各Q出力がLとなるようにリセットしておきます。
この状態からクロックを1つ入力するとH→Lの変化で1段目T-FFのQ0出力がHへ反転します。
2個目のクロックH→Lで今度はQ0がLへ反転し、クロックが入る毎にH/LN反転動作になります。
2段目以降のT-FFの入力は前段のQ出力になり、これも各Q出力が反転動作を繰り返します。

図3では各Q出力を縦に並べましたが、これを横に並べたものが表1です。
この場合、Q3が最上位桁なので左からQ3、Q2、Q1、Q0と並べます。
表1からクロックを0~15まで数えて、カウント(数)がアップしていることが分かります。
なお、図3から分かるようにすべてのQ出力がH(10進数で言えば15)の次はすべての出力がL(10進数で0)に戻ります。

表1 図3の真理値表

Q3 Q2 Q1 Q0 10進数
L L L L 0
L L L H 1
L L H L 2
L L H H 3
L H L L 4
L H L H 5
L H H L 6
L H H H 7
H L L L 8
H L L H 9
H L H L 10
H L H H 11
H H L L 12
H H L H 13
H H H L 14
H H H H 15

★ダウンカウンタの原理

図4のようにT-FFをポジティブエッジトリガにしてみます。
クロックのL→Hの変化で出力が反転しますので、リセット後の最初のクロック入力ですべての出力がHとなり、クロックが入る毎にダウンカウントしていきます。

160128-010-04

★D-FFで構成したT-FF

専用のT-FFはありません。
JK、Dなどのフリップ・フロップを用いてT-FFを構成します。
(以下、フリップ・フロップをFFと表現)図5はD-FFと呼ばれるものです。
入力が2つ(DとCK)、出力が2つ(Qと/Q)あり、クロックCKのL→Hへの変化でD入力の状態が記憶されます。

160128-010-05

図6の①、②間のようにD入力がHになってもQ出力がすぐにHになりません。
②のクロックCKのL→Hへの変化でQ出力がHになり、遅れて出力されています。
このような遅れ(Delay)動作の特徴からD-FFと呼ばれます。

160128-010-06

図7のように/Q出力をD入力に接続するとT-FFになります。
D-FFはD入力の状態をQに出力しますので、最初の/QをHとすればクロックCKのL→Hへの変化でQはHになります。
この時、Qと/Qは常に論理が逆ですから/QはLに変化します。
2番目のクロックCKではD入力(/Q)はLですから、QはLに変化します。
つまり、クロックCKが入る毎にQ出力が反転するT-FF動作になります。

160128-010-07

D-FFは市販されています。
例えば、CMOS標準ロジックICの各シリーズでは以下の型番です。

(74HCシリーズ)
74HC74
(4000シリーズ)
TC4013

◎市販の10進カウンタIC

★2進化10進数(BCD)

図4,5のようにT-FFを4個用いたカウンタは0~15までをカウントすることができました。
この場合、16進数です。
日常用いているのは10進数ですから、0~9までをカウント出来れば便利です。
10進数に対応した真理値表を表3に示します。
10進数の1桁を2進数の4桁で表わしたもので、2進化10進数と言い、BCDコードとも呼ばれます。
(BCD = Binary Coded Decimal)アップカウントでは9の次は0に戻り、ダウンカウントでは0の次は9に戻ります。

表3 2進化10進数(BCD)

Q3 Q2 Q1 Q0 10進数
L L L L 0
L L L H 1
L L H L 2
L L H H 3
L H L L 4
L H L H 5
L H H L 6
L H H H 7
H L L L 8
H L L H 9

★10進アップダウンカウンタ74HC192

市販の10進カウンタICには色々あります。
今回はアップダウンカウンタにデータプリセット機能が付いた74HC192を紹介します。
図8と表4に回路シンボルと真理値表を示します。

160128-010-08

表4 74HC192の真理値表

UP DOWN RST /LD 出力
H L H カウントアップ
H L H カウントダウン
× × H × リセット
× × L L データプリセット

↑はL→Hへの変化
×はLまたはH

図9のように5ピンのUPがアップカウントのクロック入力、4ピンのDOWNがダウンカウントのクロック入力となっていて、クロックのL→Hへの変化でカウントされます。
出力はQ0~Q3で、表3のパターンになります。
11ピンの/LDはクロックによらず、このピンをLにするとP0~P3の入力データがQ0~Q3にセットされ、これをデータプリセットと言います。
つまり、カウントアップまたはカウントダウン開始のデータをセットすることができます。

160128-010-09

CAはキャリー(CARRY)出力です。
キャリーとは「桁上げ」のことで、図10 b ) のようにカウントアップ時に0のタイミングでLになります。
BOはボロー(BORROW)出力で、「桁下がり」です。
図10 c ) のようにダウンカウント時に9のタイミングでLになります。
CAとBOは図10 a ) のように桁を増設したい場合に用い、下位桁のCAを上位桁のUPに接続し、BOはDOWNに接続します。
カウントアップ時では下位桁が9→0になった時に上位桁が1つカウントアップし、ダウンカウントで下位桁が0→9になった時に上位桁は1つカウントダウンします。
詳細については各メーカーの74HC192のデータシートを参照願います。

160128-010-10

◎7セグメントLEDへの表示

★7セグメントLEDとは

7セグメントLED(セブンセグメントLEDまたは、ななセグメントLEDと発音、以下、7SEG-LEDと表現)は複数のLEDを1つのパッケージに収めたもので、英数字やバーグラフを表示するためのLEDです。
セグメント(segment)とは「切片」「部分」「線分」などの意味ですが、図11 a ) のように各部分を指します。
各セグメントは1つのLEDとなっており、セグメントが7個あることから7SEG-LEDと呼んでいます。
各セグメントはa~gの名称がつけられており、数字を表示したければ各セグメントを点灯させます。
図11 f ) は英数字以外に点を表示させるためのもので「デシマルポイント」(D.P)と呼ばれ、小数点を表現します。

160128-010-11

図12は内部結線例です。
アノードまたはカソードが共通(コモン)になっています。
点灯方法は図13のように、コモンにより異なりますが、それぞれスイッチONで点灯します。
機械的スイッチで表現しましたが、スイッチ部をデジタルのH/Lで置き換えて点灯/消灯を行うことができます。
各抵抗は電流制限用です。
抵抗値の考え方は普通のLEDの場合と同じです。

160128-010-12

★7セグメントLEDデコーダ

カウンターの出力はBCDコードです。
これに対し7SEG-LEDの点灯パターンは図11 e ) のようにお互いのコードが異なります。
したがって、図14のようにカウンターを7SEG-LEDに接続することはできません。

160128-010-13

カウンターを7SEG-LEDに接続して数字を表示させるためには図15のように7SEG-LED用のデコーダを間に入れます。
デコーダとは「解読器」というような意味で、7SEG-LED用デコーダの場合、BCDコードを7セグメント・コードに変換する機能です。

160128-010-14

7SEG-LED用デコーダICは市販されています。
いくつかの型番があるのですが、今回は図16の74HC4511を紹介します。
A~DがBCDコード入力で、a~gが7セグメント・コード出力です。
a~gのHを○、Lを×に置き換えると前記図11 e ) と一致します。

160128-010-15

74HC4511のデータシートにも明記されていますが、用いる7SEG-LEDはカソード・コモンです。
図16の真理値表でも分かるようにa~g出力はHで意味があり、各セグメントLEDが点灯します。
3,4ピンの/LT,/BIは表示器のテスト用に用います。
図17 a ) のように/LTをL(GND)に接続すると他入力に無関係にa~gがすべてHになります。
したがって、7SEG-LEDの全セグメントが点灯します。
また、/LT = H/BI = L にすればすべてLになり、全セグメントが消灯します。

図18にカソード・コモンの7SEG-LED(LinkmanのKW1391CSB)を用いた1桁のアップダウンカウンタの接続例を示します。
1桁ですので、74HC192のCAとBOは未接続にします。
74HC192と74HC4511の動作電源電圧範囲は2~6Vです。
電源に乾電池を用いるとすれば3V以上の電源電圧が適当です。

160128-010-16

以上、アップダウンカウンタの基礎について解説しました。
次回はクロックの供給方法、リセット回路および桁増設について解説します。

参考資料・文献

・MLCTB-BASEロジック回路学習ボード学習教本 マルツエレック(株) 2011年第2版
・TC74HC4511AP/AFデータシート 東芝
・CD74HC192データシート TI

第二回 アップダウンカウンタの制作 実験編はこちら

第三回 アップダウンカウンタの製作 設計編はこちら

第四回 アップダウンカウンタの製作 製作編はこちら

ページトップへ