(57)【特許請求の範囲】
【請求項１】
センサ出力信号を動的に補償する電子回路（６００）であって、
補償されていないアナログ信号であるセンサ出力信号を受け取る端子（６０２）と、
前記補償されていないアナログ信号であるセンサ出力信号を受け取り、前記センサ出力信号からＤＣオフセット値を自動的に決定するＤＣオフセット回路（６０８、６１０、６１２）と、
前記補償されていないセンサ出力信号と前記ＤＣオフセット値とを受け取り、前記補償されていないセンサ出力信号と前記ＤＣオフセット値とを比較して、前記ＤＣオフセット値に関して補償されたセンサ出力信号を動的に生成するコンパレータ（６０６）と、
を備えていることを特徴とする電子回路。
【請求項２】
請求項１記載の電子回路（６００）において、前記ＤＣオフセット回路（６０８、６１０、６１２）はアナログ・デジタル・コンバータ（６０８）を含むことを特徴とする電子回路。
【請求項３】
請求項２記載の電子回路（６００）において、前記ＤＣオフセット回路（６０８、６１０、６１２）はマイクロプロセッサ（６１０）を含むことを特徴とする電子回路。
【請求項４】
請求項１記載の電子回路（６００）において、前記補償されたセンサ出力信号はアナログ信号であることを特徴とする電子回路。
【請求項５】
請求項４記載の電子回路（６００）において、前記ＤＣオフセット回路（６０８、６１０、６１２）はデジタル・アナログ・コンバータ（６１２）を含むことを特徴とする電子回路。
【請求項６】
請求項１記載の電子回路（６００）において、前記ＤＣオフセット回路（６０８、６１０、６１２）は起動時に所定のＤＣオフセット・レベルを提供する手段（６０８、６１０、６１２）を含むことを特徴とする電子回路。
【請求項７】
請求項６記載の電子回路（６００）において、前記所定のＤＣオフセット・レベルは前記コンパレータ（６０６）の動作範囲の約半分であるように選択されることを特徴とする電子回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子回路に関する。更に詳しくは、本発明は、条件変化に起因するセンサの出力信号における変動を自動的に補償する電子回路に関する。
【０００２】
【従来の技術】
線形変位型のセンサなど多くの既知のセンサが、特定の応用例に起因する理想的とはいえない状態で用いられることは知られている。例えば、自動車の分野に応用されるセンサは、特に厳しい環境にさらされる。そのようなセンサの例としては、自動車のタイミング回路において用いられる近接（proximity）センサや、自動車のスロットル回路において用いられるスロットル位置センサがある。
【０００３】
【発明が解決しようとする課題】
比較的厳しい環境やそれ以外の動的な要因が原因となり、これらのセンサの出力信号にエラー（誤差）が生じる。このようにセンサの出力信号にエラーが生じると、これらのセンサが用いられている回路の動作が不適切なものとなる可能性がある。従って、そのようなエラーが補償されるようなセンサや回路がこれまでに開発されてきている。例えば、米国特許第４，８９３，５０２号及び第５，３３２，９６５号は、スロットル位置センサに関するものである。米国特許第４，８９３，５０２号及び第５，３３２，９６５号などに開示されているスロットル位置センサでは、機械的な調整を行うことによって様々なエラーを補償するように構成されている。不運なことに、このような機械的な調整には比較的時間がかかり面倒であって、製品の製造に要する人件費を全体的に増加させる傾向を有する。更に、このようなセンサでは、ある時点でのみ調整がなされるようになっている。従って、センサが動作する際のエアギャップや温度の変動など、動的な条件は補償されないままとなり、出力信号にエラーが生じうる。
【０００４】
【課題を解決するための手段】
本発明による電子回路は、条件の変動を自動的に補償する。特に、この電子回路は、センサのアナログ出力信号の磁気的なＤＣオフセット・レベルを動的に判断する。ＤＣ振幅すなわちオフセット・レベルは、速度、エアギャップ、アライメント、温度などの条件が変化することの結果として変動する。この回路は、コンパレータを用いて、磁気ＤＣオフセット・レベルを元のセンサ・アナログ出力信号と比較して、ＤＣオフセットがゼロであるデジタル出力信号を提供する。これによって、条件の変動が補償される。
【０００５】
【発明の実施の形態】
本発明によると、例えば、線形ホール効果センサであるアレグロ社製のモデル番号３５１６など、ほとんどどのような線形センサと共にでも用いられるように構成された動的な回路が提供される。この電子回路は、磁石に対するセンサの構成や、エア・ギャップ、温度シフト、機械的な重なり状態、センサ用のパッケージないでのずれなど、それ以外のファクタの結果として生じるセンサ出力信号におけるＤＣオフセットを自動的に補償する。これらのファクタは、センサ出力信号の振幅を、特に、センサ出力信号のＤＣオフセット・レベルを変化させる原因となることが知られている。この出願において信号のＤＣオフセットというのは、ゼロ・ボルトに対する信号のＤＣ又は平均値を意味する。この実施例では、センサ出力信号のＤＣオフセットが決定されると、コンパレータを用いて元の信号と比較され、ＤＣオフセットがゼロである対称的な出力信号が自動的に提供される。従って、この実施例では、センサの手動によるＤＣオフセットの調整は、もはや必要ない。
【０００６】
本発明の重要な特徴は、センサ出力信号がリアルタイムに処理されるということである。後述するように、この回路には、信号のＤＣオフセットを判断するマイクロプロセッサが組み込まれている。センサ出力がアナログであるような実施例では、ＤＣオフセット・レベルは、アナログ信号をデジタル化するのと平行してＤＣオフセット・レベルが判断される。ＤＣオフセット・レベルは高速のコンパレータに与えられ、元の入力信号と比較される。元の信号が直接に高速のコンパレータに与えられるので、このシステムは、マイクロプロセッサに付随する計算時間遅延に影響されない。図１を参照すると、センサ出力信号からのＤＣオフセットを自動的に補償する自動動的補償回路６００が図解されている。図１に示されているように、アナログ入力信号が、例えば、入力端子６０２に与えられる。ここでは、このアナログ入力信号は、任意の線形信号であるか、又は、正弦（シヌソイダル）若しくはそれ以外の信号の線形部分でありうる。図１に示されているように、入力アナログ信号は、最初に、信号処理回路に与えられる。この信号処理回路は、ブロック６０４として表されている。信号処理回路は、本発明の一部を形成することはなく、自動ゲイン制御を備えた前置増幅器を含みうる。このような回路は、この技術分野では広く知られている。本発明の重要な特徴は、アナログ入力信号が、信号処理回路６０４によって処理された後で、高速のコンパレータ６０６とアナログ・デジタル・コンバータ（ＡＤＣ）６０８とに与えられることである。ＡＤＣ６０８は、例えば、トラック・ホールド機能を備えた８ビットのＡＤＣである。例としては、アナログ・デバイシズ社製のモデル番号ＡＤ７８２１がある。デジタル化されたセンサ出力は、次に、マイクロプロセッサ６１０に与えられる。マイクロプロセッサ６１０の例としては、マイクロチップ社製のモデル番号ＰＩＣ１６Ｃ５Ｘがある。マイクロプロセッサ６１０は、センサ出力信号の最大及び最小のピーク・ピークを決定し、以下で述べるように、ＤＣオフセットを計算する。次に、ＤＣオフセット・レベルが、デジタル・アナログ・コンバータ（ＤＡＣ）６１２に与えられる。ＤＡＣ６１２の例としては、アナログ・デバイシズ社製の８ビットのモデル番号ＡＤ５５７がある。ＤＡＣ６１２の出力は、アナログ出力信号であって、元の入力信号のＤＣオフセットを表している。ＤＣオフセット・レベルは、高速のコンパレータを用いて元の信号と比較される。このコンパレータの例としては、ナショナル・セミコンダクタ社製のモデル番号ＬＭＣ６４９２の演算増幅器がある。コンパレータ６０６の出力は、０ＤＣと電源電圧との間のデジタル出力信号を提供する。ＤＣオフセットを元の信号と比較することによって、本発明による回路６００は、アナログ入力信号を動的に調整して、ＤＣオフセットを補償する。
【０００７】
図１に図解されているブロック図の回路図の例が図２に示されている。回路６００は、アレグロ社製のモデル番号３５１６などのホール効果センサ６１４のような、線形ホール効果センサに結合されているのが示されている。既に述べたように、補償回路６００は、ほとんどどのタイプの線形変位又は回転センサと共にでも用いることができる。ホール効果センサ６１４は、単なる例である。補償回路は、図２に示されているようにオフチップとして構成できるし、又は、センサと一体化されてモノリシックなスマート・センサを形成することもある。センサ６１４からのアナログ出力信号ＶINが、ＡＤＣ６０８のアナログ入力端子ＶINに与えられる。ＡＤＣ６０８は、センサ６１４からのアナログ入力信号を、ＡＤＣ６０８のピンＤＢ［０−７］において得られる８ビットのデジタル信号に変換する。ＡＤＣ６０８からの８ビット信号は、マイクロプロセッサ６１０の入力ポートＲＢ［０−７］に与えられる。後述するように、マイクロプロセッサは、アナログ入力信号の最大及び最小電圧ピークを決定し、ＤＣオフセットを決定する。ＤＣオフセットがマイクロプロセッサ６１０によって決定されると、マイクロプロセッサ６１０の出力ポートＲＣ［０−７］において与えられるＤＣオフセットを表す８ビットのデジタル値が、ＤＡＣ６１２の８ビットの入力ポートＤＢ［０−７］に与えられる。ＤＡＣ６１２からのアナログ出力は、コンパレータ６０６に与えられ、元のアナログ入力信号ＶINと比較される。コンパレータ６０６の出力信号は、図４ａないし４ｆに図解されているように、ＤＣオフセットがゼロであるデジタル出力信号である。
【０００８】
ＤＡＣ６１２の出力電圧レンジ（range、範囲）を調整するために、レンジ乗算器回路６１５が、ＤＡＣ６１２の出力ＤＡＣＯＵＴとコンパレータ６０６の入力との間に配置される。レンジ乗算器回路６１５は、演算増幅器６１６と１対の抵抗６１８及び６２０とを含む。示されているように、レンジ乗算器回路６１５は、公称で０ないし２．５６ボルトであるＤＡＣ６１２の出力電圧レンジを、０ないし５ボルトまで乗算するのに用いられる。レンジ乗算器回路６１５の使用はオプショナルであって、選択されている特定のＤＡＣとその出力レンジとに依存することに注意すべきである。
【０００９】
コンパレータ６０６には、１対のゲイン抵抗６２２及び６２４とアナログ入力信号ＶINのスケーリングに用いられるスケーリング抵抗６２６とを含む。コンパレータ６０６の出力は、コンパレータ６０６の出力信号を処理する１つ又は複数のインバータ６２８及び６３０に与えられる。インバータ６２８の出力はアナログ入力信号に対して反転されるが、インバータ６３０の出力は反転されない。
【００１０】
アナログ入力信号ＶＩＮの最大及び最小ピークを決定するソフトウェアが、図３ａないし３ｄに図解されている。ソース・コードは、参考文献として提出されるアペンディクスに与えられている。まず、ステップ６３２において、割込みベクトルとマイクロプロセッサ６１０のＩ／Ｏポートとが初期化される。割込みベクトルとＩ／Ｏポートとが初期化された後で、ステップ６３４において、論理変数ＳＴＡＴＥ及びＳＴＡＲＴＵＰが初期化される。特に、ＳＴＡＴＥ変数はデフォルト値にセット（設定）され、ＳＴＡＲＴＵＰ変数は１にセットされる。これらの論理変数が初期化された後で、ステップ６３５において、最小及び最大値の変数であるＭＩＮ、ＭＡＸ、ＬＭＩＮ、ＬＭＡＸが初期化される。更に、ステップ６３５では、ＤＣオフセット値が、０Ｘ７Ｆ（１６進法の７Ｆ）にセットされる。これは、約２．５ボルトであり、コンパレータ６０６の電圧レンジの半分であって、パワーアップ（起動）時の論理状態を決定する当初の基準値を提供する。このＤＣオフセット値は、ステップ６３７において、ＤＡＣ６１２に書き込まれる。初期化プロセスの後で、ＡＤＣ６０８からの８ビットのデジタル値が読み出され、ステップ６３９において、変数ＶＯＬＴＡＧＥに等しくなるようにセットされる。８ビットの電圧がＡＤＣ６０８から読み出された後で、ＳＴＡＴＥ論理変数が、ステップ６３０Ａ及びステップ６３２Ａにおいてチェックされる。既に述べたように、ＳＴＡＴＥ論理変数は、当初に、デフォルト値にセットされている。このように、システムは、まず、ステップ６３４Ａに進む。そして、ＡＤＣ６０８から読み出された８ビットの電圧が、ステップ６３４及びステップ６３６において、最小及び最大値の変数であるＭＩＮ及びＭＡＸと比較される。既に述べたように、システムは、アナログ入力電圧の最小及び最大ピークを決定する。そして、ステップ６３４Ａにおいて、ＡＤＣ６０８から読み出された電圧が最小電圧（当初には、ステップ６３５において０ＸＦＦにセットされる）よりも小さいと判断される場合には、最小電圧変数ＭＩＮは、ステップ６３８において、その電圧と等しくなるようにセットされる。そうでない場合には、システムはステップ６３６に進み、そこで、ＡＤＣから読み出された電圧が最大電圧ＭＡＸと比較される。ＡＤＣ６０８から読み出された電圧が最大電圧（当初は、ステップ６３５で０にセットされる）よりも大きい場合には、最大電圧変数ＭＡＸは、ステップ６４０において、その電圧と等しくセットされる。
【００１１】
次に、システムは、ステップ６４２に進み、ＤＣオフセットＤＣ＿ＯＦＦＳＥＴを計算する。ＤＣオフセットＤＣ＿ＯＦＦＳＥＴは、最小電圧と最大電圧とを加算して２で除算することによって決定される。ＤＣオフセットＤＣ＿ＯＦＦＳＥＴが決定した後で、システムは、論理変数ＳＴＡＲＴＵＰが１又は０に等しいかどうかを判断する。既に述べたように、論理変数ＳＴＡＲＴＵＰは、当初、論理１に等しくなるようにセットされている。従って、システムは、まず、ステップ６４６に進み、ＡＤＣ６０８から読みだされた電圧が計算されたオフセット電圧であるＤＣ＿ＯＦＦＳＥＴよりも小さいかどうかを判断する。システムは、ステップ６３９にループして戻り、ＡＤＣ６０８の別の電圧を読み出す。ＡＤＣ６０８から読み出された電圧が計算されたＤＣ＿ＯＦＦＳＥＴよりも小さい場合には、システムはステップ６４８に進み、論理変数ＳＴＡＲＴＵＰの状態を０に等しくなるように変更し、そして、ステップ６３９にループして戻って、ＡＤＣから別の電圧を読み出す。次に、システムは、ステップ６３０Ａから６４２までを反復し、ＡＤＣ６０８から読み出された新たな電圧に基づいて新たなオフセットを計算する。
【００１２】
ステップ６４４では、論理変数ＳＴＡＲＴＵＰの状態が０にセットされている場合には、システムはステップ６５０に進み、ＡＤＣ６０８から読み出された電圧が計算されたオフセットＤＣ＿ＯＦＦＳＥＴよりも大きいかどうかを判断する。大きくない場合には、システムはループしてステップ６３９に戻り、別の電圧を読み出して、ステップ６３０Ａないし６４２に進み、別のＤＣオフセットＤＣ＿ＯＦＦＳＥＴを計算する。電圧が計算されたＤＣオフセットＤＣ＿ＯＦＦＳＥＴよりも大きく、直前に計算されたＤＣオフセットよりも大きな電圧を示している場合には、システムはステップ６５２に進み、論理変数ＳＴＡＴＥの状態をハイにセットし、高い電圧ピークを計算する。次に、システムは、ステップ６５４に進み、最後の計算されたＤＣオフセットをステップ６５４においてＤＡＣ６１２に書き込む。次に、システムはループしてステップ６３９に戻り、別のＡＤＣ電圧を読み出して、ステップ６３０Ａに進む。
【００１３】
既に述べたように、システムは、ステップ６３０Ａにおいて、ＳＴＡＴＥ論理変数がハイに等しくセットされているかどうかを調べる。そうである場合には、システムはステップ６５６に進み、ＡＤＣ６０８から読み出された最後の電圧が変数ＬＭＡＸよりも大きいかどうかをチェックする。そうでない場合には、システムは６５８に進み、電圧が計算されたＤＣオフセットよりも小さいかどうかを調べる。そうでない場合には、システムはループしてステップ６３９に戻り、ＡＤＣ６０８から別の電圧ＭＩＮを読み出す。ＡＤＣ６０８からの最後に読み出された電圧が最大電圧ＬＭＡＸよりも大きい場合には、変数ＬＭＡＸは、ステップ６６０において、その電圧と等しくなるようにセットされる。電圧がＬＭＡＸに等しくセットされた後で、ステップ６６２において最小電圧とＬＭＡＸ電圧とを加算し２で除算することによって、ＤＣオフセットが計算される。ステップ６６２において新たなＤＣオフセットＤＣ＿ＯＦＦＳＥＴが計算された後で、システムは、ステップ６６４において、電圧ＬＭＡＸがＭＡＸよりも大きいかどうかを判断する。大きい場合には、ステップ６６２において計算されたＤＣオフセットが、ステップ６６６において、ＤＡＣ６１２に書き込まれる。そして、システムは、ステップ６５８に進む。そうでなく、電圧ＬＭＡＸがＭＡＸよりも大きくない場合には、システムは、ステップ６５８に直接進んで、ＡＤＣから読み出された電圧がＤＣオフセットＤＣ＿ＯＦＦＳＥＴよりも小さいかどうかを判断する。小さくない場合には、システムは、ループしてステップ６３９に戻り、ＡＤＣ６０８から別の電圧を読み出す。電圧がＤＣオフセットよりも小さい場合には、システムはステップ６６８に進み、論理状態ＳＴＡＴＥをローにセットし、その後で、変数ＭＡＸが変数ＬＭＡＸに等しくセットされ、変数ＬＭＩＮがステップ６７０において０ＸＦＦに等しくなるようにセットされる。次に、システムは、ループしてステップ６３９に戻り、別の電圧を読み出す。ステップ６３２Ａで判断されたように、システムがロー状態（すなわち、ＳＴＡＴＥ＝ロー）である場合には、システムは、ステップ６７２において、ＡＤＣ６０８から読み出された電圧が変数ＬＭＩＮよりも小さいかどうかをチェックする。小さい場合には、変数ＬＭＩＮが、ステップ６７４において、その電圧と等しくなるようにセットされる。そして、ステップ６７６において、変数ＬＭＩＮ及びＭＡＸを加算し２で除算することによって、オフセットが計算される。ステップ６７６においてオフセットが計算されると、システムは、電圧ＬＭＩＮがＭＩＮよりも小さいかどうかをチェックする。小さい場合には、ＤＣオフセットが、ステップ６８０において、ＤＡＣ６１２に書き込まれる。次に、システムは、ステップ６８２に進む。小さくない場合には、システムは、直接にステップ６８２に進む。ステップ６８２において、システムは、電圧がＤＣオフセットよりも小さいかどうかを判断する。小さい場合には、システムは、ロー状態にあると判断され、ループしてステップ６３９に戻り、別の電圧を読み出す。小さくない場合には、システムは、ステップ６８４においてハイ状態に変化し、ステップ６８６において、最小電圧ＭＩＮをＬＭＩＮに等しくセットし、変数ＬＭＡＸを０に等しくセットする。
【００１４】
ＤＣオフセットの決定は、反復的なプロセスである。ＤＣオフセットがいったん決定されると、この値はＤＡＣ６１２に与えられ、ＤＣオフセット値をアナログ値に変換する。ＤＡＣ６１２の出力は、センサ出力信号と共に、コンパレータ６０６に送られ、デジタル出力信号を発生する。
【００１５】
図４ａないし４ｆは、本発明の応用例を図解している。特に、例示的なアナログ入力信号ＶIN６９０と本発明による電子回路からの出力信号とが、異なるＤＣオフセットに対して図解されている。示されているように、アナログ入力信号ＶINのＤＣオフセット・レベル６８７が、図４ａないし４ｆに図解されているように、下方向に移動するにつれて、出力信号ＶOUT６９２は、０電圧の軸に対して対称的な状態に留まる。
【００１６】
本発明の別の実施例では、電子回路は動的（dynamic）である。この実施例では、回路は、入ってくるセンサ・アナログ出力信号のＤＣオフセット・レベルを動的に判断する。ＤＣオフセット・レベルは、元のセンサ・アナログ出力信号と共にコンパレータに与えられ、デジタル出力信号を提供する。
【００１７】
明らかに、本発明に対しては、多くの修正や変形が以上の説明から可能である。従って、本発明は、ここに特に記載されている実施例とは異なる態様で実現することが可能であることを理解すべきである。
【図面の簡単な説明】
【図１】  本発明による電子回路のブロック図である。
【図２】  図２ａ及び図２ｂから構成される。図１に図解された電子回路の回路図である。
【図３】  図３ａないし図３ｄから構成される。図２に図解された電子回路のためのソフトウェアの流れ図である。
【図４】  図４ａないし図４ｆから構成される。これらの図には、様々なＤＣオフセットにおけるアナログ入力信号の例示的なグラフィカルな図解と、本発明による電子回路からの対応するデジタル出力とが示されている。
【図１】
0004398587.tif 000002
【図２】
0004398587.tif 000003
0004398587.tif 000004
【図３】
0004398587.tif 000005
0004398587.tif 000006
0004398587.tif 000007
0004398587.tif 000008
【図４】
0004398587.tif 000009
0004398587.tif 000010
0004398587.tif 000011
0004398587.tif 000012
0004398587.tif 000013
0004398587.tif 000014