単方向のカウンターで双方向のパルスを累算する:Design Ideas 信号源とパルス処理
今回は、標準的な単方向カウンター・タイマーICである「82C54」と簡単なソフトウェアを使い、直角位相差出力のエンコーダーとISA入出力バスのインタフェース回路を紹介する。
双方向の回転検出用途では通常、直角位相差出力*)の光学式インクリメンタル・シャフト・エンコーダーを使う。2000パルス/回転を超える分解能を備えたものが入手できる。双方向の機械的な運動をデジタル値で読み出す方法としては、インクリメンタル・エンコーダーは高速で安価で信頼性の高いものである。
*)位相が90°異なる2本の矩形波信号(A信号とB信号)を出力すること。
双方向の動きを簡単にデジタル化
エンコーダーは極めて高速であり、1万回転/分を超える速度で動く。しかし、必要とされるインタフェース論理回路は少々厄介だ。この論理回路は普通、多ビット(例えば16ビット)の双方向カウンターを少なくとも1個は必要とする。単方向のカウンターであれば、8253や8254、9511といった手軽なICでいろいろな回路構成が実現できる。
しかし、双方向のカウンターICは少なく入手しづらい。必要とする機能を実現する手法としてはASICがある。ハード・ワイヤード・ロジックやFPGAも考えられる。しかしこれらの手法は、コストやプリント基板の実装占有面積の点で理想とはかけはなれる。
図1では、標準的な単方向カウンター・タイマーICである「82C54」と簡単なソフトウェアを使い、直角位相差出力のエンコーダーとISA入出力バスのインタフェース回路を構成した。この回路は、双方向の動きを簡単にデジタル化する。
図2に示すように、82C54が内蔵する2個の単方向カウンターを使うことが肝である。エンコーダーの回転方向ごとに1個のカウンターを利用する。エンコーダーの直角位相差出力の一方であるA信号は、両方のカウンターのゲート・ピン(14番ピンと16番ピン)を駆動する。これでエンコーダーの出力サイクルごとに1回ずつカウントできる。
1対のシュミット・トリガー・インバーター段は、もう一方の出力であるB信号の位相を分割して1対の相補信号を生成する。同相信号は時計回りのカウンター(82C54のカウンター1)のトリガー入力(15番のクロック・ピン)を駆動する。逆相信号は反時計回りのカウンター(82C54のカウンター2)のトリガー入力(18番のクロック・ピン)を駆動する。
この結果、時計回りに回転している間だけは、時計回りのカウンター(カウンター1)だけがアクティブになり、反時計回りに回転している間だけは、反時計回りのカウンター(カウンター2)がアクティブになる。
工業用の動き検出用途に
リスト1はMBasicで記述したプログラムである。カウンターの内容を周期的にラッチし、読み出す。そして合計値を求めてエンコーダーの位置を32ビット・データとして連続して出力する。
本稿で紹介した回路は、500kHzのパルス出力速度に容易に対応する。RC受動フィルターとシュミット・トリガー信号整形によってエンコーダーのケーブル系が拾った雑音を除去する。本回路は、工業用の動き検出用途に適している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ランダムなビット列を生成する回路
従来のビット列発生器は、帰還をかけたシフト・レジスターを使って疑似ランダム・ビット列(PRBS)を得ていたため、有限長で同じパターンを繰り返すという問題を抱えていた。今回はこうした問題を打破できる、ランダム雑音を使って出力データ列を発生する回路を紹介する。 - パワーMOSFETを直流電子負荷に活用する
太陽電池アレイやバッテリーなどの電源の試験に、電子回路によって構成した直流負荷を用いるが、市販製品は高価なものが多い。パワーMOSFETをリニア領域で用いると、電子負荷を自作できる。 - 高速クロックの逓倍回路
理論上では、同期クロックの逓倍(ていばい)は簡単だ。しかし、周波数が高いクロックを逓倍する場合には高い周波数に対応したVCOを入手しなければいけない問題が生じる。今回はその問題を解決する回路を提案する。 - 周期波形を矩形波に変換する回路
データからクロック信号を抽出する時などに欠かせない「周期波形を矩形波に変換する回路」として、変換回路にデューティー比を制御できる機能が備わった回路を紹介する。