教育分野
ロジックICで構成した周波数カウンタの製作 【設計編 その2】
◎ゲート時間1ms時の制御
★表示のチラツキとニジミの問題
ゲート時間1s時のラッチ、リセットの制御は分周出力からゲートIC(ANDとNOT)を用いて作りだしました。
これをそのまま1ms時に当てはめた場合を図25に示します。
ゲートオープン(Hレベル)と閉じている(Lレベル)時間は同じ1msです。
つまり、表示の更新時間は2msです。
当初からこのことは分かっていたのですが、実際に動作させてみると表示にチラツキとニジミが出てしまいます。
例えば、2と3の表示ではセグメントのcが点灯してニジミのようになって、2と3の区別がつきません。
結局、ゲート時間1msでは更新時間2msの方式は使えません。
★更新周期を長くする
更新周期を長くすればニジミなどは起きません。
ただし、ゲート時間は1msですから、この時間は変えられません。
したがって、図26のような制御が必要です。
更新周期は③のラッチと⑤のラッチまでの時間ですから、この時間間隔を数100ms以上にすればよいわけです。
◎更新周期のみを長くする
★f/N分周
入力信号の周波数fに対して任意の値Nで分周するf/N分周器を図27に示します。
Nはプログラム可能な2~99までの値で、fを500Hz、Nを10とすれば f / N = 500 / 10 = 50Hzです。
また、Hレベルの時間は1msになり、この部分でカウントをさせます。
Lレベルの時間は19msですが、これでは適切な更新周期に不足していますので、N値を大きくすれば良いわけです。
例えば、Nを99とすればLレベルになっている時間は197msですから、約0.2sの更新周期になります。
★カウンタICによるプログラマブルf/N分周器
図28にカウンタICを用いたプログラマブルf/N分周器のブロック図を示します。
プリセット付のダウンカウンタを2個用い、1段目のカウンタで設定値の×1、2段目で×10の設定になります。
図29に回路を示します。
10進アップ/ダウンカウンタの74HC192をダウンカウンタとして用いています。
ダウンカウントは0(ゼロ)になるとボロー(BOバー)がLレベルになります。
後段カウンタのボロー出力でG1、G2のRSフリップ・フロップでデータをプリセットします。
設定値はN-1です。
74HC192のA~DにBCDコードで加えます。
1段目では8をセット、2段目では9を加えていますので、Nは99です。
したがって f / N は 500 / 99 =5.05Hz となり、Hレベルの時間は1ms、Lレベルの時間は197msです。
つまり、更新周期は約0.2sです。
図30にタイミングチャートを示します。
分かり易いように12をプリセットした場合です。
◎ゲート時間1ms時のラッチとリセット
★モノステーブル・マルチバイブレータ
ゲート時間1ms時のラッチとリセットはモノステーブル・マルチバイブレータを用いています。
モノステーブル・マルチバイブレータとは図31のように入力(トリガ)を与えると一定時間のパルスを発生するもので、パルス幅Tは外付けのC、Rで決まります。
★74HC123
市販のモノステーブル・マルチバイブレータにはいくつかのICがあり、図32に74HC123Aを示します。
このICは2回路を内蔵し、トリガはL→HへのエッジまたはH→Lへのエッジを選択することができます。
出力はQとQバーの2つで、常に逆の論理になり、都合の良い論理を選択できます。
パルス幅はCx,Rxで決めますが、トリガのH時間より短い設定をすれば、これにより短いパルスが得られます。
74HC123は2回路入りです。
そこで今回は図33の接続でラッチとリセットの信号を得ています。
タイミングとしては1msゲート信号がH→Lになってからこれらの信号を得たいので、1段目はH→Lのエッジでトリガをかけます。
このトリガによって発生したパルス(Q出力)をラッチ信号とし、さらにこれを次段のL→Hエッジ入力であるB入力へ入力します。
このエッジ入力で発生するパルスがリセット信号になります。
各信号のタイミングは図33のとおりで、ラッチはH→Lへの変化で確定します。
リセットはL→Hへの変化のポイントです。
それぞれのHレベルの時間はそれほど重要ではありません。
今回はこの時間を約100μsに設定しています。
なお、ラッチからリセットへの間隔は図33では直後のタイミングに見えますが、実際にはデバイスのディレー(遅れ)時間があり、実測で10数nsです。
★回路
図34に回路を示します。
今回の場合、パルス幅はそれほどの精度は必要ありません。
1000pFと100kΩで約100μsになります。
パルス幅の計算方法またはその他の動作モードについてはメーカーのデータシートを参照願います。
精度は必要ありませんので、抵抗はカーボン抵抗です。
コンデンサはセラミックコンデンサでも良いと思いますが、今回は誤差±5%のマイラーコンデンサを用いています。
写真3はユニバーサル基板にて図29、34の回路を組んで動作確認している風景です。
デジタル回路での微妙なタイミングはオシロスコープでは分かりにくいのでロジックアナライザにて確認しています。
◎1sと1msの切り替え
★切り替え箇所
測定周波数によりゲート時間を1sと1msに切り替えますが、その切り替え箇所を図35に示します。
ゲート時間以外にラッチおよびリセットも同時に切り替える必要があります。
★ノンショートとショーティング
図35の切り替え部を機械式スイッチで行う場合、3回路2接点のノンショーティングタイプが必要です。
スイッチの機能(動作)を表現するなかで、「ノンショート」と「ショーティング」という言葉があります。
これは特にスライドスイッチ、ロータリースイッチなどで区別され、次のような意味です。
ショーティングタイプは接点切換途中にオープンになると不具合がある場合などに用い、ノンショートは切換途中のオープンが問題にならない場合に用います。
今回は図37のようにショーティングでは出力同士がぶつかるので、ノンショートが必要です。
★NANDとON-OFFスイッチによる切り替え
3回路2接点のノンショーティングの機械式スイッチでは部品選択が難しくなりますので、トグルスイッチなどの一般的なものとし、ON-OFFスイッチで実現できる方式を図38に示します。
NANDゲートを用いた選択回路です。
NANDゲートは両方の入力がHの場合、出力はLです。
別な見方をすれば図39 d )のように片方の入力をLにすれば出力は常にHになって、片方の入力状態は出力に反映されません。
つまり、ゲートを閉じた状態です。
具体的には図38 a ) のようにスイッチONではG2の入力およびG4の入力はLです。
したがって、②の信号状態によらずG2の出力はHです。
また、G4はNOTですから、その出力はHになり、G1出力は①の状態を反転したものになります。
G3はNANDを「負論理入力のOR」で表現しています。
これにより①の状態がそのままG3出力に現れます。
図38 b ) はスイッチがOFFの場合で、今度は②が選択されます。
★ON-ONスイッチの場合
NANDには74HC00があります。
このICはNANDゲートが4個入っていますので、図38の方式ではこの部分でICが1パッケージです。
NANDは負論理のANDですが、図39 c )のようにNOTにもなる便利なゲートです。
余ったゲートは他の回路で使用できますのでなるべくICの数を減らすことを考えてみます。
図38ではスイッチにON-OFFタイプを用いましたが、これをON-ONタイプとした場合を図40に示します。
それぞれの端子をプルアップすると2つの接点の論理は常に逆になります。
これを利用すればNOTの役割になってゲートが1つ減ります。
★採用回路
結局、NANDとON-ONスイッチの方式を採用し、具体的な切替回路を図41に示します。
74HC00はNANDが4個入りですから、このICを2個用い、余ったゲートは他の部分で利用しています。
また、スイッチはノンショート、ショーティングは問わず、今回は一般的なトグルスイッチです。
なお、特にプルアップ抵抗の定数を示していませんが、10kΩ~100kΩが適当な値です。
◎ゲート回路
ゲート回路はANDです。
前後関係を含めたゲート回路を図42に示します。
AND部は余った74HC11のゲートを用い、論理合わせのNOTを入れています。
出力波形はゲートを閉じている場合、常にH、オープンで波形整形回路からの信号が現れます。
試作機はこの回路で組んでいます。
製作後に気づいたのですが、この部分はNANDゲート1個で構成でき、そのほうが素直です。
ロジックICで構成した周波数カウンタの製作 【設計編 その3】に続きます。
ロジックICで構成した周波数カウンタの製作 【測定原理と仕様検討編】はこちら
ロジックICで構成した周波数カウンタの製作 【設計編 その1】はこちら
ロジックICで構成した周波数カウンタの製作 【設計編 その2】