(57)【要約】【課題】ＡＤ変換に伴うノイズの判定演算を、ハードウエア上で行うことにより、ソフトウエア処理の増大を抑える。【解決手段】アナログ入力信号ＡＩＮに対してＡＤ変換された変換バッファ１０Ｇｂの値と前回ＡＤ変換された前回値バッファ１００ａの値との差分を演算し、その差分がレベル設定レジスタ１００ｇの値よりも大きければ、今回のＡＤ変換結果はノイズであると判定し、検出フラグ１００ｄの記憶値をノイズ検出時の状態にセットする。更に、前回ＡＤ変換結果とレベル設定レジスタ１００ｇの値との加算により補正値を演算する。そして、その結果を補正値バッファ１００ｅに格納し、次回ＡＤ変換時にノイズが検出された場合に、代わりの値として用いられる。【選択図】図８
2004227263.tif 000002
【特許請求の範囲】
【請求項１】
アナログ信号をデジタル信号に変換するＡＤ変換回路及び、前記ＡＤ変換回路のＡＤ変換結果を保持するバッファにより構成されたＡＤ変換器と、
前記ＡＤ変換器のバッファに保持されたＡＤ変換結果に基づいて所定の演算処理を行う処理手段とを有する半導体装置において、
前記ＡＤ変換回路のＡＤ変換結果に含まれるノイズを検出するノイズ検出手段と、
前記ノイズ検出手段がノイズを検出したことを伝達するノイズ検出伝達手段とを備え、
前記処理手段は、前記ノイズ検出伝達手段によりノイズの検出が伝達されたとき、前記バッファに保持されたＡＤ変換結果に代えて、他のデータを使用して前記所定の演算を行うことを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記ノイズ検出手段は、前記ＡＤ変換器の少なくとも前回の変換結果を用いてノイズを検出することを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項３】
請求項１記載の半導体装置において、
前記ノイズ検出手段は、前記ＡＤ変換器の今回の変換結果と前回の変換結果との差分を演算する差分演算手段を備え、
前記差分演算手段により演算された差分を用いてノイズを検出することを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項４】
請求項２又は３記載の半導体装置において、
ノイズ判定基準を設定する基準設定手段を備え、
前記ノイズ検出手段は、
前記差分演算手段の出力が前記基準設定値手段で設定される値より大きい場合にノイズと判定することを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項５】
請求項４記載の半導体装置において、
前記差分演算手段の前回の出力を記憶する差分記憶手段と、
前記差分演算手段の出力と前記差分記憶手段に記憶された前回の差分との差を求める差分変化量演算手段とを備え、
前記ノイズ検出手段は、
前記差分変化量演算手段により演算された差分値が前記基準設定手段のノイズ判定基準より大きい場合にノイズと判定することを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項６】
請求項４記載の半導体装置において、
前記ノイズ検出手段は、
ノイズを検出した場合に前回のＡＤ変換結果と前記基準設定手段により設定された値との和を保持する補正値記憶手段を備えることを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項７】
請求項６記載の半導体装置において、
前記ノイズ検出手段は、マルチプレクサを有し、
前記マルチプレクサは、
ノイズを検出した場合には、前回のＡＤ変換結果と前記基準設定手段のノイズ判定基準との和を前記補正値記憶手段に出力し、ノイズを検出しなかった場合には、今回の変換結果を前記補正値記憶手段に出力することを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項８】
請求項１、２、３、４、５、６又は７記載の半導体装置において、
前記ノイズ検出伝達手段は、“０”又は“１”の値を表す１ビットの記憶領域であることを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項９】
請求項１、２、３、４、５、６又は７記載の半導体装置において、
前記ノイズ検出伝達手段は、ＣＰＵに対して割り込み信号を出力することを特徴とするＡＤ変換器を内蔵する半導体装置。
【請求項１０】
アナログ信号をデジタル信号に変換するＡＤ変換回路と、前記ＡＤ変換回路のＡＤ変換結果を保持するバッファとにより構成されたＡＤ変換器において、
前記ＡＤ変換回路のＡＤ変換結果に含まれるノイズを検出するノイズ検出手段と、
ノイズを検出したことを伝達するノイズ検出伝達手段とを備えたことを特徴とするＡＤ変換器。
【請求項１１】
請求項１０記載のＡＤ変換器において、
前記ノイズ検出手段は、前記ＡＤ変換器の少なくとも前回の変換結果を用いてノイズを検出することを特徴とするＡＤ変換器。
【請求項１２】
請求項１０記載のＡＤ変換器において、
前記ノイズ検出手段は、今回の変換結果と前回の変換結果との差分を演算する差分演算手段を備え、
前記差分演算手段により演算された差分を用いてノイズを検出することを特徴とするＡＤ変換器。
【請求項１３】
請求項１１又は１２記載のＡＤ変換器において、
ノイズ判定基準を設定する基準設定手段を備え、
前記ノイズ検出手段は、
前記差分演算手段の出力が前記基準設定値手段で設定される値より大きい場合にノイズと判定することを特徴とするＡＤ変換器。
【請求項１４】
請求項１３記載のＡＤ変換器において、
前記差分演算手段の前回の出力を記憶する差分記憶手段と、
前記差分演算手段の出力と前記差分記憶手段に記憶された前回の差分との差を求める差分変化量演算手段とを備え、
前記ノイズ検出手段は、
前記差分変化量演算手段により演算された差分値が前記基準設定手段のノイズ判定基準より大きい場合にノイズと判定することを特徴とするＡＤ変換器。
【請求項１５】
請求項１３記載のＡＤ変換器において、
前記ノイズ検出手段は、
ノイズを検出した場合に前回のＡＤ変換結果と前記基準設定手段により設定された値との和を保持する補正値記憶手段を備えることを特徴とするＡＤ変換器。
【請求項１６】
請求項１５記載のＡＤ変換器において、
前記ノイズ検出手段は、マルチプレクサを有し、
前記マルチプレクサは、
ノイズを検出した場合には、前回のＡＤ変換結果と前記基準設定手段のノイズ判定基準との和を前記補正値記憶手段に出力し、ノイズを検出しなかった場合には、今回の変換結果を前記補正値記憶手段に出力することを特徴とするＡＤ変換器。
【請求項１７】
請求項１０、１１、１２、１３、１４、１５又は１６記載のＡＤ変換器において、
前記ノイズ検出伝達手段は、“０”又は“１”の値を表す１ビットの記憶領域であることを特徴とするＡＤ変換器。
【請求項１８】
請求項１０、１１、１２、１３、１４、１５又は１６記載のＡＤ変換器において、
前記ノイズ検出伝達手段は、ＣＰＵに対して割り込み信号を出力することを特徴とするＡＤ変換器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ＡＤ変換器及び、ＡＤ変換器を内蔵した半導体装置に関する。
【０００２】
【従来の技術】
従来、マイクロコンピュータは、図１に示すように、ＣＰＵ１０Ａ、ＲＯＭ１０Ｂ、ＲＡＭ１０Ｃ、タイマ１０Ｄ、シリアル通信回路１０Ｅ、デジタル信号の入出力を行う汎用Ｉ／Ｏポート１０Ｆ、アナログ信号を入力しデジタル信号に変換するＡＤ変換器１０Ｇ、ＰＷＭ信号を生成し出力するＰＷＭ信号生成回路信号で構成される。
【０００３】
また、前記ＡＤ変換器１０Ｇは、図２に示すように、マイクロコンピュータに入力されたアナログ入力信号ＡＩＮをデジタル信号に変換するＡＤ変換回路１０Ｇａと、そのＡＤ変換回路１０Ｇａによって変換されたデジタル値を保持する変換バッファ１０Ｇｂとから構成される。
【０００４】
前記ＡＤ変換回路１０Ｇａは、入力されたアナログ入力信号ＡＩＮを等間隔に時間分割し、その分割された各区間毎にアナログ入力信号ＡＩＮのレベルに応じたデジタル値に変換し出力する。例えば、入力電圧が０Ｖ〜５Ｖの範囲で入力されるアナログ値を０ｘ００〜０ｘＦＦのデジタル値に変換する。
【０００５】
前記マイクロコンピュータを用いて、例えば、モータ制御を行う場合、モータ制御回路の構成例は図３のようになる。本モータ制御回路は、図３に示すように、モータＭ、そのモータＭを駆動するための６個のトランジスタＵ、Ｖ、Ｗ、／Ｕ、／Ｖ及び／Ｗと、その６個のトランジスタにそれぞれパラレル接続されるトランジスタ保護用の還流ダイオードと、駆動用電源とから構成される３相ブリッジ回路、その３相ブリッジ回路の６個の構成トランジスタＵ、Ｖ、Ｗ、／Ｕ、／Ｖ及び／Ｗに制御信号（ＰＷＭ信号）を入力し、ベース電流制御を行うマイクロコンピュータ１０、及び前記モータＭの回転状態を検知し、その検知した電流検出値や電圧検出値等のセンサ信号を前記マイクロコンピュータ１０へフィードバックするセンサＳにより構成される。
【０００６】
前記モータＭの駆動電流は前記センサＳにより検出され、その検出結果は前記マイクロコンピュータ１０の構成要素であるＡＤ変換器１０Ｇに入力される。そして、そのＡＤ変換回路１０ＧａのＡＤ変換結果に基づいて、前記ＣＰＵ１０Ａの出力すべき波形が演算され、前記ＰＷＭ信号生成回路１０Ｈにより生成されたＰＷＭ信号が前記６個のトランジスタＵ、Ｖ、Ｗ、／Ｕ、／Ｖ及び／Ｗのベースへ出力される。そして、このように駆動された６個のトランジスタＵ、Ｖ、Ｗ、／Ｕ、／Ｖ及び／Ｗにより前記モータＭが制御される。
【０００７】
また、図４はモータＭを制御する際の前記ＡＤ変換器１０ＧにおけるＡＤ変換動作のタイミングと、前記ＣＰＵ１０Ａによる演算処理（ソフト割り込み処理）とを示している。図４において、２０は前記ＰＷＭ生成回路１０Ｈに内蔵されている基準カウンタの動作を表す。この基準カウンタは、例えば、１０ｋＨｚの周期でアップダウンを繰り返す。このＰＷＭ信号生成回路１０Ｈにおける基準カウンタの０の時点をトリガにしてＡＤ変換が開始され、ＡＤ変換終了後、その変換結果を用いてＣＰＵ１０Ａがモータの状態を演算により求め、その演算結果に基づいて次のキャリアで出力すべき最適なＰＷＭ信号を設定する。
【０００８】
しかしながら、マイクロコンピュータ１０を用いてモータＭを制御する場合、前述のようなＡＤ変換及びＣＰＵ処理をキャリアごとに繰り返すので、ＡＤ変換時間とＣＰＵ演算（ソフトウエア処理）の合計時間がキャリア周期を超えてしまうと、システムとして成り立たなくなってしまい、適切なモータ制御ができなくなる。このため、従来では、キャリア周期内に処理が終わるように、制御アルゴリズムに適応した性能のＣＰＵを使用し、制御性能とマイクロコンピュータ１０のコストとが両立するようにシステム設計を行っていた。
【０００９】
また、実際にモータを駆動する際、トランジスタのスイッチングの影響、又は、何らかの外乱によって、ＡＤ変換器に入力される信号がノイズにより変化し、本来のモータ電流値と大きく異なる信号が入力されることがある。例えば、モータ駆動時のＡＤ変換器への入力信号波形が図５に示したような正常な形状の波形に対して図６のようなノイズを含んだ波形が入力されることがある。このようなノイズが含まれた信号が入力された場合、ＡＤ変換結果のデジタル値もノイズを含んだ値となってしまい、その変換結果をそのまま使用してモータの状態を演算した場合、現実のモータ状態とは異なる演算結果となり、モータ駆動の精度が大きく損なわれることとなる。
【００１０】
そこで、従来では、ソフトウエアによる対策として、例えば、アナログ入力信号のノイズを検出し、補正をソフトウエア上で行い、ノイズの影響を緩和するといった手段が採られていた。この例を図７に示す。この例では、ＡＤ変換を行った後、前回のＡＤ変換結果と、今回の変換結果との差を求めている。モータの状態を検出するためにＡＤ変換器を用いる場合、図５に示したように、通常、ＡＤ変換値は前回の変換結果との相関関係が存在する。図７の例の場合、前回値との差が基準値以内であれば、ノイズを含まない正常な値であると判断し、変換結果を用いて演算を行い、一方、前回値との差が一定以上であればノイズが入力されたものとして判定し、補正値を演算し、その補正値を用いてモータの状態の演算を行う。前記補正値の演算は、駆動しているモータや制御アルゴリズムに応じて適切な値を求める処理である。
【００１１】
また、従来では、ハードウエアによる対策として、例えば、特許文献１では、複数回のＡＤ変換結果の平均値をハードウエアで計算するＡＤ変換器が開示されている。
【００１２】
【特許文献１】
特開平６−８５６６８号公報
【００１３】
【発明が解決しようとする課題】
しかしながら、前述したような、アナログ入力信号のノイズを検出し、その補正をソフトウエア上で行い、ノイズの影響を緩和するといった方法の場合は、ノイズの検出や、補正の演算をＣＰＵを用いて行う。このため、ノイズ検出、補正の処理が増えると、ＣＰＵの負担が増してしまうという問題があった。
【００１４】
また、特許文献１のような、ＡＤ変換結果の平均値をハードウエアで計算する方法においては、特にモータ制御など、入力信号が大きく変化する場合や、ＡＤ変換を極く限られたタイミングで行わなければならない場合には、平均値を用いてしまうと、正確なモータ制御が行えないという問題があった。
【００１５】
本発明は、前記問題を解決するものであり、その目的は、ＡＤ変換に伴うノイズ検出やノイズ検出した場合の補正等の処理をソフトウエア上で行わずハードウエア上で行うことによりＣＰＵへの負担を軽減すると共に、ハードウエアにおいては、入力波形なまりを生ずる平均値計算を用いずに、正確な処理及び制御を行うことにある。
【００１６】
【課題を解決するための手段】
以上の課題を解決するために、本発明では、ハードウエア構成を用いてノイズの検出及び、補正値の演算を行う。
【００１７】
すなわち、請求項１記載の発明のＡＤ変換器を内蔵する半導体装置は、アナログ信号をデジタル信号に変換するＡＤ変換回路及び、前記ＡＤ変換回路のＡＤ変換結果を保持するバッファにより構成されたＡＤ変換器と、前記ＡＤ変換器のバッファに保持されたＡＤ変換結果に基づいて所定の演算処理を行う処理手段とを有する半導体装置において、前記ＡＤ変換回路のＡＤ変換結果に含まれるノイズを検出するノイズ検出手段と、前記ノイズ検出手段がノイズを検出したことを伝達するノイズ検出伝達手段とを備え、前記処理手段は、前記ノイズ検出伝達手段によりノイズの検出が伝達されたとき、前記バッファに保持されたＡＤ変換結果に代えて、他のデータを使用して前記所定の演算を行うことを特徴とする。
【００１８】
請求項２記載の発明は、請求項１記載のＡＤ変換器を内蔵する半導体装置において、前記ノイズ検出手段は、前記ＡＤ変換器の少なくとも前回の変換結果を用いてノイズを検出することを特徴とする。
【００１９】
請求項３記載の発明は、請求項１記載のＡＤ変換器を内蔵する半導体装置において、前記ノイズ検出手段は、前記ＡＤ変換器の今回の変換結果と前回の変換結果との差分を演算する差分演算手段を備え、前記差分演算手段により演算された差分を用いてノイズを検出することを特徴とする。
【００２０】
請求項４記載の発明は、請求項２又は３記載のＡＤ変換器を内蔵する半導体装置において、ノイズ判定基準を設定する基準設定手段を備え、前記ノイズ検出手段は、前記差分演算手段の出力が前記基準設定値手段で設定される値より大きい場合にノイズと判定することを特徴とする。
【００２１】
請求項５記載の発明は、請求項４記載のＡＤ変換器を内蔵する半導体装置において、前記差分演算手段の前回の出力を記憶する差分記憶手段と、前記差分演算手段の出力と前記差分記憶手段に記憶された前回の差分との差を求める差分変化量演算手段とを備え、前記ノイズ検出手段は、前記差分変化量演算手段により演算された差分値が前記基準設定手段のノイズ判定基準より大きい場合にノイズと判定することを特徴とする。
【００２２】
請求項６記載の発明は、請求項４記載のＡＤ変換器を内蔵する半導体装置において、前記ノイズ検出手段は、ノイズを検出した場合に前回のＡＤ変換結果と前記基準設定手段により設定された値との和を保持する補正値記憶手段を備えることを特徴とする。
【００２３】
請求項７記載の発明は、請求項６記載のＡＤ変換器を内蔵する半導体装置において、前記ノイズ検出手段は、マルチプレクサを有し、前記マルチプレクサは、ノイズを検出した場合には、前回のＡＤ変換結果と前記基準設定手段のノイズ判定基準との和を前記補正値記憶手段に出力し、ノイズを検出しなかった場合には、今回の変換結果を前記補正値記憶手段に出力することを特徴とする。
【００２４】
請求項８記載の発明は、請求項１、２、３、４、５、６又は７記載のＡＤ変換器を内蔵する半導体装置において、前記ノイズ検出伝達手段は、“０”又は“１”の値を表す１ビットの記憶領域であることを特徴とする。
【００２５】
請求項９記載の発明は、請求項１、２、３、４、５、６又は７記載のＡＤ変換器を内蔵する半導体装置において、前記ノイズ検出伝達手段は、ＣＰＵに対して割り込み信号を出力することを特徴とする。
【００２６】
請求項１０記載の発明のＡＤ変換器は、アナログ信号をデジタル信号に変換するＡＤ変換回路と、前記ＡＤ変換回路のＡＤ変換結果を保持するバッファとにより構成されたＡＤ変換器において、前記ＡＤ変換回路のＡＤ変換結果に含まれるノイズを検出するノイズ検出手段と、ノイズを検出したことを伝達するノイズ検出伝達手段とを備えたことを特徴とする。
【００２７】
請求項１１記載の発明は、請求項１０記載のＡＤ変換器において、前記ノイズ検出手段は、前記ＡＤ変換器の少なくとも前回の変換結果を用いてノイズを検出することを特徴とする。
【００２８】
請求項１２記載の発明は、請求項１０記載のＡＤ変換器において、前記ノイズ検出手段は、今回の変換結果と前回の変換結果との差分を演算する差分演算手段を備え、前記差分演算手段により演算された差分を用いてノイズを検出することを特徴とする。
【００２９】
請求項１３記載の発明は、請求項１１又は１２記載のＡＤ変換器において、ノイズ判定基準を設定する基準設定手段を備え、前記ノイズ検出手段は、前記差分演算手段の出力が前記基準設定値手段で設定される値より大きい場合にノイズと判定することを特徴とする。
【００３０】
請求項１４記載の発明は、請求項１３記載のＡＤ変換器において、前記差分演算手段の前回の出力を記憶する差分記憶手段と、前記差分演算手段の出力と前記差分記憶手段に記憶された前回の差分との差を求める差分変化量演算手段とを備え、前記ノイズ検出手段は、前記差分変化量演算手段により演算された差分値が前記基準設定手段のノイズ判定基準より大きい場合にノイズと判定することを特徴とする。
【００３１】
請求項１５記載の発明は、請求項１３記載のＡＤ変換器において、前記ノイズ検出手段は、ノイズを検出した場合に前回のＡＤ変換結果と前記基準設定手段により設定された値との和を保持する補正値記憶手段を備えることを特徴とする。
【００３２】
請求項１６記載の発明は、請求項１５記載のＡＤ変換器において、前記ノイズ検出手段は、マルチプレクサを有し、前記マルチプレクサは、ノイズを検出した場合には、前回のＡＤ変換結果と前記基準設定手段のノイズ判定基準との和を前記補正値記憶手段に出力し、ノイズを検出しなかった場合には、今回の変換結果を前記補正値記憶手段に出力することを特徴とする。
【００３３】
請求項１７記載の発明は、請求項１０、１１、１２、１３、１４、１５又は１６記載のＡＤ変換器において、前記ノイズ検出伝達手段は、“０”又は“１”の値を表す１ビットの記憶領域であることを特徴とする。
【００３４】
請求項１８記載の発明は、請求項１０、１１、１２、１３、１４、１５又は１６記載のＡＤ変換器において、前記ノイズ検出伝達手段は、ＣＰＵに対して割り込み信号を出力することを特徴とする。
【００３５】
以上により、請求項１及び１０記載の発明では、前記ＡＤ変換回路のＡＤ変換結果に含まれるノイズを検出し、ノイズを検出したことを前記処理手段に伝達する処理をハードウエア上に構成することにより、ソフトウエア処理を軽減することが可能となる。
【００３６】
また、請求項２、３、１１及び１２記載の発明では、今回のＡＤ変換結果と前回のＡＤ変換結果との差分を演算する処理部分をハードウエア上に構成することにより、ソフトウエア処理を軽減することが可能となる。
【００３７】
更に、請求項４及び１３記載の発明では、前記差分演算手段により演算した差分と、前記基準設定値との比較処理をハードウエア上に構成することにより、ノイズ判定の際の、ソフトウエア処理を軽減することが可能となる。
【００３８】
請求項５及び１４記載の発明では、前記差分演算手段の演算結果を保持する前記差分記憶手段と前記差分演算手段の出力と前記差分記憶手段に記憶された前回の差分との差を求める差分変化量演算手段とを設けることにより、変化量の差分を用いてのノイズ検出をすることが可能となる。
【００３９】
また、請求項６及び１５記載の発明では、前回のＡＤ変換結果と前記基準設定手段により設定された値との和を保持する補正値記憶手段を設けることにより、今回のＡＤ変換結果においてノイズを検出した場合、前記補正値記憶手段に保持されている補正値を使用することができる。
【００４０】
更に、請求項７及び１６記載の発明では、前記ノイズ検出手段にマルチプレクサを設けることにより、今回のＡＤ変換結果におけるノイズの有無に対して、今回のＡＤ変換結果と前記補正値記憶手段に保持されている補正値とのうち、使用する値の選択処理をハードウエア上で行うことが可能となる。
【００４１】
請求項８及び１７記載の発明では、前記ノイズ検出伝達手段を“０”又は“１”の値を表す１ビットの記憶領域とすることにより、ノイズ有無の判定をハードウエア上において処理することが可能となる。
【００４２】
また、請求項９及び１８記載の発明では、ノイズ検出伝達手段の代わりに、ノイズ検出時にのみＣＰＵへ割り込み信号を出力させ、補正を行う構成を採ることによりノイズ検出有無のチェック処理が不要となり、ソフトウエア処理を軽減することが可能となる。
【００４３】
【発明の実施の形態】
以下、本発明の実施の形態のＡＤ変換器を内蔵する半導体装置及びＡＤ変換器を図面に基づいて説明する。
【００４４】
（第１の実施の形態）
図１は本実施の形態であるＡＤ変換器を内蔵する半導体装置を示すマイクロコンピュータ１０の内部構成を示す。このマイクロコンピュータ１０は、ＣＰＵ１０Ａと、ＡＤ変換器１０Ｇとを有する。このマイクロコンピュータ１０のその他の構成の詳細は、既述したので、その説明は省略する。本マイクロコンピュータ１０は、本実施の形態では、図３に示したモータＭの回転数のＰＷＭ制御用として使用される。
【００４５】
本マイクロコンピュータ１０の特徴点は、ＡＤ変換器１０Ｇにある。このＡＤ変換器１０Ｇは図８に示したＡＤ変換器８と同一の内部構成を有する。以下、この図８に示したＡＤ変換器８の内部構成を説明する。
【００４６】
図８において、ＡＤ変換器８は、図２に示した従来のＡＤ変換器と同様に、ＡＤ変換回路１０Ｇａと、変換バッファ（バッファ）１０Ｇｂとを有する。前記ＡＤ変換回路１０Ｇａは、図３に示したセンサＳからのアナログ信号を受け、この信号をデジタル信号に変換する。この変換動作は、図９に示すように、入力されるアナログ信号ＡＩＮをキャリア周期である微小時間Δｔ毎に行われる。また、前記変換バッファ１０Ｇｂは、図１０に示すように、前記ＡＤ変換回路１０Ｇａにより微小時間Δｔ毎に変換された最新の（現在の）デジタル値、例えば、値Ｄｎを格納する。
【００４７】
前記ＡＤ変換器８は、更に、ノイズ検出回路（ノイズ検出手段）１００を有する。このノイズ検出回路１００は、内部に、前回値バッファ１００ａと、差分演算回路１００ｂと、レベル設定レジスタ１００ｇと、比較器１００ｃと、検出フラグ１００ｄとを有する。前記前回値バッファ１００ａは、前記変換バッファ１０Ｇｂが任意の時刻にデジタル値Ｄｎを格納していた状況で、微小時間Δｔが経過して、次のキャリア周期におけるデジタル値Ｄｎ＋１が変換バッファ１０Ｇａに格納され、この格納された現在のデジタル値Ｄｎ＋１が出力される前の段階で、前回のキャリア周期において変換バッファ１０Ｇｂに格納されていた前回のデジタル値Ｄｎを格納する。前記差分演算回路１００ｂは、変換バッファ１０Ｇｂからの今回のデジタル値、例えば、値Ｄｎと、前回値バッファ１００ａに格納された前回のデジタル値Ｄｎ−１との差分を演算する。従って、この差分演算回路１００ｂは、ＡＤ変換回路１０ＧａでのＡＤ変換結果の今回値Ｄｎと前回値Ｄｎ−１との差分を演算する差分演算手段として機能する。
【００４８】
更に、前記レベル設定レジスタ（基準設定手段）１００ｇは、ＡＤ変換回路１０Ｇａにより順次ＡＤ変換された今回と前回のデジタル値Ｄｎ−１、Ｄｎ間に差分値｜Ｄｎ−Ｄｎ−１｜が存在するところ、アナログ信号ＡＩＮにノイズが混入してその差分値が拡大すると、ノイズの混入時と判断するように、通常の差分値よりも大きな値の差分値として、ノイズ検出レベルＤｍａｘを予め格納する。前記比較器１００ｃは、前記差分演算回路１００ｂからの今回値と前回値との差分値を、前記レベル設定レジスタ１００ｇのノイズ検出レベルＤｍａｘと比較して、この今回値と前回値との差分値がノイズ検出レベルＤｍａｘ以上のとき、ノイズ混入時と判断し、一方、逆に今回値と前回値との差分値がノイズ検出レベルＤｍａｘ未満のとき、ノイズの混入がない通常の良好時と判断する。前記検出フラグ（ノイズ検出伝達手段）１００ｄは、前記比較器１００ｃがノイズ混入時と判断したときは“１”値に設定され、ノイズ混入のない良好時と判断したときは“０”値に設定される。
【００４９】
更に、前記ノイズ検出回路１００は、加算回路１００ｆと、補正値バッファ１００ｅとを有する。これらの加算回路１００ｆ及び補正値バッファ１００ｅは、アナログ信号ＡＩＮへのノイズ混入時に、変換バッファ１０Ｇｂに格納された現在のデジタル値Ｄｎを使用できない関係上、この現在のデジタル値Ｄｎに代えて使用する他のデータを生成するものである。具体的には、加算回路１００ｆは、前記前回値バッファ１００ａに格納された前回値のデジタル値Ｄｎ−１と、前記レベル設定レジスタ１００ｇのノイズ検出レベルＤｍａｘとを加算する。また、補正値バッファ（補正値記憶手段）１００ｅは、前記加算回路１００ｆの加算結果（前回値のデジタル値Ｄｎ−１＋ノイズ検出レベルＤｍａｘ）を格納する。
【００５０】
そして、図１に示したＣＰＵ（処理手段）１０Ａは、図３に示したモータＭの回転数制御用のＰＷＭ制御信号を生成するための所定の演算処理を行うに際し、前記検出フラグ１００ｄからノイズ混入の有無の伝達情報を受け、この検出フラグ１００ｄの値を参照して、検出フラグ１００ｄの値が“０”である良好時には、変換バッファ１０Ｇｂの現在のデジタル値を使用し、一方、検出フラグ１００ｄの値が“１”であるノイズ混入時には、補正値バッファ１００ｅの格納値（前回値のデジタル値Ｄｎ−１＋ノイズ検出レベルＤｍａｘ）を使用する。
【００５１】
次に、本実施の形態の半導体装置におけるＡＤ変換器８のノイズ検出回路１００の動作を図８、図９及び図１０に基づき、アナログ信号ＡＩＮにノイズがある場合とない場合とに分けて説明する。図９、図１０は、時刻ｔｎの時点でノイズの混入がある例を示している。
【００５２】
先ず、アナログ入力信号ＡＩＮにノイズがない場合、すなわち、図９及び図１０において時刻ｔＸ（ｘ≠ｎ）の場合において、例えば、時刻ｔｎ−１での動作を考える。時刻ｔｎ−１の時点では、今回の変換結果Ｄｎ−１が変換バッファ１０Ｇａに、時刻ｔｎ−２における前回の変換結果Ｄｎ−２が前回値バッファ１００ａに格納されている。このとき、差分演算回路１００ｂによって、差分｜Ｄｎ−１−Ｄｎ−２｜が演算され、更に、その差分｜Ｄｎ−１−Ｄｎ−２｜が比較器１００ｃによってノイズ検出レベルＤｍａｘと比較される。この例の場合、｜Ｄｎ−１−Ｄｎ−２｜＜Ｄｍａｘであるため、アナログ入力信号ＡＩＮにノイズは入力されていないと判定され、検出フラグ１００ｄの記憶値は“０”にセットされる。
【００５３】
次に、アナログ入力信号ＡＩＮにノイズがある場合、すなわち、図９及び図１０において時刻ｔｎの場合について説明する。時刻ｔｎの時点では、今回の変換結果Ｄｎが変換バッファ１０Ｇｂに、時刻ｔｎ−１における前回の変換結果Ｄｎ−１が前回値バッファ１００ａに格納されている。このとき、差分演算回路１００ｂによって、差分｜Ｄｎ−Ｄｎ−１｜が演算され、更に、その差分｜Ｄｎ−Ｄｎ−１｜が比較器１００ｃによってノイズ検出レベルＤｍａｘと比較される。この例の場合は、｜Ｄｎ−１−Ｄｎ−２｜＞Ｄｍａｘであるため、アナログ入力信号ＡＩＮにノイズが入力されたと判定され、検出フラグ１００ｄの記憶値は“１”にセットされる。
【００５４】
更にこのとき、加算回路１００ｆによって前回値Ｄｎ−１とノイズ検出レベルＤｍａｘが加算され、補正値バッファ１００ｅに格納される。
【００５５】
次に、本実施の形態を使用したときのソフトウエア処理の説明を行う。
【００５６】
前述の通り、前回の変換結果からノイズ検出レベルＤｍａｘ以上の変化があった場合、ノイズの混入があったものと判定し、検出フラグ１００ｄの記憶値が“１”にセットされる。従って、ＣＰＵ１０Ａのソフトウエア処理においては、検出フラグ１００ｄの記憶値が“１”にセットされているときはノイズが混入されたものと判定して、ＡＤ変換結果の値そのものではなく、これに代わる他のＡＤ変換データとして、補正値バッファ１００ｅに格納されている補正値が使用される。
【００５７】
本実施の形態における回路構成に対するソフトウエア処理の例を図１１に示す。図７に示した従来のソフトウエア処理と比較すると明らかなように、今回の変換結果と、前回の変換結果とを用いてノイズを判定する処理、すなわち、図７に示した「今回変換結果格納」の処理、は前記変換バッファ１０Ｇｂで行われ、また、今回の変換結果と前回の変換結果との差分を演算する「差分←前回−今回」のソフトウエア処理は前記変換バッファ１０Ｇｂ及び前記前回値バッファ１００ａの保持値を演算する前記差分演算回路１００ｂでハードウエア処理され、更に、差分とノイズ判定を行う基準値ノイズ検出レベルＤｍａｘとの比較処理である「差分＞基準値？」は前記比較器１００ｃにおいてハードウエア処理を行うのでソフトウエア処理は不要となり、図１１に示した「ノイズ検出？」のソフトウエア処理において、検出フラグ１００ｄにセットされた値を確認するだけでよくなる。さらに、前記前回値バッファ１００ａ及び前記レベル設定レジスタ１００ｇの値を前記加算回路１００ｆにおいて演算するので、「補正値の演算」についてもソフトウエア処理が不要となる。これにより、従来と比較し、ソフトウエア処理が削減される。
【００５８】
ここで、この図１１に示した一連のソフトウエア処理は、図４に示したとおり、キャリア周期、例えば、図９に示した場合では時間Δｔごとに実施され、キャリア周期ごとのソフトウエア処理はそのキャリア周期内に終了する必要がある。
【００５９】
従って、キャリア周期ごとの処理量が増加した場合、従来は、第１にＣＰＵの能力を上げて処理に必要な時間を短縮する、第２にアルゴリズムを再検討し、処理量そのものを減らす、等の対策が必要であったが、第１の場合はマイクロコンピュータ全体のコスト増が、また第２の場合はモータ制御の精度の低下が伴ってしまう欠点がある。しかし、本実施の形態によれば、ＡＤ変換器の回路にノイズ検出回路１００を追加するという軽微な追加を行うだけで、ソフトウエア処理を削減することができる。
【００６０】
また、上述のとおり本実施の形態のＡＤ変換器８を用いることで、ソフトウエア処理の削減が図れるため、従来、ＣＰＵ１０Ａがノイズ処理等に充てていた時間を、別の処理に充てることができる。例えば、モータの制御精度をより高める処理のために、余った時間を使用することで、更に精度の高い制御を実現できることになる。
【００６１】
尚、図１１の例ではノイズ検出時に補正値バッファ１００ｅの補正値を用いていたが、必ずしもこの補正値を使用する必要はなく、前回値バッファ１００ａの前回値を使用するなどしてもよい。モータ制御のアルゴリズム、回転数などのモータの状態、ソフトウエアの余裕度などの状況に応じて、前回値バッファ１００ａの前回値を用いたり、再度ＡＤ変換を実行するなど、柔軟性のあるソフトウエアを実現できる。
【００６２】
（第２の実施の形態）
次に、本発明の第２の実施の形態のＡＤ変換器を内蔵する半導体装置を説明する。
【００６３】
図１５は図８に示した第１の実施の形態のＡＤ変換器８におけるノイズ検出回路１００にマルチプレクサ２００ａを追加したものである。このマルチプレクサ２００ａは、検出フラグ１００ｄの信号を受け、この信号に応じて、検出フラグ１００ｄの記憶値が“０”のときは今回のＡＤ変換結果を保持する変換バッファ１０Ｇｂ側を選択し、“１”のときはＡＤ変換結果を補正した加算回路１００ｆ側の入力を選択して補正値バッファ１００ｅへ出力する。ノイズ検出回路２００のその他の内部構成は第１の実施の形態と同じであるので、ここではその説明を省略する。
【００６４】
次に、本実施の形態におけるＡＤ変換器１５の動作を説明する。
【００６５】
この構成のＡＤ変換器１５を用いると、本実施の形態を示した図１６のフローチャートと第１の実施の形態を示した図１１のフローチャートとの比較から、本実施の形態ではノイズ検出後におけるＡＤ変換結果と補正値との選択をハードウエア処理するので、その分、ソフトウエア処理を少なくできることがわかる。具体的には、本実施の形態では、第１の実施の形態において図１１に示した「ノイズ検出？」の処理を前記マルチプレクサ２００ａが代わって処理することにより、ソフトウエア処理を削減することができる。このとき、図１６に示したソフトウエア処理では、ノイズ検出の有無に関わらず補正値バッファ１００ｅの値を参照しているが、これは、本実施の形態の構成により、次のようなメリットがある。即ち、ノイズ検出時、非検出時を問わず、全て前記補正値バッファ１００ｅに取り込まれるので、ＡＤ変換結果そのままのデータ又は補正処理されたデータは同一回路から読み取ることが可能となり、ハードウエアからソフトウエアへの移行部分は簡略化される。従って、ノイズを検出していないときは、今回の変換結果が参照されるので、最新の信号のＡＤ変換結果が得られ、また、ノイズを検出したときは、ノイズを補正した値が得られる。
【００６６】
（第３の実施の形態）
続いて、本発明の第３の実施の形態のＡＤ変換器を内蔵する半導体装置を説明する。
【００６７】
図１２は本発明の第３の実施の形態におけるＡＤ変換器１２のブロック図であり、このＡＤ変換器１２はマイクロコンピュータに備えられた回路である。
【００６８】
本実施の形態におけるマイクロコンピュータの全体構成は図１に示したものと同様であるので、その説明を省略する。
【００６９】
図１２は図８に示した第１の実施の形態のＡＤ変換器８において、さらに、差分演算回路１００ｂの前回の出力を記憶する変化量バッファ（差分記憶手段）３００ａと、前記差分演算回路１００ｂの出力と前記変化量バッファ３００ａに記憶された前回の差分との差を求める変化量差分演算回路（差分変化量演算手段）３００ｂとを追加した構成である。
【００７０】
本実施の形態におけるＡＤ変換器１２の動作を第１の実施の形態で用いた、図８、図９及び図１０に基づいて説明する。
【００７１】
先ず、アナログ入力信号ＡＩＮにノイズがない場合、即ち時刻ｔＸ（ｘ≠ｎ）の場合、例えば、時刻ｔｎ−１における動作を考える。時刻ｔｎ−１の時点では今回の変換結果Ｄｎ−１が変換バッファ１０Ｇｂに、前回の時刻ｔｎ−２の変換結果Ｄｎ−２が前回値バッファ１００ａに格納されている。このとき、差分演算回路１００ｂによって、差分ＤＤｎ−１＝｜Ｄｎ−１―Ｄｎ−２｜が演算される。また、変化量バッファ３００ａには前回の差分ＤＤｎ−２＝｜Ｄｎ−２―Ｄｎ−３｜が保管されている。そして、比較器１００ｃによって変化量の差分｜ＤＤｎ−１−ＤＤｎ−２｜がノイズ検出レベルＤｍａｘと比較される。この例の場合では、｜ＤＤｎ−１−ＤＤｎ−２｜＜Ｄｍａｘであるため、ノイズは入力されていないと判定され、検出フラグ１００ｄの記憶値は“０”にセットされる。
【００７２】
次に、アナログ入力信号ＡＩＮにノイズがある場合、即ち時刻ｔｎの場合、今回の変換結果Ｄｎが変換バッファ１０Ｇｂに、前回の時刻ｔｎ−１の変換結果Ｄｎ−１が前回値バッファ１００ａに格納されている。このとき、差分演算回路１００ｂによって、差分ＤＤｎ＝｜Ｄｎ―Ｄｎ−１｜が演算される。また、変化量バッファ３００ａには前回の差分ＤＤｎ−１＝｜Ｄｎ−１―Ｄｎ−２｜が保管されている。そして、比較器１００ｃによって変化量の差分｜ＤＤｎ―ＤＤｎ−１｜がノイズ検出レベルＤｍａｘと比較される。この例の場合、｜ＤＤｎ―ＤＤｎ−１｜＞Ｄｍａｘであるため、ノイズが入力されたと判定され、検出フラグ１００ｄの記憶値は“１”にセットされる。
【００７３】
更にこのとき、加算回路１００ｆによって前回値Ｄｎ−１とノイズ検出レベルＤｍａｘが加算され、その加算結果が補正値として補正値バッファ１００ｅに格納される。
【００７４】
第１の実施の形態が前回の変換値と今回の変換値との差分（変化量）でノイズの判定を行っているのに対し、第２の実施の形態では前回値と今回値との間の変化量の差分でノイズの判定を行っている。ここで、例えば、図９で示した正弦波状の入力の場合、波形の頂上付近と中央付近では、時間Δｔあたりの変化量が大きく異なるため、ノイズ検出レベルＤｍａｘを変化量の大きい点に合わせざるを得ない。しかし、時刻ｔＸの時点の変化量と、時刻ｔＸ＋１の時点の変化量とを比較すると、変化量の差分は比較的小さい。そこで、本実施の形態の構成を用いると、レベル設定レジスタ１００ｇの値を比較的小さい値に設定でき、結果的に、より小さなノイズまで検出できる。
【００７５】
従って、第３の実施の形態では、第１及び第２の実施の形態に比較してノイズ検出能力を向上させることが可能となる。
【００７６】
（第４の実施の形態）
更に、本発明の第４の実施の形態のＡＤ変換器を内蔵する半導体装置を説明する。
【００７７】
図１３は第４の実施の形態におけるＡＤ変換器１３のブロック図を示したものであり、マイクロコンピュータに備えた回路である。本実施の形態におけるマイクロコンピュータの全体構成は図１に示したものと同様であるので、その説明を省略する。
【００７８】
図１３は第１の実施の形態において図８に示した検出フラグ１００ｄは使用せず、ノイズ検出時にのみ比較器１００ｃからＣＰＵへ割り込み信号４００ａを出力する構成を持つ。尚、ノイズ検出回路４００については第１の実施の形態と同様であるで、その説明を省略する。
【００７９】
本実施の形態におけるソフトウエア処理は、図１４に示したような流れとなる。即ち、第１、第２及び第３の実施の形態において、キャリアごとに必要であった検出フラグ１００ｄのチェック処理は削除され、ノイズが検出されたときのみ割り込み信号をＣＰＵに送り、補正値を読み取ることができる状態をつくり補正処理を行うので、更にソフトウエア処理を削減することができる。
【００８０】
本実施の形態における構成では、ノイズを検出した際に、割り込み処理が発生するので、割り込み処理自身の処理が余分に必要となってしまうものの、キャリアごとの処理が削減される分、特にノイズの発生頻度が低い場合には、全体としてのソフトウエア処理が削減される。
【００８１】
尚、以上の説明では、マイクロコンピュータに内蔵されたＡＤ変換器を例に説明したが、本発明はそれに限定されるものではなく、例えばＤＳＰなどあらゆる半導体装置に内蔵されるＡＤ変換器に適用される。
【００８２】
更に、本発明により追加されたノイズ検出回路はＡＤ変換器に含まれるものに限らず、図１７に示したように、ＡＤ変換器１７ｇとは別に実装されるものであってもよい。
【００８３】
また、以上の説明では、モータ制御に用いる場合を例としたが、本発明はそれに限定されるものではなく、その他のＡＤ変換を用いる制御に効果を発揮するものである。
【００８４】
【発明の効果】
以上説明したように、請求項１〜１８記載の発明によれば、ＡＤ変換回路のＡＤ変換結果に含まれるノイズをハードウエアにより検出したので、ノイズ検出及び補正を行うためのＣＰＵによるソフトウエア処理の負担を軽減することができる。
【００８５】
更に、請求項５及び１４記載の発明によれば、ノイズ検出においてＡＤ変換結果の変化量の差分を用いて判定を行うので、ノイズ検出の精度を向上させることが可能となる。
【００８６】
更に、請求項９及び１８記載の発明によれば、ノイズ検出時にのみＣＰＵに割り込みをかけ、補正処理を行うので、ノイズ検出のためのソフトウエア処理を更に削減することができる。
【図面の簡単な説明】
【図１】ＡＤ変換器を含むマイクロコンピュータの構成図である。
【図２】ＡＤ変換器の構成図である。
【図３】従来のマイクロコンピュータを用いたモータ制御回路図である。
【図４】ＡＤ変換とＣＰＵ演算処理のタイミング図である。
【図５】正常なアナログ入力信号波形図である。
【図６】ノイズを含んだアナログ入力信号波形図である。
【図７】従来のソフトウエア処理のフローチャート図である。
【図８】本発明の第１の実施の形態におけるＡＤ変換器の構成図である。
【図９】本発明の第１の実施の形態におけるアナログ入力信号波形図である。
【図１０】本発明の第１の実施の形態におけるＡＤ変換結果の波形図である。
【図１１】本発明の第１の実施の形態におけるソフトウエア処理のフローチャート図である。
【図１２】本発明の第２の実施の形態におけるＡＤ変換器の構成図である。
【図１３】本発明の第３の実施の形態におけるＡＤ変換器の構成図である。
【図１４】本発明の第３の実施の形態におけるソフトウエア処理のフローチャート図である。
【図１５】本発明の第２の実施の形態におけるＡＤ変換器の構成図である。
【図１６】本発明の第２の実施の形態におけるソフトウエア処理のフローチャート図である。
【図１７】ノイズ検出回路がＡＤ変換器とは別に実装されるマイクロコンピュータの構成図である。
【符号の説明】
１０Ａ              ＣＰＵ（処理手段）
ＡＩＮ              アナログ入力信号
８、１２、１３、
１５、１０Ｇ        ＡＤ変換器
１０Ｇａ            ＡＤ変換回路
１０Ｇｂ            変換バッファ（バッファ）
１００、２００、
３００、４００      ノイズ検出回路（ノイズ検出手段）
１００ａ            前回値バッファ
１００ｂ            差分演算回路（差分演算手段）
１００ｃ            比較器
１００ｄ            検出フラグ（ノイズ検出伝達手段）
１００ｅ            補正値バッファ（補正値記憶手段）
１００ｆ            加算回路
１００ｇ            レベル設定レジスタ（基準設定手段）
２００ａ            ＭＰＸ（マルチプレクサ）
３００ａ            変化量バッファ（差分記憶手段）
３００ｂ            変化量差分演算回路（差分変化量演算手段）
【図１】
2004227263.tif 000003
【図２】
2004227263.tif 000004
【図３】
2004227263.tif 000005
【図４】
2004227263.tif 000006
【図５】
2004227263.tif 000007
【図６】
2004227263.tif 000008
【図７】
2004227263.tif 000009
【図８】
2004227263.tif 000010
【図９】
2004227263.tif 000011
【図１０】
2004227263.tif 000012
【図１１】
2004227263.tif 000013
【図１２】
2004227263.tif 000014
【図１３】
2004227263.tif 000015
【図１４】
2004227263.tif 000016
【図１５】
2004227263.tif 000017
【図１６】
2004227263.tif 000018
【図１７】
2004227263.tif 000019