(57)【要約】【課題】半導体に集積化する際のチップサイズが小さく抑制でき、かつ高精度の回転角度演算を実現する磁気センサ信号処理集積回路を提供する。【解決手段】テーブル５０８には、逐次回転角度ｎに対応したｃｏｓ（θｎ），  ｓｉｎ（θｎ）が記録されている。ＳＣ乗算器５０４に、ｃｏｓ（θｎ），  ｓｉｎ（θｎ）が入力される。ＳＣ乗算器５０４およびリセット機能付きＳＣ加算器５０６は、磁気センサからの出力信号のベクトル（Ｖｘ，  Ｖｙ）を、逐次回転角度ｎに対応する角度θｎだけ回転させたベクトルのＸ成分Ｖｘ’およびＹ成分Ｖｙ’を得る。角度計算においては、Ｖｙ’が０を横切るときの回転角度を以って検出角度θｄｅｔとする。また、Ｖｙ’＝０のときのＶｘ’の値は、角度に依らない値であるので、このＶｘ’の値を監視することにより、回転角度センサに起こった異常を速やかに検出することが出来る。【選択図】        図６
2004191101.tif 000002
【特許請求の範囲】
【請求項１】
ほぼ直角のオフセット角で配置された２つの磁気センサからの出力により表現されるベクトルを用いて、前記磁気センサの磁界に対する相対的な回転角度を求める磁気センサ信号処理集積回路であって、
所定の角度毎に正弦および余弦を記憶した記憶手段と、
前記ベクトルを、前記記憶手段に記憶された正弦および余弦を用いて所定の角度ずつ回転させる手段と、
該回転させる手段が前記ベクトルを基準位置まで回転させたときの回転角度の合計を検出する手段と
を備えたことを特徴とする磁気センサ信号処理集積回路。
【請求項２】
前記回転させる手段は、
前記２つの磁気センサからの出力の一方と、前記記憶手段に記憶された正弦とを乗算して第１の積を求める手段と、前記２つの磁気センサからの出力の他方と、前記記憶手段に記憶された余弦とを乗算して第２の積を求める手段とを有する乗算手段と、
該乗算手段により乗算された第１および第２の積を加算する加算手段と
を有することを特徴とする請求項１に記載の磁気センサ信号処理集積回路。
【請求項３】
前記乗算手段は、前記第１または第２の積と、前記２つの磁気センサの感度比に近似的に対応する余弦とを乗算して第３の積を求める補正手段であって、前記第３の積に含まれる三角関数の積を、三角関数の和に置き換えて求める補正手段を有することを特徴とする請求項２に記載の磁気センサ信号処理集積回路。
【請求項４】
前記記憶手段は前記２つの磁気センサ間の直角からの角度ずれを更に記憶し、前記乗算手段は前記角度ずれを用いて前記正弦および余弦を補正することを特徴とする請求項２に記載の磁気センサ信号処理集積回路。
【請求項５】
ほぼ直角のオフセット角で配置された２つの磁気センサからの出力により表現されるベクトルを用いて、前記磁気センサの磁界内に対する相対的な回転角度を求める磁気センサ信号処理集積回路を用いた回転角度測定方法であって、
前記ベクトルを、予め記憶した所定の角度毎の正弦および余弦を用いて所定の角度ずつ回転させるステップと、
該回転させるステップにおいて前記ベクトルを基準位置まで回転させたときの回転角度の合計を検出するステップと
を備えたことを特徴とする磁気センサ信号処理集積回路の回転角度測定方法。
【請求項６】
磁界内にほぼ直角のオフセット角で配置された２つの磁気センサと、
所定の角度毎に正弦および余弦を記憶した記憶手段と、
前記２つの磁気センサからの出力により表現されるベクトルを、前記記憶手段に記憶された正弦および余弦を用いて所定の角度ずつ回転させる手段と、
該回転させる手段が前記ベクトルを基準位置まで回転させたときの回転角度の合計を検出する手段と
を備えたことを特徴とする回転角度センサ。
【請求項７】
前記回転させる手段は、
前記２つの磁気センサからの出力の一方と、前記記憶手段に記憶された正弦とを乗算して第１の積を求める手段と、前記２つの磁気センサからの出力の他方と、前記記憶手段に記憶された余弦とを乗算して第２の積を求める手段とを有する乗算手段と、
該乗算手段により乗算された第１および第２の積を加算する加算手段と
を有することを特徴とする請求項６に記載の回転角度センサ。
【請求項８】
前記乗算手段は、前記第１または第２の積と、前記２つの磁気センサの感度比に近似的に対応する余弦とを乗算して第３の積を求める補正手段であって、前記第３の積に含まれる三角関数の積を、三角関数の和に置き換えて求める補正手段を有することを特徴とする請求項６に記載の回転角度センサ。
【請求項９】
前記記憶手段は前記２つの磁気センサ間の直角からの角度ずれを更に記憶し、前記乗算手段は前記角度ずれを用いて前記正弦および余弦を補正することを特徴とする請求項７に記載の回転角度センサ。
【請求項１０】
前記ベクトルの大きさを監視する監視手段と、
該監視手段による監視結果に応じて信号を出力する通知手段と
を更に備えたことを特徴とする請求項６ないし９のいずれかに記載の回転角度センサ。
【請求項１１】
前記ベクトルの大きさと所定の基準値とを比較する比較手段と、
該比較手段による比較結果に応じて前記２つの磁気センサから出力される信号の強度を制御する制御手段と
を更に備えたことを特徴とする請求項６ないし１０のいずれかに記載の回転角度センサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、磁気センサ信号処理集積回路、その回転角度測定方法および回転角度センサに関し、より詳細には、磁気センサからの出力を用いて、磁気センサの磁界に対する相対的な回転角度を求める磁気センサ信号処理集積回路、その回転角度測定方法および回転角度センサに関する。
【０００２】
【従来の技術】
磁石が作る磁界内に、ホール素子、磁気抵抗素子などの２つの磁気センサをお互い９０度の角度位置に配置した場合、２つの磁気センサから得られるホール起電力信号は、それぞれ磁石の角度のｃｏｓ，  ｓｉｎ成分に比例する。この原理に基づいて、２つの磁気センサから出力されるホール起電力信号から、磁石の回転角度を求めることが出来る。
【０００３】
２つの磁気センサを使用する従来の回転角度センサにおいては、例えば特許文献１にも示されているように、角度を計算するために以下の式を用いて２つの磁気センサの出力比を計算する方式がとられている。ここで、２つのホール起電力はそれぞれｃｏｓ，  ｓｉｎに比例するため、それらの比はｔａｎ，  ｃｏｔとなる。
【０００４】
【数１】
2004191101.tif 000003
【０００５】
【数２】
2004191101.tif 000004
【０００６】
ここで、ＶｘおよびＶｙは２つの磁気センサの各々からの出力である。以下、このようにして回転角度を求める方式をｔａｎ，  ｃｏｔ方式という。ｔａｎ，  ｃｏｔ方式は、２つの磁気センサ信号のｃｏｓ，  ｓｉｎ成分の比を計算するため、磁気センサの感度が温度により変化しても（即ち、信号の振幅が変化しても）角度計算結果に影響が出ないという利点がある。しかし、この方式ではｔａｎ，  ｃｏｔを計算するための回路が複雑、大規模になる。また、ｔａｎを１８０度（±９０度）以上の範囲にわたって扱うためには無限大の数を扱う必要があり、無限大の数を回避するためには９０度毎にｔａｎ，  ｃｏｔの切り替えを行う必要がある。アナログ回路においてｔａｎ，  ｃｏｔの切り替えを行う場合には、切り替えを行う角度位置において除算操作の分母と分子を逆転させなければならない。このため、アナログ回路で信号処理を行う限りにおいては、計算方式の切り替えが起こる角度位置においてその他の角度位置と比べて角度誤差が大きくなり、また非連続性が生じてしまう。
【０００７】
また、アナログ信号処理においては、オペアンプのオフセット等、アナログ回路の持つ誤差要因があり、信号処理精度が低くなりがちである。
【０００８】
このようなアナログ信号処理の問題を回避する技術として、２つの磁気センサから得られる２次元ベクトル信号を既知の角度だけ逐次的に回転することによって角度を計算するデジタル信号処理がある。例えば、センサ出力信号のＸ，  Ｙ成分をそれぞれＡＤ変換し、デジタル化されたＸ，  Ｙ成分に対してＣＯＲＤＩＣアルゴリズムによる逐次回転操作を行ないデジタル信号処理によって角度を計算する回転角度センサ信号処理ＩＣが実用化されている。
【０００９】
一般に、デジタル信号処理においては三角関数値の計算にＣＯＲＤＩＣ  （ＣＯｏｒｄｉｎａｔｅＲｏｔａｔｉｏｎ  ＤＩｇｉｔａｌ  Ｃｏｍｐｕｔｅｒ）アルゴリズムが用いられることが多い。この場合、関数値を複素平面上のベクトルとしてとらえ、複素数の演算によってベクトルを回転させて真値に反復収束させる。そして、初期値と収束条件の定め方により、ａｒｃｔａｎなどの関数値を同一のアルゴリズムで求める。このＣＯＲＤＩＣアルゴリズムによる角度計算の方法は、例えば非特許文献１に記載されている。
【００１０】
【特許文献１】
特開昭６２−９５４０２号公報
【００１１】
【非特許文献１】
一松  信著、  「シリーズ新しい応用の数学８  初等関数の数値計算」、教育出版株式会社、  １９７４年１１月、ｐ．８９−ｐ．９４
【００１２】
【発明が解決しようとする課題】
デジタル信号処理の方法においては、２つの磁気センサから出力されるホール起電力信号をＡＤ変換する必要がある。しかしながら、ＡＤ変換器は集積回路において大きな面積を占めるため、デジタル信号処理回路も小型化が困難であるという問題があった。
【００１３】
このため、アナログ信号処理を用いた誤差の影響を受けにくい回転角度演算が望まれている。
【００１４】
本発明はこのような問題に鑑みてなされたものであり、その目的とするところは、半導体に集積化する際のチップサイズを抑制でき、かつ高精度の回転角度演算を実現する磁気センサ信号処理集積回路、その回転角度測定方法および回転角度センサを提供することにある。
【００１５】
【課題を解決するための手段】
このような目的を達成するために、請求項１に記載の発明は、ほぼ直角のオフセット角で配置された２つの磁気センサからの出力により表現されるベクトルを用いて、前記磁気センサの磁界に対する相対的な回転角度を求める磁気センサ信号処理集積回路であって、所定の角度毎に正弦および余弦を記憶した記憶手段と、前記ベクトルを、前記記憶手段に記憶された正弦および余弦を用いて所定の角度ずつ回転させる手段と、該回転させる手段が前記ベクトルを基準位置まで回転させたときの回転角度の合計を検出する手段とを備えたことを特徴とする。
【００１６】
また、請求項２に記載の発明は、請求項１に記載の磁気センサ信号処理集積回路において、前記回転させる手段は、前記２つの磁気センサからの出力の一方と、前記記憶手段に記憶された正弦とを乗算して第１の積を求める手段と、前記２つの磁気センサからの出力の他方と、前記記憶手段に記憶された余弦とを乗算して第２の積を求める手段とを有する乗算手段と、該乗算手段により乗算された第１および第２の積を加算する加算手段とを有することを特徴とする。
【００１７】
また、請求項３に記載の発明は、請求項２に記載の磁気センサ信号処理集積回路において、前記乗算手段は、前記第１または第２の積と、前記２つの磁気センサの感度比に近似的に対応する余弦とを乗算して第３の積を求める補正手段であって、前記第３の積に含まれる三角関数の積を、三角関数の和に置き換えて求める補正手段を有することを特徴とする。
【００１８】
また、請求項４に記載の発明は、請求項２に記載の磁気センサ信号処理集積回路において、前記記憶手段は前記２つの磁気センサ間の直角からの角度ずれを更に記憶し、前記乗算手段は前記角度ずれを用いて前記正弦および余弦を補正することを特徴とする。
【００１９】
また、請求項５に記載の発明は、ほぼ直角のオフセット角で配置された２つの磁気センサからの出力により表現されるベクトルを用いて、前記磁気センサの磁界内に対する相対的な回転角度を求める磁気センサ信号処理集積回路を用いた回転角度測定方法であって、前記ベクトルを、予め記憶した所定の角度毎の正弦および余弦を用いて所定の角度ずつ回転させるステップと、該回転させるステップにおいて前記ベクトルを基準位置まで回転させたときの回転角度の合計を検出するステップとを備えたことを特徴とする。
【００２０】
また、請求項６に記載の発明は、回転角度センサであって、磁界内にほぼ直角のオフセット角で配置された２つの磁気センサと、所定の角度毎に正弦および余弦を記憶した記憶手段と、前記２つの磁気センサからの出力により表現されるベクトルを、前記記憶手段に記憶された正弦および余弦を用いて所定の角度ずつ回転させる手段と、該回転させる手段が前記ベクトルを基準位置まで回転させたときの回転角度の合計を検出する手段とを備えたことを特徴とする。
【００２１】
また、請求項７に記載の発明は、請求項６に記載の回転角度センサにおいて、前記回転させる手段は、前記２つの磁気センサからの出力の一方と、前記記憶手段に記憶された正弦とを乗算して第１の積を求める手段と、前記２つの磁気センサからの出力の他方と、前記記憶手段に記憶された余弦とを乗算して第２の積を求める手段とを有する乗算手段と、該乗算手段により乗算された第１および第２の積を加算する加算手段とを有することを特徴とする。
【００２２】
また、請求項８に記載の発明は、請求項６に記載の回転角度センサにおいて、前記乗算手段は、前記第１または第２の積と、前記２つの磁気センサの感度比に近似的に対応する余弦とを乗算して第３の積を求める補正手段であって、前記第３の積に含まれる三角関数の積を、三角関数の和に置き換えて求める補正手段を有することを特徴とする。
【００２３】
また、請求項９に記載の発明は、請求項７に記載の回転角度センサにおいて、前記記憶手段は前記２つの磁気センサ間の直角からの角度ずれを更に記憶し、前記乗算手段は前記角度ずれを用いて前記正弦および余弦を補正することを特徴とする。
【００２４】
また、請求項１０に記載の発明は、請求項６ないし９のいずれかに記載の回転角度センサにおいて、前記ベクトルの大きさを監視する監視手段と、該監視手段による監視結果に応じて信号を出力する通知手段とを更に備えたことを特徴とする。
【００２５】
また、請求項１１に記載の発明は、請求項６ないし１０のいずれかに記載の回転角度センサにおいて、前記ベクトルの大きさと所定の基準値とを比較する比較手段と、該比較手段による比較結果に応じて前記２つの磁気センサから出力される信号の強度を制御する制御手段とを更に備えたことを特徴とする。
【００２６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本発明は、磁気センサの磁界に対する相対的な回転角度を求める回転角度センサであれば、磁界内で磁気センサが回転する場合、磁界を形成する磁石が磁気センサに対して回転する場合のいずれにおいても有効である。
【００２７】
１．センサ出力信号ベクトルの逐次回転
まず、本発明に係る信号処理方式の前提となるモデルについて説明する。ほぼ直角のオフセット位置で配置された２つの磁気センサの出力Ｖｘ，  Ｖｙは、図１に示すようにベクトルとして表現することが出来る。実際の計算では、各磁気センサからの出力Ｖｘ，  Ｖｙは次のようになる。
【００２８】
【数３】
2004191101.tif 000005
【００２９】
ここで、Ａｘ，  Ａｙは各磁気センサの感度、αは磁気センサの組み立て誤差等に由来するｃｏｓ，  ｓｉｎ成分の直角からの角度ずれである。また、ＶＯＳ，ｘ，  ＶＯＳ，ｙは磁気センサオフセット、および信号増幅回路のオフセットを加えたもので、逐次回転操作を行う前に除去される。
【００３０】
図２は磁気センサ出力信号の例を示し、曲線２０２はＸ成分、曲線２０４はＹ成分を示す。
【００３１】
回転角度を計算するための逐次回転操作は以下の式にしたがって行なわれる。
【００３２】
【数４】
2004191101.tif 000006
【００３３】
ここで、逐次回転角θｎはθＳＴＥＰ  のｎ倍である。
θｎ＝ｎ×θＳＴＥＰ                              （５）
θＳＴＥＰ  は単位回転角であり、この値によって角度センサの角度分解能が決まる。ここで、ｙ＝０，  ｘ＞０を満たす位置を基準位置とし、式（４）を用いて図３に示すように磁気センサ出力信号ベクトル（Ｖｘ，  Ｖｙ）の逐次回転を行う。そして、回転後のベクトル（Ｖｘ’，  Ｖｙ’）がｘ軸を横切るまでに要した角度を以って検出角度とする。
【００３４】
２．ＳＣ乗算器回路を用いた回転角度検出方法
本発明に係る回転角度の測定方法の概要について説明する。従来のｔａｎ，  ｃｏｔ方式による角度計算においては、図４に示すように磁気センサ出力信号のＸ，  Ｙ成分がそれぞれＡＤ変換器３０２によりＡＤ変換される。そして、角度計算デジタル回路３０４がＡＤ変換後のＸ，  Ｙ成分に対して除算、ａｒｃｔａｎ，  ａｒｃｃｏｔ計算等のデジタル計算を行っている。このデジタル計算においては、除算によってＸ，  Ｙ成分の比を計算するが、これはＸ，  Ｙ成分の振幅に関する情報を棄てることを意味する。
【００３５】
本発明に係る逐次回転方式による角度計算方式では、図５に示すように磁気センサ出力信号のＸ，  Ｙ成分がベクトル回転演算回路４０２に入力される。ベクトル回転演算回路４０２は、逐次回転操作によって回転後のＹ成分と０とを逐次比較することによって角度を計算する。これは角度をＡＤ変換していることに他ならない。この際、角度成分のみ逐次比較してＡＤ変換し、振幅成分の情報はＡＤ変換しない。このように逐次回転方式を用いれば、回転角度検出に必要な角度情報のみを扱っているため処理の上での無駄がなく、ｔａｎ，  ｃｏｔ方式と比較して計算量が少なくなる。
【００３６】
逐次回転操作においては乗算操作が必要になる。本発明に係るスイッチトキャパシタ（ＳＣ）乗算器は、アナログ量とデジタル量の間の掛け算を高い精度で実現できる。なお、アナログ数同士を掛け算する回路は知られているが、その場合の乗算精度はＳＣ乗算器と比較して低いものとなる。
【００３７】
次に、本発明に係る回転角度の測定方法を実現するためのベクトル回転演算回路の具体的な構成について説明する。図６にＳＣ乗算器を用いたベクトル回転演算回路の構成を示す。ベクトル回転演算回路は、スイッチ５０２、ＳＣ乗算器５０４、リセット機能付き加算器５０６、テーブル５０８を備えている。
【００３８】
スイッチ５０２は、ＳＣ乗算器５０４への入力を切り替える。テーブル５０８は、ｃｏｓ（θｎ）、ｓｉｎ（θｎ）を記録した三角関数テーブル回路である。
【００３９】
ＳＣ乗算器５０４に関しては、高精度演算を実現する方法がいくつか知られている。例えばＳＣ乗算器５０４に用いるオペアンプには回路の誤差要因としてオフセットがあるが、ＰＲＯＣＥＥＤＩＮＧＳ  ＯＦ  ＴＨＥ  ＩＥＥＥ  Ｖｏｌ．７１，  Ｎｏ  ８  １９８３  ”Ｓｗｉｔｃｈｅｄ−Ｃａｐａｃｉｔｏｒ  Ｃｉｒｃｕｉｔ  Ｄｅｓｉｇｎ”等には、オペアンプのオフセットを自動補償する方法が記載されている。
【００４０】
回転角度センサの不図示の制御部は、テーブル５０８を参照し、ＳＣ乗算器５０４およびリセット機能付き加算器５０６により、逐次回転角度θｎに対応したｃｏｓ（θｎ），  ｓｉｎ（θｎ）の値を発生させることによって、入力ベクトル（Ｖｘ，  Ｖｙ）をθｎだけ回転させたベクトルを計算することが出来る。即ち、ＳＣ乗算器５０４が出力Ｖｚと、ｃｏｓ（θｎ）および  ｓｉｎ（θｎ）の一方との積、および出力Ｖｙとｃｏｓ（θｎ），  ｓｉｎ（θｎ）の他方との積を求める。そして、リセット機能付き加算器５０６は、２つの積を加算する。このようにして、式（４）の逐次回転操作が実現される。
【００４１】
図７にＮ＝８ビットのＳＣ乗算器の構成例を示す。ここでは、スイッチｂ０からｂ８およびキャパシタＣ，  ２Ｃ，  ・・・，  １２８Ｃで８ビットの乗算係数を表現する。このうち、スイッチｂ０が符号ビット（ｂ０＝０の場合が正の数、ｂ０＝１の場合が負の数）を表す。また、スイッチｂ１からｂ７はそれぞれ１２８Ｃ，  ・・・，  ２Ｃ，  Ｃに対応し、ＭＳＢからＬＳＢまでの値（絶対値）を表す。ここで、キャパシタＣ，  ２Ｃ，  ・・・，  １２８Ｃ，  ２５６Ｃの単位キャパシタ容量はＣで全て等しい。
【００４２】
Φはオーバーラップしない２相クロックである。クロックΦバーが１のときに、このＳＣ乗算器から有効な乗算結果が出力される。ここで可変容量によって設定される乗算オペランドが正数の場合（符号ビットｂ０が０の場合）には、このＳＣ乗算器は非反転増幅回路として機能する。逆に可変容量によって設定される乗算オペランドが負数（符号ビットｂ０が１の場合）には、このＳＣ乗算器は反転増幅回路として機能する。
【００４３】
同図に示すキャパシタ値Ｃ１およびＣ２は、それぞれ以下のように表すことが出来る。
【００４４】
【数５】
2004191101.tif 000007
【００４５】
ＳＣ乗算器５０４は、以下の式で示すように入力値を２つのキャパシタ値（Ｃ１，Ｃ２）の比だけ増幅して出力する。従って、キャパシタのうち一方を可変にし、可変増幅を可能とすることにより、Ｖｉｎとｃｏｓ（θｎ），  ｓｉｎ（θｎ）との乗算が実現される。
【００４６】
【数６】
2004191101.tif 000008
【００４７】
リセット機能付きＳＣ加算器５０６は、ＳＣ乗算器５０４から出力される２つの項を足し合わせる。図８にその具体的な構成例を示す。この回路においては、ＭＯＳスイッチＳ３，  Ｓ５がオン、ＭＯＳスイッチＳ２，  Ｓ４がオフになっている期間にキャパシタＣ３が入力電圧まで充電される。一方、ＭＯＳスイッチＳ２，  Ｓ４がオン、ＭＯＳスイッチＳ３，  Ｓ５がオフになっている期間にＣ３に蓄積された電荷がキャパシタＣ４に転送される。この回路を用いてＳＣ乗算器の出力信号を積算する場合には、積算すべき数列の最初の項をキャパシタＣ３に充電するタイミングにおいてＭＯＳスイッチＳ１をオンにすることによりキャパシタＣ４の電荷を０にリセットする。以降はＣ４の電荷をリセットすることなくＣ３に充電された電荷をＣ４に転送し続けることにより、入力電圧の積算を行うことが出来る。
【００４８】
角度計算においては、Ｖｙ’が０を横切るときの回転角、即ちベクトルを基準位置まで回転させたときの回転角度の合計を持って検出角度θｄｅｔとする。このとき、Ｖｙ’＝０を満たす検出角度θｄｅｔの値は２つ存在し、それら２つの値はお互いに１８０度だけ離れた位置にある。それらの値のうち正しい値を選択するためにＶｘ’の値を用いる。即ち、Ｖｘ’の値が正の値になる方のθｄｅｔの値を選択する。
【００４９】
上記のＳＣ乗算器５０４およびリセット機能付き加算器５０６により、磁気センサからの出力により表現されるベクトルを、テーブル５０８に記憶されたｃｏｓ（θｎ），  ｓｉｎ（θｎ）を用いて所定の角度ずつ回転させる処理が実現される。
【００５０】
図９に本発明に係る逐次回転方式による回転角度計算のフローの一例を示す。まずｎを初期化し（ステップＳ８００２）、回転角度θｎを用いてＶｘ’，  Ｖｙ’を求める（ステップＳ８００４）。続いて、Ｖｙ’が０を横切るかどうかをチェックする（ステップＳ８００６）。Ｖｙ’が０を横切らなければ、ｎの値をインクリメントし（ステップＳ８０１４）、ステップＳ８００４から繰り返す。Ｖｙ’が０を横切れば、Ｖｘ’が正の値であるかどうかを判定する（ステップＳ８００８）。そして、Ｖｘ’が正の値であれば、検出角度θｄｅｔは、θｄｅｔ＝ｎ×θＳＴＥＰとして求められる。一方、Ｖｘ’が負の値であれば、θｄｅｔ＝ｎ×θＳＴＥＰ＋１８０°とする。
【００５１】
なお、この例では回転角度が検出されるまで逐次回転角度を順次増加させているが、逐次回転による回転角度検出に要する時間を削減するため、ｎを順次増加させるのではなく、３６０度を２のべき乗の区間に分割しておき回転角度をバイナリーサーチ（２進探索）によって求める方法もある。
【００５２】
３．磁気センサ感度ばらつき、磁気センサ組み立て誤差の補正
３．１．磁気センサ感度のばらつき補正
回転角度センサに使用される磁気センサには個体間の感度ばらつきがあり、このばらつきを較正操作によって補正する必要がある。また、磁気センサと磁石とからなる回転角度センサを組み立てる際の組み立て誤差を、組み立て後の較正操作によって補正する必要がある。本節では、この較正操作について説明する。
【００５３】
２つのセンサの感度比は、回転角度センサの組み立て完了後、較正の段階で測定される。
▲１▼２つの磁気センサ感度に関して  Ａｘ  ＞  Ａｙの場合
このとき、Ａｙ  ＝  ｒ  Ａｘを満足する感度の比ｒ（ｒ＜１．０）が存在する。感度のばらつきを考慮して角度計算を行うためには、以下のようにＶｙ’の計算を行えばよい。
【００５４】
【数７】
2004191101.tif 000009
【００５５】
上の式の第１項は３つの変数の積になっている。このような感度比ｒを補正するための乗算は、図６の乗算回路１段では実現できない。これを実現するためには、乗算回路をもう１段追加する必要がある。しかし、ＳＣ乗算器はキャパシタのアレイを伴うため、ＳＣ乗算器を２段用意することはＩＣ化した場合の面積増大につながる。
【００５６】
そこで、上記の演算式をＩＣのチップ面積を増大させることなくＩＣ上で効率的に実現するために、ｒ  ＝  ｃｏｓ（θｉ）を近似的に満たす角度θｉの値を用いる。実際のＩＣにおいては、較正段階において上記の関係を満たすｉの値がＥＥＰＲＯＭ等の不揮発性メモリに記憶される。ｒ＝ｃｏｓ（θｉ）という関係を用いると上記の式を以下のように変形して計算できる。
【００５７】
【数８】
2004191101.tif 000010
【００５８】
このようにして、２つの積の一方と、２つの磁気センサの感度比ｒに近似的に対応する余弦とを乗算する際に、三角関数の積を、三角関数の和に置き換えて求めることができる。変形された式は、加算すべき項の数が２つから３つに増えているものの、変形以前の式に見られた３つの変数の積は無くなっている。なお、加算すべき項の数が増えたことはＳＣ乗算器の後段のＳＣ加算器の動作ステップを増やすだけで対応できるため、これによる回路規模の増大は殆どない。
【００５９】
逆に、３つの変数の積がなくなり２つの変数の積だけになったことは、ＳＣ乗算器１段での補正の実現を可能にする。従って、回路規模を殆ど増やさずにセンサ感度ばらつきの補正を行うことが可能になる。
【００６０】
２つのセンサ感度のばらつきは、角度のインデックスの値ｉとして不揮発性メモリに記憶される。逐次回転操作においては、回転角度θは、記憶されたインデックスｉを参照して上記の計算を行うことにより、角度θｉに変換されて使用される。この際、インデックスｉから角度θｉへの変換は、既にベクトル回転演算回路に備わっている三角関数テーブル回路を使用して行うことが出来るため、この変換ための新たな回路は必要ない。
【００６１】
▲２▼２つの磁気センサ感度に関して  Ａｘ  ＜  Ａｙの場合
この場合も▲１▼と同様に、２つのセンサ感度のばらつきを補正することが出来る。このとき、Ａｙ  ＝  ｒ  Ａｘを満足する感度の比ｒ（ｒ＜１．０）が存在する。感度のばらつきを考慮して角度計算を行うためには、以下のようにＶｙ’の計算を行えばよい。
【００６２】
【数９】
2004191101.tif 000011
【００６３】
上記の演算式をＩＣ上で効率的に実現するために、ｒ  ＝  ｃｏｓ（θｉ）を満たす角度θｉの値を用いる。実際のＩＣにおいては、較正段階において上記の関係を満たすｉの値がＥＥＰＲＯＭ等の不揮発性メモリに記憶される。ｒ  ＝  ｃｏｓ（θｉ）という関係を用いると、上記の式を以下のように変形できる。
【００６４】
【数１０】
2004191101.tif 000012
【００６５】
従って、上記の式に基づく計算を行うようにベクトル回転演算回路を構成すればよい。
【００６６】
３．２．回転角度センサの組み立て誤差（角度ずれ）の補正
回転角度センサの製造においては、センサ組み立て後の較正段階で、２つの磁気センサ素子の取り付け位置が９０度からずれることにより生じる組み立て誤差αを測定する。測定されたαに対して近似的にα＝θｊを満たすインデックスｊの値をＩＣの不揮発性メモリに記憶させておく。そして、以下の式の様にセンサの組み立て誤差αを考慮した角度計算を行うことが出来る。
【００６７】
【数１１】
2004191101.tif 000013
【００６８】
２つの磁気センサの感度ばらつきと組み立て誤差の両方を補正するベクトル回転演算回路の構成は図１０に示すようになる。同図に示す構成はほぼ図６に示すものと同様であるが、テーブル９０８が感度ばらつきを示すインデックスｉ、および組み立て誤差を示すインデックスｊを更に記憶している点において異なっている。
【００６９】
３．３．回転角度センサの故障検出
次に、ベクトルの大きさを監視し、監視結果に応じて信号を出力する処理について説明する。回転されたベクトルの成分Ｖｘ’およびＶｙ’のうち、Ｖｘ’の値は２つのセンサ出力の振幅（センサ出力の２乗和の平方根）であり、磁気センサの感度が一定である限りにおいて角度に依らず一定値をとるものである。従って、逐次回転による角度操作の過程で計算されるＶｘ’の値が０付近にまで低下することは、磁気センサの配線断絶、磁石の欠落等の異常を意味する。このＶｘ’の値を監視することにより、回転角度センサに起こった異常を速やかに検出することが出来る。
【００７０】
３．４．磁気センサ感度の温度補償
次に、ベクトルの大きさと所定の基準値とを比較し、比較結果に応じて２つの磁気センサから出力される信号の強度を制御する処理について説明する。一般に、磁気センサの感度は温度によって変動するため、角度を計算する際のＳＮ比が温度によって変動することになる。一方、上述したようにＶｙ’＝０のときのＶｘ’の値は、角度に依らない値である。そこで、このＶｘ’の値を用いて磁気センサの駆動回路を制御することにより、磁気センサから出力される信号の強度を温度に依らず一定に制御することが出来る。
【００７１】
図１１に、磁気センサの温度補償を行う場合の回転角度センサの構成例を示す。磁気センサからの出力信号のＸ成分およびＹ成分は、それぞれ信号増幅回路１００２に入力され、ＶｘおよびＶｙに増幅される。これらの値はベクトル回転演算回路１００４に入力される。ベクトル回転演算回路１００４は、入力されたＶｘおよびＶｙに基づいてＶｘ’およびＶｙ’を求める。このうち、Ｖｘ’が比較器１００６により信号振幅の期待値と比較される。比較器１００６は、比較結果に応じて磁気センサを駆動するための磁気センサ駆動回路１００８に信号を出力する。磁気センサ駆動回路１００８は、比較器１００６からの出力に応じて磁気センサの駆動電圧／電流を制御する。この場合、磁気センサ駆動回路１００８はＶｘ’が期待値より小さい場合に駆動電圧／電流を大きくし、Ｖｘ’が期待値より大きい場合に駆動電圧／電流を小さくする。このようにして、磁気センサから出力される信号の強度を一定に制御することが出来る。
【００７２】
信号振幅の制御は信号増幅回路の増幅率を制御することによっても可能である。図１２に、磁気センサの温度補償を行う場合の回転角度センサの構成例を示す。磁気センサからの出力信号のＸ成分およびＹ成分は、それぞれ信号増幅回路１１０２に入力され、ＶｘおよびＶｙに増幅される。これらの値はベクトル信号回転回路１１０４に入力される。ベクトル回転演算回路１１０４は、入力されたＶｘおよびＶｙに基づいてＶｘ’およびＶｙ’を求める。このうち、Ｖｘ’は比較器１１０６により信号振幅の期待値と比較され、比較結果の出力信号がベクトル回転演算回路１１０４に入力される。信号増幅回路１１０２は、比較器１００６からの出力に応じて増幅率を制御する。この場合、Ｖｘ’が期待値より小さい場合に増幅率を大きくし、Ｖｘ’が期待値より大きい場合に増幅率を小さくする。
【００７３】
４．回転角度センサの構成例
図１３に、磁気センサを用いた回転角度センサの構成例を示す。
磁気センサから出力される信号のＸ成分およびＹ成分は、信号増幅回路１２０２において増幅され、サンプル＆ホールド回路１２０４においてサンプルされ、その電圧値が保持される。センサ組み立て後の較正段階においては、回転角度センサ１２００を３６０度回転させる操作を行う。この回転操作の間に磁気センサ信号のＸ，  Ｙ成分がセンサ外部の回転角度センサ較正装置１２１４によって読み出される。  センサ較正装置１２１４は、磁気センサ信号のＸ，  Ｙ成分から２つの磁気センサの感度ばらつき、および磁気センサの組み立て誤差（角度ずれ）という補正パラメータを抽出する。抽出された補正パラメーターは、回転角度センサ１２００の不揮発性メモリ１２１２に記憶される。
【００７４】
ＳＣ乗算器１２０６を持つベクトル回転演算回路１２０６においては、サンプルアンドホールド回路１２０４に保持されている電圧値のベクトルに対して逐次回転操作が行なわれる。その後、Ｖｘ’とＶｙ’が角度検出回路１２０８に入力される。角度検出回路１２０８は、ＳＣ乗算器１２０６がベクトルを基準位置まで回転させたときの回転角度を検出する。この逐次回転操作の結果得られた回転角度は、ビットパターンや電圧の値で表現するといったインターフェイスにより外部に出力される。
【００７５】
磁気センサ駆動回路１２１６においては、基準位置まで回転したベクトルの温度に依らない成分をもとに磁気センサの駆動電圧または駆動電流を制御し、磁気センサ出力信号ベクトルの振幅（絶対値）を一定にすることが出来る。磁気センサ出力信号レベルを一定に制御することは、上述したように磁気センサ駆動回路を制御する方法だけでなく、磁気センサ出力信号の増幅回路の増幅率を制御することによっても可能である。
【００７６】
センサ異常検出回路１２１０においては、検出された回転角度のＶｘ’を監視してホール素子の故障、配線の欠落といった故障を検出する。そして、その監視結果に応じて信号を出力して、センサの異常を外部に通知することが出来る。
【００７７】
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施形態に限らず、他の種々の形態で実施できることはいうまでもない。例えば、本発明を適用した回転角度センサを構成する磁気センサとして、ＭＩ（Ｍａｇｎｅｔｉｃ  Ｉｍｐｅｄａｎｃｅ）素子、およびフラックスゲート等を使用することも出来る。
【００７８】
更に、以上述べた形態以外にも種々の変形が可能である。しかしながら、特許請求の範囲に記載された技術思想に基づくものである限り、その変形は本発明の技術範囲内となる。
【００７９】
【発明の効果】
以上説明したように、本発明によれば、アナログ信号処理方式による高精度の回転角度演算が可能となる。従って、小型で安価な非接触型回転角センサを実現することが出来る。
【図面の簡単な説明】
【図１】直角に配置された２つの磁気センサの出力信号ベクトルを示す図である。
【図２】磁気センサ出力信号の例を示す図である。
【図３】磁気センサ出力信号ベクトルの逐次回転を示す図である。
【図４】ｔａｎ，  ｃｏｔ方式による角度計算方式を示す図である。
【図５】本発明に係る逐次回転方式による角度計算方式を示す図である。
【図６】本発明の一実施形態に係るＳＣ乗算器を用いたベクトル回転演算回路の構成を示すブロック図である。
【図７】本発明の一実施形態に係るＳＣ乗算器の回路構成を示す図である。
【図８】本発明の一実施形態に係るリセット機能付きＳＣ加算器の回路構成を示す図である。
【図９】本発明の一実施形態に係る逐次回転による角度計算の処理を示すフローチャートである。
【図１０】本発明の一実施形態に係る感度ばらつきと取り付け位置ずれの補正機能を持ったベクトル回転演算回路の構成例を示す図である。
【図１１】本発明の一実施形態に係る回転角度センサの構成を示すブロック図である。
【図１２】本発明の一実施形態に係る回転角度センサの構成を示すブロック図である。
【図１３】本発明の一実施形態に係る回転角度センサの構成を示すブロック図である。
【符号の説明】
３０２  ＡＤ変換器
３０４  角度計算デジタル回路
４０２  ベクトル回転演算回路
５０２  スイッチ
５０４  ＳＣ乗算器
５０６  リセット機能付き加算器
５０８  テーブル
１００２  信号増幅回路
１００４  ベクトル回転演算回路
１００６  比較器
１００８  磁気センサ駆動回路
１１０２  信号増幅回路
１１０４  ベクトル回転演算回路
１１０６  比較器
１２００  回転角度センサ
１２０２  信号増幅回路
１２０４  サンプルアンドホールド回路
１２０６  ベクトル回転演算回路
１２０８  角度検出回路
１２１０  センサ異常検出回路
１２１２  不揮発性メモリ
１２１４  回転角度センサ較正装置
１２１６  磁気センサ駆動回路
【図１】
2004191101.tif 000014
【図２】
2004191101.tif 000015
【図３】
2004191101.tif 000016
【図４】
2004191101.tif 000017
【図５】
2004191101.tif 000018
【図６】
2004191101.tif 000019
【図７】
2004191101.tif 000020
【図８】
2004191101.tif 000021
【図９】
2004191101.tif 000022
【図１０】
2004191101.tif 000023
【図１１】
2004191101.tif 000024
【図１２】
2004191101.tif 000025
【図１３】
2004191101.tif 000026