(57)【特許請求の範囲】
【請求項１】
アナログ入力信号をサンプリングするとともに、デジタル出力信号の上位ビットに対応してＤＡ変換を行う上位ＤＡＣと、
前記上位ＤＡＣのビットを拡張する拡張ビットに対応し、正負の極性へＤＡ変換を行う拡張ＤＡＣと、
前記デジタル出力信号の下位ビットに対応してＤＡ変換を行う下位ＤＡＣと、
前記上位ＤＡＣ、前記拡張ＤＡＣ及び前記下位ＤＡＣの出力電圧と比較基準電圧とを比較する比較器と、
前記比較器の比較結果に基づいて、前記上位ＤＡＣ、前記拡張ＤＡＣ及び前記下位ＤＡＣによる逐次比較を制御し、前記デジタル出力信号を生成する逐次比較論理回路と、
を備え、
前記上位ＤＡＣは、
前記アナログ入力信号の入力端子と第１及び第２の参照電圧の供給端子のいずれかと接続する上位スイッチ群と、
前記上位スイッチ群と前記比較器との間に接続され、２のべき乗の重み付けがされた容量を有する上位容量素子群とを備え、
前記拡張ＤＡＣは、
前記第１及び第２の参照電圧の供給ノードのいずれかと接続する拡張スイッチと、
前記拡張スイッチと前記比較器との間に接続され、前記上位容量素子群のいずれかの容量素子と同じ容量を有する拡張容量素子とを備え、
前記拡張ＤＡＣは、前記拡張容量素子として、正の極性を有する第１の拡張容量素子と、負の極性を有する第２の拡張容量素子とを備える、
ＡＤ変換器。
【請求項２】
前記アナログ入力信号の入力端子と前記下位ＤＡＣの出力端子のいずれかと接続する結合スイッチと、
前記結合スイッチと前記比較器との間に接続され、前記上位容量素子群の最下位の容量素子と同じ容量を有する結合容量素子とを備える、
請求項１に記載のＡＤ変換器。
【請求項３】
前記下位ＤＡＣは、
前記アナログ入力信号の入力端子と前記第１及び第２の参照電圧の供給端子のいずれかと接続する下位スイッチ群と、
前記下位スイッチ群と前記比較器との間に接続され、２のべき乗の重み付けがされた容量を有する下位容量素子群とを備え、
さらに、前記上位容量素子群及び前記拡張容量素子と前記下位容量素子群とを結合する結合容量素子を備える、
請求項１に記載のＡＤ変換器。
【請求項４】
前記上位ＤＡＣ、前記拡張ＤＡＣ及び前記下位ＤＡＣと差動回路を構成する第２の前記上位ＤＡＣ、第２の前記拡張ＤＡＣ及び第２の前記下位ＤＡＣを備える、
請求項１に記載のＡＤ変換器。
【請求項５】
前記比較器のオフセットをキャンセルするオフセットキャンセル回路を備える、
請求項１に記載のＡＤ変換器。
【請求項６】
前記オフセットキャンセル回路は、チョッピングスイッチを備えるチョッピング回路である、
請求項５に記載のＡＤ変換器。
【請求項７】
前記オフセットキャンセル回路は、アンプ回路の前段にオフセットを充電する容量を備えるオートゼロ回路である、
請求項５に記載のＡＤ変換器。
【請求項８】
前記オフセットキャンセル回路は、アンプ回路の後段にオフセットを充電する容量を備えるアウトプットオフセットストレージ回路である、
請求項５に記載のＡＤ変換器。
【請求項９】
アナログ入力信号をデジタル出力信号にＡＤ変換するＡＤ変換器と、
前記ＡＤ変換器の誤差を記憶する記憶部と、
前記記憶された誤差に基づいて、前記デジタル出力信号を補正する補正部と、
を備え、
前記ＡＤ変換器は、
前記アナログ入力信号をサンプリングするとともに、前記デジタル出力信号の上位ビットに対応してＤＡ変換を行う上位ＤＡＣと、
前記上位ＤＡＣのビットを拡張する拡張ビットに対応し、正負の極性へＤＡ変換を行う拡張ＤＡＣと、
前記デジタル出力信号の下位ビットに対応してＤＡ変換を行う下位ＤＡＣと、
前記上位ＤＡＣ、前記拡張ＤＡＣ及び前記下位ＤＡＣの出力電圧と比較基準電圧とを比較する比較器と、
前記比較器の比較結果に基づいて、前記上位ＤＡＣ、前記拡張ＤＡＣ及び前記下位ＤＡＣによる逐次比較を制御し、前記デジタル出力信号を生成する逐次比較論理回路と、
を備え、
前記上位ＤＡＣは、
前記アナログ入力信号の入力端子と第１及び第２の参照電圧の供給端子のいずれかと接続する上位スイッチ群と、
前記上位スイッチ群と前記比較器との間に接続され、２のべき乗の重み付けがされた容量を有する上位容量素子群とを備え、
前記拡張ＤＡＣは、
前記第１及び第２の参照電圧の供給ノードのいずれかと接続する拡張スイッチと、
前記拡張スイッチと前記比較器との間に接続され、前記上位容量素子群のいずれかの容量素子と同じ容量を有する拡張容量素子とを備え、
前記拡張ＤＡＣは、前記拡張容量素子として、正の極性を有する第１の拡張容量素子と、負の極性を有する第２の拡張容量素子とを備える、
ＡＤ変換装置。
【請求項１０】
前記上位ＤＡＣ及び前記拡張ＤＡＣは、前記上位容量素子群及び前記拡張容量素子を含む複数の容量素子を備える容量ＤＡＣであり、
前記誤差は、基準となる容量素子の容量に基づいた、前記複数の容量素子のそれぞれの容量の誤差である、
請求項９に記載のＡＤ変換装置。
【請求項１１】
前記上位ＤＡＣ及び前記拡張ＤＡＣは、前記上位容量素子群及び前記拡張容量素子を含む複数の容量素子を備える容量ＤＡＣであり、
前記誤差は、前記複数の容量素子の容量に基づいた、前記複数の容量素子のそれぞれの容量の誤差である、
請求項９に記載のＡＤ変換装置。
【請求項１２】
前記補正部は、
前記記憶された誤差を取得し、前記デジタル出力信号のビットに対応した補正値を計算する補正値計算部と、
前記デジタル出力信号から前記計算された補正値を減算する減算部と、
を備える、請求項９に記載のＡＤ変換装置。
【請求項１３】
前記補正部は、前記減算された信号のゲインを補正するゲイン補正部を備える、
請求項１２に記載のＡＤ変換装置。
【請求項１４】
前記補正部は、前記デジタル出力信号のビット毎に補正を行い、補正後の信号をビット毎に出力する、
請求項９に記載のＡＤ変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＤ変換器、ＡＤ変換装置及びＡＤ変換方法に関し、例えば、逐次比較を行うＡＤ変換器、ＡＤ変換装置及びＡＤ変換方法に関する。
【背景技術】
【０００２】
入力されるアナログ信号をデジタル信号に変換するＡＤＣ（Ａ／Ｄ  ｃｏｎｖｅｒｔｅｒ：アナログ／デジタル変換器）として、逐次比較（ＳＡＲ：Successive Approximation Register）型のＡＤＣ（ＳＡＲ−ＡＤＣ）が知られている。ＳＡＲ−ＡＤＣは、主に、ＤＡＣ（Ｄ／Ａ  ｃｏｎｖｅｒｔｅｒ：デジタル／アナログ変換器）、比較器、逐次比較論理回路等を備えている。ＳＡＲ−ＡＤＣは、入力されたアナログ信号をサンプル・ホールドして逐次比較動作を行うことによりＡＤ変換し、逐次比較結果のデジタル信号を出力する。関連する技術として、例えば、非特許文献１及び２、特許文献１〜５が知られている。
【０００３】
高精度のＳＡＲ−ＡＤＣで要求される精度を得るためには、内蔵されるＤＡＣを構成するアナログ素子（容量や抵抗）に高い比精度が必要となる。しかし、例えば１４ｂｉｔ以上のＡＤＣを実現しようとすると、アナログ素子の比精度（ペア精度）を確保するために必要な素子サイズが大きくなる。このため、関連するＡＤＣでは、素子面積を大きくすることによって、比精度を上げる必要があった。
【０００４】
一方、非特許文献１には、アナログ素子の比精度を上げるために、アナログ素子の誤差をキャリブレーションするＡＤＣが開示されている。非特許文献１、特許文献１及び５では、素子のミスマッチをデジタル値として求め、ＡＤ変換処理中にアナログでフィードバックする手法をとっている。
【０００５】
また、非特許文献２には、非二進（ノンバイナリ）重みの容量ＤＡＣとＬＭＳ（Least Mean Square）エンジンを利用したデジタル補正型のＡＤＣが開示されている。非特許文献２や特許文献２では、素子のミスマッチの結果をデジタル値として得ておき、ＡＤ変換後にデジタルで補正する手法とっている。特許文献２には、非特許文献１の技術を、冗長性を有するノンバイナリ重みのＤＡＣに応用したデジタル補正の例が記載されている。
【０００６】
その他、特許文献３及び４には、熱雑音を改善するＡＤＣが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−１６７４４９号公報
【特許文献２】特許３２２４８０８号公報
【特許文献３】特許４８０６０２１号公報
【特許文献４】特許４８９０５６１号公報
【特許文献５】特許５５６５１６９号公報
【非特許文献】
【０００８】
【非特許文献１】H.Lee et.al., "A Self-Calibrating 15bit CMOS A/D Converter", IEEE Solid State Circuits, vol.sc-19,No.6,Dec.,1984
【非特許文献２】Hideo Nakane et,al. "A Fully Integrated SAR ADC Using Digital Correction Technique for Triple-Mode Mobile", ASSCC, Session5-2 Nov. 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、関連するＡＤＣでは、精度を向上しようとすると処理速度に影響する恐れがあることを、本発明者は見出した。このため、関連するＡＤＣでは、高精度化を図りつつ、処理速度を向上することが困難であるという問題がある。
【００１０】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
一実施の形態によれば、ＡＤ変換器は、上位ＤＡＣ、拡張ＤＡＣ、下位ＤＡＣ、比較器及び逐次比較論理回路を備える。上位ＤＡＣは、アナログ入力信号をサンプリングするとともに、デジタル出力信号の上位ビットに対応してＤＡ変換を行う。拡張ＤＡＣは、上位ＤＡＣのビットを拡張する拡張ビットに対応し、正負の極性へＤＡ変換を行う。下位ＤＡＣは、デジタル出力信号の下位ビットに対応してＤＡ変換を行う。比較器は、上位ＤＡＣ、拡張ＤＡＣ及び下位ＤＡＣの出力電圧と比較基準電圧とを比較する。逐次比較論理回路は、比較器の比較結果に基づいて、上位ＤＡＣ、拡張ＤＡＣ及び下位ＤＡＣによる逐次比較を制御し、デジタル出力信号を生成する。
【発明の効果】
【００１２】
前記一実施の形態によれば、ＡＤ変換の高精度化を図りつつ、処理速度を向上することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係るＭＣＵの構成例を示す構成図である。
【図２Ａ】実施の形態１に係るＭＣＵの動作を説明するための図である。
【図２Ｂ】実施の形態１に係るＭＣＵの動作を説明するための図である。
【図２Ｃ】実施の形態１に係るＭＣＵの動作を説明するための図である。
【図２Ｄ】実施の形態１に係るＭＣＵの動作を説明するための図である。
【図３】実施の形態１に係るＡＤＣの構成例を示す構成図である。
【図４】実施の形態１に係るＡＤＣの他の構成例を示す構成図である。
【図５】実施の形態１に係るＡＤＣの動作を説明するための図である。
【図６Ａ】参考例のＡＤＣ内のＤＡＣの特性を示す特性図である。
【図６Ｂ】実施の形態１に係るＡＤＣ内のＤＡＣの特性を示す特性図である。
【図７Ａ】参考例のＡＤＣの逐次比較動作を示す図である。
【図７Ｂ】実施の形態１に係るＡＤＣの逐次比較動作を示す図である。
【図８】実施の形態１に係るコントローラの構成例を示す構成図である。
【図９】実施の形態１に係るコントローラの構成例を示す構成図である。
【図１０Ａ】実施の形態１に係るＡＤＣのキャリブレーション動作を示す図である。
【図１０Ｂ】実施の形態１に係るＡＤＣのキャリブレーション動作を示す図である。
【図１１Ａ】実施の形態１に係るＡＤＣのキャリブレーション動作を示す図である。
【図１１Ｂ】実施の形態１に係るＡＤＣのキャリブレーション動作を示す図である。
【図１２Ａ】実施の形態１に係るコントローラの構成例を示す構成図である。
【図１２Ｂ】実施の形態１に係るＡＤＣのＡＤ変換動作を示す図である。
【図１３】実施の形態２に係るＡＤＣの構成例を示す構成図である。
【図１４】実施の形態２に係るＡＤＣの他の構成例を示す構成図である。
【図１５】実施の形態２に係るＡＤＣの他の構成例を示す構成図である。
【図１６】実施の形態２に係るＡＤＣの他の構成例を示す構成図である。
【図１７】実施の形態３に係るＡＤＣの構成例を示す構成図である。
【図１８】実施の形態３に係るオフセットキャンセル回路の構成例を示す構成図である。
【図１９】実施の形態３に係るオフセットキャンセル回路の構成例を示す構成図である。
【発明を実施するための形態】
【００１４】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１５】
（実施の形態に至る検討）
上記のように、ＳＡＲ−ＡＤＣでキャリブレーションによる補正を行わずに比精度を高めるためには、アナログ素子の面積を大きくする必要がある。例えば、ＳＡＲ−ＡＤＣを構成するアナログ素子としては容量素子が使用されている。精度向上のために、容量素子の容量を大きくすると、素子の面積が大きくなるだけではなく、容量が大きくなることにより速度の低下や充放電による電力も大きくなるという問題が有る。このため、高精度化のトレードオフとして面積と電力、速度が犠牲となる。
【００１６】
一方、非特許文献１、特許文献１及び５に代表されるアナログ素子を補正する手法では、補正値を供するＤＡＣがＡＤ変換中に逐一動作する必要がある。このため、補正のためのＤＡＣの面積的な増加と、ＡＤ変換値を逐一補正コードに変換するために演算処理する必要があり、速度的なオーバヘッドを生じていた。
【００１７】
他方、非特許文献２のように、ＡＤ変換結果を用いて、ＡＤ変換後の後処理で誤差を補正する方法がある。この方法では、非二進の重みを有し冗長性のあるＤＡＣを使用している。例えば、比精度がＡＤＣで要求される精度を満たさなくても、この冗長性により、ＳＡＲ−ＡＤＣの最終変換結果のローカルＤＡＣの値がアナログ入力値相当の出力に整定されるという特徴を利用している。補正を後処理にすることで、通常のＡＤ変換時の回路構成や速度のオーバヘッドを解決することができる。しかし、この方法では、後処理の補正時に、複雑な統計的処理を行うＬＭＳエンジンを使用した補正係数導出等が必要である。このため、補正係数導出のための演算回路のゲート面積が大きくなることと、統計処理により長い補正時間が必要となる問題があった。
【００１８】
そこで、以下の実施の形態では、高精度化を図りつつ、処理速度等への影響を抑えることを可能とする。具体的には、ＤＡＣの設計を容易とし、簡単な演算のバイナリＤＡＣによりＡＤ変換できるＡＤＣを提供する。
【００１９】
（実施の形態１）
以下、図面を参照して実施の形態１について説明する。
【００２０】
＜実施の形態１の概要＞
本実施の形態では、２のべき乗の重み（バイナリ重み）をもつアナログ素子で構成されたローカルＤＡＣに、２のべき乗の重みをもつ冗長素子（拡張ＤＡＣ）を追加する。これにより、ローカルＤＡＣの出力範囲を拡張し、比較回数を増やすことで、追加した２のべき乗の重みの冗長性を有する逐次比較ＡＤＣを提供する。
【００２１】
２のべき乗の重みのＤＡＣ構成にすることで、非特許文献１と同様に素子の誤差補正係数の導出を行うことができる。しかし、本実施の形態では冗長性が有しているため、非特許文献１のように比較のたびにＤＡＣの誤差補正を行う必要はなく、最終変換結果のデジタルコードから、ＤＡＣの誤差分を差し引くことで正しい変換結果を得ることが可能となる。
【００２２】
これにより、比較の間に補正値のレジスタアクセスや演算処理が不要となり、変換速度の向上が可能となる。また、特徴として補正用の基準ＤＡＣ（補正対象のＤＡＣ）は下位ＤＡＣを兼ねており、補正用にＤＡＣを分けて備える必要がない。基準ＤＡＣの持つ誤差は独自の補正係数演算方法により補正することが可能である。
【００２３】
補正結果はレジスタに格納し、外部からもアクセス可能となる。レジスタを介してＦｌａｓｈ−ＲＯＭに転送し、保存することも可能となる。半導体装置の選別時、Ｆｌａｓｈ−ＲＯＭに補正結果を格納することで、半導体装置の起動時、レジスタに補正結果をロードし、補正係数導出を行わずにＡＤ変換動作を行うことが可能である。
【００２４】
例えば、本実施の形態の基本となる主な構成は、２のべき乗の重みを持つ素子からなるＤＡＣ、２のべき乗の重みを持つ正負の極性を有する拡張ＤＡＣ、補正基準となる下位ＤＡＣ、比較器、逐次比較論理、補正係数導出論理（キャリブレーションエンジン）、補正結果演算論理（補正値計算回路）、補正係数格納レジスタ、ＡＤＣ制御論理（コントローラ）である。
【００２５】
＜ＭＣＵの構成＞
図１は、本実施の形態に係るＭＣＵ（Micro Control Unit）の構成例を示している。なお、ＭＣＵは、半導体装置の一例であり、本実施の形態に係るＡＤＣを含む他の半導体装置であってもよい。
【００２６】
図１に示すように、本実施の形態に係るＭＣＵ１は、ＣＰＵ（Central Processing Unit）２、ＲＡＭ（Random Access Memory）３、Ｆｌａｓｈ−ＲＯＭ（Read Only Memory）４、Ｉ／Ｏポート（Ｉ／Ｏ  Ｐｏｒｔ）５、その他の周辺回路（Ｏｔｈｅｒ  Ｐｅｒｉｐｈｅｒａｌｓ）６、バス（Ｂｕｓ）７、アナログポート（Ａｎａｌｏｇ  Ｐｏｒｔ）１１、ＡＤＣ（ＡＤ変換器）１００、コントローラ（Ｃｏｎｔｒｏｌｌｅｒ）８、レジスタ（Ｒｅｇｉｓｔｅｒ）９、及びキャリブレーションエンジン（Ｃａｌｉｂｒａｔｉｏｎ  Ｅｎｇｉｎｅ）１０を備えている。
【００２７】
ＣＰＵ２、ＲＡＭ３、Ｆｌａｓｈ−ＲＯＭ４、Ｉ／Ｏポート５、周辺回路６、及びレジスタ９は、バス７を介して接続されている。ＡＤＣ１００は、入力端子がアナログポート１１に接続され、出力端子（及び制御端子）がコントローラ８に接続されている。コントローラ８は、さらに、キャリブレーションエンジン１０及びレジスタ９に接続されている。
【００２８】
ＣＰＵ２は、ＭＣＵ１で必要な機能を実現する演算処理部である。ＣＰＵ２は、ＲＡＭ３やＦｌａｓｈ−ＲＯＭ４にアクセスして各種プログラムを実行し、レジスタ９に格納されたＡＤＣ１００のＡＤ変換結果や、Ｉ／Ｏポートの入出力信号、周辺回路６の入出力信号に対し、演算処理を実行する。
【００２９】
例えば、ＡＤＣ１００、コントローラ８、レジスタ９、キャリブレーションエンジン１０は、ＡＤ変換及び補正（キャリブレーション）を行うＡＤ変換部（ＡＤ変換装置）１０１を構成する。ＡＤＣ１００、コントローラ（補正部）８、レジスタ９をＡＤ変換部１０１としてもよい。
【００３０】
ＡＤＣ１００は、本実施の形態の主要な特徴であるＡＤ変換器である。ＡＤＣ１００は、ＭＣＵ外部からアナログポート１１に入力されたアナログ入力信号をＡＤ変換し、ＡＤ変換結果であるデジタル出力信号を出力する。コントローラ８は、ＡＤＣ１００の動作や、キャリブレーションエンジン１０及びレジスタ９とのデータのやり取りを制御する制御回路である。コントローラ８からの制御に応じてＡＤＣ１００が動作し、補正前のＡＤ変換結果を出力する。コントローラ８は、ＡＤＣ１００のＡＤ変換結果に対し補正処理を実行する。
【００３１】
キャリブレーションエンジン１０は、ＡＤＣ１００のキャリブレーション動作（処理）を実行する。キャリブレーション動作は、ＡＤＣの誤差を補正するための動作であり、具体的にはＡＤＣのＡＤ変換結果を補正する補正係数を算出する。例えば、キャリブレーションエンジン１０からの信号はコントローラ８を介してＡＤＣ１００に伝達され、キャリブレーションに必要なＡＤＣ１００の動作を制御する。なお、コントローラ８を介さずに、キャリブレーションエンジン１０が直接ＡＤＣ１００を制御してもよい。
【００３２】
補正後のＡＤ変換結果もしくは補正に必要な補正係数はコントローラ８を介してレジスタ９に格納され、ＭＣＵ１の制御処理に活用される。補正係数はレジスタ９からＦｌａｓｈ−ＲＯＭ４に転送され、電源遮断後も値を保持することが可能となり、次のＭＣＵ起動時にＦｌａｓｈ−ＲＯＭ４から値をロードすることで、ＡＤＣ１００は補正計算（キャリブレーション）を省略し、直ちにＡＤ変換動作を開始することが可能となる。
【００３３】
＜補正係数の書き込み／読み出し動作＞
図２Ａ−図２Ｄは、本実施の形態に係るＭＣＵ１におけるＡＤＣ１００の補正係数の書き込み／読み出し動作を示している。本実施の形態では、ＡＤＣ１００の容量の誤差εを補正係数とし、Ｆｌａｓｈ−ＲＯＭ４を使用して補正係数の書き込み／読み出しを行う。例えば、ＭＣＵ１の製造工程における選別テスト時にキャリブレーションを行い、ＭＣＵ１の出荷後はキャリブレーションを行わずにＡＤ変換を行う。
【００３４】
図２Ａに示すように、選別テスト時にＭＣＵ１を起動すると、キャリブレーションエンジン１０がＡＤＣ１００のキャリブレーション処理を実行し、補正係数を導出する。キャリブレーションエンジン１０は、導出した補正係数をレジスタ９に転送して、レジスタ９に補正係数を格納する。続いて、図２Ｂに示すように、レジスタ９は補正係数をＦｌａｓｈ−ＲＯＭ４に書き込み、Ｆｌａｓｈ−ＲＯＭ４に補正係数を保存する。Ｆｌａｓｈ−ＲＯＭ４は不揮発性メモリであるため、ＭＣＵ１の電源を遮断しても補正係数の値を保持できる。
【００３５】
その後、図２Ｃに示すように、出荷後などでＭＣＵ１を起動すると、レジスタ９はＦｌａｓｈ−ＲＯＭ４から補正係数をロードし保持する。続いて、図２Ｄに示すように、ＡＤＣ１００がＡＤ変換を行うと、コントローラ８がレジスタ９にロードされた補正係数を取得し、取得した補正係数を使用してＡＤ変換結果に対し補正を実施する。
【００３６】
本実施の形態で求める誤差εは容量のミスマッチに起因するものであるため、電源電圧、温度等のドリフトが小さい。したがって、ＭＣＵの量産選別時に求めた補正係数（誤差ε）をＦｌａｓｈ−ＲＯＭに格納すれば、毎回ＭＣＵ起動時に補正係数の導出を実施しなくてもよく、起動時の補正係数導出時間を短縮することが可能となる。なお、使用環境の変化や経年劣化などにより誤差εが変動する場合には、ＭＣＵ１の出荷後の必要なタイミングでキャリブレーションを再度実行し補正係数を更新してもよい。
＜ＡＤＣの構成＞
【００３７】
図３は、本実施の形態に係るＡＤＣの構成例を示している。ＡＤＣ１００は、非特許文献１などと同様の電荷再配分型のＳＡＲ−ＡＤＣ（逐次比較型ＡＤＣ）である。この例では、ＡＤＣ１００は、ＡＤＣアナログ入力信号を（Ｎ＋Ｍ）ビットのデジタル出力信号（ＡＤＰＲＥ）にＡＤ変換する。
【００３８】
図３に示すように、本実施の形態に係るＡＤＣ１００は、ローカルＤＡＣ１１０、下位ＤＡＣ１２０、比較器１３０、逐次比較論理１４０を備えている。また、ローカルＤＡＣ１１０は、上位ＤＡＣ１１１と拡張ＤＡＣ１１２を含んでいる。
【００３９】
ローカルＤＡＣ１１０は、アナログ入力信号のサンプリングと、サンプリングされた電荷を再配分する容量ＤＡＣである。ローカルＤＡＣ１１０は、容量素子ＣＮ．．．ＣＮ、ＣＲＰ及びＣＲＮ、スイッチＳＮ．．．Ｓ０、ＳＲＰ及びＳＲＮを備えている。
【００４０】
容量素子ＣＮ．．．Ｃ０、ＣＲＰ及びＣＲＮは、スイッチＳＮ．．．Ｓ０、ＳＲＰ及びＳＲＮと、ノードＮＰ（比較器１３０の一方の入力端子）との間に、並列に接続されている。スイッチＳＮ．．．Ｓ１は、ＡＤＣアナログ入力信号の入力端子、参照電圧ＶＲＥＦ＿ＨＩＧＨの供給端子及び参照電圧ＶＲＥＦ＿ＬＯＷの供給端子と、容量素子ＣＮ．．．Ｃ１との間に接続されている。スイッチＳ０は、ＡＤＣアナログ入力信号の入力端子及び下位ＤＡＣ１２０の出力端子と、容量素子Ｃ０との間に接続されている。スイッチＳＲＰ及びＳＲＮは、参照電圧ＶＲＥＦ＿ＨＩＧＨの供給端子及び参照電圧ＶＲＥＦ＿ＬＯＷの供給端子と、容量素子ＣＲＰ及びＣＲＮとの間に接続されている。
【００４１】
スイッチＳＮ．．．Ｓ０、ＳＲＰ、ＳＲＮの切り替えは、逐次比較論理１４０の出力である逐次比較制御信号ＢＮ．．．Ｂ１、Ｂ０、ＢＲＰ、ＢＲＮで各々制御される。スイッチＳＮ．．．Ｓ１、ＳＲＰ、ＳＲＮは、逐次比較制御信号ＢＮ．．．Ｂ１、ＢＲＰ、ＢＲＮに応じて、参照電圧ＶＲＥＦ＿ＨＩＧＨ、参照電圧ＶＲＥＦ＿ＬＯＷ及びＡＤＣアナログ入力信号と、容量素子ＣＮ．．．Ｃ１、ＣＲＰ、ＣＲＮとの接続を切り替える。スイッチＳ０は、逐次比較制御信号Ｂ０に応じて、ＡＤＣアナログ入力信号及び下位ＤＡＣ１２０の出力信号と、容量素子Ｃ０との接続を切り替える。
【００４２】
下位ＤＡＣ１２０は、ＭビットのＤＡＣであり、逐次比較論理１４０の出力である逐次比較制御信号ＢＬＭ．．．ＢＬ０をＤＡ変換し、ＤＡ変換したアナログ信号を、スイッチＳ０を介して容量素子Ｃ０へ供給する。下位ＤＡＣ１２０（及び容量素子Ｃ０）は、デジタル出力信号の下位ビット（Ｍビット）に対応してＤＡ変換を行う。容量素子（結合容量素子）Ｃ０及びスイッチ（結合スイッチ）Ｓ０は、下位ＤＡＣ１２０に含まれてもよいし、含まれていなくてもよい。容量素子Ｃ０は、上位ＤＡＣの最下位ビットの容量素子と同じ容量である。
【００４３】
上位ＤＡＣ１１１は、Ｎ−ｂｉｔのＤＡＣであり、容量素子ＣＮ．．．Ｃ１（上位容量素子群）、スイッチＳＮ．．．Ｓ１（上位スイッチ群）を備えている。容量素子ＣＮ．．．Ｃ１は、基準の容量素子Ｃ０の２のべき乗の重みの容量を有している。容量素子ＣＮ．．．Ｃ０の容量を容量ＣＮ．．．Ｃ０（もしくは単にＣＮ．．．Ｃ０）とも称する。つまり、最も低いビット位置の容量素子Ｃ１の容量はＣ０であり、最も高いビット位置の容量素子ＣＮの容量は、２Ｎ−１×Ｃ０である。上位ＤＡＣ１１１は、逐次比較制御信号ＢＮ．．．Ｂ１に応じて、アナログ入力信号をサンプリングし、デジタル出力信号の上位ビット（Ｎビット）に対応してＤＡ変換を行う。
【００４４】
拡張ＤＡＣ１１２は、ＤＡＣ（例えば上位ＤＡＣのビット）に冗長性を持たせるための１ｂｉｔのＤＡＣであり、容量素子（拡張容量素子）ＣＲＰ及びＣＲＮ、スイッチ（拡張スイッチ）ＳＲＰ及びＳＲＮを備えている。容量素子ＣＲＰ及びＣＲＮは、上位ＤＡＣに対応して、基準の容量素子Ｃ０の２のべき乗の重みの容量を有している。すなわち、容量素子ＣＲＰ及びＣＲＮは、上位ＤＡＣのいずれかの容量素子と同じ容量であり、この例では、Ｃ０に設定されている。拡張ＤＡＣ１１２は正負の極性を有しており、容量素子ＣＲＰ及びＣＲＮがそれぞれ正負の極性を有する。正負の極性とは、ＤＡＣの入力または出力の正側及び負側を意味する。つまり、この例では、正側及び負側に１ｂｉｔ拡張していると言える。例えば、容量素子ＣＲＰは参照電圧ＶＲＥＦ＿ＬＯＷに接続され、容量素子ＣＲＮは参照電圧ＶＲＥＦ＿ＨＩＧＨに接続される。拡張ＤＡＣ１１２は、上位ＤＡＣ１１１のビットを拡張する拡張ビットに対応し、正負の極性へ（第１の電位及び第２の電位へ）ＤＡ変換を行う。
【００４５】
比較器１３０は、上位ＤＡＣ１１１、拡張ＤＡＣ１１２及び下位ＤＡＣ１２０の出力電圧と基準電圧Ｖｃｍ（比較基準電圧）とを比較する。比較器１３０は、一方の入力端子に容量素子ＣＮ．．．Ｃ０、ＣＲＰ及びＣＲＮが接続され、他方の入力端子に基準電圧Ｖｃｍが接続され、出力端子が逐次比較論理１４０に接続される。一方の入力端子（ノードＮＰ）と他方の入力端子（基準電圧Ｖｃｍ）との間にスイッチＳＣが接続されている。例えばスイッチＳＣのＯＮ／ＯＦＦはコントローラ８または逐次比較論理１４０により制御される。サンプリング動作時、スイッチＳＣがＯＮするため、比較器１３０は比較を行わず、逐次比較動作時、スイッチＳＣがＯＦＦとなるため、比較器１３０は、容量素子ＣＮ．．．Ｃ０、ＣＲＰ及びＣＲＮにより再配分された電荷と、基準電圧Ｖｃｍとを比較し、逐次比較論理１４０へ比較結果を出力する。
【００４６】
逐次比較論理（逐次比較論理回路）１４０は、比較器１３０の比較結果に基づいて、逐次比較制御信号ＢＮ．．．Ｂ１、Ｂ０、ＢＲＰ、ＢＲＮ、ＢＬＭ．．．ＢＬ０により逐次比較を制御する。逐次比較論理１４０は、逐次比較の結果により、デジタル出力信号である（Ｎ＋Ｍ）ビットの補正前のＡＤ変換結果ＡＤＰＲＥをコントローラ８に出力する。
【００４７】
本実施の形態では、一例として、図３のようにＡＤＣをシングルエンドで構成する例について説明するが、図４のようにＡＤＣを完全差動回路で実現してもよい。ＡＤＣを完全差動回路とすることで、ノイズを除去することができる。
【００４８】
図４では、ＡＤＣ１００にアナログ入力信号としての差動信号が入力される。ＡＤＣ１００は、完全差動回路の場合、アナログ入力信号（＋）とアナログ入力信号（−）に対応して、Ｐｏｓｉｔｉｖｅ側とＮｅｇａｔｉｖｅ側にそれぞれローカルＤＡＣ及び下位ＤＡＣを備えている。
【００４９】
すなわち、図４のＡＤＣ１００は、ローカルＤＡＣ１１０ａ、下位ＤＡＣ１２０ａ、ローカルＤＡＣ１１０ｂ、下位ＤＡＣ１２０ｂ、比較器１３０、逐次比較論理１４０を備えている。ローカルＤＡＣ１１０ａは、上位ＤＡＣ１１１ａと拡張ＤＡＣ１１２ａを含み、ローカルＤＡＣ１１０ｂは、上位ＤＡＣ１１１ｂと拡張ＤＡＣ１１２ｂを含んでいる。ローカルＤＡＣ１１０ａ及び下位ＤＡＣ１２０ａは、図３と同じ構成である。ローカルＤＡＣ１１０ｂ及び下位ＤＡＣ１２０ｂは、ローカルＤＡＣ１１０ａ及び下位ＤＡＣ１２０ａをＮｅｇａｔｉｖｅ用に単純に反転させた構成であるため、詳細な説明を省略する。
【００５０】
比較器１３０は、ローカルＤＡＣ１１０ａの容量素子ＣＮ．．．Ｃ０、ＣＲＰ及びＣＲＮの電荷（ノードＮＰ）と、ローカルＤＡＣ１１０ｂの容量素子ＣＮ．．．Ｃ０、ＣＲＰ及びＣＲＮの電荷（ノードＮＮ）とを比較し、逐次比較論理１４０へ比較結果を出力する。逐次比較論理１４０は、比較器１３０の比較結果に基づいて、逐次比較制御信号ＢＮ．．．Ｂ１、Ｂ０、ＢＲＰ、ＢＲＮ、ＢＬＭ．．．ＢＬ０によりローカルＤＡＣ１１０ａ及び下位ＤＡＣ１２０ａの逐次比較を制御し、逐次比較制御信号ＢＮ．．．Ｂ１、Ｂ０、ＢＲＰ、ＢＲＮ、ＢＬＭ．．．ＢＬ０の反転信号によりローカルＤＡＣ１１０ｂ及び下位ＤＡＣ１２０ｂの逐次比較を制御する。
【００５１】
なお、本実施の形態は、容量素子を使用した電荷再配分型のＳＡＲ−ＡＤＣに幅広く適用可能であり、図３や図４に示した容量ＤＡＣ、比較器、スイッチ等の構成に限定されるものではない。拡張ＤＡＣを上位ＤＡＣの最下位に設けているが、図３や図４の例に限定されるものではなく、任意のビットの位置に任意の冗長性を設けて配置してもよい。図３や図４では拡張ＤＡＣは冗長１回（１ビット）に合わせて配置しているが、冗長は任意に複数回挿入可能であり、また拡張ＤＡＣも複数個配置可能であり、図３や図４と同じ制御で同じ効果を得ることが可能である。
【００５２】
＜ＡＤ変換動作＞
次に、本実施の形態に係る動作として、補正係数が確定した状態（補正係数導出後）における通常のＡＤ変換動作について説明する。
【００５３】
ＡＤ変換を行う場合、まず、ＡＤＣ１００は、ＡＤＣアナログ入力信号をサンプリングする。図３は、サンプリング時のＡＤＣの状態を示している。図３に示すように、サンプリング時、逐次比較制御信号ＢＮ．．．Ｂ０の制御により、スイッチＳＮ．．．Ｓ０は、すべてアナログ入力側を選択する。また、スイッチＳＣはＯＮのため、容量素子ＣＮ．．．Ｃ０から比較器１３０に入力されるノードＮＰは、基準電圧Ｖｃｍに接続される。この時、拡張ＤＡＣ１１２の容量素子ＣＲＰ及びＣＲＮは、それぞれ参照電圧ＶＲＥＦ＿ＬＯＷ及びＶＲＥＦ＿ＨＩＧＨ側を選択する。
【００５４】
続いて、サンプリングが終了すると、ＡＤＣ１００は、逐次比較動作を行う。図５は、逐次比較開始時のＡＤＣの状態を示している。図５に示すように、サンプリングが終了すると、スイッチＳＣがＯＦＦとなり、ノードＮＰは、基準電圧Ｖｃｍから切り離される。そして、ＡＤＣ１００は逐次比較状態に遷移し、逐次比較論理１４０が逐次比較制御信号ＢＮ．．．Ｂ０、ＢＲＰ、ＢＲＮを初期比較コードに制御し、スイッチＳＮ．．．Ｓ０を初期比較コードに応じて切り替える。例えば、初期比較電圧を（ＶＲＥＦ＿ＨＩＨＧ−ＶＲＥＦ＿ＬＯＷ）／２から始める場合、図５に示すように、スイッチＳＮがＶＲＥＦ＿ＨＩＨＧ側、残りのスイッチＳＮ−１．．．Ｓ０はＶＲＥＦ＿ＬＯＷ側を選択する。この時はまだスイッチＳＲＰ、ＳＲＮはサンプリング時と同じ状態を維持する。
【００５５】
逐次比較論理１４０は、ノードＮＰの電圧が基準電圧Ｖｃｍと一致するように逐次比較制御信号ＢＮ．．．Ｂ０を順次制御し、比較器１３０がＮ回比較を行う。Ｎ回の比較後、比較器１３０の比較結果が（ノードＮＰの電圧＜基準電圧Ｖｃｍ）を検知した場合は逐次比較制御信号ＢＲＰを切り替えて、スイッチＳＲＰの選択をＶＲＥＦ＿ＬＯＷからＶＲＥＦ＿ＨＩＧＨに遷移させ、また、比較器１３０の比較結果が（ノードＮＰの電圧＞基準電圧Ｖｃｍ）を検知した場合は逐次比較制御信号Ｂ１を切り替えて、容量素子Ｃ１のスイッチＳ１を動かしＶＲＥＦ＿ＨＩＧＨからＶＲＥＦ＿ＬＯＷに遷移させ、もう一回比較を行う。この比較による変換が冗長変換となる。
【００５６】
上位ＤＡＣ１１１による逐次比較に続いて、容量素子Ｃ０に繋がる下位ＤＡＣ１２０による逐次比較を行う。この時、マイナス側にコード（逐次比較結果）が遷移する場合は逐次比較制御信号ＢＲＮを切り替えて、容量素子ＣＲＮに接続されるスイッチＳＲＮの選択をＶＲＥＦ＿ＨＩＧＨからＶＲＥＦ＿ＬＯＷに遷移させ、逐次比較制御信号ＢＬＭ．．．ＢＬ０により下位ＤＡＣ１２０の出力を（ＶＲＥＦ＿ＨＩＧＨ−ＶＲＥＦ＿ＬＯＷ）／２の値にする。逐次比較論理１４０は、逐次比較制御信号ＢＬＭ．．．ＢＬ０を順次制御し、比較器１３０がＭ回比較を行う。このように下位ＤＡＣ１２０を使用してＭ回の比較を行うと、Ｎ＋Ｍｂｉｔの補正前のＡＤ変換結果ＡＤＰＲＥが得られる。
【００５７】
この冗長逐次比較の変換結果は、以下のように表すことができる。逐次比較制御信号ＢＮ．．．Ｂ１のビットが１のときはＶＲＥＦ＿ＨＩＧＨ側、０のときはＶＲＥＦ＿ＬＯＷ側を選択とする。逐次比較制御信号ＢＲＰ及びＢＲＮのビットは比較時に動いた場合（切り替えた場合）に１、サンプリング状態を保持している場合に０とする。この時、ＡＤＣ１００による、補正前の逐次比較変換結果ＡＤＰＲＥは次の（式１）のようになる。
ADPRE=2(N-1+M)*BN+2(N-2+M)*B(N-1)+....+2(1+M)*B2+2M*B1+2M*BRP-2M*BRN+2(M-1)*BLM+...+20*BL1   ....(式1)
【００５８】
この（式１）より、コード（逐次比較結果）を導出する演算のための乗算は、すべてｂｉｔシフトにより代替えすることができる。このため、演算を行う逐次比較論理を加減算器のみで構成でき、簡易な回路構成とすることができる。
【００５９】
＜拡張ＤＡＣの特徴＞
次に、本実施の形態の特徴の一つである正負の極性を有する拡張ＤＡＣについて説明する。
【００６０】
参考例として、本実施の形態のような拡張ＤＡＣを備えない構成を検討すると、参考例のＤＡＣの特性は図６Ａのようになる。すなわち、図６Ａに示すように、拡張ＤＡＣがない場合、アナログ素子のミスマッチによってＤＡＣの出力が不連続になる場合がある。ＤＡＣのデジタルコードが遷移する部分で、ＤＡＣの出力が不連続になる場合、すなわち、アナログ電圧に対応するデジタルコードが無い場合、アナログ電圧をデジタルコードで表現できない。このため、このデジタルコードを補正することはできない。
【００６１】
これに対し、本実施の形態のように拡張ＤＡＣを導入すると、本実施の形態のＤＡＣの特性は図６Ｂのようになる。すなわち、図６Ｂに示すように、ＤＡＣの出力の不連続部分は、正負の極性の拡張ＤＡＣにより冗長となるため、オーバーラップする。このため、ＤＡＣのアナログ出力をデジタルコードで表現することが可能となる。
【００６２】
さらに、拡張ＤＡＣによる冗長変換を検討すると、正の極性へ動作する一つの拡張ＤＡＣのみで構成することも可能である。しかし、その場合は次のような問題が生ずる。
【００６３】
例えば、上位３ｂｉｔ（Ｎ＝３)、下位３ｂｉｔ（Ｍ＝３)のＡＤＣデジタルコードの遷移ケースを検討する。図７Ａに拡張ＤＡＣとして正側極性の容量素子ＣＲＰのみの参考例の場合を示し、図７Ｂに正負の極性を持つ容量素子ＣＲＰ及びＣＲＮの二組がある本実施の形態の場合を示し、両者を比較する。
【００６４】
図７Ａの参考例では、ローカルＤＡＣの容量Ｃ３に＋８ＬＳＢの誤差があり、アナログ入力信号＝（ＶＲＥＦ＿ＨＩＧＨ−ＶＲＥＦ＿ＬＯＷ）＊９／１６を入力する。この参考例では、拡張ＤＡＣが容量素子ＣＲＰのみであり、拡張ＤＡＣのコード（逐次比較制御信号）がＢＲＰのみであるため、デジタルコード＝（Ｂ３、Ｂ２、Ｂ１＿ＢＲＰ＿ＢＬ３、ＢＬ２、ＢＬ１）となる。このコードにより選択された容量と、アナログ入力信号が逐次比較される。
【００６５】
図７Ａに示すように、初期比較では、デジタルコード＝１００＿０＿０００として、アナログ入力信号と容量Ｃ３を比較する。この比較で、アナログ入力信号の方が大きいと判定されたため、２回目の比較では、デジタルコード＝１１０＿０＿０００として、アナログ入力信号と容量Ｃ２＋Ｃ３を比較し、３回目の比較では、デジタルコード＝１０１＿０＿０００として、アナログ入力信号と容量Ｃ１＋Ｃ３を比較し、４回目の比較では、デジタルコード＝１００＿０＿０００として、アナログ入力と容量Ｃ３を比較する。
【００６６】
冗長比較となる４回目から５回目の遷移でデジタルコードのＭＳＢのビットＢ３が変化する。すなわち、５回目の比較では、デジタルコード＝０１１＿０＿１００として、アナログ入力信号と容量Ｃ１＋Ｃ２＋Ｃ０／２を比較する。この比較で、アナログ入力信号の方が大きいと判定されたため、６回目の比較では、デジタルコード＝０１１＿０＿１１０として、アナログ入力信号と容量Ｃ１＋Ｃ２＋Ｃ０／２＋Ｃ０／４を比較し、７回目の比較では、デジタルコード＝０１１＿０＿１１１として、アナログ入力信号と容量Ｃ１＋Ｃ２＋Ｃ０／２＋Ｃ０／４＋Ｃ０／８を比較する。
【００６７】
この参考例では、Ｃ３−（Ｃ２＋Ｃ１＋Ｃ０）＝８ＬＳＢの誤差を考えているので、５回目から７回目の変換でこの時の誤差を回復することはできず、最終変換時のローカルＤＡＣの値は１．５ＬＳＢの誤差が残っていることがわかる。
【００６８】
次に、本実施の形態のように負極性の拡張ＤＡＣを導入した図７Ｂの例を考える。図７Ｂでも図７Ａと同様にローカルＤＡＣの誤差があり、同じアナログ入力信号を入力する。本実施の形態では、拡張ＤＡＣが容量素子ＣＲＰ及びＣＲＮであり、拡張ＤＡＣのコード（逐次比較制御信号）がＢＲＰ及びＢＲＮであるため、デジタルコード＝（Ｂ３、Ｂ２、Ｂ１＿ＢＲＰ、ＢＲＮ＿ＢＬ３、ＢＬ２、ＢＬ１）となる。このコードにより選択された容量と、アナログ入力信号が逐次比較される。初期比較から４回目の比較までは、図７Ａと同様である。
【００６９】
図７Ｂに示すように、５回目の比較では、デジタルコード＝１００＿０１＿１００として、アナログ入力信号と容量（Ｃ３−ＣＲＮ）＋Ｃ０／２を比較し、６回目の比較では、デジタルコード＝１００＿０１＿１１０として、アナログ入力信号と容量（Ｃ３−ＣＲＮ）＋Ｃ０／２＋Ｃ０／４を比較し、７回目の比較では、デジタルコード＝１００＿０１＿１１１として、アナログ入力信号と容量（Ｃ３−ＣＲＮ）＋Ｃ０／２＋Ｃ０／４＋Ｃ０／８を比較する。
【００７０】
このように、本実施の形態では、４回目の冗長比較から５回目に遷移する際に負側の拡張ＤＡＣのＣＲＮが動作し、ビットＢ３を変化させずに遷移させることを可能としている。これにより最終比較時のローカルＤＡＣの出力値は、アナログ入力信号との差が０．５ＬＳＢ以内に遷移し、正しい変換結果を得ることができる。以上の考察より、本実施の形態では、拡張ＤＡＣに正負極性を取り入れることで、上位ＤＡＣの誤差を回復し、デジタル補正が可能なローカルＤＡＣの遷移を実現している。
【００７１】
＜ＡＤ変換後の誤差補正動作＞
次に、本実施の形態に係るコントローラにおける、ＡＤ変換結果の誤差補正動作について説明する。まず、基準となる容量素子からの容量の誤差をεとし、各々の容量素子の誤差を次のような式で表す。
ε(N) = CNi - CN              ....(式2.1)
ε(N-1) =C(N-1)i -C(N-1)      ....(式2.2)
...
ε2 = C2i - C2                ....(式2.3)
ε1 = C1i - C1                ....(式2.4)
ε0 = C0i - C0                ....(式2.5)
εRP = CRPi - CRP             ....(式2.6)
εRN = CRNi - CRN             ....(式2.7)
【００７２】
ここで、ＣＮｉ，Ｃ（Ｎ-１）ｉ．．．Ｃ２ｉ，Ｃ１ｉ，Ｃ０ｉ，ＣＲＰｉ，ＣＲＮｉは、それぞれ理想の容量値である。理想の容量値の基準としては、サンプリングに寄与する合計（フルスケール）の容量値から考えられる理想値と、補正の基準の容量値のからの差分など様々なケースが考えられる。本実施の形態では、この二通りの基準をもとに補正することが可能であり、詳細は後述する。
【００７３】
図８は、本実施の形態に係るコントローラの構成例におけるＡＤ変換結果の信号の流れを示している。コントローラ８は、レジスタ９に格納されている各々の容量の誤差ε（εＮ．．．ε０、εＲＰ、εＲＮ）の値を読みだし、補正前のＡＤ変換結果ＡＤＰＲＥから、コード（ＡＤＰＲＥ）に応じた誤差εの値を差し引くことで、補正後ＡＤ変換結果ＡＤＯＵＴを得る。図８に示すように、コントローラ８は、誤差値を計算する誤差補正値計算回路８１と、ＡＤ変換結果から誤差値を減算する減算器８２を備えている。
【００７４】
補正後のＡＤ変換結果ＡＤＯＵＴは以下のように求められる。なお、以下の式では、下位ＤＡＣは補正対象に含まれていないが当然に含めることも可能である。
【００７５】
まず、誤差補正値計算回路８１は、レジスタ９から誤差εを読み出し、次の式によりコードに応じた誤差補正値ＡＤＥＲＲを計算する。
ADERR=εN*BN+ε(N-1)*B(N-1)+....+ε2 *B2+ε1*B1+εRP*BRP-εRN*BRN+ε0*(BLSB) ....(式3)
【００７６】
ここで、（式３）のＢＬＳＢは、下位ＤＡＣのコードに応じた信号である。ＢＬＳＢについては、補正方法により値が異なるため、詳細は後述する。
【００７７】
その後、減算器８２は、次の式のように補正前のＡＤ変換結果ＡＤＰＲＥから誤差補正値ＡＤＥＲＲを差し引き、補正後ＡＤ変換結果ＡＤＯＵＴを得る。減算器８２は、得られた補正後のＡＤ変換結果ＡＤＯＵＴをレジスタ９へ出力する。
ADOUT = ADPRE - ADERR  ....(式4)
【００７８】
＜キャリブレーション時の誤差算出方法＞
次に、本実施の形態に係るキャリブレーションエンジンにおける、誤差εの算出方法について説明する。誤差εの算出方法の基本は非特許文献１と同様である。本実施の形態では、ローカルＤＡＣが、２のべき乗の重み付けを有する容量で構成されているため、各容量は次の関係を持つ。
CN = C(N-1)+...+C2+C1+C0      ....(式5.1)
C(N-1) = C(N-2)+...+C2+C1+C0  ....(式5.2)
....
C3 = C2+C1+C0                 ....(式5.3)
C2 = C1+C0                    ....(式5.4)
C1 = C0                       ....(式5.5)
C0 = CRP                      ....(式5.6)
C0 = CRN                      ....(式5.7)
【００７９】
上記関係を利用し、まず各容量の差分を求める。容量の差分をＥとすると次のように表すことができる。
EN = CN - {C(N-1)+...+C2+C1+C0}            ....(式6.1)
E(N-1) = C(N-1) - {C(N-2)+...+C2+C1+C0}    ....(式6.2)
....
E3 = C3 - {C2+C1+C0}                       ....(式6.3)
E2 = C2 - (C1+C0}                          ....(式6.4)
E1 = C1 - C0                               ....(式6.5)
ERP = CRP - C0                             ....(式6.6)
ERN = CRN - C0                             ....(式6.7)
【００８０】
そうすると、上記の式は次のように容量Ｃ０に対する誤差として変形することができる。
C2 - 2C0 = E1 + E2                   ....(式7.1)
C3 - 4C0 = 2E1 + E2 + E3             ....(式7.2)
C4 - 8C0 = 4E1 + 2E2 + E3 + E4       ....(式7.3)
....
CN - 2(N-1)*C0 = 2(N-2)E1+2(N-3)E2+2(N-4)E3+...+2(N-(N-1))E(N-2)+2(N-N)E(N-1)+EN
= 2(N-2)E1+2(N-3)E2+2(N-4)E3+...+2E(N-2)+E(N-1)+EN  ....(式7.4)
【００８１】
次に、上記の式を用いて誤差εを求める２つの方法について説明する。
【００８２】
（方法１）容量Ｃ０を基準として誤差εを求める。
この方法では、容量Ｃ０を基準として、容量Ｃ０との差分から誤差εを求める。この場合、誤差εは上記（式７．１〜７．４）より簡単に求まる。よって、容量Ｃ０基準の誤差εを次の式で求めることができる。
ε1 = C0 - C1 = -E1                        ....(式8.1)
ε2 = 2C0 - C2 = -(E1 + E2)                ....(式8.2)
ε3 = 4C0 - C3 = -(2E1 + E2 + E3)          ....(式8.3)
ε4 = 8C0 - C4 = -(4E1 + 2E2 + E3 + E4)    ....(式8.4)
....
εN = 2(N-1)*C0 - CN = -(2(N-2)E1+2(N-3)E2+2(N-4)E3+...+2E(N-2)+E(N-1)+EN)....(式8.5)
εRP = C0 - CRP = -ERP                     ....(式8.6)
εRN = C0 - CRN = -ERN                     ....(式8.7)
【００８３】
キャリブレーションエンジン１０は、この（式８．１〜８．７）より誤差εを求めてレジスタ９に格納する。その後、コントローラ８は、図８で説明したように、誤差εを用いてＡＤ変換結果ＡＤＰＲＥを補正する。この場合、コントローラ８は、（式３）を次のように変形して補正を行う。容量Ｃ０を基準とするため、（式３）のε０の項が０となる。
ADERR=εN*BN+ε(N-1)*B(N-1)+....+ε2 *B2+ε1*B1+εRP*BRP-εRN*BRN  ....(式9)
【００８４】
本方式の問題としては、容量Ｃ０を基準として誤差εを求めるため、容量ＣＮの誤差値が概ね２Ｎ−１倍され大きくなる問題がある。つまり、この大きな誤差は補正後のＡＤ変換結果ＡＤＯＵＴのゲインエラーとして表れることとなる。これを回避するためには、図９のように、コントローラ８に、補正後の変換結果のゲインを補正するゲイン補正回路８３を追加する必要がある。ゲイン補正回路８３は、レジスタ９から得られるゲインエラーに応じて、ＡＤ変換結果を補正し、補正後のＡＤ変換結果ＡＤＯＵＴを出力する。ここで、ゲインエラーをＧＥＲＲとすると、補正後のＡＤ変換結果ＡＤＯＵＴは次のように求められる。
ADOUT = (1/GERR)(ADPRE - ADERR)   ....(式10)
【００８５】
（方法２）フルスケールの容量を基準として誤差εを求める。
上記のように、容量Ｃ０を基準として誤差εを求めるとゲイン補正のための回路が必要となる。そこで、あらかじめフルスケール（全ての容量素子）の容量を基準として誤差εを求めることで、ゲイン補正を不要にする計算方法について説明する。サンプリングに寄与する全体の容量値をＣｔｏｔとすると、Ｃｔｏｔは次の式で表され、このＣｔｏｔを基準に誤差εを求める。
Ctot = CN + C(N-1) + .... + C3 + C1 + C0    ....(式11)
【００８６】
容量Ｃｔｏｔは、（式６．１〜６．７）及び式（７．１〜７．４）を次のように変形することにより、容量Ｃ０をもとに求めることができる。
Ctot = 2N*C0+2(N-1)E1+2(N-2)E2+2(N-3)E3+...+2(N-(N-2))E(N-2)+2(N-(N-1))E(N-1)+EN
= 2N*C0+2(N-1)E1+2(N-2)E2+2(N-3)E3+...+4E(N-2)+2E(N-1)+EN   ....(式12)
【００８７】
よって、この式から、容量Ｃｔｏｔ基準の誤差εを次の式で求めることができる。
ε0 = Ctot/2N - C0                 ....(式13.1)
ε1 = Ctot/2N - C1
= Ctot/2N - (C0 + E1)          ....(式13.2)
εRP = Ctot/2N - CRP               ....(式13.3)
εRN = Ctot/2N - CRN               ....(式13.4)
ε2 = Ctot/2(N-1) - C2               ....(式13.5)
ε3 = Ctot/2(N-2) - C3               ....(式13.6)
....
ε(N-1) = Ctot/22 - C(N-1)         ....(式13.7)
εN = Ctot/2 - CN                  ....(式13.8)
この式を計算すると、（式１２）と（式１３．１〜１３．８）に含まれるＣ０の項が消えて、εはすべてＥで表すことができる。
【００８８】
キャリブレーションエンジン１０は、この（式１３）より誤差εを求めてレジスタ９に格納する。その後、コントローラ８は、図８の構成により、誤差εを用いてゲイン補正せずにＡＤ変換結果を補正する。この場合、（式３）を変更する必要はないため、コントローラ８は（式３）をそのまま用いて補正を行う。この時、（式３）のＢＬＳＢは、下位ＤＡＣのコードに合わせて下記のように表される。
BLSB= {2(M-1)*BLM+2(M-2)*BL(M-1)+...+20*BL1}/2M     ....(式14)
【００８９】
ここで、本実施の形態に係るＡＤＣにおいて、誤差εを求める際は、下位ＤＡＣを基準として（式６．１〜６．７）の値を求めて（式１３．１〜１３．８）の値を得る。この時、ε０が大きい場合は、（式１３．１〜１３．８）で求めた値にはε０により発生するゲインエラーの影響が残る。より精度良く求めるためには、この誤差を補正する必要がある。この時のゲインエラーを補正する係数ＧＣＡＬは次のように求められる。
GCAL = (2M - ε0)/2M       ....(式15)
【００９０】
そうすると、次の式のように、（式１３．１〜１３．８）にこの係数ＧＣＡＬを乗算することで真の誤差値を求めることができる。
ε0 = GCAL{Ctot/2N - C0}                    ....(式16.1)
ε1 = GCAL{Ctot/2N - C1}            ....(式16.2)
εRP = GCAL{Ctot/2N - CRP}          ....(式16.3)
εRN = GCAL{Ctot/2N - CRN}                  ....(式16.4)
ε2 = GCAL{Ctot/2(N-1) - C2}          ....(式16.5)
ε3 = GCAL{Ctot/2(N-2) - C3}          ....(式16.6)
....
ε(N-1) = GCAL{Ctot/22 - C(N-1)}            ....(式16.7)
εN = GCAL{Ctot/2 - CN}             ....(式16.8)
【００９１】
ここで、係数ＧＣＡＬはε０を使用するため（式１６．１）の計算には矛盾が生じる。この解決法としては、最初は（式１５）のε０の計算は誤差を含む（式１３．１）の値を用いて、（式１５）で係数ＧＣＡＬを計算し、そして（式１６．１）でε０を求め、その値を再度（式１５）に入力し係数ＧＣＡＬの値を更新し、さらに（式１６．１）を計算しε０の値を更新するということを複数回繰り返し、再帰的にε０を求めることで解決することが可能である。
【００９２】
フルスケール基準で求めた誤差εで補正することで、ゲインエラーが無くなるように誤差補正されるため、補正後のゲイン補正は不要となる。
【００９３】
＜キャリブレーション時のＡＤＣの動作＞
次に、誤差εを求める時のＡＤＣ１００の動作について説明する。誤差導出時のＡＤＣ１００のＤＡＣの動作の基本は非特許文献１と同様である。補正係数導出では、ＡＤＣ１００（もしくはキャリブレーションエンジン）は（式６．１〜６．７）の値を求めるのみである。ここでは、容量ＣＮの補正係数導出を例に説明する。
【００９４】
図１０Ａに、誤差導出する際のＡＤＣ１００のサンプリング時の状態を示す。図１０Ａに示すように、被誤差導出容量素子（誤差を導出する対象の容量素子）ＣＮのみをＶＲＥＦ＿ＨＩＧＨに接続し、その他の容量素子をＶＲＥＦ＿ＬＯＷに接続する。容量素子Ｃ０に接続する下位ＤＡＣ１２０もＶＲＥＦ＿ＬＯＷを出力するコードに設定する。この時にサンプリングされる電荷量Ｑｓｍｐは次のようになる。
Qsmp=CN(Vcm - VREF_HIGH)+(C(N-1)+...+C2+C1+C0)(Vcm - VREF_LOW)   ....(式17)
【００９５】
次に、逐次比較に遷移する際に、初期比較コードを図１０Ｂのように遷移する。容量素子Ｃ０に接続する下位ＤＡＣ１２０も初めにＶＲＥＦ＿ＨＩＧＨを出力するコードに設定する。この時の初期比較時の電荷Ｑｃｏｎｖ＿１は次のようになる。なおノードＮＰの電圧をＶＮＰとする。
Qconv_1=CN(VNP - VREF_LOW) - (C(N-1)+...+C2+C1+C0)(VNP - VREF_HIGH)  ....(式18)
【００９６】
ここで、（式６．１）で表される誤差ＥＮがＥＮ＝０、つまり誤差がない場合はＶｃｍ＝ＶＮＰの関係となり、サンプリング時と比較時の電荷はＱｓｍｐ＝Ｑｃｏｎｖ＿１の関係を持つこととなる。
【００９７】
実際はＥＮ≠０であるので、Ｖｃｍ≠ＶＮＰとなる。この時、逐次比較論理を動かし、下位ＤＡＣを動作させ、Ｖｃｍ＝ＶＮＰとなるコードを二分探索する。この時探索したコードと初期比較時のコードの差分が誤差ＥＮに相当する。
【００９８】
このようにすべての容量に対して同様の制御をすることで（式６．１〜６．７）で表される誤差ＥＮ．．．Ｅ１を求めることができ、ここから補正で使用する誤差εを求めることが可能となる。この誤差の計算は雑音の影響等が見えなくなるように複数回値を求め平均化処理を行い、値を求める。
【００９９】
この誤差計算で問題となるのは比較器１３０のオフセットである。このオフセットをキャンセルする方法を示す。容量ＣＮの誤差導出を例にすると、（式１７）及び（式１８）から求まる誤差をＥＮ１、比較器１３０のオフセット起因の変換誤差をＥｏｓとすると次の式で表される。
EN1 = EN + Eos       ....(式19)
【０１００】
次にサンプリング時と逐次比較時で充電する電圧を入れ替える。図１１Ａに示すように、被誤差導出容量素子ＣＮのみをＶＲＥＦ＿ＬＯＷに接続し、その他の容量素子をＶＲＥＦ＿ＨＩＧＨに接続する。容量素子Ｃ０に接続する下位ＤＡＣもＶＲＥＦ＿ＨＩＧＨを出力するコードに設定する。この時にサンプリングされる電荷量Ｑｓｍｐ２は次のようになる。
Qsmp2=CN(Vcm - VREF_LOW)+(C(N-1)+...+C2+C1+C0)(Vcm - VREF_HIGH)  ....(式20)
【０１０１】
次に、逐次比較に遷移する際に、初期比較コードを図１１Ｂのように遷移する。容量素子Ｃ０に接続する下位ＤＡＣ１２０も初めにＶＲＥＦ＿ＬＯＷを出力するコードに設定する。この時の初期比較時の電荷Ｑｃｏｎｖ_２は次のようになる。
Qconv_2=CN(VNP - VREF_HIGH) - (C(N-1)+...+C2+C1+C0)(VNP - VREF_LOW)  ....(式21)
【０１０２】
この時に求まる誤差値をＥＮ２とすると、ＥＮ２は下位ＤＡＣがＶＲＥＦ＿ＬＯＷに対する差分として求まる。コードを反転しているので誤差ＥＮは極性が反転するが、比較器１３０のオフセット起因の誤差の極性は変わらない。つまり次のような式で表される。
EN2 = -EN + Eos   ....(式22)
【０１０３】
よって、（式１９）から（式２１）を引くことで比較器１３０のオフセットの影響がない誤差値を求めることが可能となる。
EN1 - EN2 = 2EN     ....(式23)
【０１０４】
なお、複数回変換を繰り返し求めることを前述しているが、偶数回、奇数回でコードを入れ替え、（式２３）を積算及び平均化することで高精度に誤差値を求めることが可能である。
【０１０５】
＜補正演算処理をＡＤ変換の逐次比較中に実施する方法＞
上記のように、ＡＤ変換後の補正処理は変換終了後に実施される。しかし、単純にＡＤ変換終了後に補正を行うと、ＡＤ変換時間に補正時間が加算されるため、処理時間（処理速度）のオーバヘッドとなる。（式３）から補正係数である誤差εは容量毎、つまりＢｉｔ毎に１対１に対応付けられたデータであることがわかる。また、逐次比較ＡＤＣは上位ｂｉｔからコードが確定していき、本実施の形態では冗長変換をしても上位コードが変動しないことが特徴である。このため、下位ビットのＡＤ変換を待たずに、上位ビットからＦＩＦＯ（First In First Out）的に逐一補正処理を実施することが可能である。これにより、ＡＤ変換の逐次比較中に補正処理も終了するため、補正処理によるＡＤ変換時間のオーバヘッドを無くすことが可能となる。演算処理は一例としてＡＤＯＵＴとＡＤＥＲＲを差し引き積算回路で変換毎に加算していけば、最終変換結果がＡＤＯＵＴとなる。
【０１０６】
図１２Ａは、この場合のコントローラ８の構成例を示しており、図１２Ｂは、この動作例を示している。図１２Ａに示すように、コントローラ８は、乗算器８４、減算器８５、加算器８６、ラッチ回路８７を備えている。乗算器８４は、補正前のＡＤ変換時の比較器結果に誤差補正値ＡＤＥＲＲを乗算し、加算器８６は、ラッチ回路８７の出力結果を積算し、ラッチ回路８７は、クロックＣＬＫにしたがって加算器８６の加算結果を出力する。減算器８５は、ラッチ回路８７の出力結果を補正前のＡＤ変換結果ＡＤＰＲＥから減算し、その出力が補正後のＡＤ変換結果ＡＤＯＵＴとなる。
【０１０７】
図１２Ｂに示すように、ＡＤＣ１００は、サンプリング時間Ｔｓｍｐと比較時間（逐次比較時間）Ｔｃｍｐを含むＡＤ変換時間が繰り返しＡＤ変換を行う。ＡＤＣ１００は、サンプリングが終わり、逐次比較が開始されると、上位ビットから順に比較結果を出力する。コントローラ８は、図１２Ｂの構成により、比較結果の１ビットごとに、誤差補正値ＡＤＥＲＲを乗算し、比較毎に積算していく。最終ｂｉｔ比較後に補正前のＡＤ変換結果ＡＤＰＲＥから減算しＡＤ変換結果ＡＤＯＵＴを出力する。
＜実施の形態１の効果＞
【０１０８】
本実施の形態の効果として、まず、補正係数を求めて逐次比較ＡＤＣのローカルＤＡＣの誤差を補正することにより、小さい素子で高精度なＡＤＣを得ることが可能となる。
【０１０９】
ＤＡＣに冗長性を持たせることで、ポスト処理による補正を実施することが可能となるため、逐次比較処理でのオーバヘッドがなくなり、比較時間を向上させることが可能となる。また、２のべき乗の重みをベースとした演算とすることにより、演算規模の削減を可能とする。特に、本実施の形態では、正負の極性の拡張ＤＡＣを備えることにより、高精度かつ処理速度の向上を可能にすることができる。
【０１１０】
例えば、ノンバイナリ、代表的な数字で１．８５という重みを考えると、１．８５ｎの演算処理のたびに乗除算器が必要となる。一方バイナリの場合、計算で２ｎを扱うときは、単純なｂｉｔシフトで処理が可能であり、乗除算器を使わずとも、加減算器のみで補正論理を構成可能であり、面積と電力の削減が可能となる。
【０１１１】
（実施の形態２）
本実施の形態では、縦続結合容量による下位ＤＡＣを使用したＡＤＣの例について説明する。主に下位ＤＡＣ以外の構成については、実施の形態１と同様である。
【０１１２】
図１３は、本実施の形態に係るＡＤＣの構成例を示している。図１３に示すように、本実施の形態に係るＡＤＣ１００は、ローカルＤＡＣ１１０、下位ＤＡＣ１２０、比較器１３０、逐次比較論理１４０を備えており、下位ＤＡＣ１２０の構成が実施の形態１と相違している。本実施の形態の下位ＤＡＣ１２０は容量素子ＣＬＭ〜ＣＬ０による容量ＤＡＣで構成されており、スイッチＳＬＭ〜ＳＬ０の逐次比較制御を、制御信号ＢＬＭ〜ＢＬ０を使用して実施する。容量素子ＣＬＭ〜ＣＬ０は、２のべき乗の重みづけを有している。この下位ＤＡＣ１２０とローカルＤＡＣ１１０を接続するための容量が縦続結合容量Ｃ０となる。この構成の下位ＤＡＣ１２０を、縦続結合容量を使用したＤＡＣ構成と呼ぶ。
【０１１３】
容量素子Ｃ０は、容量素子ＣＮ〜Ｃ１、ＣＲＰ及びＣＲＮの共通ノードに接続されている。容量素子ＣＬＭ〜ＣＬ０は、スイッチＳＬＭ〜ＳＬ０と、容量素子Ｃ０との間に、並列に接続されている。スイッチＳＬＭ〜ＳＬ０は、ＡＤＣアナログ入力信号の入力端子、参照電圧ＶＲＥＦ＿ＨＩＧＨの供給端子及び参照電圧ＶＲＥＦ＿ＬＯＷの供給端子と、容量素子ＣＬＭ〜ＣＬ０との間に接続されている。スイッチＳＣ２は、容量素子Ｃ０及び容量素子ＣＬＭ〜ＣＬ０の共通ノードと基準電圧との間に接続されている。また、この例では、容量素子Ｃ１と容量素子ＣＲＰの間のノードが比較器１３０の一方の入力端子（ノードＮＰ）に接続されている。
【０１１４】
ここで、容量素子Ｃ０を介して容量素子ＣＬＭ〜ＣＬ１の容量のスイッチ切り替えにより移動する電荷量を求めた伝達関数をγとすると、容量素子ＣＬＭの電荷移動量ＱＣＬＭは次のように表すことができる。
|QCLM| = γCLM×|VREF_HIGH - VREF_LOW|=γ2M-1CL0×|VREF_HIGH - VREF_LOW|   ....(式24)
【０１１５】
ここで理想的な伝達関数γをγｉとすると、γｉは次のように表すことができる。
【数１】
0006703814.tif 000002
【０１１６】
しかしながら、図１３の構成では、実際には容量素子ＣＲＰと容量素子ＣＬＭ．．．ＣＬ２，ＣＬ１，ＣＬ０の間のノードＮＰ２には寄生容量Ｃｐが付加される。寄生容量を付加すると伝達関数γは次のように変形される。ここで寄生容量Ｃｐは次の関係を持つものとする。ここでαは任意の正の数である。
Cp = αCL0     ....(式26)
【数２】
0006703814.tif 000003
【０１１７】
よって、伝達関数γは寄生容量の影響を受けるため、αを考慮しないと正しい伝達関数が求まらないことがわかる。しかしながら、この寄生容量は配線寄生容量やスイッチの寄生容量等であり、ＤＡＣ本体の容量素子と別のデバイスであることから、高精度に比を取ることが難しい。このため、ＡＤＣを構成する下位ＤＡＣとしてスイッチングを高速に行うことが可能である縦続結合容量を用いた回路とすることが難しかった。
【０１１８】
そこで、本実施の形態のデジタル補正法を用いることで、縦続結合容量を用いた下位ＤＡＣの寄生容量による誤差を補正することが可能となる。図１３の例の場合、冗長性を持たせるために容量素子ＣＲＰを通してノードＮＰに伝わる伝達関数γを次のように設定する。
γ2MC0/C1≧ 1     ....(式28)
【０１１９】
伝達関数γが１以上であれば、上位ＤＡＣ１１１の基準容量Ｃ１より大きい電荷量を、下位ＤＡＣ１２０が移動できるので、冗長性を持たせることが可能となる。それゆえ、縦続結合容量構成のＤＡＣによって、ＤＡＣの不連続はなくなるため、デジタル補正が可能になる。ここで、容量のキャリブレーションを実施の形態１と同じように実施することで、同様の効果が得られることは明らかである。
【０１２０】
なお、実施の形態１と同様、図１４のように、図１３のＡＤＣを完全差動構成で実現してもよい。図１４の例では、実施の形態１の図４と同様に、ローカルＤＡＣ１１０ａ、下位ＤＡＣ１２０ａ、ローカルＤＡＣ１１０ｂ、下位ＤＡＣ１２０ｂ、比較器１３０、逐次比較論理１４０を備えており、下位ＤＡＣ１２０ａ及び下位ＤＡＣ１２０ｂが、図１３と同様に縦続結合容量Ｃ０により結合されている。
【０１２１】
上記のように、図１３に縦続結合容量構成の下位ＤＡＣを使用した構成を示し、この構成では（式２８）から冗長性を有することを説明した。冗長性に着目すると、拡張ＤＡＣを縦続結合容量の構成に組み込むことも可能である。
【０１２２】
図１５に、縦続結合容量構成の下位ＤＡＣを用いたもう一つの構成例を示す。図１５の例では、図１３の拡張ＤＡＣ１１２を容量素子Ｃ０と結合させて容量素子ＣＲＰを廃止し、さらに容量素子ＣＲＮも縦続結合容量構成とした。下位ＤＡＣ１２０と拡張ＤＡＣ１１２を組み合わせた構成となっているため、例えば、容量素子Ｃ０，容量素子Ｃ０に接続するＣＬＭ〜ＣＬ２，ＣＬ１、ＣＬ０、それらのスイッチＳＬ（Ｍ＋１）〜ＳＬ１、ＣＬ０、容量素子ＣＲＮ及びＣＲＮＬが下位ＤＡＣとなる。また、容量素子ＣＲＮ及びＣＲＮＬ、スイッチＳＬＮを拡張ＤＡＣ１１２と呼び、容量素子ＣＬＭ〜ＣＬ０、スイッチＳＬ（Ｍ＋１）〜ＳＬ０を下位ＤＡＣと呼んでもよい。
【０１２３】
容量素子Ｃ０は、容量素子ＣＮ〜Ｃ１の共通ノードに接続されている。容量素子ＣＬＭ〜ＣＬ０は、スイッチＳＬ（Ｍ＋１）〜ＳＬ０と、容量素子Ｃ０との間に、並列に接続されている。スイッチＳＬ（Ｍ＋１）〜ＳＬ０は、ＡＤＣアナログ入力信号の入力端子、参照電圧ＶＲＥＦ＿ＨＩＧＨの供給端子及び参照電圧ＶＲＥＦ＿ＬＯＷの供給端子と、容量素子ＣＬＭ〜ＣＬ０との間に接続されている。スイッチＳＣ２は、容量素子Ｃ０及び容量素子ＣＬＭ〜ＣＬ０の共通ノードと基準電圧との間に接続されている。
【０１２４】
さらに、容量素子ＣＲＮは、容量素子ＣＮ〜Ｃ１の共通ノードに接続されている。容量素子ＣＲＮＬは、スイッチＳＬＮと容量素子ＣＲＮの間に接続されている。スイッチＳＬＮは、参照電圧ＶＲＥＦ＿ＨＩＧＨの供給端子及び参照電圧ＶＲＥＦ＿ＬＯＷの供給端子と、容量素子ＣＲＮＬとの間に接続されている。スイッチＳＣ３は、容量素子ＣＲＮ及びＣＲＮＬの共通ノードと基準電圧との間に接続されている。また、この例では、容量素子Ｃ１と容量素子Ｃ０及びＣＲＮとの間のノードが比較器１３０の一方の入力端子（ノードＮＰ）に接続されている。
【０１２５】
ここで、容量素子Ｃ０を介して容量素子ＣＬＭ〜ＣＬ１の容量のスイッチ切り替えにより移動する電荷量を求めた伝達関数をγとすると、次のように、容量ＣＬＭの電荷移動量ＱＣＬＭも（式２４）と同様に表すことができる。
|QCLM| = γCLM×|VREF_HIGH - VREF_LOW|=γ2M-1×|VREF_HIGH - VREF_LOW|  ....(式29)
【０１２６】
ここで理想的な伝達関数γであるγiも（式２５）と同じとなり、ノードＮＰ２に接続される寄生容量との関係もαを使用して（式２７）と同じとなる。また、伝達関数γは、（式２８）と同じ制約がある。
【０１２７】
伝達関数γは大きな値を持つほど、冗長性が大きくなる。例えば、γ２ＭＣ０／Ｃ１＝２の時は、上位ＤＡＣ１１１の容量Ｃ０分の冗長性を持つこととなるが、下位ＤＡＣ１２０の分解能も１ｂｉｔ落ちることとなる。負極性側の拡張ＤＡＣも容量Ｃ０と同様に構成しても良い。容量素子ＣＲＮを伝達してノードＮＰに伝わる伝達関数をγ'とすると、ＤＡＣ出力のアナログ値の連続性を担保するために次の関係を持つ必要がある。
γ≧γ'   ....(式30)
【０１２８】
補正係数である誤差εの計算は、実施の形態１と同様の方法で求めることができる。実施の形態１の容量Ｃ０を次のように置き換えて考えればよい。
C0 ⇒ 2MγCL0     ....(式31)
CRN ⇒ 2Mγ'CL0   ....(式32)
【０１２９】
この時、実施の形態１の容量の誤差値の導出は次のように変更される。例えば（式１）で表される補正前逐次比較変換結果ＡＤＰＲＥはＢＲＰの項が無くなり、次のようになる。
ADPRE=2(N-1+M)*BN+2(N-2+M)*B(N-1)+....+2(1+M)*B2+2M*B1-2M*BRN+2(M-1)*BLM+...+20*BL1 .....(式33)
【０１３０】
同様に誤差補正値ＡＤＥＲＲは次のように表すことができる。
ADERR=εN*BN+ε(N-1)*B(N-1)+....+ε2 *B2+ε1*B1-εRN*BRN+ε0*(BLSB) ....(式34)
【０１３１】
容量Ｃ０基準の誤差εを求めると、実施の形態１と同様に（式８．１〜８．５、８．７）で表すことができる。なお、εRPの項は必要ないため実施の形態１と相違する。
ε1 = C0 - C1 = -E1                        ....(式8.1)
ε2 = 2C0 - C2 = -(E1 + E2)                ....(式8.2)
ε3 = 4C0 - C3 = -(2E1 + E2 + E3)          ....(式8.3)
ε4 = 8C0 - C4 = -(4E1 + 2E2 + E3 + E4)    ....(式8.4)
....
εN = 2(N-1)*C0 - CN = -(2(N-2)E1+2(N-3)E2+2(N-4)E3+...+2E(N-2)+E(N-1)+EN)....(式8.5)
εRN = C0 - CRN = -ERN                     ....(式8.7)
【０１３２】
以上の式より誤差εを求めてレジスタ９に格納し、図８の回路でＡＤ変換結果の補正をすることが可能となる。この時、（式３４)を次のように変形する。
ADERR=εN*BN+ε(N-1)*B(N-1)+....+ε2 *B2+ε1*B1-εRN*BRN  ....(式35)
【０１３３】
また、フルスケール基準で誤差を計算する場合は実施の形態１と同様に計算できる。誤差補正値ＡＤＥＲＲは（式３４）と同じとなる。この場合、εRPが必要ないだけであり、（式１３．３）と（式１６．３）の計算が不要になる。
【０１３４】
なお、実施の形態１及び図１４と同様、図１６のように、図１５のＡＤＣを完全差動構成で実現してもよい。図１６の例では、図１４と同様に、ローカルＤＡＣ１１０ａ、下位ＤＡＣ１２０ａ、ローカルＤＡＣ１１０ｂ、下位ＤＡＣ１２０ｂ、比較器１３０、逐次比較論理１４０を備えており、下位ＤＡＣ１２０ａ及び下位ＤＡＣ１２０ｂが、図１５と同様に拡張ＤＡＣと結合されている。
【０１３５】
以上のように、実施の形態１のＡＤＣを、縦続結合容量構成を用いて構成した場合でも、実施の形態１と同様に、高精度かつ処理速度の向上を可能とすることができる。なお、図１３〜１６の例は縦続結合容量構成を用いたＡＤＣの一例であり、拡張ＤＡＣの配置や回路構成は他の実施の形態と同様に変更することが可能である。
【０１３６】
（実施の形態３）
本実施の形態では、誤差導入時の比較器のオフセットキャンセルの構成例について説明する。オフセットキャンセル以外の構成については、実施の形態１及び２と同様である。
【０１３７】
図１７は、比較器のオフセットキャンセル回路としてチョッピング回路を用いた例である。例えば、誤差導入時の比較器のオフセットキャンセルは図１７に示したチョッピング回路を用いることでも実現可能である。偶数回、奇数回でそれぞれチョッピングスイッチにより入力と出力の極性を入れ替えることでオフセットを相殺することが可能である。
【０１３８】
図１７の例では、オフセットキャンセル回路として、チョッピングスイッチ１３１、乗算器１３２を備えている。チョッピングスイッチ１３１は、スイッチ１３１ａ〜１３１ｄを備えている。チョッピングスイッチ１３１のスイッチ１３１ａ〜１３１ｄを切り替えることで、比較器１３０の２つの入力端子とノードＮＰ及び基準電圧との接続を切り替え、切り替えに応じて乗算器１３２で極性を反転させる。
【０１３９】
図１８は、比較器のオフセットキャンセル回路としてオートゼロ回路を用いた例である。図１８に示すように、例えば、オフセットキャンセル回路として、プリアンプ１３３、プリアンプの前段の容量素子１３４、スイッチＳＣ１及びＳＣ２を備えている。サンプリング時、スイッチＳＣ１及びＳＣ２をＯＮし、オフセットを容量素子１３４にチャージする。逐次比較時、スイッチＳＣ１及びＳＣ２をＯＦＦし、比較器１３０がプリアンプ１３３を介して、容量素子１３４の電圧を含めて比較することでオフセットを補正する。
【０１４０】
図１９は、比較器のオフセットキャンセル回路としてアウトプットオフセットストレージ回路を用いた例である。図１９に示すように、例えば、オフセットキャンセル回路として、プリアンプ１３３、プリアンプの後段の容量素子１３４及び１３５、スイッチＳＣ１及びＳＣ２を備えている。サンプリング時、スイッチＳＣ１及びＳＣ２をＯＮし、オフセットを容量素子１３４及び１３５にチャージする。逐次比較時、スイッチＳＣ１及びＳＣ２をＯＦＦし、比較器１３０がプリアンプ１３３を介して、容量素子１３４及び１３５の電圧を含めて比較することでオフセットを補正する。
【０１４１】
このように、実施の形態１及び２の構成に対して、比較器のオフセットキャンセル回路を備えることで、比較器のオフセットを低減することができるため、さらにＡＤ変換の精度を向上することができる。
【０１４２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０１４３】
１      ＭＣＵ
２      ＣＰＵ
３      ＲＡＭ
４      Ｆｌａｓｈ−ＲＯＭ
５      Ｉ／Ｏポート
６      周辺回路
７      バス
８      コントローラ
９      レジスタ
１０    キャリブレーションエンジン
１１    アナログポート
８１    誤差補正値計算回路
８２    減算器
８３    ゲイン補正回路
８４    乗算器
８５    減算器
８６    加算器
８７    ラッチ回路
１００  ＡＤ変換器
１１０  ローカルＤＡＣ
１１１  上位ＤＡＣ
１１２  拡張ＤＡＣ
１２０  下位ＤＡＣ
１３０  比較器
１３１  チョッピングスイッチ
１３２  乗算器
１３３  プリアンプ
１３４、１３５  容量素子
１４０  逐次比較論理
Ｃ０〜ＣＮ、ＣＲＰ、ＣＲＮ  容量素子
ＣＬ０〜ＣＬＭ、ＣＲＮＬ  容量素子
Ｓ０〜ＳＮ、ＳＲＰ、ＳＲＮ  スイッチ
ＳＬ０〜ＳＬＭ、ＳＬＮ  スイッチ
ＳＣ、ＳＣ２、ＳＣ３      スイッチ
【図１】
0006703814.tif 000004
【図２Ａ】
0006703814.tif 000005
【図２Ｂ】
0006703814.tif 000006
【図２Ｃ】
0006703814.tif 000007
【図２Ｄ】
0006703814.tif 000008
【図３】
0006703814.tif 000009
【図４】
0006703814.tif 000010
【図５】
0006703814.tif 000011
【図６Ａ】
0006703814.tif 000012
【図６Ｂ】
0006703814.tif 000013
【図７Ａ】
0006703814.tif 000014
【図７Ｂ】
0006703814.tif 000015
【図８】
0006703814.tif 000016
【図９】
0006703814.tif 000017
【図１０Ａ】
0006703814.tif 000018
【図１０Ｂ】
0006703814.tif 000019
【図１１Ａ】
0006703814.tif 000020
【図１１Ｂ】
0006703814.tif 000021
【図１２Ａ】
0006703814.tif 000022
【図１２Ｂ】
0006703814.tif 000023
【図１３】
0006703814.tif 000024
【図１４】
0006703814.tif 000025
【図１５】
0006703814.tif 000026
【図１６】
0006703814.tif 000027
【図１７】
0006703814.tif 000028
【図１８】
0006703814.tif 000029
【図１９】
0006703814.tif 000030