2016年01月27日

教育分野

アップダウンカウンタの制作 実験編

◎アップダウンクロックの供給

★方式検討

カウントは押しボタンスイッチを押した回数です。
これをカウンタのクロック入力に接続するのですが、その方式について検討します。
図19に2つの方法を示します。
図19 a ) はアップ、ダウン専用のスイッチを用意し、これをカウンタのUP、DOWNに接続する方法です。
図19 b ) は押しボタンスイッチを1つとし、これをスイッチにてUP、DOWNに切り替えます。
アップダウンカウンタの用途にもよると思いますが、頻繁にアップダウン操作することはないと思います。
そこで、図19 b ) のスイッチを1つとし、アップダウンはクロック切り替え方式を採用することにします。

160128-011-01

★クロック切り替え

図19 b ) では切り替えを機械式スイッチで表現していますが、切り替え時にチャタリングが発生します。
これによりカウントスイッチ操作によらずカウントミスしてしまいます。
そこで、クロック切り替えを電子的に行う方法について検討します。
図20はNANDゲートによる切り替え方式です。
S1でアップ/ダウンを選択し、G1,G2の片方の入力を共通とし、これにカウントスイッチの出力(クロック)を加えます。

160128-011-02

まず、図22 a ) のように選択スイッチがHの状態でクロックに「L→H→L」となる1個のパルスを加えた場合を考えてみます。
G3はNOTですからG2の片方の入力はLになり、G2出力はクロックの状態によらず常にHです。
図21の真理値表でAを選択スイッチ、Bをクロックと思えば、Aが常にLですからYも常にHです。
これに対し、G1は片方の入力(図21のA)は常にHですからクロック(B)と逆の波形が出力に出てきます。
今度は図22 b ) のように選択がLの状態です。
同様にクロックを加えるとG1出力は常にHになり、G2出力にクロックと逆の波形が出てきます。
つまり、選択スイッチによりクロックを切り替えていることになります。

160128-011-03

さらに図23のようにクロックをL固定で考えてみます。
この状態で選択スイッチを「H→L」または「L→H」に切り替えても、G1,G2出力はHのままで変化はありません。
この動作の意味はクロックをL固定とし、選択スイッチを切り替えてもアップ/ダウンには変化が無いことと、スイッチにチャタリングがあったとしても誤動作しないということです。

160128-011-04

以上はクロックL→H→Lの場合でしたが、クロックH→L→Hの場合を図24で考えてみます。
図24 a ) のように選択HでG1が選択され、この動作はOKです。
今度は図24 b ) のように選択をH→Lに切り替えると、G1とG2出力に変化が起きます。
さらに選択をL→HにするとG1,G2出力に変化が起きて、選択スイッチを切り替える毎にG1,G2出力にクロックが出力されることになり誤動作してしまいます。
つまり、図24の方式はNGです。

160128-011-05

結局、図25のようにクロックはチャタリングが無い、L→H→Lのパルスが必要です。
アップ/ダウン選択についてはチャタリングがあってもよく、機械的スイッチで良いことになります。

160128-011-06

◎回路検討

★実験回路

アップ・ダウンクロックの供給方式が決まりましたので、それ以外の回路について検討します。
図26に実験回路を示します。

160128-011-07

NANDは74HC00を用いています。
G3はNANDを用いたNOT回路です。
前記図21の真理値表のようにA,B入力が同じ論理であれば逆の論理になりますのでNOTです。

160128-011-08

★チャタリング防止

図28にスイッチ操作時の波形を示します。
①のようにスイッチOFFでは抵抗でプルアップされていますので、NOTの入力はHです。
したがって、NOT出力はLです。
今度は②のようにスイッチをONすれば、NOT出力はHです。
さらに、③のように再びスイッチOFFでNOT出力がLになり、L→H→Lのパルスとなります。

160128-011-09

図28の波形はスイッチにチャタリングが無い理想的な場合です。
しかし、機械的なスイッチにはチャタリングがあります。
チャタリングとはスイッチON/OFF時にスイッチ接点がバウンドすることで、ON/OFFを複数回繰り返す現象です。
図29のようにスイッチを1回押したつもりでも余計にカウントしてしまいます。
したがって、このような用途ではチャタリングを防止する必要があります。

160128-011-10

図30に今回用いたチャタリング防止回路を示します。
抵抗とコンデンサによる充放電を利用し、チャタリング波形を吸収します。
スイッチONで、C2→R5→スイッチ→GNDの経路で放電し、スイッチOFFではVCC→R4→R5→C2の経路で充電します。
この時、B点における波形はチャタリングを吸収したゆるやかなものになり、さらにシュミット・トリガNOTで波形整形を行ってきれいなデジタル信号にします。

160128-011-11

図30の回路ではシュミット・トリガのNOTゲートを用います。
この部分に一般的なNOTゲートを用いると誤動作してしまいます。
NOTゲートは入力信号VIを反転して出力しますが、H/Lのレベルを判断する電圧をスレッショルド電圧と言い、図31 a ) のような特性です。
入力がH→L、またはL→Hに変化してもスレッショルド電圧は同じ値です。
このような特性をもったものに図31 b ) のようなゆるやかな信号を入力し、さらにノイズが重畳されていたらどうなるでしょうか。
スレッショルド電圧付近ではノイズにより、信号レベルが上下し、これにより誤動作してしまいます。

160128-011-12

以上のように一般的なNOTゲートは入力信号のスレッショルド電圧が同じですが、入力がL→H、H→Lで異なるNOTゲートがあります。
このような特性をもったものをシュミット・トリガ・NOTと言い、図32に回路記号と特性を示します。

グラフの横軸は入力信号VI、縦軸は出力信号VOであることに注意してください。
VIがL→Hに上昇する時はVt(H)のレベルで出力VOがH→Lに反転し、VIがH→Lに下降する時はVt(L)のレベルでVOがL→Hに反転し、Vt(H)とVt(L)のレベル(値)は異なります。
図32 c ) はこれを同時に表現したもので、このような特性をシミュット特性と言い、Vt(H)とVt(L)の電圧差をヒステリシスと言います。

160128-011-13

図32では横軸、縦軸ともに電圧でしたが、横軸を時間、縦軸を入力信号VIで表現したものを図33に示します。
この例ではVI上昇時のVt(H)は3.5V、下降時のVt(L)は2.3Vでヒステリシスは1.2Vです。
他の電源電圧の場合はデータシートを参照願います。

160128-011-14

このようなシュミット・トリガNOTにゆるやかな信号を入力した場合の波形を図34に示します。
出力反転ポイントが上昇、下降時で異なるのが分かります。
この例ではノイズ重畳を表現していませんが、ヒステリシスより小さいノイズであれば、それによる誤動作はありません。

160128-011-15

★リセット回路

カウント値を0(ゼロ)にすることをリセットと言います。
電源ON直後ではリセットを行わないとカウント値が不定なので、ゼロにする必要があります。
また、途中でカウント値をゼロにしたい場合もあります。
図35にリセット回路を示します。
74HC192はリセット端子(14ピン)をHにすることによりリセットされ、Lにすることによりカウント動作を行うことができます。
リセット機能は以下の2つが必要です。

①パワーONリセット
電源ONと同時にHになり、その後はLになる。
②マニュアルリセット
動作中にリセットボタンONでリセット。

160128-011-16

パワーONリセットは図36 a ) のようにスイッチS2がOFFですから、VCC→R2→C1の経路で充電します。
充電開始により図36 b ) のようにA点の電圧が徐々に上昇し、Vt(H)のポイントでB点が反転します。
つまり、電源ON直後は一定時間リセットがかかり、その後はリセット解除になります。
マニュアルリセットは図36 c ) のようにS2をONすることにより行います。
ONすれば、C1→R3→C2→GND経由で放電され、入力がLになりますので、これにより出力Hでリセットです。

160128-011-17

★クロックとリセットのタイミング調整

前記図30のチャタリング防止回路もパワーONで一定時間出力がHになります。
この場合問題となるのはリセット回路とのタイミングです。
図37にクロック回路とリセット回路のみを抜き出したものを示します。
クロック切り替え部はG1、G2の2つがありますが、G1のみを表現しています。
例えば、G1の片方の入力がHの場合、パワーONでA点の出力によりB点にL→Hの変化が起こります。
この変化はクロックです。
この現象は必ず起こりますので、この期間はリセットになっていることが必要です。

図38はパワーON直後の波形を示したもので、図38 a ) のタイミングではリセット解除後にB点がL→Hの変化が起こりますので、これによりカウントしてしまいます。
図38 b ) ではB点に変化があってもリセット中なので、カウントしません。
つまり、A点とC点のパワーON直後にHになる期間は「 A < C」 の関係が必要です。

160128-011-18

◎MLCTB-BASEで実験

7SEG-LEDを表示させるためには図26の回路に7SEG-LED用デコーダと7SEG-LEDが必要です。
ブレッドボードにこれらの回路を組むことは可能ですが、かなり大変です。
そこで、ロジック学習ボードMLCTB-BASEを利用して実験することにしました。
MLCTB-BASEは写真1のように、スイッチ、LEDなどはプリント基板上に搭載済です。
実験回路をブレッド・ボード上に組んで、必要なスイッチ、LEDなどへはジャンプ・ワイヤで接続します。
7SEG-LEDも1個実装済で、7SEG-LED用デコーダ(74HC4511と同機能のTC4511)も実装、配線済です。
電源は単3電池2本を用い内部で5Vに昇圧しています。
MLCTB-BASEで7SEG-LEDを表示させるためには図39のように接続します。
ブレッド・ボード上に組んだ74HC192のQ0~Q3出力をジャンプ・ワイヤにてCN4へ接続するだけです。
(写真1参照)カウント用、リセット用などのスイッチは実装済のスイッチを利用することは可能です。
ただし、カウント用スイッチは用いるものによりチャタリングの程度が異なるので、実際に用いるスイッチで実験します。
写真2はクロックとリセットのタイミングを観測している風景で、結果を図40に示します。

160128-011-19

160128-011-20

160128-011-21

次回、第三回へ続きます。

ページトップへ