(57)【特許請求の範囲】
【請求項１】
１／４周期相互に位相のずれた２列の周期的オン／オフ信号から成るパルス列電気信号を出力する２相式パルス・エンコーダにより、回転体の回転方向を検出する回転方向検出装置であって、
所定のサンプリング間隔を置いた第１サンプリング時刻と第２サンプリング時刻との間に前記回転体が微小回転したか否かを前記パルス列電気信号の２列の周期的オン／オフ信号の少なくともいずれか一方の変化の有無により検出する回転有無検出手段と、
前記パルス列電気信号の前記第１サンプリング時刻における一方の前記周期的オン／オフ信号の値と、
前記パルス列電気信号の前記第２サンプリング時刻における他方の前記周期的オン／オフ信号の値との一致又は不一致のみにより正負の回転方向を判定する回転方向判定手段とを有することを特徴とする回転方向検出装置。
【請求項２】
前記回転方向判定手段による前記判定は、
前記パルス列電気信号の前記第１サンプリング時刻における一方の前記周期的オン／オフ信号の値と、
前記パルス列電気信号の前記第２サンプリング時刻における他方の前記周期的オン／オフ信号の値との排他的論理和の演算結果により行われる
ことを特徴とする請求項１に記載の回転方向検出装置。
【請求項３】
前記回転体は、自動車のステアリング・シャフトと同期回転する回転板であり、
前記回転有無検出手段と前記回転方向判定手段は、前記自動車のパワー・ステアリング装置が備えるコンピュータが実行するソフトウェアにより実現される
ことを特徴とする請求項１又は請求項２に記載の回転方向検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２相式パルス・エンコーダにより回転体の回転方向を検出する回転方向検出装置に関する。本発明は、例えば、モータにより操舵のアシストを行う自動車のパワー・ステアリング・システムのアシスト方向の判定等に利用することができる。
【０００２】
【従来の技術】
２相式パルス・エンコーダにより回転体の回転方向を検出する回転方向検出装置としては、例えば、公開特許公報「昭５９−１７４７１１：操舵状態演算装置」に記載されているものや、公告特許公報「平３−４７６８９：操舵角検出装置」に記載されているもの等が、一般に知られている。これらは、自動車のパワー・ステアリング・システムの一部を構成するものである。
【０００３】
図１０に、従来より使用されている２相式パルス・エンコーダ１０の平面図を示す。このエンコーダ１０は、上記の特許公報にも記載されているように、ステアリング・シャフト２０に取り付けられた回転板２１の回転角φを検出するために用いられるものであり、回転板２１上に設けられたスリット２２、Ａ相検出センサ２３、Ｂ相検出センサ２４等から構成されている。このエンコーダ１０は、互いに１／４周期ずれた周期的オン／オフ信号Ａ，Ｂ（図１１）を出力する。
【０００４】
図１１に、この２相式パルス・エンコーダ１０の出力波形図（ａ）及び、領域信号Ｓの定義表（ｂ）を示す。ここで、Ｓは次式（１）により定義される。ただし、＜ＡＢ＞はＳの２桁の２進数表示（２ビット表示）である。
【数１】
Ｓ≡＜ＡＢ＞≡２Ａ＋Ｂ                                        （１）
【０００５】
以下同様に本明細書においては、例えば、ｉ，ｊ，ｋがそれぞれ１ビット情報である時、４ｉ＋２ｊ＋ｋを次式（２）のように表記する。
【数２】
＜ｉｊｋ＞≡４ｉ＋２ｊ＋ｋ    （３桁の２進数表示）            （２）
【０００６】
図１２に、上記の公告特許公報「平３−４７６８９：操舵角検出装置」に記載されている回転方向検出処理ルーチンのフローチャートを示す。図１２において、Ｎは回転量累積値を示しており、回転板２１が上記の１／４周期よりも小さい微小角を回転するのに必要な所定の微小回転時間の間に回転体２１が微小回転した時に１だけ増減される。このＮの増分ΔＮは、回転板２１が時計（右）回りした時＋１、反時計（左）回りした時−１の値をとる。また、上記の微小回転の有無は、上記の領域信号Ｓの変化の有無により判定される。
【０００７】
従って、この値Ｎは回転板２１が回転した時に上記の１／４周期単位に１ずつ増減される。上記の回転角φは、この回転量累積値Ｎを用いて、次式（３）により求めることができる。ただし、（３）において、δφは上記の１／４周期に相当する回転板２１の回転角である。
【数３】
φ＝Ｎδφ                                                    （３）
【０００８】
従来技術による本回転方向検出処理ルーチンでは、上記の回転量累積値Ｎを随時更新するために、判定・分岐処理を実行するステップ３０〜３３及びステップ３５〜３８による一連の判定処理の作用により、右回りの回転が検出された場合にはステップ３９が、左回りの回転が検出された場合にはステップ４０がそれぞれ実行される。
【０００９】
【発明が解決しようとする課題】
従来技術による上記の回転方向検出処理ルーチン（図１２）では、周期的オン／オフ信号Ａ，Ｂの現在（第２サンプリング時刻）の値Ａ，Ｂと、このＡ，Ｂの前回（第１サンプリング時刻）の値Ａ０，Ｂ０の４つの値を用いて、上記の微小回転の回転方向を判定している（ステップ３０〜３３及びステップ３５〜３８）。これにより、従来技術による上記の回転方向検出処理ルーチンでは、判定・分岐処理が多数になり、回転方向の判定ロジックが複雑となるため、静的な処理ステップ数も、動的な処理ステップ数も大きくなっている。
【００１０】
従って、上記の従来技術によれば、プログラムの実行処理性能、メモリ効率、保守拡張性のいずれの面でも劣る結果となる。特にプログラムの実行処理性能は、使用するべきＣＰＵモデルのグレード（演算性能）を左右するため、この実行処理性能の低下は、近年促進されつつあるＣＰＵモデルの軽量化の阻害要因となり得る。
【００１１】
本発明は、上記の課題を解決するために成されたものであり、その目的は、上記のような回転方向検出処理を行うプログラムにおいて、回転方向の判定が簡潔なロジックを用いることにより、実行処理性能、メモリ効率、保守拡張性のいずれの面でも優れたプログラムの構成方法を提供することである。
【００１２】
【課題を解決するための手段】
上記の課題を解決するためには、以下の手段が有効である。
即ち、第１の手段は、１／４周期相互に位相のずれた２列の周期的オン／オフ信号から成るパルス列電気信号を出力する２相式パルス・エンコーダにより、回転体の回転方向を検出する回転方向検出装置において、所定のサンプリング間隔を置いた第１サンプリング時刻と第２サンプリング時刻との間に回転体が微小回転したか否かをパルス列電気信号の２列の周期的オン／オフ信号の少なくともいずれか一方の変化の有無により検出する回転有無検出手段と、パルス列電気信号の第１サンプリング時刻における一方の周期的オン／オフ信号の値と、パルス列電気信号の第２サンプリング時刻における他方の周期的オン／オフ信号の値との一致又は不一致のみにより正負の回転方向を判定する回転方向判定手段とを備えることである。
【００１３】
また、第２の手段は、上記の第１の手段において、回転方向判定手段による上記の判定を、パルス列電気信号の第１サンプリング時刻における一方の周期的オン／オフ信号の値と、パルス列電気信号の第２サンプリング時刻における他方の周期的オン／オフ信号の値との排他的論理和の演算結果により行うことである。
【００１４】
更に、第３の手段は、上記の第１又は第２の手段において、上記の回転体を自動車のステアリング・シャフトと同期回転する回転板とし、上記の回転有無検出手段と回転方向判定手段を自動車のパワー・ステアリング装置が備えるコンピュータが実行するソフトウェアにより実現することである。
以上の手段により、前記の課題を解決することができる。
【００１５】
【作用及び発明の効果】
図１は、２相式パルス・エンコーダによる回転方向検出装置の出力判定表（０−１）である。ここで、Ａ，Ｂ、及び、Ａ０，Ｂ０は、それぞれ上記の周期的オン／オフ信号Ａ，Ｂの現在（第２サンプリング時刻）の値、及び、このＡ，Ｂの前回（第１サンプリング時刻）の値であり、ΔＮは上記の回転量累積値Ｎの増分である。また、（※）印は、左側の入力条件が検出されないことを示すものである。
上記の第１及び第２サンプリング時刻の間隔は、回転体が前記１／４周期よりも小さい所定の微小角を回転するのに最小限必要な時間であるため、上記の１／４周期に相当する角度以上の大きな回転は、このサンプリング間隔内では起り得ない。上記の４つの（※）印で示した入力条件が検出されないのはこのためである。
【００１６】
従来技術による回転方向検出処理（図１２）においても、本発明による回転方向検出処理（後述の第１〜第３実施例：図５、図７、図９）においても、最終的には、本出力判定表（０−１）に従う様に、ΔＮの値を決定しなければならない。例えば、従来技術による回転方向検出処理（図１２）のステップ３０では、図２に示す出力判定表（０−２）に従って、微小回転の有無を判定している。ただし、出力判定表（０−２）は、出力判定表（０−１）において、ΔＮ＝０（微小回転無し）となる行だけを選択したものである。
【００１７】
しかしながら、従来技術による回転方向検出処理（図１２）においては、その後のステップ３１〜３８により実行される判定処理においても、Ｓ（≡＜ＡＢ＞）及びＳ０（≡＜Ａ０Ｂ０＞）を用いて判定を行っているため、事実上、Ａ，ＢとＡ０，Ｂ０の４つの値を用いて、上記の微小回転の回転方向を判定していることになり、微小回転の回転方向の判定処理が長く複雑になっている。
【００１８】
本発明は、これらの点を画期的に改善したものであり、本発明によれば、上記の回転方向の判定処理を（Ａ０，Ｂ）又は（Ａ，Ｂ０）のどちらか１組の数値だけを用いて行うため、この回転方向の判定処理を極めて簡潔に実現することができる。従って、本発明によれば、実行処理性能、メモリ効率、保守拡張性のいずれの面でも優れたプログラムを構成することが可能となる。
【００１９】
【発明の実施の形態】
以下、本発明を具体的な実施例に基づいて説明する。
図３は、本発明による回転方向検出装置１００の機能構成図である。回転方向検出装置１００は、２相式パルス・エンコーダ１０と、波形整形回路１１と、自動車のパワー・ステアリング装置が備えるコンピュータ１２により構成されている。２相式パルス・エンコーダ１０は、相互に１／４周期位相のずれた２列の周期的オン／オフ信号から成るパルス列電気信号（Ａ，Ｂ）を波形整形回路１１を介してコンピュータ１２に出力する。
【００２０】
このパルス列電気信号（Ａ，Ｂ）は、回転有無検出手段１８ａと回転方向判定手段１８ｂとを備えた、請求項３に記載の「ソフトウェア」に相当する回転方向検出ルーチン１８により処理される。回転方向検出ルーチン１８は、（Ａ，Ｂ）に関する演算処理の結果として、前記の回転量累積値Ｎを回転角演算手段１６に出力する。回転角演算手段１６は、（３）に従って、回転角φを求めるためのものである。
以下、上記の機能構成（図３）に基づいて作られた回転方向検出ルーチン１８の構成例を示す。
【００２１】
（第１実施例）
図４に、本第１実施例の回転方向判定手段に関わる出力判定表（１）を示す。本出力判定表（１）は、図１の出力判定表（０−１）に従うものであり、出力判定表（０−１）から（※）印の行とΔＮ＝０の行とを削除し、かつ、ＡとＢ０の列を削除することにより作成されたものである。
本出力判定表（１）より、Ａ０とＢの値は、ΔＮの値を決定するために十分な情報であることが判る。
【００２２】
図５に、図２の出力判定表（０−２）及び図４の出力判定表（１）に従って回転体の回転方向検出処理を実行する回転方向検出処理ルーチン（１）のフローチャートを示す。
本ルーチン（１）では、まず最初に、ステップ６１０により、Ａ相の値に変化が有ったか否かを判定し、Ａ＝Ａ０の場合にはステップ６２０へ、そうでない場合にはステップ６３０へ処理を移す。
【００２３】
次に、ステップ６２０では、Ｂ相の値に変化が有ったか否かを判定し、Ｂ＝Ｂ０の場合にはステップ６６０へ、そうでない場合にはステップ６３０へ処理を移す。ステップ６３０では、Ａ０とＢとの排他的論理和を算出し、その結果が０ならばステップ６４０へ、そうでなければステップ６５０へ処理を移す。ステップ６４０では、回転量累積値Ｎを１減少する。ステップ６５０では、回転量累積値を１増加する。ステップ６６０では、Ａの値をＡ０に保存する。ステップ６７０では、Ｂの値をＢ０に保存する。
【００２４】
以上のように、本回転方向検出処理ルーチン（１）によれば、１回の判定処理（ステップ６３０）で、回転体の微小回転の回転方向を判定することができる。これにより、実行処理性能、メモリ効率、保守拡張性のいずれの面でも優れたプログラム（図３の回転方向検出ルーチン１８）を構成することが可能となる。
尚、本ルーチン（１）においては、図３の回転有無検出手段１８ａは、ステップ６１０、６２０により構成され、図３の回転方向判定手段１８ｂは、ステップ６３０により構成されている。
【００２５】
（第２実施例）
図６に、本第２実施例の回転方向判定手段に関わる出力判定表（２）を示す。本出力判定表（２）は、図１の出力判定表（０−１）に従うものであり、出力判定表（０−１）から（※）印の行とΔＮ＝０の行とを削除し、かつ、Ａ０とＢの列を削除することにより作成されたものである。
本出力判定表（２）より、ＡとＢ０の値は、ΔＮの値を決定するために十分な情報であることが判る。
【００２６】
図７に、図２の出力判定表（０−２）及び図６の出力判定表（２）に従って回転体の回転方向検出処理を実行する回転方向検出処理ルーチン（２）のフローチャートを示す。
本ルーチン（２）では、まず最初に、ステップ８１０により、前記式（１）に従って、領域信号Ｓの値を求める。
【００２７】
次に、ステップ８２０では、Ｓの値と前回に求めたＳ０の値との排他的論理和を算出し、その結果が０ならば、ステップ８６０へ、そうでない場合にはステップ８３０へ処理を移す。ステップ８３０では、ＡとＢ０の値を比較し、Ａ＝Ｂ０ならばステップ８４０へ、そうでなければステップ８５０へ処理を移す。ステップ８４０では、回転量累積値Ｎを１増加する。ステップ８５０では、回転量累積値を１減少する。ステップ８６０では、Ｂの値をＢ０に保存する。ステップ８７０では、Ｓの値をＳ０に保存する。
【００２８】
以上のように、本回転方向検出処理ルーチン（２）によれば、１回の判定処理（ステップ８３０）で、回転体の微小回転の回転方向を判定することができる。これにより、実行処理性能、メモリ効率、保守拡張性のいずれの面でも優れたプログラム（図３の回転方向検出ルーチン１８）を構成することが可能となる。
尚、本ルーチン（２）においては、図３の回転有無検出手段１８ａは、ステップ８１０、８２０により構成され、図３の回転方向判定手段１８ｂは、ステップ８３０により構成されている。
【００２９】
（第３実施例）
図８に、本第３実施例の回転有無検出手段及び回転方向判定手段に関わる出力判定表（３）を示す。本出力判定表（３）は、図２の出力判定表（０−２）及び図６の出力判定表（２）に従うものである。ただし、Ｙは、次式（４），（５），（６）によって定義される３桁の２進数である。
【数４】
Ｙ≡＜ｉｊｋ＞＝ＸＯＲ（ｏｐ１，ｏｐ２）                      （４）
【数５】
ｏｐ１＝＜Ａ０Ｂ０Ｂ０＞                                      （５）
【数６】
ｏｐ２＝＜ＡＢＡ＞                                            （６）
【００３０】
ここで、ｉ，ｊ，ｋは１ビット値であり、γ＝ＸＯＲ（α，β）は、ｍ桁の２進数α，βの各対応ビット同士の排他的論理和をｍ桁の２進数γの各対応ビットとして算出する論理演算を表す式である。従って、例えば、（４），（５），（６）より次式（７）が成り立つ。
【数７】
ｋ＝ＸＯＲ（Ｂ０，Ａ）                                        （７）
【００３１】
図９に、図８の出力判定表（３）に従って回転体の回転方向検出処理を実行する回転方向検出処理ルーチン（３）のフローチャートを示す。
本ルーチン（３）では、まず最初に、ステップ９１０により、前記式（２）、（６）に従って、ｏｐ２の値を求める。
次に、ステップ９２０では、ｏｐ２の値と前回に求めたｏｐ１の値との排他的論理和Ｙを（４）により算出する。ステップ９３０では、Ｙのビットｉｊの値を調べ、その値が００ならば、ステップ９７０へ、そうでない場合にはステップ９４０へ処理を移す。
【００３２】
ステップ９４０では、Ｙのビットｋの値を調べ、その値が０ならば、ステップ９５０へ、そうでなければステップ９６０へ処理を移す。ステップ９５０では、回転量累積値Ｎを１増加する。ステップ９６０では、回転量累積値を１減少する。ステップ９７０では、次式（８）に従って、ｏｐ１の値を求める。
【数８】
ｏｐ１＝４Ａ＋３Ｂ                                            （８）
【００３３】
以上のように、本回転方向検出処理ルーチン（３）によれば、１回の判定処理（ステップ９４０）で、回転体の微小回転の回転方向を判定することができる。これにより、実行処理性能、メモリ効率、保守拡張性のいずれの面でも優れたプログラム（図３の回転方向検出ルーチン１８）を構成することが可能となる。
尚、本ルーチン（３）においては、図３の回転有無検出手段１８ａは、ステップ９１０、９２０、９３０、９７０により構成され、図３の回転方向判定手段１８ｂは、ステップ９１０、９２０、９４０、９７０により構成されている。
【００３４】
尚、本発明による回転方向検出装置は、自動車のパワー・ステアリング・システム以外にも、機械的に回転運動を行う任意の回転体に対して、その回転方向を検出する手段に用いることができる。
【図面の簡単な説明】
【図１】２相式パルス・エンコーダによる回転方向検出装置の出力判定表。
【図２】２相式パルス・エンコーダによる回転有無検出手段に関わる出力判定表。
【図３】本発明による回転方向検出装置の機能構成図。
【図４】本発明の第１実施例の回転方向判定手段に関わる出力判定表。
【図５】回転方向検出処理ルーチン（１）のフローチャート。
【図６】本発明の第２実施例の回転方向判定手段に関わる出力判定表。
【図７】回転方向検出処理ルーチン（２）のフローチャート。
【図８】本発明の第３実施例の回転有無検出手段及び回転方向判定手段に関わる出力判定表。
【図９】回転方向検出処理ルーチン（３）のフローチャート。
【図１０】２相式パルス・エンコーダの平面図。
【図１１】２相式パルス・エンコーダの出力波形図（ａ）及び、領域信号Ｓの定義表（ｂ）。
【図１２】従来技術による回転方向検出処理ルーチンのフローチャート。
【符号の説明】
１００  …  回転方向検出装置
１０    …  ２相式パルス・エンコーダ
１１    …  波形整形回路
１２    …  コンピュータ
１６    …  回転角演算手段
１８    …  ソフトウェア（請求項３に記載）
１８ａ  …  回転有無検出手段
１８ｂ  …  回転方向判定手段
２０    …  ステアリング・シャフト
２１    …  回転板
Ａ，Ｂ  …  周期的オン／オフ信号
Ｎ      …  回転量累積値
φ      …  回転角
Ｓ      …  領域信号
Ａ０    …  Ａの前回（第１サンプリング時刻）の値
Ｂ０    …  Ｂの前回（第１サンプリング時刻）の値
ΔＮ    …  Ｎの増分
ＸＯＲ  …  排他的論理和の演算記号
【図１】
0003659036.tif 000002
【図２】
0003659036.tif 000003
【図３】
0003659036.tif 000004
【図４】
0003659036.tif 000005
【図５】
0003659036.tif 000006
【図６】
0003659036.tif 000007
【図７】
0003659036.tif 000008
【図８】
0003659036.tif 000009
【図９】
0003659036.tif 000010
【図１０】
0003659036.tif 000011
【図１１】
0003659036.tif 000012
【図１２】
0003659036.tif 000013