(57)【特許請求の範囲】
【請求項１】
検出対象位置に応じて進相方向に位相シフトされた電気的位相角を持つ第１の交流出力信号と遅相方向に位相シフトされた電気的位相角を持つ第２の交流出力信号とに基づき位置検出データを生成する方法であって、
所定の基準位相に対する前記第１の交流出力信号の位相差を検出することで第１の検出データを生成し、該基準位相に対する前記第２の交流出力信号の位相差を検出することで第２の検出データを生成する第１のステップと、
位置検出要求に応じた割込み処理として動作し、前記第１のステップで生成された各検出データに対して補間演算を行なう第２のステップと、
前記各検出データ毎に、前記第１のステップによる位相差検出時点から前記第２のステップによる割込み時点までの時間経過を測定する第３のステップと
を具え、前記第２のステップは、
時間的に相前後する前記第１の検出データの少なくとも２つのサンプルから第１の予測値を求め、時間的に相前後する前記第２の検出データの少なくとも２つのサンプルから第２の予測値を求めるステップと、
前記第１及び第２の予測値を修正して少なくとも一つの標準予測値を求めるステップと、
前記第１の検出データに対応する前記時間経過に応じた補間比率と、前記第２の検出データに対応する前記時間経過に応じた補間比率と、前記標準予測値と、前記第１の検出データと、前記第２の検出データとを用いて補間演算を行なうステップと
を含むことを特徴とする位置検出データ生成方法。
【請求項２】
前記第１及び第２の予測値の平均を求めることで前記標準予測値を求める請求項１に記載の位置検出データ生成方法。
【請求項３】
前記第１及び第２の予測値をそれぞれ所定のテーブルを用いて変換することでそれぞれに対応する前記標準予測値を求める請求項１に記載の位置検出データ生成方法。
【請求項４】
検出対象位置に応じて進相方向に位相シフトされた電気的位相角を持つ第１の交流出力信号と遅相方向に位相シフトされた電気的位相角を持つ第２の交流出力信号とに基づき位置検出データを生成する装置であって、
所定の基準位相に対する前記第１の交流出力信号の位相差を検出することで第１の検出データを生成し、該基準位相に対する前記第２の交流出力信号の位相差を検出することで第２の検出データを生成する第１の手段と、
位置検出要求に応じた割込み処理として動作し、前記第１の手段で生成された各検出データに対して補間演算を行なう第２の手段と、
前記各検出データ毎に、前記第１の手段による位相差検出時点から該第２の手段による割込み時点までの時間経過を測定する第３の手段と
を具え、前記第２の手段は、
時間的に相前後する前記第１の検出データの少なくとも２つのサンプルから第１の予測値を求め、時間的に相前後する前記第２の検出データの少なくとも２つのサンプルから第２の予測値を求める手段と、
前記第１及び第２の予測値を修正して少なくとも一つの標準予測値を求める手段と、
前記第１の検出データに対応する前記時間経過に応じた補間比率と、前記第２の検出データに対応する前記時間経過に応じた補間比率と、前記標準予測値と、前記第１の検出データと、前記第２の検出データとを用いて補間演算を行なう手段と
を含むことを特徴とする位置検出データ生成装置。
【請求項５】
機械読み取り可能な記憶媒体であって、検出対象位置に応じて進相方向に位相シフトされた電気的位相角を持つ第１の交流出力信号と遅相方向に位相シフトされた電気的位相角を持つ第２の交流出力信号とに基づき位置検出データを生成する方法を処理装置に実行させるための命令群を内容としており、前記方法は、
所定の基準位相に対する前記第１の交流出力信号の位相差を検出することで第１の検出データを生成し、該基準位相に対する前記第２の交流出力信号の位相差を検出することで第２の検出データを生成する第１のステップと、
位置検出要求に応じた割込み処理として動作し、前記第１のステップで生成された各検出データに対して補間演算を行なう第２のステップと、
前記各検出データ毎に、前記第１のステップによる位相差検出時点から前記第２のステップによる割込み時点までの時間経過を測定する第３のステップと
を具え、前記第２のステップは、
時間的に相前後する前記第１の検出データの少なくとも２つのサンプルから第１の予測値を求め、時間的に相前後する前記第２の検出データの少なくとも２つのサンプルから第２の予測値を求めるステップと、
前記第１及び第２の予測値を修正して少なくとも一つの標準予測値を求めるステップと、
前記第１の検出データに対応する前記時間経過に応じた補間比率と、前記第２の検出データに対応する前記時間経過に応じた補間比率と、前記標準予測値と、前記第１の検出データと、前記第２の検出データとを用いて補間演算を行なうステップと
を含むことを特徴とする記憶媒体。
【請求項６】
検出対象位置に応じて進相方向にシフトされた電気的位相角を持つ第１の交流出力信号と遅相方向にシフトされた電気的位相角を持つ第２の交流出力信号とを生成する位置検出システムにおいて、
前記第１及び第２の交流出力信号をそれぞれディジタル信号に変換する変換手段と、
ディジタル変換された前記第１及び第２の交流出力信号の少なくとも一方に関して、所定の基準位相に対する該交流出力信号の位相差を検出することで検出データを生成する処理を行なうディジタル処理手段と
を具え、
前記ディジタル処理手段では、
前記所定の基準位相に対する前記第１の交流出力信号の位相差を検出することで第１の検出データを生成し、該基準位相に対する前記第２の交流出力信号の位相差を検出することで第２の検出データを生成する処理と、
時間的に相前後する前記第１の検出データの少なくとも２つのサンプルから第１の予測値を求め、時間的に相前後する前記第２の検出データの少なくとも２つのサンプルから第２の予測値を求める処理と、
前記第１及び第２の予測値を修正して少なくとも一つの標準予測値を求める処理と、
前記標準予測値と前記第１及び第２のの検出データとを用いて時間経過に従う補間演算を行なう処理と
を行なうことを特徴とする位置検出システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、検出対象位置に応じて進相方向にシフトされた電気的位相角を持つ第１の交流出力信号と遅相方向にシフトされた電気的位相角を持つ第２の交流出力信号とを生成する位置検出システムにおいて使用される位置検出データ生成方法及び装置に関するものであり、特に、演算処理の負担軽減を図ったものであり、さらには、動特性（検出対象位置が時間的に変化するときの検出特性）についての検出性能を改善することに関し、例えば、レゾルバあるいはシンクロのような回転位置検出器、あるいはそれと同様の位置検出原理に従う直線位置検出器など、電気的位相差に基づき回転位置又は直線位置のアブソリュート位置検出を行なう技術に関連するものである。
【０００２】
【従来の技術】
誘導型の回転位置検出器として、１相励磁入力で２相出力（サイン相とコサイン相の出力）を生じるものは「レゾルバ」として知られており、１相励磁入力で３相出力（１２０度ずれた３相）を生じるものは「シンクロ」として知られている。最も古いタイプの在来型のレゾルバは、ステータ側に９０度の機械角で直交する２極（サイン極とコサイン極）の２次巻線を配し、ロータ側に１次巻線を配したものである（１次と２次の関係は逆も可）。このようなタイプのレゾルバはロータの１次巻線に電気的にコンタクトするためのブラシを必要としているので、これが欠点となっている。これに対して、ブラシを不要としたブラシレス・レゾルバの存在も知られている。ブラシレス・レゾルバは、ロータ側においてブラシに代わる回転トランスを設けたものである。一方、最近では、本出願人によって、巻線をステータ側にのみ（又はロータ側にのみ）設けた可変磁気抵抗型の検出器を用いて、１相励磁入力で２相出力（サイン相とコサイン相の出力）を生じるようにした装置も開発されている。また、１相励磁入力で２相出力（サイン相とコサイン相の出力）を生じるようにした位置検出装置は、回転タイプに限らず、直線位置検出タイプにおいても提案されている。
【０００３】
先に、本出願人は、この種の１相励磁入力で２相出力を生じるいわゆるレゾルバタイプの位置検出器に対して好適に適用することができる新規な位相差検出技術を、特願平８−２９９７８１号（特開平９−１２６８０９号）で提案した。そこで提案された位相差検出技術は、検出器の巻線（コイル）は周辺環境の温度変化の影響を受けてそのインピーダンスが変化するので、２次側に誘導される交流信号の電気的位相が該温度変化に応じて微妙に変動して検出誤差をもたらす、という問題点を解決したものである。この公知の位相差検出技術は、大略、次のステップからなっている。
【０００４】
〔ステップ１〕  １相励磁入力で２相出力を生じるいわゆるレゾルバタイプの位置検出器からの出力信号は、検出対象位置に応じた位相角θに対応するサイン関数ｓｉｎθ及びコサイン関数ｃｏｓθによってそれぞれ振幅変調された２つの出力交流信号ｓｉｎθｓｉｎωｔ及びｃｏｓθｓｉｎωｔからなっており、これを電気的に処理することで、検出対象位置に応じて正方向にシフトされた電気的位相角（＋θ）を持つ第１の交流出力信号ｓｉｎ（ωｔ＋θ）と負方向にシフトされた電気的位相角（−θ）を持つ第２の交流出力信号ｓｉｎ（ωｔ−θ）とを生成する。ここで、温度による巻線インピーダンス変化等の影響による位相誤差成分を±ｄで示すと、上記交流出力信号はそれぞれｓｉｎ（ωｔ±ｄ＋θ）及びｓｉｎ（ωｔ±ｄ−θ）と表すことができる。
【０００５】
〔ステップ２〕  ゼロクロスラッチ方式のような公知のディジタル位相差測定技術により、所定の基準位相（例えばｓｉｎωｔの０位相）に対する上記各交流出力信号の位相差（±ｄ＋θ）及び（±ｄ−θ）をディジタル検出し、それぞれの位相検出データを得る。
〔ステップ３〕  上記位相検出データを用いて、「｛（±ｄ＋θ）＋（±ｄ−θ）｝÷２＝±ｄ」なる演算を行い、誤差データ±ｄを得る。
〔ステップ４〕  上記位相検出データの一方（例えば「±ｄ＋θ」）から上記誤差データ±ｄを差し引くことにより、誤差を除去した位置検出データθを得る。
【０００６】
ところで、検出対象位置が静止状態のときは特に問題ないのであるが、検出対象位置が時間的に変化するときは、それに対応する位相角θも時間的に変動することになる。その場合、各交流出力信号ｓｉｎ（ωｔ±ｄ＋θ）及びｓｉｎ（ωｔ±ｄ−θ）の位相ずれ量θが一定値ではなく、移動速度に対応して時間的に変化する動特性を示すものとなり、これをθ(t)で示すと、それぞれ、ｓｉｎ｛ωｔ±ｄ＋θ(t)｝及びｓｉｎ｛ωｔ±ｄ−θ(t)｝となる。すなわち、ドップラ効果によって、基準交流信号ｓｉｎωｔの周波数に対して、進相の交流出力信号は＋θ(t)に応じて周波数が高くなる方向に周波数遷移し、遅相の交流出力信号は−θ(t)に応じて周波数が低くなる方向に周波数遷移する。このような動特性の下においては、基準信号ｓｉｎωｔの１周期毎に各交流出力信号の周期が互いに逆方向に次々に遷移していくので、上記ステップ３の演算をするだけでは、正確な位相変動誤差「±ｄ」を得ることが困難となる。
【０００７】
そこで、上記先願においては、このような問題を解決するために、上記交流出力信号ｓｉｎ｛ωｔ±ｄ＋θ(t)｝及びｓｉｎ｛ωｔ±ｄ−θ(t)｝のゼロクロスが一致するときを検出し、このゼロクロス一致検出時に、所定の基準交流信号ｓｉｎωｔに対する上記交流出力信号ｓｉｎ｛ωｔ±ｄ＋θ(t)｝及びｓｉｎ｛ωｔ±ｄ−θ(t)｝の一方の位相検出データを誤差データ±ｄとして保持し、この保持した誤差データを用いて、前記ステップ４での位置検出データの修正を行うようにしている。
【０００８】
【発明が解決しようとする課題】
上記従来技術においては、位相検出データは、各交流出力信号ｓｉｎ（ωｔ＋θ）及びｓｉｎ（ωｔ−θ）のゼロクロス毎にしか得ることができないため、その時間的検出分解能が交流信号の１周期に限定されてしまうことになり、動特性（検出対象位置が時間的に変化するときの検出特性）についての応答性能が限界づけられていた。また、上記従来技術においては、動特性を考慮した誤差データ±ｄの検出には、２つの交流出力信号のゼロクロスが一致する時点を待たなければならないため、応答性が悪くなるおそれがあった。
【０００９】
この発明は上述の点に鑑みてなされたもので、補間演算を行なうことにより、動特性についての応答性及び検出性能を改善することを目的としており、特に、その際に、ＣＰＵのような演算処理装置による演算処理負担（オーバーヘッド）を軽減することのできる位置検出データ生成方法及び装置を提供しようとするものである。
さらには、本発明は、この種の位相検出型の位置検出システムにおいて、既存の汎用マイクロコンピュータユニットを利用しやすいようにし、システムをできるだけ安価に提供することができるようにしようとするものである。
【００１０】
【課題を解決するための手段】
この発明は、検出対象位置に応じて進相方向に位相シフトされた電気的位相角を持つ第１の交流出力信号と遅相方向に位相シフトされた電気的位相角を持つ第２の交流出力信号とに基づき位置検出データを生成する方法であって、所定の基準位相に対する前記第１の交流出力信号の位相差を検出することで第１の検出データを生成し、該基準位相に対する前記第２の交流出力信号の位相差を検出することで第２の検出データを生成する第１のステップと、位置検出要求に応じた割込み処理として動作し、前記第１のステップで生成された各検出データに対して補間演算を行なう第２のステップと、前記各検出データ毎に、前記第１のステップによる位相差検出時点から前記第２のステップによる割込み時点までの時間経過を測定する第３のステップとを具え、前記第２のステップは、時間的に相前後する前記第１の検出データの少なくとも２つのサンプルから第１の予測値を求め、時間的に相前後する前記第２の検出データの少なくとも２つのサンプルから第２の予測値を求めるステップと、前記第１及び第２の予測値を修正して少なくとも一つの標準予測値を求めるステップと、前記第１の検出データに対応する前記時間経過に応じた補間比率と、前記第２の検出データに対応する前記時間経過に応じた補間比率と、前記標準予測値と、前記第１の検出データと、前記第２の検出データとを用いて補間演算を行なうステップとを含むことを特徴とする。
【００１１】
この発明によれば、予測補間によって時間的に密に補間済位置検出データを生成する場合において、常に補間演算を行なうのではなく、位置検出要求に応じた割込み処理として、必要最小限の時間で補間演算を行なう。すなわち、第２のステップは、位置検出要求に応じた割込み処理として動作し、前記第１のステップで生成された検出データに対して補間演算を行なう。この割込みは、ＣＰＵ等の処理装置に対する外部割込みであってもよいし、内部割込みであってもよい。第３のステップにより、第１のステップによる位相差検出時点から該第２のステップによる割込み時点までの時間経過が測定される。この時間経過は、第２のステップによる割込み時点で行なうべき補間演算における補間比率を示している。そこで、第２のステップでは、時間的に相前後する前記検出データの少なくとも２つのサンプルに基づき予測値を求めるステップと、前記時間経過に応じた補間比率と前記予測値とを用いて前記検出データに対して補間演算を行なうステップとを含み、これにより、位置検出要求に応じたオンデマンドの補間演算処理を適切に行なうことができる。従って、補間演算処理に使用するＣＰＵ等の演算処理装置の負担を軽減することができ、オーバーヘッドを減少させることができる。よって、この演算処理装置を、位置検出以外の目的にも同時に多目的的に使用する場合において、極めて効率的に該ＣＰＵ等の演算処理装置を利用することができる。
さらに、この発明によれば、予測補間によって時間的に密に補間済の位置検出データを生成することで、動特性（検出対象位置が時間的に変化するときの検出特性）についての応答性能を改善することができる。また、上記従来技術のように２つの交流出力信号のゼロクロスが一致する時点を待つ必要がなくなり、応答性がよくなる。
【００１２】
また、この発明によれば、前記第１及び第２の予測値を修正して少なくとも一つの標準予測値を求めるようにすることで、正方向に位相シフトされた信号と負方向に位相シフトされた信号との間ではドップラ効果による周波数遷移（周期遷移）のリニアリティが異なることによる生じるおそれのある補間演算誤差を、適切に修正し、精度のよい補間演算を行うことができるようになる。この点について詳しくは後述の実施例において説明する。
【００１３】
更に、この発明は、検出対象位置に応じて進相方向にシフトされた電気的位相角を持つ第１の交流出力信号と遅相方向にシフトされた電気的位相角を持つ第２の交流出力信号とを生成する位置検出システムにおいて、前記第１及び第２の交流出力信号をそれぞれディジタル信号に変換する変換手段と、ディジタル変換された前記第１及び第２の交流出力信号の少なくとも一方に関して、所定の基準位相に対する該交流出力信号の位相差を検出することで検出データを生成する処理を行なうディジタル処理手段とを具え、前記ディジタル処理手段では、前記所定の基準位相に対する前記第１の交流出力信号の位相差を検出することで第１の検出データを生成し、該基準位相に対する前記第２の交流出力信号の位相差を検出することで第２の検出データを生成する処理と、時間的に相前後する前記第１の検出データの少なくとも２つのサンプルから第１の予測値を求め、時間的に相前後する前記第２の検出データの少なくとも２つのサンプルから第２の予測値を求める処理と、前記第１及び第２の予測値を修正して少なくとも一つの標準予測値を求める処理と、前記標準予測値と前記第１及び第２のの検出データとを用いて時間経過に従う補間演算を行なう処理とを行なうことを特徴とする。このように交流出力信号のゼロクロス検出を行なうことなく、交流信号のままアナログ／ディジタル変換を行ない、ディジタル変換された交流出力信号をディジタル処理手段に入力することにより、該交流出力信号を多目的に利用することができる。特に、既存のマイクロコンピュータユニットにおいては、アナログ／ディジタル変換器やディジタル／アナログ変換器を付属しているものがあるので、その種のマイクロコンピュータユニットを使用する場合は、本発明に従えば、ハードウエア構成を変更することなく、本発明を適用することができるので、極めて経済的である。
【００１４】
本発明は、方法発明として構成し、実施することができるのみならず、システム又は装置発明として構成し、実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記録媒体の形態で実施することもできる。
【００１５】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
図１は、本発明に係る位置検出データ生成方法の一実施例を、該実施例を適用した位置検出システムの全体構成例と共に、示すブロック図である。この位置検出システムは、位置センサ１０と検出処理部１１とによって構成され、検出処理部１１はアナログ処理部１２とディジタル処理部１３とを含む。本発明に係る位置検出データ生成方法を特徴づける構成は、ディジタル処理部１３に含まれている。ディジタル処理部１３の内部構成例は、図示の都合上、図１では一部のみ示し、詳しくは図２に示す。
【００１６】
位置センサ１０とアナログ処理部１２の部分は、検出対象位置（これを「ｘ」で示す）に応じて正方向にシフトされた電気的位相角（これを「＋θ」で示す）を持つ第１の交流出力信号（便宜上これを「ｓｉｎ（ωｔ＋θ）」で示す）と負方向にシフトされた電気的位相角（これを「−θ」で示す）を持つ第２の交流出力信号（便宜上これを「ｓｉｎ（ωｔ−θ）」で示す）とを生成するものであり、このような２種類の交流出力信号を生成するものであれば、図示したものに限らず、どのような構成であってよい。まず、本発明の前提である、これらの２種類の交流出力信号を生成する構成例について簡単に説明する。
【００１７】
位置センサ１０は、１相励磁入力／２相出力型の位置センサであり、どのようなタイプの位置センサであってもよい。例えば公知のレゾルバであってもよく、その場合、ブラシレス・レゾルバであってもよいし、ブラシのあるタイプてあってもよい。また、１次巻線と２次巻線をステータ側に具備し、ロータ又は可動部側には巻線を持たない、可変磁気抵抗タイプの位置センサであってもよい。また、位置センサ１０は、回転位置検出センサであってもよいし、直線位置検出センサであってもよい。位置センサ１０には、検出処理部１１から発生された１相の励磁用交流信号ＥＡＣが印加され、これによって１次巻線Ｗ１を励磁する。位置センサ１０では、この１次巻線Ｗ１の励磁に応じて２相の２次巻線Ｗ２ｓ，Ｗ２ｃの夫々に出力交流信号が誘導されるようになっており、夫々の誘導電圧レベルは検出対象位置ｘに対応して２相の関数特性sinθ，cosθを示す。すなわち、各２次巻線Ｗ２ｓ，Ｗ２ｃの誘導出力信号は、検出対象位置ｘに対応して２相の関数特性sinθ，cosθで振幅変調された状態で夫々出力される。ここで、ｘ＝θまたはθはｘに比例しているとする。説明の便宜上、巻線の巻数等、その他の条件に従う係数は省略し、２次巻線Ｗ２ｓをサイン相として、その出力信号を「sinθ・sinωｔ」で示し、２次巻線Ｗ２ｃをコサイン相として、その出力信号を「cosθ・sinωｔ」で示す。すなわち、検出対象位置ｘに対応する第１の関数値sinθを振幅値として持つ第１の出力交流信号Ａ＝sinθ・sinωｔが２次巻線Ｗ２ｓから出力され、同じ検出対象位置ｘに対応する第２の関数値cosθを振幅値として持つ第２の出力交流信号Ｂ＝cosθ・sinωｔが２次巻線Ｗ２ｃから出力される。
【００１８】
検出処理部１１では、カウンタ１９で所定の高速クロックパルスＣＫをカウントし、そのカウント値に基づき励磁信号発生回路２０から励磁用の交流信号を発生し、位置センサ１０の１次巻線Ｗ１に与える。カウンタ１９のモジュロ数は、励磁用の交流信号ＥＡＣの１周期に対応しており、説明の便宜上、そのカウント値の０は、基準交流信号ｓｉｎωｔの０位相に対応しているものとする。例えば、カウンタ１９のカウント値が０から最大値まで１巡する間で、基準交流信号sinωｔの０位相から最大位相までの１周期が発生されると想定すると、その基準交流信号sinωｔに対応して励磁用の交流信号ＥＡＣが、励磁信号発生回路２０から発生される。
【００１９】
位置センサ１０から出力された第１及び第２の出力交流信号Ａ，Ｂは、検出処理部１１のアナログ処理部１２に入力される。アナログ処理部１２において、第１の出力交流信号Ａ＝sinθ・sinωｔが位相シフト回路１４に入力され、その電気的位相が所定量位相シフトされ、例えば９０度進められて、位相シフトされた交流信号Ａ’＝sinθ・cosωｔが得られる。また、アナログ処理部１２においては加算回路１５と減算回路１６とが設けられており、加算回路１５では、位相シフト回路１４から出力される上記位相シフトされた交流信号Ａ’＝sinθ・cosωｔと位置センサ１０から出力される上記第２の出力交流信号Ｂ＝cosθ・sinωｔとが加算され、その加算出力として、Ｂ＋Ａ’＝cosθ・sinωｔ＋sinθ・cosωｔ＝sin（ωｔ＋θ）なる略式で表わせる第１の電気的交流信号Ｙ１が得られる。減算回路１６では、上記位相シフトされた交流信号Ａ’＝sinθ・cosωｔと上記第２の出力交流信号Ｂ＝cosθ・sinωｔとが減算され、その減算出力として、Ｂ−Ａ’＝cosθ・sinωｔ−sinθ・cosωｔ＝sin（ωｔ−θ）なる略式で表わせる第２の電気的交流信号Ｙ２が得られる。このようにして、検出対象位置（ｘ）に対応して正方向にシフトされた電気的位相角（＋θ）を持つ第１の電気的交流出力信号Ｙ１＝sin（ωｔ＋θ）と、同じ前記検出対象位置（ｘ）に対応して負方向にシフトされた電気的位相角（−θ）を持つ第２の電気的交流出力信号Ｙ２＝sin（ωｔ−θ）とが、電気的処理によって夫々得られる。
【００２０】
加算回路１５及び減算回路１６の出力信号Ｙ１，Ｙ２は、夫々ゼロクロス検出回路１７，１８に入力され、それぞれのゼロクロスが検出される。ゼロクロスの検出の仕方としては、例えば、各信号Ｙ１，Ｙ２の振幅値が負極性から正極性に変化するゼロクロスつまり０位相を検出する。各回路１７，１８で検出したゼロクロス検出パルスつまり０位相検出パルスは、ラッチパルスＬＰ１，ＬＰ２として、ディジタル処理部１３に供給される。
【００２１】
まず、ディジタル処理部１３で行なわれる位置検出動作の基本原理につき図２〜図６により説明する。図２は、ディジタル処理部１３による位置検出原理を説明するための詳細ブロック図である。図２に示されたディジタル処理部１３において、検出対象位置（ｘ）に対応して正方向にシフトされた電気的位相角（つまり進相の位相ずれ＋θ）に対応するラッチパルスＬＰ１はラッチ（つまりレジスタ）２１のラッチ制御信号として使用され、検出対象位置（ｘ）に対応して負方向にシフトされた電気的位相角（つまり遅相の位相ずれ−θ）に対応するラッチパルスＬＰ２はラッチ（つまりレジスタ）３１のラッチ制御信号として使用される。各ラッチ２１及び３１では、カウンタ１９のカウント値を夫々のラッチパルスＬＰ１，ＬＰ２の発生タイミングでラッチする。前述のように、カウンタ１９のモジュロ数は励磁用の交流信号の１周期に対応しており、そのカウント値の０は基準交流信号sinωｔの０位相に対応しているものとしたので、各ラッチ２１及び３１にラッチしたデータＰ1，Ｍ1は、それぞれ、基準交流信号sinωｔに対する各出力信号Ｙ１，Ｙ２の位相ずれ（＋θ及び−θ）に対応している。
このように、各ラッチパルスＬＰ１，ＬＰ２に応じて各ラッチ２１及び３１に位相差検出データＰ1及びＭ1をそれぞれラッチする処理が、検出対象位置（ｘ）に応じて正方向にシフトされた電気的位相角（＋θ）を持つ第１の交流出力信号「sin（ωｔ＋θ）」の位相差を検出することで第１の検出データ（Ｐ1）を生成し、検出対象位置（ｘ）に応じて負方向にシフトされた電気的位相角（−θ）を持つ第２の交流出力信号「sin（ωｔ−θ）」の位相差を検出することで第２の検出データ（Ｍ1）を生成する処理に相当する。
【００２２】
ここで、位置センサ１０と検出処理路部１１間の配線ケーブル長の長短による影響や、位置センサ１０の巻線Ｗ１，Ｗ２ｓ，Ｗ２ｃにおいて温度変化等によるインピーダンス変化が生じていることを考慮して、その出力信号の位相変動誤差を「±ｄ」で示すと、アナログ処理部１２における上記各検出交流信号Ｙ１，Ｙ２は次のように表わされる。
Ｙ１＝sin（ωｔ±ｄ＋θ）
Ｙ２＝sin（ωｔ±ｄ−θ）
したがって、上記各検出データＰ1及びＭ1は、検出対象位置ｘに対応する真の位相角θを示すものではなく、上記誤差±ｄを含むものである。この誤差±ｄは、進相の検出データＰ1に対しても、遅相の検出データＭ1に対しても、同一方向（同相方向）の誤差として含まれる。この点を図に示すと、図３（ａ）及び（ｂ）のようである。（ａ）は誤差位相±ｄがプラスつまり進相（＋ｄ）の場合を図説し、（ｂ）は遅相（−ｄ）の場合を図説するものである。すなわち、進相の検出データＰ1は基準位相Ｒ０（例えば基準交流信号ｓｉｎωｔの０位相）に対して「±ｄ＋θ」なる位相ずれを示すものであり、遅相の検出データＭ1は基準位相Ｒ０に対して「±ｄ−θ」なる位相ずれを示すものである。この誤差±ｄは、未知の値であるが、本出願人の出願に係る前記従来技術においては、進相及び遅相の両検出データＰ1及びＭ1を足して２で割ることにより、
｛（±ｄ＋θ）＋（±ｄ−θ）｝÷２＝±ｄ
なる関係に基づき、誤差±ｄを検出することができ、これにより温度特性誤差の補償を行うことができることを教示した。本実施例においても、同様の原理に従う温度特性誤差補償を行うが、その点については後述する。なお、以下の説明では、説明に特段の差しつかえがないかぎり、検出交流信号位相成分に上記誤差±ｄを含んでいる場合であっても、便宜上、あえてこの±ｄの存在を示さず、単に、「＋θ」や「−θ」、あるいは「ωｔ＋θ」や「ωｔ−θ」のように記載する。
【００２３】
なお、各ラッチ２１及び３１では、同じカウンタ１９のカウント出力をラッチするため、遅相の位相ずれ−θについて該カウンタ１９のカウント値をそのまま当該位相ずれの絶対値「θ」を示す値とみなした場合、進相の位相ずれ＋θについては該カウンタ１９のカウント値は３６０度の補数（つまり「３６０°−θ」）に相当する位相データをラッチすることとなる。これにより、正負符号付きの各位相差「＋θ」及び「−θ」に対応するデータをそのまま位相差検出データＰ1及びＭ1としてそれぞれ各ラッチ２１及び３１にラッチしたことと等価となる。このように、位相差検出データＰ1及びＭ1が正負符号付きのままの位相ずれ「＋θ」及び「−θ」に対応しているものとしているので、上記のように、進相及び遅相の両検出データＰ1及びＭ1を足して２で割ることが、誤差±ｄを検出することに相当する。一方、このような事項は設計上任意に変更可能であり、例えば、進相の位相ずれ「＋θ」についても当該位相ずれの絶対値「θ」がラッチ２１にされるようにしてもよい。例えば、そのためには、ラッチ３１にはカウンタ１９のカウント値をそのままラッチする一方で、ラッチ２１にはカウンタ１９のカウント値の負の値若しくはモジュロ数に対するカウント値の補数（最大カウント値と現カウント値との差）をラッチするものとするとよい。その場合は、ラッチ２１にラッチされる進相方向の位相ずれ「＋θ」についての位相差検出データＰ1はそのθの絶対値を示し、また、ラッチ３１にラッチされる遅相方向の位相ずれ−θについての位相差検出データＭ1もそのθの絶対値を示しているものとなる。その場合は、誤差±ｄを含む進相方向の位相ずれ「±ｄ＋θ」の絶対値「θ±ｄ」を示す検出データＰ1と遅相方向の位相ずれ「±ｄ−θ」の絶対値「θ−（±ｄ）」を示す検出データＭ1との差を２で割ることで、誤差±ｄを検出することができる。その他、データ形式や演算形態の細部は適宜に設計変更可能である。
【００２４】
図２の説明に戻ると、各ラッチ２１及び３１に対応して２次ラッチ（すなわちレジスタ）２２及び３２が設けられており、前記ラッチパルスＬＰ１に応じて１次ラッチ２１の出力を２次ラッチ２２にラッチし（つまりシフトし）、前記ラッチパルスＬＰ２に応じて１次ラッチ３１の出力を２次ラッチ３２にラッチする。これにより、前回のラッチパルスＬＰ１（又はＬＰ２）の発生時にラッチ２１（又は３１）にラッチされたデータ（つまり１サンプル前の位相差検出データ）が２次ラッチ２２（又は３２）に転送される。こうして、今回発生したラッチパルスＬＰ１（又はＬＰ２）に応じて１次ラッチ２１（又は３１）にラッチされて該ラッチ２１（又は３１）から出力されるデータを今回サンプルの位相差検出データＰ1（又はＭ1）とすると、そのとき同時に２次ラッチ２２（又は３２）に転送されて該ラッチ２２（又は３２）から出力されるデータは前回サンプルの位相差検出データＰ0（又はＭ0）である。こうして、正方向に位相遷移する傾向の、つまり進相の第１の検出データＰ1についての、時間的に相前後する２つのサンプルのデータ、つまりＰ1とＰ0、が各ラッチ２１及び２２から得られる。同様に負方向に位相遷移する傾向の、つまり遅相の第２の検出データＭ1についての、時間的に相前後する２つのサンプルのデータ、つまりＭ1とＭ0、が各ラッチ３１及び３２から得られる。
【００２５】
引算器２３では、ラッチ２１の出力値Ｐ1からラッチ２２の出力値Ｐ0を減算して、１サンプル周期当りの変化量ΔＰを求める。すなわち、
ΔＰ＝Ｐ1−Ｐ0
なる減算を行う。なお、ここでいう１サンプル周期とは、第１の交流出力信号sin（ωｔ＋θ）の交流サイクルの１周期であり、検出対象の静止時は基準交流ｓｉｎωｔの１周期に相当するが、検出対象の移動時はドップラ効果によって正方向つまり進相方向に（交流サイクル周期を縮める方向に）遷移する。すなわち、１サンプル周期毎にラッチタイミングが早まるからである。
【００２６】
同様に、引算器３３では、ラッチ３１の出力値Ｍ1からラッチ３２の出力値Ｍ0を減算して、１サンプル周期当りの変化量ΔＭを求める。すなわち、
ΔＭ＝Ｍ1−Ｍ0
なる減算を行う。この１サンプル周期は、第２の交流出力信号sin（ωｔ−θ）の交流サイクルの１周期であり、検出対象の静止時は基準交流信号ｓｉｎωｔの１周期に相当するが、検出対象の移動時はドップラ効果によって負方向につまり遅相方向に（交流サイクル周期を伸ばす方向に）遷移する。すなわち、１サンプル周期毎にラッチタイミングが遅れるからである。図３（ｃ）は、各サンプル毎の位相差検出データＰ0，Ｐ1，Ｍ0，Ｍ1の、基準位相Ｒ０に対する位相ずれ量をそれぞれ例示し、これによって、１サンプル周期当たりの進相及び遅相の変化量ΔＰ及びΔＭをビジュアルに図示したものである。
【００２７】
それぞれの方向についての変化量ΔＰ、ΔＭは、それぞれ次のラッチタイミングまでの変化量の予測値として、補間演算に際して、使用される。例えば、加算器２４において、ラッチ２１から出力される今回サンプルの検出データＰ1と、引算器２３から出力される次回サンプルまでの予測変化量ΔＰとを加算し、補間演算に際しての、目標値ＴＰを得る。すなわち、
ＴＰ＝Ｐ1＋ΔＰ
なる演算を行う。同様に、例えば、加算器３４において、ラッチ３１から出力される今回サンプルの検出データＭ1と、引算器３３から出力される次回サンプルまでの予測変化量ΔＭとを加算し、補間演算に際しての、目標値ＴＭを得る。すなわち、
ＴＭ＝Ｍ1＋ΔＭ
なる演算を行う。なお、この実施例においては、この目標値ＴＰ，ＴＭは、補間演算の際の絶対的な到達目標ではなく、補間の方向性を示す目安として使用されるだけである。具体的な補間値を決定するのに関与するのは、次に述べる標準予測値である。
【００２８】
前述のように、進相つまり正方向（時間圧縮方向）へ位相遷移するときの変化量ΔＰと、遅相つまり負方向（時間伸張方向）へ位相遷移するときの変化量ΔＭは、ドップラ効果によって生じるものであり、移動速度（回転体の場合は回転数）に依存するものである。しかし、これらの進相方向の変化量ΔＰと遅相方向の変化量ΔＭは、移動速度に対してリニアティを示さず、図４に示すような非線形性を示す。図４の第１象限に実線で描かれたカーブΔＭが遅相遷移方向の変化量ΔＭの非線形特性例であり、第４象限に実線で描かれたカーブΔＰが進相遷移方向の変化量ΔＰの非線形特性例である。このように２つの変化量ΔＰ，ΔＭの非線形特性は互いに逆向きの非線形特性、つまり一方が指数的で、他方が対数的、となる。このような逆向きの非線形特性は、変化量ΔＰ，ΔＭを求めるためのサンプル周期（交流周期）が、進相の場合は速度が増すにつれて圧縮され、遅相の場合は速度が増すにつれて引き延ばされるために生じる。よって、横軸に示す移動速度が増してくるにつれて、２つの変化量ΔＰ，ΔＭの値の重みが異なってくるので、これを適正に修正せずに補間演算に使用すると、後述の温度特性誤差補償演算等で、両者の補間演算結果同士を用いて演算を行った場合、誤差を招くことになる。この実施例において、これらの変化量ΔＰ，ΔＭ（すなちわち１次予測値）の非線形特性を修正することで、そのような誤差を招くことがないようにしている。そのようにこれらの変化量ΔＰ，ΔＭ（すなちわち１次予測値）の非線形特性を修正した値を、この実施例では、標準予測値（ノーマライズした予測値）と呼ぶことにする。
【００２９】
図２の例においては、引算器２３，３３から出力される各変化量ΔＰ，ΔＭの絶対値を演算器３０で下記のように平均化する演算を行うことにより、修正した予測値つまり標準予測値ＶＴを求めるようにしている。
ＶＴ＝（｜ΔＰ｜＋｜ΔＭ｜）÷２
その結果得られる標準予測値ＶＴの移動速度に対する特性は、図４で破線ＶＴで示すように、ほぼ直線性を示すものとなる。この標準予測値ＶＴは、所定の標準サンプル周期（基準交流信号ｓｉｎωｔの１周期）で、進相及び遅相の位相検出データＰ1，Ｍ1をそれぞれサンプリング（ラッチ）したと仮定した場合のサンプル間の変化量つまり予測値に相当するもの、つまりバーチャルサンプリング（ラッチ）周期毎の変化量の予測値である。換言すれば、この実施例に従って、図４に示すような各変化量ΔＰ，ΔＭの非線形特性を直線特性に変換して標準予測値ＶＴを得ることで、動特性時におけるドップラ効果の影響を排除した、所定の標準サンプル周期（基準交流信号ｓｉｎωｔの１周期）つまりバーチャルサンプリング（ラッチ）周期に従う、ノーマライズされた仮想的な位相差検出が可能となる。これは、本発明で初めて提案する新規なアイデアである。なお、この標準予測値ＶＴを次のステップで演算器２５及び３５で使用する場合、それぞれの予測値ΔＰ，ΔＭの傾き方向（正負）に合わせた正負符号をつけるものとする。例えば、図４に示したように、進相の予測値ΔＰの傾きは負であるから、進相用の演算器２５で使用する標準予測値ＶＴには負の符号を付与する（負の値とする）。これを図４で示せば、破線ＶＴ’で示す特性となる。
【００３０】
標準予測値の求め方としては、これに限らず、例えば進相及び遅相毎にそれぞれ逆特性の非線形変換テーブルを使用して各予測値ΔＰ，ΔＭを個別にデータ変換することで、それぞれ所定の直線性を示す値となるように変換する手法などが考えられる。その場合、標準予測値は進相及び遅相毎に別々に生成することとなる。しかし、上記のように平均値演算により標準予測値を求める手法はかなり簡単な構成で済むため、変換テーブルを用いる手法に比べてかなり有利である。また、予測値ΔＰ，ΔＭは、上記例のように、隣接する２サンプルの位相差検出データの差（１サンプル周期の変化量）に限らず、２サンプル以上離れた２サンプルの位相差検出データの差（２サンプル周期以上の変化量）に基づいて求めるようにしてもよいし、また、２サンプルの位相差検出データに限らず、３サンプル以上の位相差検出データに基づいて求めるようにしてもよい。
【００３１】
この実施例において、補間演算は、上述のバーチャルサンプリング（ラッチ）周期つまり所定の標準サンプル周期（基準交流信号ｓｉｎωｔの１周期）を基準にして行われる。すなわち、図５（ａ）に示すように、励磁側の基準交流信号ｓｉｎωｔの１周期（例えばその周波数が１０ｋＨｚとすると、１００μｓ）を所定の数ｎで分割し、その分割された１タイムスロットを１補間ステップとして、バーチャルサンプリング周期（基準交流信号ｓｉｎωｔの１周期）の１周期の間でｎ個の補間ステップからなる補間演算を、予測補間によって、時間経過に従って順次行う。各補間ステップ毎のタイムスロットを形成する補間クロックＴｎは、基準交流信号ｓｉｎωｔの１周期の１／ｎの周期からなる。例えばｎ＝４０９６とした場合、補間クロックＴｎは４０．９６ＭＨｚとなる。ここで、例えば、ｎをカウンタ１９のモジュロ数と同数とすると、カウンタのクロックパルスＣＫと補間クロックＴｎは、同一のクロックパルスを使用することができる。
【００３２】
図２において、演算器２５では、演算器３０で求めた標準予測値ＶＴを少なくとも用いて、１補間ステップ当りの補間値（つまり増分値）Ａｐを演算する。基本的には、バーチャルサンプリング周期当りの変化量である標準予測値ＶＴを補間ステップ分割数ｎで割ることで、１補間ステップ当りの増分値Ａｐを求めることができる。しかし、ラッチパルスＬＰ１が発生したタイミングで新たな検出データＰ1がラッチ２１にラッチされたとき、その直前に得られた補間値（補間結果すなわち補間済検出データ）が該今回サンプルの新たな検出データＰ1に対して誤差を有するときは、この誤差をこの補間増分値Ａｐに反映させることで、予測補間による誤差修正を常に行ってやることが望ましい。そこで、演算器２５では、ラッチパルスＬＰ１が発生したタイミングで、ラッチ２１から出力される今回サンプルの新たな検出データＰ1と、補間処理部２６で得られた最新の補間値（補間結果すなわち補間済検出データ）つまり補間最終値ＰＡとを更に用いて、下記の演算を行い、新たな補間増分値Ａｐを求める。
Ａｐ＝｛（Ｐ1−ＰＡ）＋ＶＴ｝÷ｎ
ここで、（Ｐ1−ＰＡ）が、現在の補間済検出データつまり補間最終値ＰＡと今回サンプリングした新たな検出データＰ1との誤差であり、この誤差を標準予測値ＶＴに加算することで、向こう１周期にわたるバーチャルサンプリング周期当りの標準予測値を修正し、これをｎで割ることにより、補間増分値Ａｐを求める。なお、設計上の細部の話ではあるが、ここで、対応する変化量ΔＰが負の傾きを持つ場合は、前述の通り、演算器２５で使用する標準予測値ＶＴは、演算器３０で求めた値の負の値（つまり図４のＶＴ’）とする。よって、補間増分値Ａｐは負の値となり、事実上、減分値となる。
【００３３】
遅相方向についても同様に、演算器３５では、ラッチパルスＬＰ２が発生したタイミングで、演算器３０で求めた標準予測値ＶＴと、前記分割数ｎと、ラッチ３１から出力される今回サンプルの新たな検出データＭ1と、補間処理部３６で得られた最新の補間値（補間結果すなわち補間済検出データ）つまり補間最終値ＭＡとを用いて、下記の演算を行い、新たな補間増分値Ａｍを求める。
Ａｍ＝｛（Ｍ1−ＭＡ）＋ＶＴ｝÷ｎ
ここで、（Ｍ1−ＭＡ）が、現在の補間済検出データつまり補間最終値ＭＡと今回サンプリングした新たな検出データＭ1との誤差であり、この誤差を標準予測値ＶＴに加算することで、向こう１周期にわたるバーチャルサンプリング周期当りの標準予測値を修正し、これをｎで割ることにより、補間増分値Ａｍを求める。この場合、演算器３３で求めた変化量ΔＭが正の傾きを示すものであれば、演算器３５では演算器３０で求めた標準予測値ＶＴをそのまま（正の符号のまま）上記演算で使用する。
【００３４】
進相用の補間演算を行う補間処理部２６においては、補間クロックＴｎに従う補間ステップ毎に、補間最終値ＰＡに対して、前記演算器２５で得た補間増分値Ａｐを順次累算していくことで、時間経過に従う予測補間演算を行う。詳しくは、補間クロックＴｎに従う補間ステップ毎に、ステップ２６ａで、現在の補間済検出データすなわち補間最終値ＰＡの値に増分値Ａｐを加算し、該補間済検出データすなわち補間最終値ＰＡの値を更新する。ステップ２６ｂで、該補間済検出データＰＡの値が目標値ＴＰに到達又は越えたかをチェックし、ＮＯであれば、ステップ２６ａに戻り、次の補間クロックＴｎの発生タイミングで、ＰＡに対するＡｐの加算を行う。こうして、各補間ステップ毎に補間最終値ＰＡに対して増分値Ａｐを順次累算していく。補間済検出データＰＡの値が目標値ＴＰに到達又は越えると、ステップ２６ｂでＹＥＳと判定され、ステップ２６ａでの加算を一時停止する。一時停止されたステップ２６ａでの加算は、次にラッチパルスＬＰ１が発生されたとき再開される。ステップ２６ａでの演算で求められた補間済検出データＰＡは、補間クロックＴｎによって１補間ステップ毎に補間出力ラッチ２７にラッチされる。ここで、前述のように増分値Ａｐが負の値（つまり減分値）であれば、ステップ２６ｂでの加算によって、得られる補間済検出データＰＡの値は順次減少していき、予測補間演算によって進相方向に細かく遷移してゆく補間済検出データＰＡが得られることとなる。その場合、目標値ＴＰの値は前回の補間最終値ＰＡよりは小さいので、ステップ２６ｂでは、「ＰＡ≦ＴＰ」が成立したか否かの判定を行うものとする。
【００３５】
遅相用の補間演算を行う補間処理部３６においても、同様に、ステップ３６ａで、補間クロックＴｎに従う補間ステップ毎に、補間最終値ＭＡに対して、前記演算器３５で得た補間増分値Ａｍを順次累算していくことで、時間経過に従う予測補間演算を行う。補間済検出データＭＡの値が目標値ＴＭに到達又は越えると、ステップ３６ｂでＹＥＳと判定され、ステップ３６ａでの加算を一時停止する。一時停止されたステップ３６ａでの加算は、次にラッチパルスＬＰ２が発生されたとき再開される。ステップ３６ａでの演算で求められた補間済検出データＭＡは、補間クロックＴｎによって１補間ステップ毎に補間出力ラッチ３７にラッチされる。ここで、前述のように増分値Ａｍが正の値であれば、ステップ３６ｂでの加算によって、得られる補間済検出データＭＡの値は順次増加していき、予測補間演算によって遅相方向に細かく遷移してゆく補間済検出データＭＡが得られることとなる。その場合、目標値ＴＭの値は前回の補間最終値ＭＡよりは大きいので、ステップ３６ｂでは、「ＭＡ≧ＴＭ」が成立したか否かの判定を行うものとする。
【００３６】
図５（ｂ）は、進相方向の補間演算例を示す図である。ラッチパルスＬＰ１によってラッチ２１に今回サンプルの検出データＰ1がラッチされると、前回サンプルの検出データＰ0との差が変化量ΔＰとして検出され、Ｐ1＋ΔＰ＝ＴＰが目標値として設定される。また、ラッチパルスＬＰ１の発生時点での補間最終値ＰＡ’とＰ1との差が標準予測値ＶＴに加算されて、該標準予測値がＶＴ１で示すように修正される。これに基づき、補間増分値（減分値）Ａｐが計算され、補間ステップ毎に、補間最終値ＰＡ’に対して増分値（減分値）Ａｐが累算されていくことで、補間済検出データＰＡが得られる。
同様に、図５（ｃ）は、遅相方向の補間演算例を示す図である。ラッチパルスＬＰ２によってラッチ３１に今回サンプルの検出データＭ1がラッチされると、前回サンプルの検出データＭ0との差が変化量ΔＭとして検出され、Ｍ1＋ΔＭ＝ＴＭが目標値として設定される。また、ラッチパルスＬＰ２の発生時点での補間最終値ＭＡ’とＭ1との差が標準予測値ＶＴに加算されて、該標準予測値がＶＴ２で示すように修正される。これに基づき、補間増分値Ａｍが計算され、補間ステップ毎に、補間最終値ＭＡ’に対して増分値Ａｍが累算されていくことで、補間済検出データＭＡが得られる。
【００３７】
補間出力ラッチ２７及び３７から出力される進相方向及び遅相方向の補間済検出データＰＡ及びＭＡは、演算器２８に入力され、前述した温度特性等の誤差±ｄを除去するための補償演算がなされる。すなわち、図３（ａ），（ｂ）によって前述した通り、進相及び遅相の位相差検出データＰ1及びＭ1を足して２で割ることにより誤差±ｄを検出することができるのと同様に、演算器２８では下記のように、進相及び遅相の補間済検出データＰＡ及びＭＡを足して２で割ることにより誤差±ｄを抽出する
±ｄ＝（ＰＡ＋ＭＡ）÷２
ここで、補間済検出データＰＡ及びＭＡは、前述した精度の高い予測補間によって検出対象位置ｘの時間的変化に追従して密に発生するものであるため、検出対象位置ｘの時間的変化に伴う位相差成分θの細密な時間的変化を、基準交流信号ｓｉｎωｔの１周期未満の細かなタイムスロット（補間ステップ）毎に示しているものである、従って、等価的に、
ＰＡ＝±ｄ＋θ（ｔ）
ＭＡ＝±ｄ−θ（ｔ）
で示すことができる。よって、演算器２８の演算は、等価的に、
〔｛±ｄ＋θ（ｔ）｝＋｛±ｄ−θ（ｔ）｝〕÷２＝±ｄ
であり、温度特性等のインピーダンス変化による誤差±ｄを、動特性時（＋θおよび−θが＋θ（ｔ）及び−θ（ｔ）として時間的に変化するとき）においても正確に検出するものである。
【００３８】
演算器２９では、下記のように、進相又は遅相の一方の補間済検出データＰＡ又はＭＡ（図の例ではＰＡとする）から、演算器２８で求めた誤差±ｄを引き算し、誤差±ｄを除去した、動特性補間済みの正確な位置検出データＰを得る。
Ｐ＝ＰＡ−（±ｄ）
これは、等価的には、
Ｐ＝｛±ｄ＋θ（ｔ）｝−（±ｄ）＝θ（ｔ）
に相当する。
【００３９】
なお、補間演算のアルゴリズムは、上記実施例に示したものに限らず、その他任意のものを用いてよい。上記実施例とは異なる補間演算アルゴリズムを用いた実施例を示すと一例として図６のようなものがあり得る。
図６において、ラッチ群（又はレジスタ群）４０は、図２のラッチ２１，２２，３１，３３と同様のものであり、ラッチパルスＬＰ１，ＬＰ２に応じてカウンタ１９のカウント出力をラッチし、これを順送りシフトして保持することにより、進相及び遅相方向についての複数サンプルの位相差検出データ（Ｐ0，Ｐ1，Ｍ0，Ｍ1）を生成する。演算器４１では、進相及び遅相方向についての今回サンプルの検出データＰ1，Ｍ1を用いて下記のように演算を行い、温度特性等の誤差±ｄを算出する。
±ｄ＝（Ｐ1＋Ｍ1）÷２
【００４０】
演算器４２では、下記のように、進相及び遅相方向の一方についての今回サンプルの検出データ（例えばＰ1）から、演算器４１で求めた誤差±ｄを引き算し、誤差±ｄを除去した検出データＰ’を得る。
Ｐ’＝Ｐ1−（±ｄ）
この検出データＰ’はまた補間がなされていない。
演算器４４では、図２の演算器２３と同様に、進相方向の複数サンプルの検出データから変化量ΔＰ（例えばΔＰ＝Ｐ1−Ｐ0）を得る。演算器４５では、図２の演算器３３と同様に、遅相方向の複数サンプルの検出データから変化量ΔＭ（例えばΔＭ＝Ｍ1−Ｍ0）を得る。演算器４６では、図２の演算器３０と同様に、進相及び遅相方向の変化量ΔＰ，ΔＭを修正して、標準予測値ＶＴ（例えばＶＴ＝（｜ΔＰ｜＋｜ΔＭ｜）÷２）を得る。
【００４１】
補間演算器４７では、ラッチパルスＬＰ１の発生タイミングに応答して、標準予測値ＶＴを補間ステップ数ｎで割ることにより補間増分値（または減分値）Ａｐを生成する演算（Ａｐ＝ＶＴ÷ｎ）を行い、補間クロックＴｎに従って、補間ステップ毎に該増分値（または減分値）Ａｐを順次累算し、補間値ｑＡｐを求める。ｑは０，１，２，…というように補間ステップ毎に順次増加する変数を示する。つまり、ｑＡｐは、Ａｐ，２Ａｐ，３Ａｐ，…と順次増加し、ｎステップ目にはｎＡｐ＝ＶＴとなる。このｑＡｐは次にラッチパルスＬＰ１が発生したときリセットされる。
【００４２】
演算器４３では、演算器４２で求めた検出データＰ’に対して補間演算器４７から発生された補間値ｑＡｐを加算し、補間済みの位置検出データＰを得る（Ｐ＝Ｐ’＋ｑＡｐ）。上記では、進相方向の検出データについて補間済みの位置検出データＰを求めるようにしたが、遅相方向の検出データについて補間済みの位置検出データＭを求めるようにすることができるのは勿論である。その場合は、補間演算器４７では、ラッチパルスＬＰ２に応じて動作し、補間増分値Ａｍを累算した補間値ｑＡｍを生成するものとする。
【００４３】
なお、上記各実施例に示した各回路は、ディスクリート回路に限らず、ゲートアレイ等を用いた集積回路によって構成することができるし、あるいはディジタルシグナルプロセッサを使用した回路によっても構成できるし、その他の高密度集積回路によっても構成することができるし、また、ＣＰＵ等を使用したソウトウェアプログラムによって実現することができ、それらのすべての実施の形態が本発明の範囲に含まれる。特に、図２に示したディジタル処理部１３は、ＣＰＵ等を使用したソウトウェアプログラムによって実現するのに適している。
【００４４】
ディジタル処理部１３として、ＣＰＵ等の演算処理装置を使用したソウトウェアプログラムによって実現するようにした場合、図２あるいは図６に示されたような演算アルゴリズムを常時実行するようにプログラムを組んでもよい。その場合は、補間済みの位置検出データＰが常に生成される。しかし、そのように補間済みの位置検出データＰを常時生成するようにプログラムを組んだ場合は、ＣＰＵの負担（オーバーヘッド）が増すので、該ＣＰＵ等の演算処理装置を多目的に使用している場合（同時並行的に他の処理にも使用している場合）などにあっては好ましくない。そこで、この発明においては、以下、図７〜図９を参照して説明するように、ディジタル処理部１３をＣＰＵ等のプログラム可能な演算処理装置を使用したソウトウェアプログラムによって実現する場合において、ＣＰＵ等の演算処理装置の適切なオーバーヘッド軽減策を提案する。図７〜図９に示した実施例について大まかに説明すると、ＣＰＵに対して位置検出の割込み要求が生じたときだけ、該ＣＰＵで位置検出のための補間演算処理を行なうことで、ＣＰＵの負担（オーバーヘッド）を軽減している。
【００４５】
ディジタル処理部１３におけるＣＰＵが実行する位置検出のための補間演算処理は、主に、図７に示すラッチパルス割込み処理と、図８に示す位置検出データ要求割込み処理とからなる。図７（Ａ）は、進相位相ずれ＋θに対応するラッチパルスＬＰ１が発生したときに行なわれる割込み処理であり、まず、該ラッチパルスＬＰ１の発生タイミングに対応する今回の検出データＰ1（図２のラッチ回路２１でラッチするデータに相当するもの）を取り込むと共に、前回の検出データＰ0（図２のラッチ回路２２でラッチするデータに相当するもの）を保持する（ステップＳ１）。そして、進相用補間比率データＴｘｐを生成するための進相用補間クロックカウンタをクリアしてカウントスタートする（ステップＳ２）。この進相用補間クロックカウンタは、補間クロックＴｎをカウントするものである。これにより、進相用補間クロックカウンタのカウント値つまり進相用補間比率データＴｘｐは、ラッチパルスＬＰ１の発生タイミングからの時間経過を補間ステップ単位で示す。
【００４６】
図７（Ｂ）は、遅相位相ずれ−θに対応するラッチパルスＬＰ２が発生したときに行なわれる割込み処理であり、まず、該ラッチパルスＬＰ２の発生タイミングに対応する今回の検出データＭ1（図２のラッチ回路３１でラッチするデータに相当するもの）を取り込むと共に、前回の検出データＭ0（図２のラッチ回路３２でラッチするデータに相当するもの）を保持する（ステップＳ３）。そして、遅相用補間比率データＴｘｍを生成するための遅相用補間クロックカウンタをクリアしてカウントスタートする（ステップＳ４）。この遅相用補間クロックカウンタも、補間クロックＴｎをカウントするものである。これにより、遅相用補間クロックカウンタのカウント値つまり遅相用補間比率データＴｘｍは、ラッチパルスＬＰ２の発生タイミングからの時間経過を補間ステップ単位で示す。
【００４７】
図９は、各ラッチパルスＬＰ１，ＬＰ２の発生タイミングとそれに関連する信号の一例を示すタイミングチャートであり、例えば、時点ｔ1でラッチパルスＬＰ２が発生する（立上りトリガがかかる）と、その時点ｔ1から遅相用補間クロックカウンタのカウントがスタートし、そのカウント値である遅相用補間比率データＴｘｍは０から順次増加してゆく。そして、時点ｔ3で次の周期のラッチパルスＬＰ２が発生すると、遅相用補間比率データＴｘｍは０にクリアされ、０からのカウントを再開する。従って、遅相用補間比率データＴｘｍは、ラッチパルスＬＰ２の１周期の間で、補間ステップ毎に時々刻々と増加する。進相用補間比率データＴｘｐも同様であり、ラッチパルスＬＰ１が発生した時点ｔ2から次に発生する時点ｔ4までの間で、補間ステップ毎に時々刻々と増加する。
【００４８】
ディジタル処理部１３のＣＰＵに対して位置検出データ要求が与えられたとき、図８の位置検出データ要求割込み処理が行なわれる。例えば、この位置検出データ要求は、位置検出データを利用する装置（図示せず）が最新の位置検出データを必要とするときに、該装置からディジタル処理部１３のＣＰＵに対して与えられる。図８では、まず、上記進相用及び遅相用補間クロックカウンタのカウント値つまり進相用及び遅相用補間比率データＴｘｐ，Ｔｘｍが取り込まれる（ステップＳ５）。例えば、図９における任意の時点ｔｘで位置検出データ要求に基づく図８の割込み処理がなされるとすると、該時点ｔｘでの各進相用及び遅相用補間クロックカウンタのカウント値が進相用及び遅相用補間比率データＴｘｐ，Ｔｘｍとして、ステップＳ５で取り込まれる。
【００４９】
次にステップＳ６では、図２における演算ブロック２３，３３，３０における演算と同様の演算を行なう。すなわち、図７（Ａ）のステップＳ１で取り込んだ、進相の検出データＰ1についての時間的に相前後する２つのサンプルのデータＰ1，Ｐ0の差を求めて１サンプル周期当りの変化量ΔＰを求める。すなわち、
ΔＰ＝Ｐ1−Ｐ0
なる減算を行う。また、図７（Ｂ）のステップＳ３で取り込んだ、遅相の検出データＭ1についての時間的に相前後する２つのサンプルのデータＭ1，Ｍ0の差を求めて１サンプル周期当りの変化量ΔＭを求める。すなわち、
ΔＭ＝Ｍ1−Ｍ0
なる減算を行う。そして、各変化量ΔＰ，ΔＭの絶対値を平均化する演算を行うことにより、下記のように、修正した予測値つまり標準予測値ＶＴを求める。
ＶＴ＝（｜ΔＰ｜＋｜ΔＭ｜）÷２
【００５０】
次にステップＳ７では、原理的には、下記式に従い、時点ｔｘにおける進相分の位置データの予測補間値ＰＡｘと、時点ｔｘにおける遅相分の位置データの予測補間値ＭＡｘとを求める。
ＰＡｘ＝Ｐ1＋｛ＶＴ  ×  （Ｔｘｐ÷ｎ）｝  …（式１）
ＭＡｘ＝Ｍ1−｛ＶＴ  ×  （Ｔｘｍ÷ｎ）｝  …（式２）
つまり、図９を参照して説明すると、進相分については時点ｔ2でラッチした今回サンプルの検出データＰ1に、補間比率データＴｘｐに対応する補間値（ＶＴ×（Ｔｘｐ÷ｎ））を加算することで、時点ｔｘにおける進相分の位置データの予測補間値ＰＡｘを求める。また、遅相分については時点ｔ1でラッチした今回サンプルの検出データＭ1から、補間比率データＴｘｍに対応する補間値（ＶＴ×（Ｔｘｍ÷ｎ））を減算することで、時点ｔｘにおける遅相分の位置データの予測補間値ＭＡｘを求める。そして、図２の演算ブロック２８，２９と同様に、前記誤差±ｄを除去するために、下記の演算を行なう。
Ｐｘ＝ＰＡｘ−｛（ＰＡｘ＋ＭＡｘ）÷２｝   …（式３）
こうして、任意の時点ｔｘにおける補間済みの位置検出データＰｘを得ることができる。
【００５１】
なお、上記式で、ｎ＝１とおき、Ｔｘｐ及びＴｘｍを１に対する比率つまり小数値で表せば、「Ｔｘｐ÷ｎ＝Ｔｘｐ」、「Ｔｘｍ÷ｎ＝Ｔｘｍ」であるから、このｎで割る割算は実質的に省略できる。また、Ｐｘを展開して整理すると、
Ｐｘ＝Ｐ1＋（ＶＴ  ×  Ｔｘｐ）−｛（Ｐ1＋Ｍ1）÷２｝
＋｛ＶＴ（Ｔｘｐ−Ｔｘｍ）÷２｝              …（式４）
となる。よって、上記式１〜３をそれぞれ実行することで補間済みの位置検出データＰｘを求めるようにしてもよいし、式４のみを実行することで補間済みの位置検出データＰｘを求めるようにしてもよい。式１〜３又は式４に従う補間演算処理は、図２〜図５で説明した補間演算処理と同様の原理に従うものであり、動特性を改善することができる。
【００５２】
なお、図７、図８に示したような位置検出要求があったときにオンデマンドで補間演算処理を行なうことで、ＣＰＵ等演算処理装置の負担を軽減し、多目的なＣＰＵ同時活用に役立てる、というアイディアは、上記のような進相と遅相の２種類の検出データに基づく補間演算処理に限らず、どちらか一方の検出データに基づく補間演算処理を行なうものにあっても適用可能である。なお、位置検出要求は、ＣＰＵに対する外部割込みで与えられてもよいし、内部割込みで与えられてもよい。
【００５３】
次に、図１における検出処理部１１の別の構成例について図１０によって説明する。図１０では、アナログ／ディジタル変換器５１，５２を付属しているマイクロコンピュータユニット５０を用いて、位置検出データの補間演算処理及びその他の処理を行なう。図１０では、図１に示されたようなゼロクロス検出回路１７，１８を設けることなく、アナログ演算器１５，１６の出力交流信号Ｙ１（＝ｓｉｎ（ωｔ＋θ）），Ｙ２（＝ｓｉｎ（ωｔ−θ））をそのままマイクロコンピュータユニット５０のＡ／Ｄ入力ポート５３，５４に接続し、内部のアナログ／ディジタル変換器５１，５２に入力する。これによって、検出対象位置に応じて進相方向に位相シフトされた出力交流信号Ｙ１（＝ｓｉｎ（ωｔ＋θ））と、遅相方向に位相シフトされた出力交流信号Ｙ２（＝ｓｉｎ（ωｔ−θ））がそれぞれディジタル信号に変換され、これが、マイクロコンピュータユニット５０内のＣＰＵ５５の内部バス５６に与えられる。ＣＰＵ５５では、この検出対象位置に応じた位相シフトを含むディジタル交流信号を多目的に利用してよい。例えば、このディジタル交流信号のゼロクロスを検出することにより、前述のラッチパルスＬＰ１，ＬＰ２に相当するトリガ信号を生成し、このトリガ信号（ＬＰ１，ＬＰ２）に応じて上記各実施例と同様の位置検出・補間演算処理を行なうようにしてよい。アナログ／ディジタル変換器５１，５２が複数併設されていない場合は、１個のアナログ／ディジタル変換器を時分割共用すればよい。図１０のタイプによれば、アナログ／ディジタル変換器を付属している既存のマイクロコンピュータユニット５０を用いて、本発明に従う位置検出データの補間演算処理を行なうことができる。
【００５４】
なお、位置センサ１０を回転型センサとして構成する場合、位相角θが１回転につき１周期の変化を示すものに限らず、１回転につき多周期の変化を示すような高分解能タイプの回転センサが各種公知であり、そのような高分解能タイプの回転センサについても本発明を適用できるのは勿論である。また、検出対象回転軸の回転が異なる変速比で伝達される複数の回転位置センサを設けることにより、複数回転にわたる絶対的回転位置を検出可能にする技術が公知であり、そのような場合においても、各回転位置センサの位置検出データを位相差検出方式によって求める場合に、本発明が適用できる。勿論、回転型の検出装置に限らず、直線位置検出装置においても、その直線位置検出データを位相差検出方式によって求める全ての場面において本発明が適用可能である。勿論、複数の位置センサ１０からの位置検出信号の処理を、共通のディジタル処理部１３を用いて、時分割処理することもできる。
さらに、本発明の装置若しくはシステムに付属して付加的機能を付加してもよい。例えば、演算器２８又は４１の出力データ±ｄを周辺環境の温度検出データとして取り出す機能を付加してもよい。
【００５５】
【発明の効果】
以上の通り、この発明によれば、予測補間によって補間済位置検出データを生成する場合において、常に補間演算を行なうのではなく、位置検出要求に応じた割込み処理として、必要最小限の時間で補間演算を行なうようにしたことを特徴としており、位相差検出時点から補間演算のための割込み時点までの時間経過を測定し、この時間経過に応じた補間比率と予測値とを用いて検出データに対して補間演算を行なうにしたものであり、これにより、位置検出要求に応じたオンデマンドの補間演算処理を適切に行なうことができる。従って、補間演算処理に使用するＣＰＵ等の演算処理装置の負担を軽減することができ、オーバーヘッドを減少させることができる。よって、この演算処理装置を、位置検出以外の目的にも同時に多目的的に使用する場合において、極めて効率的に該ＣＰＵ等の演算処理装置を利用することができる、という優れた効果を奏する。
【００５６】
また、この発明によれば、予測補間によって補間済の位置検出データを生成することで、動特性（検出対象位置が時間的に変化するときの検出特性）についての応答性能を改善することができる。また、上記従来技術のように２つの交流出力信号のゼロクロスが一致する時点を待つ必要がなくなり、応答性がよくなる。また、第１及び第２の（進相及び遅相の）予測値を修正して少なくとも一つの標準予測値を求めるようにしたので、正方向に位相シフトされた信号（進相信号）と負方向に位相シフトされた信号（遅相信号）との間ではドップラ効果による周波数遷移（周期遷移）のリニアリティが異なることによる生じる可能性のある補間演算誤差を、適切に修正し、精度のよい補間演算を行うことができるようになるという優れた効果を奏する。
【００５７】
更に、この発明は、検出対象位置に応じて進相方向にシフトされた電気的位相角を持つ第１の交流出力信号と遅相方向にシフトされた電気的位相角を持つ第２の交流出力信号とを生成する位置検出システムにおいて、前記第１及び第２の交流出力信号をそれぞれディジタル信号に変換する変換手段と、ディジタル変換された前記第１及び第２の交流出力信号の少なくとも一方に関して、所定の基準位相に対する該交流出力信号の位相差を検出することで検出データを生成する処理を行なうディジタル処理手段とを具えたので、このように交流出力信号のゼロクロス検出を行なうことなく、交流信号のままアナログ／ディジタル変換を行ない、ディジタル変換された交流出力信号をディジタル処理手段に入力することにより、該交流出力信号を多目的に利用することができる。特に、既存のマイクロコンピュータユニットにおいては、アナログ／ディジタル変換器やディジタル／アナログ変換器を付属しているものがあるので、その種のマイクロコンピュータユニットを使用する場合は、本発明に従えば、ハードウエア構成を変更することなく、本発明を適用することができるので、極めて経済的である。
【図面の簡単な説明】
【図１】  本発明に係る位置検出データ生成方法の位置検出原理を説明するために、位置検出システムの全体構成例を示すブロック図。
【図２】  図１におけるディジタル処理部の詳細例を示すブロック図。
【図３】  図１の動作説明図。
【図４】  ドップラ効果に基づく進相信号と遅相信号における変化量の対速度特性が非線形特性を示すことを示すとともに、本実施例による当該非線形特性の改善を説明する図。
【図５】  本発明の実施例による補間演算動作例を説明する図。
【図６】  補間演算アルゴリズムの別の例を示すものであって、図１におけるディジタル処理部の他の実施例を示すブロック図。
【図７】  本発明に係る位置検出データ生成方法の一実施例を示すもので、ラッチパルス割込み処理を示すフローチャート。
【図８】  本発明に係る位置検出データ生成方法の一実施例を示すもので、位置検出データ要求割込み処理を示すフローチャート。
【図９】  図７及び図８に示す実施例の動作例を示すタイミングチャート。
【図１０】  図１における検出処理部１１の別の構成例を示すブロック図。
【符号の説明】
１０  位置センサ
１１  検出処理部
１２  アナログ処理部
１３  ディジタル処理部
１２  カウンタ
１３  励磁信号発生回路
１４  位相シフト回路
１５  加算回路
１６  減算回路
１７，１８  ゼロクロス検出回路
１９  カウンタ
２０  励磁信号発生回路
２１，２２，２７，３１，３２，３７  ラッチ
２６，３６  補間処理部
５０  マイクロコンピュータユニット
５１，５２  アナログ／ティジタル変換器
５５  ＣＰＵ
【図１】
0004601789.tif 000002
【図２】
0004601789.tif 000003
【図３】
0004601789.tif 000004
【図４】
0004601789.tif 000005
【図５】
0004601789.tif 000006
【図６】
0004601789.tif 000007
【図７】
0004601789.tif 000008
【図８】
0004601789.tif 000009
【図９】
0004601789.tif 000010
【図１０】
0004601789.tif 000011