(57)【要約】【課題】低分解能のロータリーエンコーダであっても高分解能かつ高精度の出力が可能な信号処理回路を提供する。【解決手段】ロータリーエンコーダ１からの位相が異なる２つの出力信号１，２の組み合わせから４状態判定ブロック２にて４つの状態を判定して、カウンタ３にて各状態の遷移をカウントする。また、前回と今回との状態を照合して、カウンタ３のカウントアップ、カウントダウンのいずれかを識別する。隣接状態遷移判定ブロック４にて、ロータリーエンコーダ１の４状態のうち、隣接する２つの隣接状態間を反復遷移することを検出した場合、カウンタ３のカウント動作を停止する。また、人的操作判定ブロック５にて、ロータリーエンコーダ１の状態が遷移する遷移時間および／または３つの状態間に亘る遷移の発生の有無に基づいて、ロータリーエンコーダ１のユーザによる操作如何を判定し、ユーザによる操作の場合はカウンタ３のカウント動作を実行させる。【選択図】図７
2008256529.tif 000002
【特許請求の範囲】
【請求項１】
回転動作に応じてあらかじめ定めた位相差で２系統の出力信号を出力するロータリーエンコーダと、該ロータリーエンコーダからの２系統の出力信号によりカウント値を計数するカウンタとを少なくとも備えた信号処理回路において、前記ロータリーエンコーダからの２系統の出力信号の組み合わせから前記ロータリーエンコーダの４種類の状態を判定して、各状態間の遷移を状態信号として前記カウンタに出力する４状態判定手段をさらに備え、該４状態判定手段から出力される各前記状態信号により、前記カウンタのカウント動作を行うことを特徴とする信号処理回路。
【請求項２】
前記４状態判定手段は、４種類の状態の判定結果について、前回の状態と今回の状態とを照合することにより、前記ロータリーエンコーダの回転方向を識別し、前記カウンタに対して、カウントアップ動作、カウントダウン動作のいずれかのカウント動作指示信号を出力することを特徴とする請求項１に記載の信号処理回路。
【請求項３】
前記ロータリーエンコーダからの２系統の出力信号の位相差が、（１／４）位相に設定されていることを特徴とする請求項１または２に記載の信号処理回路。
【請求項４】
前記ロータリーエンコーダが、４種類の状態のうち、互いに隣接する２つの隣接状態間を反復遷移する動作を繰り返していることを検出した場合には、前記カウンタのカウント動作を停止する信号を出力する隣接状態遷移判定手段を、さらに備えていることを特徴とする請求項１ないし３のいずれかに記載の信号処理回路。
【請求項５】
前記隣接状態遷移判定手段は、２つの隣接状態間を反復遷移する動作から脱したことを検出した際に、前記カウンタのカウント動作を再開するとともに、前記ロータリーエンコーダの回転方向の変化を検出した場合、前記カウンタのカウント値を補正することを特徴とする請求項４に記載の信号処理回路。
【請求項６】
前記隣接状態遷移判定手段は、前記カウンタのカウント値を補正する際に、２つの隣接状態間の反復遷移の動作中においてカウント動作を停止した前記ロータリーエンコーダの回転方向の変化に該当する状態の遷移に基づいて、カウント値を補正することを特徴とする請求項５に記載の信号処理回路。
【請求項７】
前記ロータリーエンコーダをユーザが操作しているか否かを判定する人的操作判定手段をさらに備え、該人的操作判定手段の判定結果として、前記ロータリーエンコーダをユーザが操作していると判定した場合には、前記隣接状態遷移判定手段により前記カウンタのカウント動作を停止しようとする２つの隣接状態間の反復遷移が発生している場合であっても、前記カウンタのカウント動作を実行させることを特徴とする請求項４ないし６のいずれかに記載の信号処理回路。
【請求項８】
前記人的操作判定手段は、前記ロータリーエンコーダの状態が遷移する遷移時間および／または３つの状態間に亘る遷移の発生の有無に基づいて、前記ロータリーエンコーダをユーザが操作しているか否かを判定することを特徴とする請求項７に記載の信号処理回路。
【請求項９】
前記人的操作判定手段は、前記ロータリーエンコーダの状態の遷移時間が、あらかじめ設定した遷移時間閾値を超えている場合には、前記ロータリーエンコーダをユーザが操作しているものと判定することを特徴とする請求項８に記載の信号処理回路。
【請求項１０】
前記人的操作判定手段は、前記ロータリーエンコーダが３つの状態間に亘る遷移が発生していた場合には、前記ロータリーエンコーダをユーザが操作しているものと判定することを特徴とする請求項８または９に記載の信号処理回路。
【請求項１１】
前記人的操作判定手段は、前記ロータリーエンコーダが３つの状態間に亘る遷移が発生した以降、ユーザが操作可能な回数としてあらかじめ設定した操作回数閾値以下の前記ロータリーエンコーダの状態の変化回数に限って、ユーザの操作に基づく状態の変化であると判定することを特徴とする請求項１０に記載の信号処理回路。
【請求項１２】
前記人的操作判定手段における前記遷移時間閾値および／または前記操作回数閾値を、任意に変更して設定することができることを特徴とする請求項９ないし１１のいずれかに記載の信号処理回路。
【請求項１３】
前記カウンタ、前記４状態判定手段、前記隣接状態遷移判定手段、前記人的操作判定手段のうち、いずれか１ないし複数の手段が、ＦＰＧＡを用いて形成されていることを特徴とする請求項１ないし１２のいずれかに記載の信号処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理回路に関し、特に、ロータリーエンコーダの出力を利用する信号処理回路に関する。
【背景技術】
【０００２】
従来、例えば業務用の放送映像機器などに適用されるロータリーエンコーダの信号処理回路においては、人（ユーザ）がロータリーエンコーダの出力の微調整を行うことを可能とするために、人が調整する際に操作するツマミをロータリーエンコーダに設け、直接調整するように構成する場合の他に、フェーダなどの操作レバーを設けることによって、一定範囲内で、ロータリーエンコーダを操作させるものもある。図９は、ロータリーエンコーダを操作するフェーダのイメージを示す概念図である。
【０００３】
フェーダは、実際に、人が操作を行う操作レバー１３とロータリーエンコーダ部に分けられる。操作レバー１３は、図９に示すように、動作範囲が決められている。ロータリーエンコーダ部は、操作レバー１３の動作範囲の制限があるため、ギアなどを用いてロータリーエンコーダ１１に対して操作レバー１３の動作を伝達する。これによって、ロータリーエンコーダ１１が、回転し、後段のＦＰＧＡなどからなる処理回路１２に対して信号（パルスカウント値）を出力する。
【０００４】
処理回路１２を組み込む対象の装置として、必要とされるパルス数が多い（つまりカウント数を多く必要とする）場合、あるいは、処理回路１２を組み込む装置の操作方法によって、ロータリーエンコーダ１１を操作することができる回転範囲が限られてしまう場合などにおいては、低分解能のロータリーエンコーダでは、必要なカウント数までカバーすることができないこと、あるいは、ロータリーエンコーダを何回も回転させることが必要となり、操作性が悪化することなどの弊害が発生する。このため、高分解能が要求される場面においては、高分解能のロータリーエンコーダ１１が必要になっている。この高分解能のロータリーエンコーダ１１からの出力が、後段の処理回路１２に入力されて、ロータリーエンコーダ１１の回転動作に応じた高分解能の各種の制御信号が出力されることになる。ここで、後段の処理回路１２には、前述のように、主に、ＦＰＧＡなどの半導体デバイスが用いられる。
【０００５】
つまり、従来のロータリーエンコーダ１１を使用した信号処理回路では、例えば、特許文献１の特開平６−１３７８９２号公報などのように、信号処理回路として高分解能を必要とする場合には、高分解能のロータリーエンコーダ１１を用意することになる。したがって、安価な低分解能のロータリーエンコーダを使用することができない状況にあった。
【特許文献１】特開平６−１３７８９２号公報（第２−３頁）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上のように、従来技術の問題点は、高分解能の出力を必要とする場合には、安価な低分解能のロータリーエンコーダを適用することができず、製品コストの低減を図ることができないという問題があった。
【０００７】
一般に、ロータリーエンコーダ１１からは、図６に示すように、２種類の出力信号１，２が出力され、一方の出力信号１が、他方の出力信号２に比べ、（１／４）位相だけ進んだパルスとして出力されている。図６は、一般的なロータリーエンコーダの出力信号の様子を説明する説明図である。ここで、このロータリーエンコーダ１１を使用して、ロータリーエンコーダ１１からのパルス数をカウントするカウンタ回路について、例えば、ロータリーエンコーダ１１の出力信号１を用いてカウントする場合の問題点を、図７を用いて説明する。図７は、ロータリーエンコーダ１１の出力信号１を利用する場合の問題点を説明するための説明図であり、ロータリーエンコーダ１１からの出力信号１の“Ｈｉｇｈ”、“Ｌｏｗ”を識別する境界領域で、ロータリーエンコーダ１１の操作が停止し、その出力が該境界領域にとどまっている場合について示している。
【０００８】
図７に示すように、ロータリーエンコーダ１１の内部の出力信号１の“Ｈｉｇｈ”、“Ｌｏｗ”を識別する検出境界で、ロータリーエンコーダ１１の操作が停止した場合、“Ｈｉｇｈ”、“Ｌｏｗ”の検出値が不安定になり、結果として、ロータリーエンコーダ１１の出力信号１が、“Ｈｉｇｈ”レベルと“Ｌｏｗ”レベルとの間で変動する（ばたつく）状態が発生する。つまり、ロータリーエンコーダ１１の出力信号１の検出境界で停止した場合には、ロータリーエンコーダ１１を操作していないにも関わらず、出力信号１は、ロータリーエンコーダ１１が操作されているかのような信号になって、出力の変動（ばたつき）が発生するが、一方、出力信号２は、ロータリーエンコーダ１１の操作が行われていないため、正常に、出力は一定の値のまま変化しない状態となっている。
【０００９】
この結果、出力信号１側のみでカウントを行っている場合には、出力信号１が変動しているために、カウンタは、ロータリーエンコーダ１１の操作が行われている場合と同じ状態になり、出力信号１の変動に応じて、カウント動作を行うという誤動作を生じてしまう。
【００１０】
本発明は、かかる事情に鑑みてなされたものであり、低分解能のロータリーエンコーダを利用しても、高分解能で、かつ、誤動作を防止した高精度の信号処理回路を提供することを、その目的としている。
【００１１】
つまり、本発明による信号処理回路においては、図８に示すように、ロータリーエンコーダからの２つの出力信号（出力信号１と出力信号２との双方）を利用して、１パルスを、次の４つの状態として定義し、４つの状態それぞれに対応してカウント動作を行うことを可能とし、カウント数を、ロータリーエンコーダの１パルス当たり、４倍の４カウント分まで、高分解能化させることを、その目的としている。ここに、図８は、本発明の信号処理回路におけるカウンタのカウント方法の一例を示す説明図である。
【００１２】
状態Ａ＝出力信号１：Ｈｉｇｈ，出力信号２：Ｌｏｗ
状態Ｂ＝出力信号１：Ｈｉｇｈ，出力信号２：Ｈｉｇｈ
状態Ｃ＝出力信号１：Ｌｏｗ，  出力信号２：Ｈｉｇｈ
状態Ｄ＝出力信号１：Ｌｏｗ，  出力信号２：Ｌｏｗ
【００１３】
さらに、これらの４つの状態を用いて、カウントアップ動作とカウントダウン動作とを次のように定義し、それぞれの状態の遷移ごとに、“＋１”、“−１”ずつカウントする。
カウントアップ  ：  状態Ａ→状態Ｂ→状態Ｃ→状態Ｄ
カウントダウン  ：  状態Ｄ→状態Ｃ→状態Ｂ→状態Ａ
【００１４】
かくのごとく、各状態および状態の遷移を定義することによって、ロータリーエンコーダの出力信号が検出境界で停止した場合の、ロータリーエンコーダの未操作時における出力信号のばたつき、例えば出力信号１側の場合、
状態Ｂ→状態Ｃ→状態Ｂ→状態Ｃ→・・・
あるいは、出力信号２側の場合、
状態Ａ→状態Ｂ→状態Ａ→状態Ｂ→・・・
のような、２つの隣接状態間での反復遷移を検出し、反復遷移におけるカウント動作を停止することを可能とすることを、本発明の目的としている。
【００１５】
しかし、２つの隣接状態間での反復遷移が検出された場合に、カウント動作を一切停止してしまうと、ロータリーエンコーダの回転方向が変化した場合に、カウント動作に漏れが生じて、カウント値の不整合が発生してしまう。したがって、ロータリーエンコーダの回転方向が変化した場合には、カウント値の補正を行うことも可能とすることを、本発明の他の目的としている。
【００１６】
さらには、人の操作によりロータリーエンコーダの１ステップ単位での微調整を行う場合には、カウント動作を許可するようにすることを可能とし、操作性を向上させることも、本発明のさらに異なる目的としている。
【課題を解決するための手段】
【００１７】
前述の課題を解決するため、本発明による信号処理回路は、次のような特徴的な構成を採用している。
【００１８】
（１）回転動作に応じてあらかじめ定めた位相差で２系統の出力信号を出力するロータリーエンコーダと、該ロータリーエンコーダからの２系統の出力信号によりカウント値を計数するカウンタとを少なくとも備えた信号処理回路において、前記ロータリーエンコーダからの２系統の出力信号の組み合わせから前記ロータリーエンコーダの４種類の状態を判定して、各状態間の遷移を状態信号として前記カウンタに出力する４状態判定手段をさらに備え、該４状態判定手段から出力される各前記状態信号により、前記カウンタのカウント動作を行う信号処理回路。
（２）前記４状態判定手段は、４種類の状態の判定結果について、前回の状態と今回の状態とを照合することにより、前記ロータリーエンコーダの回転方向を識別し、前記カウンタに対して、カウントアップ動作、カウントダウン動作のいずれかのカウント動作指示信号を出力する上記（１）の信号処理回路。
（３）前記ロータリーエンコーダからの２系統の出力信号の位相差が、（１／４）位相に設定されている上記（１）または（２）の信号処理回路。
（４）前記ロータリーエンコーダが、４種類の状態のうち、互いに隣接する２つの隣接状態間を反復遷移する動作を繰り返していることを検出した場合には、前記カウンタのカウント動作を停止する信号を出力する隣接状態遷移判定手段を、さらに備えている上記（１）ないし（３）のいずれかの信号処理回路。
（５）前記隣接状態遷移判定手段は、２つの隣接状態間を反復遷移する動作から脱したことを検出した際に、前記カウンタのカウント動作を再開するとともに、前記ロータリーエンコーダの回転方向の変化を検出した場合、前記カウンタのカウント値を補正する上記（４）の信号処理回路。
（６）前記隣接状態遷移判定手段は、前記カウンタのカウント値を補正する際に、２つの隣接状態間の反復遷移の動作中においてカウント動作を停止した前記ロータリーエンコーダの回転方向の変化に該当する状態の遷移に基づいて、カウント値を補正する上記（５）の信号処理回路。
（７）前記ロータリーエンコーダをユーザが操作しているか否かを判定する人的操作判定手段をさらに備え、該人的操作判定手段の判定結果として、前記ロータリーエンコーダをユーザが操作していると判定した場合には、前記隣接状態遷移判定手段により前記カウンタのカウント動作を停止しようとする２つの隣接状態間の反復遷移が発生している場合であっても、前記カウンタのカウント動作を実行させる上記（４）ないし（６）のいずれかの信号処理回路。
（８）前記人的操作判定手段は、前記ロータリーエンコーダの状態が遷移する遷移時間および／または３つの状態間に亘る遷移の発生の有無に基づいて、前記ロータリーエンコーダをユーザが操作しているか否かを判定する上記（７）の信号処理回路。
（９）前記人的操作判定手段は、前記ロータリーエンコーダの状態の遷移時間が、あらかじめ設定した遷移時間閾値を超えている場合には、前記ロータリーエンコーダをユーザが操作しているものと判定する上記（８）の信号処理回路。
（１０）前記人的操作判定手段は、前記ロータリーエンコーダが３つの状態間に亘る遷移が発生していた場合には、前記ロータリーエンコーダをユーザが操作しているものと判定する上記（８）または（９）の信号処理回路。
（１１）前記人的操作判定手段は、前記ロータリーエンコーダが３つの状態間に亘る遷移が発生した以降、ユーザが操作可能な回数としてあらかじめ設定した操作回数閾値以下の前記ロータリーエンコーダの状態の変化回数に限って、ユーザの操作に基づく状態の変化であると判定する上記（１０）の信号処理回路。
（１２）前記人的操作判定手段における前記遷移時間閾値および／または前記操作回数閾値を、任意に変更して設定することができる上記（９）ないし（１１）のいずれかの信号処理回路。
（１３）前記カウンタ、前記４状態判定手段、前記隣接状態遷移判定手段、前記人的操作判定手段のうち、いずれか１ないし複数の手段が、ＦＰＧＡを用いて形成されている上記（１）ないし（１２）のいずれかの信号処理回路。
【発明の効果】
【００１９】
本発明の信号処理回路によれば、以下のような効果を得ることができる。 
【００２０】
第１に、ロータリーエンコーダの１パルスに対して、従来は、１カウントしかできなかったが、本発明においては、ロータリーエンコーダの１パルス当たり４状態の状態信号として扱うことを可能としているので、４倍の４カウント分をカウントすることが可能になり、低分解能のロータリーエンコーダであっても、高分解能でカウントを行うことが可能となる。
【００２１】
第２に、ロータリーエンコーダの回転方向についても、４状態の状態信号を用いて、直前に出力された状態信号と比較することによって、正方向、負方向のいずれの回転方向に遷移しているかを確認することができ、カウントアップ動作とカウントダウン動作との判別が容易に可能になる。
【００２２】
第３に、ただ、４状態の状態信号それぞれでカウントした場合であっても、ロータリーエンコーダの検出境界でロータリーエンコーダの操作が停止した場合、出力にばたつきが発生してしまい、ロータリーエンコーダを操作していないにも関わらず、カウントが変動してしまうという不具合が発生する。本発明においては、４状態の状態信号を用いて、２つの隣接状態間のみの反復遷移の有無を検出して、２つの隣接状態間のみの反復遷移についてはカウント動作を停止するように制御することにより、ロータリーエンコーダの内部の検出境界で操作が停止した場合のように、ロータリーエンコーダの出力信号のばたつきが発生した場合であっても、カウンタの誤動作を防止することができる。
【００２３】
第４に、前述のように、単純に、２つの隣接状態間の反復遷移が発生した場合にカウント動作を停止しただけでは、ロータリーエンコーダの回転方向の変更時に、カウント値が実際の値と不整合になってしまうという問題が生じる。本発明においては、回転方向の変化を検出した際には、カウント値の補正を行う機能を盛り込むようにしているので、回転方向が変化した時の隣接状態間の遷移に伴うカウント漏れを防止することが可能である。
【００２４】
第５に、前述のように、単純に、２つの隣接状態間のみの反復遷移におけるカウント動作を停止してしまうと、操作性に影響が出て、１ステップ単位での微調整を行うことができなくなる。例えば、人（ユーザ）が微調整を行う場合に限って、前述の回転方向の変化の検出時におけるカウント値の補正機能を働かせないように制御することによって、１ステップ単位での微調整が可能になるものの、これと引き換えに、回転方向が変化する都度、カウント値にずれが発生して、総カウント数に影響が生じてしまう。したがって、総カウント数そのものは正確である必要はないが、１ステップ単位でのカウント値の精度のみが必要となる場合などについては、人が微調整を行う場合に限って、回転方向の変化の検出時におけるカウント値の補正機能を働かせないように制御することも可能である。
【００２５】
しかし、業務用放送機器のフェーダなどの用途に適用する場合には、総カウント数の正確さと、１ステップ単位での調整との双方が要求されるため、回転方向の変化時におけるカウント値の補正機能を働かせなくするような制御を適用することができないので、本発明においては、人（ユーザ）の操作の有無に関する判定を新たな条件として追加することにより、双方の要求条件を満たす形で、１ステップ単位での微調整も可能としている。
【００２６】
つまり、第６に、本発明においては、人の操作か否かを判定する判定条件として、遷移時間による判定および／または３状態間の遷移による判定を用いることによって、人の操作によって回転方向が変化したものと判断することができる場合には、人によるロータリーエンコーダの微調整を行っている間、すなわち、人の操作限界としてあらかじめ定めた操作回数閾値の間に限って、一時的に、２つの隣接状態間の反復遷移によるカウント動作の停止を解除することによって、１ステップ単位での微調整を可能としている。この結果、人が操作する際の違和感を除去し、操作性を向上させることが可能となる。
【００２７】
而して、低分解能のロータリーエンコーダを利用して、高分解能を維持したまま、ロータリーエンコーダの回転方向が変わった場合であっても、１ステップ単位での微調整が可能になり、かつ、ロータリーエンコーダを操作していない状態で、ロータリーエンコーダの検出境界に停止したことに伴って生じる出力信号のばたつきによるカウンタの誤動作も防止し、かつ、カウント値のカウント漏れも防止した高精度の出力を行うことが可能になる。
【００２８】
つまり、本発明によれば、安価な低分解能のロータリーエンコーダを、高分解能で使用することが可能となり、本信号処理回路を組み込むことによって、装置のコストダウンを実現することが可能になる。なお、実際の装置では、ロータリーエンコーダの出力をカウントするカウンタを、ＦＰＧＡなどの半導体デバイスを用いて構成しているため、当該ＦＰＧＡに、本発明の信号処理回路を組み込むことによって、容易に高分解能かつ高精度の出力を得ることが可能になり、低分解能の信号処理回路からの置換を行うことが容易に可能である。
【発明を実施するための最良の形態】
【００２９】
以下、本発明による信号処理回路の好適な実施例について添付図を参照して説明する。
【００３０】
（本発明の特徴）
本発明の実施例の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明の信号処理回路は、ロータリーエンコーダを利用して、カウント値を計数するカウンタを構成する回路であり、業務用の放送映像機器などに組み込んで好適に適用可能な回路として、安価な低分解能のロータリーエンコーダを使用している場合であっても、高分解能の出力が高精度で得られる信号処理回路を実現している点に、主要な特徴を有している。
【００３１】
（本発明の実施例）
本発明は、ロータリーエンコーダからの出力を利用して、業務用の放送映像機器などの各種機器の調整を行う装置に好適に適用される。以下に、低分解能のロータリーエンコーダを用いた信号処理装置の実施例について、図１を用いて説明する。
【００３２】
図１は、本発明の信号処理回路の構成の一例を示すブロック構成図であり、低分解能のロータリーエンコーダの出力を利用して高分解能の信号を出力する信号処理回路の一例を示している。図１に示す信号処理回路１０は、大きく分けて、ロータリーエンコーダ１、４状態判定ブロック２、カウンタ３、隣接状態遷移判定ブロック４、人的操作判定ブロック５の５つのブロックを少なくとも含んで構成される。ここで、４状態判定ブロック２、カウンタ３、隣接状態遷移判定ブロック４、人的操作判定ブロック５、および、ＡＮＤ回路６は、ＦＰＧＡなどの半導体デバイスから形成されており、ＦＰＧＡに本発明の各回路部の１ないし複数の回路機能を組み込むことによって、低分解能のロータリーエンコーダを利用している既存の信号処理回路についても、高分解能でかつ高精度の信号処理回路として置換することが容易に可能である。
【００３３】
まず、ロータリーエンコーダ１は、当該ロータリーエンコーダ１の操作（回転動作）に応じて、回転速度に相当するパルス数のパルス信号が出力信号として出力される。この出力信号は、位相がずれた２種類の出力パルスとして出力され、一方の出力信号１（出力パルス）は、他方の出力信号２（出力パルス）に比べ、例えば（１／４）パルス位相分進んだ状態で出力され、４状態判定ブロック２にそれぞれ入力される。
【００３４】
４状態判定ブロック２では、ロータリーエンコーダ１から出力される２種類の出力信号１，２について、その組み合わせから、４つの状態を定義して出力する。つまり、ロータリーエンコーダ１から出力される２種類の出力信号１，２のうち、一方の出力信号１が他方の出力信号２に比し、（１／４）パルスつまり（１／４）位相進んでいることによって、それぞれのＨｉｇｈレベルとＬｏｗレベルとの組合せにより、４つの状態を定義することができる。したがって、入力されるロータリーエンコーダ１からの出力信号１，２について、４種類に状態分けを行った信号を、次のような状態信号としてカウンタ３に対して出力する。
【００３５】
出力信号１と出力信号２とを使って、１パルスを、例えば、次の４つの状態信号に定義する。
状態信号Ａ＝出力信号１：Ｈｉｇｈ，出力信号２：Ｌｏｗ
状態信号Ｂ＝出力信号１：Ｈｉｇｈ，出力信号２：Ｈｉｇｈ
状態信号Ｃ＝出力信号１：Ｌｏｗ，  出力信号２：Ｈｉｇｈ
状態信号Ｄ＝出力信号１：Ｌｏｗ，  出力信号２：Ｌｏｗ
【００３６】
カウンタ３では、先に定義した４つの状態信号をそれぞれカウントすることができ、結果として、１パルス当たり４回カウントすることができる。かかるカウント動作によって、ロータリーエンコーダ１のカウント数を４倍に増加させることができ、分解能を高くすることができる。
【００３７】
なお、この４状態の定義から、ロータリーエンコーダ１の回転方向を確認し、カウンタ３の増減方向を判別することができる。例えば、４つの状態信号を用いて、次のように定義する。
カウントアップ  ：  状態Ａ→状態Ｂ→状態Ｃ→状態Ｄ
カウントダウン  ：  状態Ｄ→状態Ｃ→状態Ｂ→状態Ａ
【００３８】
つまり、４つの状態の定義に基づいて、隣接状態への遷移について、前の状態と今の状態とを比較することによって、ロータリーエンコーダ１がどの方向に回転しているかを確認することができる。この比較結果をカウンタ３に送ることによって、ロータリーエンコーダ１の回転方向の情報が、カウンタ３に与えられ、カウンタ３におけるカウント動作の増減方向についての処置を決定することが可能となる。例えば、正方向の右回転であれば、“＋１”、負方向の左回転であれば、“−１”というように規定することが可能になる。
【００３９】
以上の各回路ブロックに、以下の機能ブロックを追加することによって、カウンタ３のカウント動作の補正を行う。まず、補正が必要となる場合として、ロータリーエンコーダ１の出力信号１，２のいずれかが、内部の“Ｈｉｇｈ”、“Ｌｏｗ”の検出境界で停止した場合に発生する隣接状態間での遷移（つまり、ばたつき）によるカウンタ３の誤動作がある。この対策として、隣接状態遷移判定ブロック４を設けている。
【００４０】
隣接状態遷移判定ブロック４においては、２つの隣接状態間の反復遷移が繰り返し生じているか否かを判定し、繰り返し生じている場合には、カウンタ３のカウント動作を停止させるようにする。つまり、２つの隣接状態間の反復遷移が繰り返された場合には、通常、４状態判定ブロック２からのカウント指示と回転方向の情報とから、カウンタ３に対して“＋１”と“−１”との出力が繰り返されることになる。このため、ロータリーエンコーダ１の操作(回転)を行っていないにも関わらず、カウンタ３は変動を繰り返すことになる。
【００４１】
かかる状況を防止するために、隣接状態遷移判定ブロック４は、２つの隣接状態間の反復遷移が繰り返した場合には、その反復遷移を繰り返している２つの状態以外の別の状態に遷移するまでの間、カウンタ３のカウント動作を停止させるカウント停止信号を出力する機能を備えている。
【００４２】
ただし、隣接状態遷移判定ブロック４からの該カウント停止信号だけでは、ロータリーエンコーダ１の回転方向が反対方向に変わった場合のカウント値にずれが発生してしまう。このため、ロータリーエンコーダ１の回転方向が変わった場合には、カウンタ３のカウント値のずれを回避するための補正を行う機構が必要になる。つまり、隣接状態遷移判定ブロック４には、ロータリーエンコーダ１の回転方向の変化に対する補正機構も組み込む必要がある。
【００４３】
一方、かくのごとき回転方向の変化に対するカウント値の補正機構を有する隣接状態遷移判定ブロック４を備えた場合、カウンタ３からの出力に、該補正に伴う不連続点が発生するため、高分解能かつ高精度での調整が必要な場合には問題となる。
【００４４】
この問題を解決するために、人的操作判定ブロック５という機能ブロックをさらに備えている。人的操作判定ブロック５においては、人（ユーザ）がロータリーエンコーダ１を操作する場合と、ロータリーエンコーダ１の出力ばたつきの場合との違いを検出し、検出した違いに基づいて、ロータリーエンコーダ１の回転方向の変化による隣接状態間の遷移に対して、カウンタ３のカウント動作を可能とするか否かを識別して、人が操作していると判別した場合には、カウンタ３のカウント動作を可能とするように再補正を行う。
【００４５】
一般に、人がロータリーエンコーダ１を操作して、微調整（すなわち、１ステップ単位での調整）を行う場合には、状態を確認しながら操作をすることになるので、状態が変化（すなわちカウンタ３のカウント出力が変化）するまで、ロータリーエンコーダ１を操作する。人がロータリーエンコーダ１を操作して回転方向を変化させて微調整を行う場合については、通常、補正の効果を確認するために、一度は３状態間に亘る遷移が必ず発生することになる。したがって、人がロータリーエンコーダ１を操作した場合は、２つの隣接状態間の遷移だけではなくなるため、人が操作した状態であるのか、ロータリーエンコーダ１の出力がばたつく状態であるのかを、この３状態間に亘る遷移を検出することにより、判別することができる。人的操作判定ブロック５においては、かくのごとき判別処理を行うことによって、人が操作したと判定した場合には、この後に人による微調整の操作が実施されるものとして、３状態の遷移発生後の２つの隣接状態間での反復遷移でのカウント動作を許可し、カウンタ３のカウント動作を可能とする。
【００４６】
なお、人がロータリーエンコーダ１を操作しても、回転方向が一定の場合には、２つの隣接状態間での反復遷移は発生しないため、人的操作判定ブロック５による補正の対象からは除外される。また、人により微調整などの操作を実施した後、ロータリーエンコーダ１が停止した際に、その停止位置如何によってはロータリーエンコーダ１の出力がばたつく可能性もあるため、人的操作判定ブロック５には、２つの隣接状態間の反復遷移を行う操作許容回数に制限を設け、該操作許容回数を超えた場合には、人による操作が終了しているものと判定する機能を盛り込む。つまり、該操作許容回数を超えて、２つの隣接状態間の反復遷移が発生していた場合には、人による微調整の操作ではなく、ロータリーエンコーダ１の停止位置による出力のばたつきにより生じているものと判定するようにしている。
【００４７】
図１に示すように、隣接状態遷移判定ブロック４、人的操作判定ブロック５を備えることによって、カウンタ３の誤動作を防止するとともに、人がロータリーエンコーダ１を操作した際の２つの隣接状態間の反復遷移をカウントすることができるようになり、ロータリーエンコーダ１からの出力を、高分解能かつ高精度で検出し、さらに、操作性に富む信号処理回路を構成することが可能になる。
【００４８】
（実施例の動作の説明）
次に、図１の信号処理回路１０の詳細な動作についてさらに説明する。ここで、前述のように、ロータリーエンコーダ１については、出力信号１，２と出力信号が２系統あり、両者の出力信号１，２は（１/４）位相ずれている。
【００４９】
まず、ロータリーエンコーダ１からの出力信号１，２が入力される、４状態判定ブロック２の動作について図２を用いて説明する。図２は、本発明による信号処理回路１０の４状態判定ブロック２の動作原理の一例を説明するための説明図であり、低分解能のロータリーエンコーダ１を高分解能で利用可能とする状態判定ブロック２の動作を説明している。図２（Ａ）は、ロータリーエンコーダ１からの２つの出力信号１，２のパルス波形を示し、図２（Ｂ）は、４状態判定ブロック２から出力する状態信号に基づいて、カウンタ３のカウントアップ動作を行う場合の説明図であり、図２（Ｃ）は、４状態判定ブロック２から出力する状態信号に基づいて、カウンタ３のカウントダウン動作を行う場合の説明図である。
【００５０】
ロータリーエンコーダ１からの２つの出力信号１，２は、図２（Ａ）に示すように、（１/４）位相ずれた信号であり、両者の組み合わせによって、４種類の状態を定義することができる。例えば、出力信号１の１パルス（ＨｉｇｈレベルからＬｏｗレベルへ遷移してＨｉｇｈレベルに復帰するまでの波形）について、状態Ａ、状態Ｂ、状態Ｃ、状態Ｄの４つの状態を、以下のように、定義することができる。
状態Ａ＝出力信号１：Ｈｉｇｈ，出力信号２：Ｌｏｗ
状態Ｂ＝出力信号１：Ｈｉｇｈ，出力信号２：Ｈｉｇｈ
状態Ｃ＝出力信号１：Ｌｏｗ，  出力信号２：Ｈｉｇｈ
状態Ｄ＝出力信号１：Ｌｏｗ，  出力信号２：Ｌｏｗ
【００５１】
これらの４つの状態Ａ，Ｂ，Ｃ，Ｄを個別の状態信号として、後段のカウンタ３に出力することによって、カウンタ３は、ロータリーエンコーダ１のパルス数の４倍のカウント数をカウントすることができる。また、カウンタ３では、４状態判定ブロック２から出力される４つの状態信号の遷移方向を判別することによって、図２（Ｂ）、図２（Ｃ）に示すように、ロータリーエンコーダ１の回転方向を特定することができ、カウントアップ動作とカウントダウン動作とを判別することができる。
【００５２】
例えば、図２（Ｂ）に示すように、ロータリーエンコーダ１の回転方向が正方向の回転つまり右回転であれば、４状態判定ブロック２からの状態信号は、
状態Ａ→状態Ｂ→状態Ｃ→状態Ｄ
と隣接状態間を遷移していくことになり、カウンタ３は、隣接状態間の遷移が発生する都度、“＋１”ずつカウントアップする動作を行う。
【００５３】
一方、図２（Ｃ）に示すように、ロータリーエンコーダ１の回転方向が負方向の回転つまり左回転であれば、４状態判定ブロック２からの状態信号は、逆に、
状態Ｄ→状態Ｃ→状態Ｂ→状態Ａ
と隣接状態間を遷移していくことになり、カウンタ３は、隣接状態間の遷移が発生する都度、“−１”ずつカウントダウンする動作を行う。
【００５４】
この結果、ロータリーエンコーダ１の回転に応じて、カウンタ３は、ロータリーエンコーダ１の出力信号のパルス数の４倍の分解能でカウント値を増減することができる。しかし、このままでは、ロータリーエンコーダ１の内部における“Ｈｉｇｈ”、“Ｌｏｗ”の検出部の検出境界領域でロータリーエンコーダ１の操作（回転）が停止した場合に、ロータリーエンコーダ１からの出力信号１，２にばたつきが発生してしまう。
【００５５】
このロータリーエンコーダ１の出力ばたつきの補正をするために、前述した図１に示すように、隣接状態遷移判定ブロック４が備えられている。次に、この隣接状態遷移判定ブロック４の動作原理について図３を参照しながら説明する。図３は、本発明による信号処理回路１０の隣接状態遷移判定ブロック４の動作原理の一例を説明するための説明図であり、低分解能のロータリーエンコーダ１を高分解能で利用可能とするための補正動作つまりロータリーエンコーダ１が検出境界領域で停止した際の出力ばたつきに対する補正動作について説明している。
【００５６】
図３においては、例えば、ロータリーエンコーダ１を操作していないにも関わらず、ロータリーエンコーダ１内部の出力信号２側の“Ｈｉｇｈ”、“Ｌｏｗ”の検出境界で停止してしまったため、出力信号２の“Ｈｉｇｈ”、“Ｌｏｗ”が変動してしまい、状態Ａ→状態Ｂ→状態Ａ→状態Ｂ・・・・と隣接状態間を繰り返して遷移した場合について説明している。ここで、図３（Ａ）は、ロータリーエンコーダ１が停止状態から脱して正方向へ回転する状態に遷移した場合の動作を示し、図３（Ｂ）は、ロータリーエンコーダ１が停止状態から脱して負方向へ回転する状態に遷移した場合の動作を示し、図３（Ｃ）は、ロータリーエンコーダ１が停止状態から脱して回転方向が今までの正方向から逆の負方向に回転する状態に変更して遷移した場合の動作を示している。
【００５７】
ロータリーエンコーダ１が内部の出力信号２側の“Ｈｉｇｈ”、“Ｌｏｗ”の検出境界で停止してしまった場合、図３に示すように、４状態判定ブロック２からの状態信号は、状態Ａ→状態Ｂ→状態Ａ→状態Ｂ→・・・と２つの隣接状態間を反復遷移する形で繰り返し出力することになり、この状態信号をそのままカウンタ３に出力すると、ロータリーエンコーダ１を操作していないにも関わらず、カウンタ３は“＋１”と“−１”との動作を繰り返すことになる。
【００５８】
かくのごとき不具合の発生を防止するために、隣接状態遷移判定ブロック４が備えられており、ロータリーエンコーダ１の出力変動結果が４状態判定ブロック２からそのまま状態信号としてカウンタ３に出力されてカウント動作が繰り返されないように、２つの隣接状態間の反復遷移が検出された場合には、カウンタ３のカウント動作を行わないように、カウンタ３を停止させる。つまり、隣接状態遷移判定ブロック４が、図３に示すように、状態Ａ→状態Ｂ→状態Ａと、状態Ａへ戻るような２つの隣接状態間の反復遷移を検出した場合、図１に示すように、ＡＮＤ回路６を介してカウンタ３に対して出力しているイネーブル信号の出力を停止して、カウンタ３のカウント動作を停止する。
【００５９】
この結果、ロータリーエンコーダ１を操作していないにも関わらず、４状態判定ブロック２からの状態信号が状態Ａ→状態Ｂ→状態Ａ→状態Ｂ→・・・と２つの隣接状態間を繰り返す状態で出力されていても、カウンタ３のカウント動作は停止状態に正しく維持されるように補正される。しかる後、例えば、図３（Ａ）に示すように、ロータリーエンコーダ１が正方向へ操作（回転）されて、状態Ａ→状態Ｂ→状態Ｃと、状態Ａ、状態Ｂとの２つの隣接状態間の反復遷移から脱すると、隣接状態遷移判定ブロック４は、２つの隣接状態間の反復遷移から脱したものと判別して、図１に示すイネーブル信号の出力を再開して、カウンタ３のカウントアップ動作を再開する。
【００６０】
同様に、図３（Ｂ）に示すように、ロータリーエンコーダ１が負方向へ操作（回転）されて、状態Ｂ→状態Ａ→状態Ｄと、状態Ａ、状態Ｂとの２つの隣接状態間の反復遷移から脱すると、隣接状態遷移判定ブロック４は、２つの隣接状態間の反復遷移から脱したものと判別して、図１に示すイネーブル信号の出力を再開して、カウンタ３のカウントダウン動作を再開する。
【００６１】
ただし、隣接状態遷移判定ブロック４の以上のような補正動作だけでは、ロータリーエンコーダ１の回転方向が反対方向に変化した場合については、問題が発生してしまう。例えば、図３（Ｃ）に示すように、正方向から負方向に切り替えられて回転して、状態Ａ→状態Ｂ→状態Ａ→状態Ｂ→状態Ａ→・・・状態Ｂ→状態Ａ→状態Ｄと、状態が遷移した場合について説明する。
【００６２】
まず、図３（Ｃ）において、２つの隣接状態間の反復遷移を検出する前の状態Ａ→状態Ｂの隣接状態間の遷移において、カウンタ３は“＋１”される。しかる後、状態Ａ→状態Ｂ→状態Ａと、２つの隣接状態間の反復遷移を検出して、カウンタ３のカウント動作が停止するが、図３（Ｂ）にて示したように、ロータリーエンコーダ１が今までの正方向から負方向へと変化させるように操作（回転）されて、状態Ａ→状態Ｂ→状態Ａ→・・・状態Ｂ→状態Ａ→状態Ｄと２つの隣接状態間の反復遷移から脱した際に、負方向に回転した本来の状態Ｂ→状態Ａの隣接状態間の遷移による“−１”のカウントダウン動作が削除されてしまい、反復遷移から脱した状態Ａ→状態Ｄの隣接状態間の遷移による“−１”のカウントダウン動作のみが実施されることになる。
【００６３】
つまり、ロータリーエンコーダ１の回転方向が正方向から負方向へ変化した際に、本来カウントダウンされるべき、状態Ｂ→
状態Ａの遷移がカウントされないことになり、カウンタの精度が保証させないことになる。したがって、ロータリーエンコーダ１の回転方向が変化したときの補正を加えることが必要である。このため、図３（Ｃ）に示すように、今までの回転方向を示している反復遷移の検出前の状態Ａ→状態Ｂの遷移と状態Ａ→状態Ｄの遷移とを照合することによって、ロータリーエンコーダ１の回転方向が、今までの正方向から負方向へ変化したことが判断できるので、このような回転方向の変化を検出した場合については、状態Ａ→状態Ｄの隣接状態の遷移における“−１”と、回転方向変更によるつまり反復遷移から脱する前の状態Ｂ→状態Ａの隣接状態間の遷移による“−１”とを加えて、“−２”を用いて、カウンタ３をカウントダウンさせるように補正する。
【００６４】
この結果、低分解能のロータリーエンコーダ１を利用しても、高分解能の出力を高精度で得ることが可能になる。ただし、隣接状態遷移判定ブロック４の以上のような追加補正を施したとしても、まだ、人によるロータリーエンコーダ１に対する１ステップ単位での微調整をうまく行うことができないという問題まで改善することができない。かかる問題を解決するために、図１に前述したように、人的操作判定ブロック５が備えられている。
【００６５】
次に、この人的操作判定ブロック５の動作原理について図４を参照しながら説明する。図４は、本発明による信号処理回路１０の人的操作判定ブロック５の動作原理の一例を説明するための説明図であり、低分解能のロータリーエンコーダ１を高分解能で利用可能とするためのさらなる補正動作つまりロータリーエンコーダ１に対する１ステップ単位での微調整を可能とする補正動作について説明している。
【００６６】
ここで、人的操作判定ブロック５における補正動作は、ロータリーエンコーダ１の回転方向が変化した場合におけるさらなる補正を行うものである。図３にて説明した隣接状態遷移判定ブロック４においては、例えば正方向から負方向へと回転方向が変化した際に、図３（Ｃ）にて説明したように、カウンタ３を、反復遷移から脱する前後２つの隣接状態の遷移の合計である“−２”を一挙にカウントダウンしてしまい、１ステップ単位での調整ができなくなっているために、ロータリーエンコーダ１の微調整（１ステップ単位での調整）を行う場合に問題となる。
【００６７】
前述のように、２つの隣接状態間のみの反復遷移を検出した際に、単純に、カウント動作を停止してしまうと、操作性に影響が出て、１ステップ単位での微調整を行うことができなくなる。そこで、例えば、人が微調整を行う場合に限って、前述の回転方向の変化の検出時におけるカウント値の補正機能（つまり、一挙に２ステップの補正を行う機能）を働かせないようにすることによって、１ステップ単位での微調整は可能になるが、これと引き換えに、回転方向が変化する都度、カウント値にずれが発生して、総カウント数にずれが生じてしまう。したがって、総カウント数そのものの精度は不要であるが、１ステップ単位でのカウント値の精度のみが必要となるような場面については、人が微調整を行う場合に限って、回転方向の変化の検出時におけるカウント値の補正機能を働かせないように制御することも可能である。
【００６８】
しかし、業務用放送機器のフェーダなどの用途に適用する場合には、総カウント数の正確さと、１ステップ単位での調整との双方が要求されるため、回転方向の変化時におけるカウント値の補正機能を働かせなくするような制御を適用することができないので、人の操作に有無に関する判定を新たな条件として追加することにより、双方の要求条件を満たす形で、１ステップ単位での微調整も可能とすることが必要となる。
【００６９】
かかる問題を改善するために、人がロータリーエンコーダ１を操作していることを判定する新たな条件を盛り込むことによって、ロータリーエンコーダ１の回転方向が変化した場合の２つの隣接状態間の遷移についても、カウンタ３のカウント動作を行うことができるように、人的操作判定ブロック５が備えられている。人的操作判定ブロック５により、人がロータリーエンコーダ１を操作しているか否かを判定する判定条件として、図４に示すように、例えば、次の２つの条件を用いるようにする。
（判定条件１）遷移時間による判定
（判定条件２）３状態遷移による判定
【００７０】
まず、(判定条件１)について説明する。本（判定条件１）は、あらかじめ定めた遷移時間閾値を超えた時間例えば秒単位での状態遷移が発生している場合には、人の操作によりロータリーエンコーダ１の微調整が行われているものと判別するものである。つまり、人が１ステップ単位でロータリーエンコーダ１の微調整を行う場合、操作スピードが遅くなるため、あらかじめ定めた遷移時間閾値を超えた時間例えば秒単位で隣接状態間の遷移が発生することになる。したがって、判定条件の１つとして、あらかじめ定めた遷移時間を越えた時間で隣接状態間の遷移が発生しているか否かという条件を盛り込み、超えていた場合には、人による操作が行われているものと判定する。なお、この遷移時間閾値は、特定の値に固定するものではなく、使用する装置や操作条件などに合わせて変更することが可能である。
【００７１】
（判定条件２）３状態遷移による判定
次に、（判定条件２）について説明する。本（判定条件２）は、２つの隣接状態間での反復遷移だけでなく、３状態間での遷移が発生している場合には、人の操作によりロータリーエンコーダ１の微調整が行われているものと判別するものである。つまり、前述したように、通常、一度の回転方向の変更の検出のみでは、１ステップ単位での微調整を行うことはできなく、回転方向の変更範囲を徐々に狭めながら、何回かの回転方向の変更操作を繰り返していくものであるので、回転方向の変化に関して、３状態に亘って状態の遷移が発生していることを検出した場合には、人によるロータリーエンコーダ１の操作が行われているものと判定する。
【００７２】
人的操作判定ブロック５により、人の操作により回転方向が変更されていると判定された場合には、以降の隣接状態間の遷移に関して、人によるロータリーエンコーダ１の微調整を可能とするために、たとえ、２つの隣接状態間の反復遷移であっても、カウンタ３のカウント動作を停止させることなく、４状態判定ブロック２からの状態信号に応じて、カウンタ３は“＋１”または“−１”のカウント動作を行うことを可能とする。つまり、図１の隣接状態遷移判定ブロック４からカウント動作を停止させる信号が出力されていても、人的操作判定ブロック５からは、カウント動作を実行させる信号が出力されることにより、ＡＮＤ回路６を介して、カウンタ３のカウント動作を実行させるイネーブル信号が出力されることになる。
【００７３】
この結果、２つの隣接状態間の反復遷移が継続していても、カウンタ３の“＋１”、“−１”のカウント動作が、１ステップ単位で継続して実施されるので、ロータリーエンコーダ１の１ステップ単位での微調整を行うことが可能になる。ただし、人的操作判定ブロック５において、例えば（判定条件２）の３状態遷移による判定に基づいて人による操作であると判定した場合であっても、３状態の遷移を検出した後の２つの隣接状態間の反復遷移が、人の操作によるものであるか、あるいは、実はロータリーエンコーダ１の検出境界で停止して出力のばたつきが発生していることによるものかを、厳密に判定することはできない。このため、人が実際に微調整を行う操作は、いつまでも継続しているものではなく、同じ箇所で、あらかじめ定めた操作回数閾値以下の回数で微調整（１ステップ単位での微調整）を行うことによって、微調整が終了するという判定条件をさらに追加するようにする。
【００７４】
図４に示す例においては、操作回数閾値として６回を設定した場合を例にとって、図４（Ａ）、図４（Ｂ）に示している。図４（Ａ）は、２つの隣接状態間の反復遷移が操作回数閾値の６回以下で終了して、反復遷移状態から脱した場合を例示しており、図４（Ｂ）は、２つの隣接状態間の反復遷移が操作回数閾値の６回を超えて７回目で終了したため、一旦、カウンタ３のカウント動作が６回を超えた時点で停止するが、再度、３状態の遷移が発生したため、たとえ、２つの隣接状態間の反復遷移であっても、カウント動作を再開している様子を示している。
【００７５】
図４（Ａ）においては、状態Ｂ→状態Ａ→状態Ｄと３状態に亘る状態遷移を検出することによって、人的操作判定ブロック５は、人の操作による状態遷移が発生しているものと判定して、以降の２つの隣接状態間の遷移が発生する都度、たとえ、実際にはロータリーエンコーダ１の停止位置による出力ばたつきによる反復遷移が発生していたとしても、６回以下であれば、カウンタ３のカウント動作を実行させる。つまり、状態Ａ→状態Ｄの遷移を検出した時点では、図３（Ｃ）において説明したように、カウンタ３を“−２”だけカウントダウンした後、３状態に亘る遷移を検出しているので、以降も引き続き、カウンタ３のカウント動作を継続する。つまり、図４（Ａ）に示すように、状態Ａ→状態Ｄへの遷移以降において、状態Ａと状態Ｂとの反復遷移が発生していたとしても、７回目には状態Ｃに遷移して、反復遷移から脱しているので、カウンタ３のカウント動作は停止することなく、“＋１”、“−１”の反復カウント動作から“＋１”のカウントアップ動作へと移行する。
【００７６】
一方、図４（Ｂ）においては、図４（Ａ）とは異なり、状態Ａと状態Ｂとの反復遷移が６回を超えた場合であり、７回目の反復遷移に該当する状態Ｂ→状態Ａの隣接状態遷移では、カウンタ３のカウント動作は停止される。しかし、しかる後、状態Ａ→状態Ｄと、状態Ｂ，Ａ，Ｄの３状態に亘る状態遷移が検出されるため、カウンタ３を“−２”だけカウントダウンした後、再度、カウンタ３のカウント動作を再開する。
【００７７】
なお、人がロータリーエンコーダ１を操作して１ステップ単位での微調整を行う場合には、遷移した状態を反映したカウンタ３の出力結果の比較などに基づいて調整を行うものであり、操作回数閾値として、図４の例では６回（回転方向の変化としては３回）の隣接状態間の反復遷移があるものと想定しているが、この操作回数閾値は、特定の値に固定するものではなく、実際に操作する装置や操作条件などに合わせて値を変更することが可能である。
【００７８】
かくのごとく、操作回数閾値を設定して、人の操作による２つの隣接状態間の反復遷移をカウンタ３にてカウントする回数に制限を加えることによって、ロータリーエンコーダ１の検出境界で停止したことによる出力信号のばたつきが発生している場合の影響を最小限で抑えることが可能になる。さらには、操作回数閾値を越えた場合には、ロータリーエンコーダ１の検出境界で停止したことによるカウンタ３の誤動作を防止するとともに、操作回数閾値を越えて、２つの隣接状態間の反復遷移をカウンタ３にてカウントしなくなった場合であっても、ロータリーエンコーダ１の操作によって、３状態に亘る遷移が再度発生すれば、隣接状態間の遷移を再度カウントするように制御されているため、高分解能を必要としているような場合に、１ステップ単位での調整を入念に繰り返すことが可能であり、操作性を大幅に改善することができる。
【００７９】
（本実施例の効果の説明）
以上に詳細に説明したように、ロータリーエンコーダ１の１パルスを４状態判定ブロック２によって４状態の状態信号として扱い、ロータリーエンコーダ１の１パルスに対して、カウンタ３にて４カウント分をカウントすることができるので、高分解能でカウントを行うことが可能となる。
【００８０】
また、ロータリーエンコーダ１の回転方向についても、４状態判定ブロック２において直前に出力された状態信号と比較することによって、正方向、負方向のいずれの回転方向に遷移しているかを確認することができ、カウンタ３におけるカウントアップ動作とカウントダウン動作との判別が可能になる。
【００８１】
さらに、隣接状態遷移判定ブロック４にて、２つの隣接状態間のみの反復遷移の有無を検出して、２つの隣接状態間のみの反復遷移についてはカウンタ３のカウント動作を行わないように制御することにより、ロータリーエンコーダ１の内部の検出境界で操作が停止した場合のように、ロータリーエンコーダ１の出力信号のばたつきが発生している場合であっても、カウンタ３の誤動作を防止することができる。
【００８２】
また、隣接状態遷移判定ブロック４に、ロータリーエンコーダ１の回転方向が変化した際のカウント値の２ステップに及ぶ補正機能を盛り込むことによって、回転方向が変化した時の隣接状態間の遷移に伴うカウンタ３のカウント漏れを防止することも可能になる。
【００８３】
ただし、隣接状態遷移判定ブロック４にて、２つの隣接状態間のみの反復遷移におけるカウンタ３のカウント動作を停止してしまうと、操作性の面で影響が出て、１ステップ単位での微調整を行うことができなくなる。例えば、人が微調整を行う場合に限って、前述の回転方向の変化を検出した際のカウント値の２ステップに及ぶ補正機能を働かせないように制御することによって、１ステップ単位での微調整が可能になるものの、これと引き換えに、回転方向が変化する都度、カウンタ３のカウント値にずれが発生して、総カウント数に影響が生じてしまう。したがって、総カウント数そのものは正確である必要はないが、１ステップ単位でのカウント値の精度のみが必要となる場合などについては、人が微調整を行う場合に限って、回転方向の変化の検出時におけるカウント値補正機能を働かせないように制御することも可能である。
【００８４】
しかし、業務用放送機器のフェーダなどの用途に適用する場合には、総カウント数の正確さと、１ステップ単位での調整との双方が要求されるため、回転方向の変化時におけるカウント値の補正機能を働かせなくするような制御を適用することができないので、人的操作判定ブロック５を用いて、人の操作の有無に関する判定を新たな条件として追加することにより、双方の要求条件を満たす形で、１ステップ単位での微調整も可能としている。
【００８５】
つまり、人的操作判定ブロック５における人の操作か否かを判定する判定条件として、遷移時間による判定および／または３状態間の遷移による判定を用いることによって、人によるロータリーエンコーダ１の微調整を行っている間は、一時的に、２つの隣接状態間の反復遷移によるカウンタ３のカウント動作の停止を解除することによって、１ステップ単位での微調整を可能としている。
【００８６】
而して、低分解能のロータリーエンコーダ１を利用して、高分解能を維持したまま、ロータリーエンコーダ１の回転方向が変わった場合であっても、１ステップ単位での微調整が可能になり、かつ、ロータリーエンコーダ１を操作していない状態で、ロータリーエンコーダ１の検出境界に停止したことに伴って生じる出力信号のばたつきによるカウンタ３の誤動作も防止し、かつ、カウント値のカウント漏れも防止した高精度の出力を行うことが可能になる。
【００８７】
（他の実施例）
次に、低分解能のロータリーエンコーダ１を利用して高分解能の出力を可能とする信号処理回路の、前述の実施例とは異なる実施例について説明する。図５は、本発明による信号処理回路の４状態判定ブロックの動作原理の他の例を説明するための説明図であり、前述した図２の４状態判定ブロック２についての異なる動作を行う場合について示している。なお、本実施例においても、前述の実施例と全く同様に、ＦＰＧＡの内部ブロックにおける４状態判定ブロック２の異なる動作を示すものであり、信号処理回路の構成は、図１の信号処理回路１０と同様である。
【００８８】
図５に示す４状態判定ブロックの本実施例においては、ロータリーエンコーダ１の未操作時におけるロータリーエンコーダ１の出力信号のばたつきによるカウンタ３のカウント動作をより安全に停止させるために、同一方向の隣接状態の遷移が２回連続して実施された際に、初めて、カウンタ３へのカウント動作を行わせるように、状態信号を出力する。例えば、状態Ａ→状態Ｂへの遷移だけでは、まだカウンタ３へ状態信号を出力せずに、状態Ａ→状態Ｂ→状態Ｃの３状態間に亘る遷移があった際に、カウンタ３へ状態信号を出力する。したがって、２つの隣接状態間のみでの遷移が発生しても、カウンタ３はカウントされないため、ロータリーエンコーダ１の出力信号のばたつきの影響をより確実に抑えることが可能になる。
【００８９】
図５（Ａ）は、４状態判定ブロックから出力する状態信号に基づいて、カウンタ３のカウントアップ動作を行う場合の説明図であり、図５（Ｂ）は、４状態判定ブロックから出力する状態信号に基づいて、カウンタ３のカウントダウン動作を行う場合の説明図であり、カウントアップ動作、カウントダウン動作のいずれの場合も、３つの状態に亘る遷移が発生した場合に、カウンタ３のカウント動作を行うように動作する。
【００９０】
例えば、図５（Ａ）に示すように、ロータリーエンコーダ１の回転方向が正方向の回転つまり右回転であれば、４状態判定ブロックからの状態信号は、
状態Ａ→状態Ｂ→状態Ｃ→状態Ｄ
と隣接状態間を遷移していくことになり、カウンタ３は、状態Ａ→状態Ｂ→状態Ｃ、状態Ｂ→状態Ｃ→状態Ｄ、状態Ｃ→状態Ｄ→状態Ａ→・・・と３つの状態に亘る正方向の遷移が発生する都度、“＋１”ずつカウントアップする動作を行う。
【００９１】
一方、図５（Ｂ）に示すように、ロータリーエンコーダ１の回転方向が負方向の回転つまり左回転であれば、４状態判定ブロックからの状態信号は、逆に、
状態Ｄ→状態Ｃ→状態Ｂ→状態Ａ
と隣接状態間を遷移していくことになり、カウンタ３は、状態Ｄ→状態Ｃ→状態Ｂ、状態Ｃ→状態Ｂ→状態Ａ、状態Ｂ→状態Ａ→状態Ｄ→・・・と３つの状態に亘る負方向の遷移が発生する都度、“−１”ずつカウントダウンする動作を行う。
【００９２】
ただし、図５のようなカウント方法を用いる場合、状態の遷移が同一方向に２回発生するまで、カウンタ３のカウント動作が実行されないため、ロータリーエンコーダ１の回転方向が切り替わった場合、カウントする位置がずれてしまい、ヒステリシスな動作を引き起こしてしまう。本信号処理回路を適用する装置として、かくのごときヒステリシスな動作が問題ならない場合には、このままであっても問題はないが、操作性の面で問題になる可能性がある。したがって、ヒステリシスな動作を防止するように、図３、図４にて説明したような補正機能を、本実施例にも組み込むことが必要である。
【００９３】
図３、図４のような補正機能を組み込むことによって、低分解能のロータリーエンコーダ１を利用した場合であっても、高分解能で、かつ、高精度の出力信号を得ることが可能になる。
【００９４】
なお、前述した各実施例においては、ロータリーエンコーダ１の出力信号として、（１／４）位相ずれた２つのパルス（出力信号１，２）が出力されるものと仮定しているが、（１／４）位相のずれがある場合のみでなく、如何なる位相ずれがあっても良く、また、２つの出力信号のみに限らず、２以上の複数の出力信号が出力される場合であっても良く、低分解能のロータリーエンコーダ１の出力信号に前述のような補正を適宜施して、所望の分解能に向上させることが可能である。
【００９５】
以上、本発明の好適実施例の構成を説明した。しかし、斯かる実施例は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
【図面の簡単な説明】
【００９６】
【図１】本発明の信号処理回路の構成の一例を示すブロック構成図である。
【図２】本発明による信号処理回路の４状態判定ブロックの動作原理の一例を説明するための説明図である。
【図３】本発明による信号処理回路の隣接状態遷移判定ブロックの動作原理の一例を説明するための説明図である。
【図４】本発明による信号処理回路の人的操作判定ブロックの動作原理の一例を説明するための説明図である。
【図５】本発明による信号処理回路の４状態判定ブロックの動作原理の他の例を説明するための説明図である。
【図６】一般的なロータリーエンコーダの出力信号の様子を説明する説明図である。
【図７】ロータリーエンコーダ１１の出力信号１を利用する場合の問題点を説明するための説明図である。
【図８】本発明の信号処理回路におけるカウンタのカウント方法の一例を示す説明図である。
【図９】ロータリーエンコーダを操作するフェーダのイメージを示す概念図である。
【符号の説明】
【００９７】
１      ロータリーエンコーダ
２      ４状態判定ブロック
３      カウンタ
４      隣接状態遷移判定ブロック
５      人的操作判定ブロック
６      ＡＮＤ回路
１０    信号処理回路
１１    ロータリーエンコーダ
１２    処理回路
１３    操作レバー
【図１】
2008256529.tif 000003
【図２】
2008256529.tif 000004
【図３】
2008256529.tif 000005
【図４】
2008256529.tif 000006
【図５】
2008256529.tif 000007
【図６】
2008256529.tif 000008
【図７】
2008256529.tif 000009
【図８】
2008256529.tif 000010
【図９】
2008256529.tif 000011