以下、本発明のADコンバータ、及び、電子装置を適用した実施の形態について説明する。
<実施の形態1>
図1は、実施の形態1のADコンバータ100を含む携帯電話端末機500を示す図であり、(A)は斜視透視図、(B)は携帯電話端末機500に含まれる基板504を示す図である。
図1(A)に示すように、携帯電話端末機500の筐体501の外面には、表示部502及び操作部503が設けられており、筐体501の内部には、破線で示す基板504が収納されている。
ここで、携帯電話端末機500は電子装置の一例であり、基板504は、回路基板の一例である。
筐体501は、樹脂製又は金属製の筐体であり、表示部502及び操作部503を設置するための開口部を有する。表示部502は、例えば、文字、数字、画像等を表示できる液晶パネルであればよい。また、操作部503は、テンキーに加え、携帯電話端末機500の機能を選択するための種々の選択キーを含む。なお、携帯電話端末機500は、近接通信装置(赤外線通信装置、電子マネー用の通信装置等)又はカメラ等の付属装置を含んでもよい。
また、図1(B)に示す基板504は、例えばFR4(ガラス布基材エポキシ樹脂基板)であり、表面504Aには銅箔をパターニングすることにより配線部505が形成されている。配線部505は、電子機器の駆動に必要な各種信号の伝送経路となるものである。配線部505は、例えば、レジストを用いたエッチング処理によってパターニングされている。
なお、図1(B)には、基板504の表面に形成される配線部505を示すが、基板504は複数の配線部を有する積層基板であり、内層に電源用の配線部を含む。
基板504には、携帯電話端末機500で通話等の通信を行うために必要なアンテナ511、RF通信部512、ADコンバータ100、ベースバンド処理部513、及びCPU(Central Processing Unit)チップ514が実装されている。
アンテナ511、RF通信部512、ADコンバータ100、ベースバンド処理部513、及びCPUチップ514は、例えば、半田ボールによって配線部505に接続されることにより、基板504に実装されている。
アンテナ511で受信された通話用の信号は、RF通信部512でフィルタ処理等が行われた後に、ADコンバータ100でデジタル信号に変換される。ADコンバータ100から出力されるデジタル信号は、ベースバンド処理部513でベースバンド処理が行われた後に、CPUチップ514を介して、図示しないスピーカから音声として出力される。
基板504として用いるFR4は、一般に、複数の絶縁層を積層し、各絶縁層の間(層間)、積層構造の最上面、及び積層構造の最下面にパターニングされた銅箔を有する。
また、基板504は、配線部505を形成でき、回路を搭載することのできる誘電体製の基板であれば、FR4以外の基板であってもよい。
また、配線部505は、電力損失が小さく、導電率が高い金属であれば銅(Cu)以外の金属(例えば、アルミニウム(Al)等)であってもよい。
なお、図1には、電子装置の一例として携帯電話端末機500を示したが、電子装置は、携帯電話端末機500に限定されず、例えば、スマートフォンの端末機、地上デジタルテレビ放送用のチューナー等の通信を行う装置であってもよい。また、電子装置は、PC(Personal Computer)又はサーバ等であってもよい。
図2は、実施の形態1のADコンバータ100を示す図である。
ADコンバータ100は、DAC(Digital to Analog Converter)110、加算器111、コンパレータ120、補助コンパレータ130、140、SAR(Successive Approximation Resister:逐次比較型)制御部150、閾値制御部160、及び出力補正部170を含む。
なお、以下では、特に断らない限り、ADコンバータ100をシングルエンド型の構成で示すが、ADコンバータ100は差動型であってもよい。
DAC110は、所定のビット数分のキャパシタと、加算器111とを有する。DAC110は、キャパシタで保持するデジタル信号をアナログ変換して得るアナログ信号を出力する。DAC110は、DA変換部の一例である。
加算器111には、キャパシタで保持するデジタル信号をアナログ変換して得る信号と、ADコンバータ100の入力電圧Vinとが入力される。加算器111は、DAC110の出力から入力電圧Vinを減算して得る信号を出力する。ここでは、加算器111の出力をDAC110の残差信号として表す。
なお、ここでは、DAC110が加算器111を含み、加算器111に入力電圧Vinが入力され、加算器111の出力をDAC110の残差信号として取り扱う形態について説明する。しかしながら、加算器111を含まずに、入力電圧Vinをコンパレータ120と補助コンパレータ130、140の比較基準電圧として、コンパレータ120と補助コンパレータ130、140にDAC110が出力するアナログ信号を入力しても、ADコンバータ100の動作は同様である。この場合は、DAC110は残差信号を出力するのではなく、アナログ信号を出力することになる。
コンパレータ120は、DAC110から出力される残差信号を入力電圧Vinと比較し、比較結果を表す二値信号(デジタル信号)をSAR制御部150に入力する。
コンパレータ120が出力するデジタル信号は、DAC110に含まれる各ビットの変換値を表す。コンパレータ120としては、例えば、ADC(Analog to Digital Converter)を用いることができる。
コンパレータ120は、補助コンパレータ130、140に対して、メインのコンパレータとして機能する。コンパレータ120は、メイン比較部の一例である。コンパレータ120と、補助コンパレータ130、140との関係については後述する。
補助コンパレータ130、140は、コンパレータ120と同様に、DAC110から出力される残差信号を所定の基準レベル(ここではVin)と比較し、比較結果を表す二値信号(デジタル信号)をSAR制御部150に入力する。補助コンパレータ130、140は、サブ比較部の一例である。また、補助コンパレータ130は、第1サブ比較部の一例であり、補助コンパレータ140は、第2サブ比較部の一例である。
補助コンパレータ130、140が出力するデジタル信号は、DAC110に含まれる各ビットの変換値を表す。補助コンパレータ130、140としては、例えば、ADC(Analog to Digital Converter)を用いることができる。
補助コンパレータ130は、コンパレータ120に対して、DAC110の量子化単位(Least Significant Bit:LSB)未満(すなわち、1LSB未満)の負のオフセットを有する。実施の形態1では、コンパレータ120に対する補助コンパレータ130のオフセットは、−0.5LSBとする。
また、補助コンパレータ140は、コンパレータ120に対して、DAC110の量子化単位未満(すなわち、1LSB未満)の正のオフセットを有する。実施の形態1では、コンパレータ120に対する補助コンパレータ140のオフセットは、+0.5LSBとする。
SAR制御部150は、内部にレジスタを有し、コンパレータ120から入力されるデジタル信号をレジスタで保持するとともに、DAC110に入力する。また、SAR制御部150は、コンパレータ120から入力されるデジタル信号によって構築されるデジタル信号Doutを出力する。SAR制御部150は、逐次制御部の一例である。
また、SAR制御部150には、補助コンパレータ130、140の判定結果を表すデジタル信号(二値信号)も入力される。
閾値制御部160は、SAR制御部150の内部のコントロールロジック150Aから入力される補助コンパレータ130、140の判定結果を表すデジタル信号に基づいて閾値制御信号を生成し、閾値制御信号を用いて補助コンパレータ130、140の閾値を制御する。補助コンパレータ130、140の閾値は、コンパレータ120の閾値に対してオフセットしている。このため、閾値制御部160は、オフセット制御部の一例である。
閾値制御部160は、補助コンパレータ130、140のデジタル信号をカウントするためのカウンタを含む。なお、閾値制御部160による閾値の制御については後述する。
出力補正部170は、SAR制御部150から入力される各ビットの誤差を用いて、SAR制御部150から出力されるデジタル信号Doutを補正し、デジタル信号Dout_cを出力する。SAR制御部150から入力される各ビットの誤差は、補助コンパレータ130又は140が出力するデジタル信号から得られる誤差のDNL(Differential Non Linearity error:微分非直線性誤差)から求めた値である。出力補正部170によるデジタル信号Doutの補正については図12を用いて後述する。
ADコンバータ100は、DAC110の上位ビットから1ビットずつ順番に変換値を決定しながら残差をゼロに漸近させ、コンパレータ120で変換値を決定し、決定した変換値をSAR制御部150で1ビットずつ保持し、次のビットの変換値を決めるために、確定した変換値をDAC110に入力する。
このような動作をDAC110の所定のビット数分繰り返し行うことにより、所定のビット数分の変換値が決定する。例えば、所定のビット数が4ビットであれば、上述の変換値を決定するための動作が4回繰り返され、4ビットの変換値が決定する。
図3は、実施の形態1のADコンバータ100を示す図である。図3では、DAC110の詳細な内部構成を示す。なお、DAC110以外は、図2に示すADコンバータ100と同様である。ここでは、DAC110が4ビットであり、コンパレータ120が出力するデジタル信号Doutは、デジタル信号DU3、DU2、DU1、DU0の4ビットのデジタル信号によって構築されることとする。
DAC110は、4ビットの容量DACであり、16個のキャパシタCを有する。16個のキャパシタCは、DAC110の出力部110Aに対して互いに並列に接続されており、すべて同一の静電容量を有する。なお、図3には、図2に示す加算器111を含ませた状態のDAC110の構成を示す。
16個のキャパシタCは、バイナリウェイト方式で重み付けされており、8つのキャパシタC(8C)、4つのキャパシタC(4C)、2つのキャパシタC(2C)、1つのキャパシタC、1つのキャパシタCの合計5つのグループに分けられている。
図3では、回路構成を見やすくするために、最上位ビットの8つのキャパシタCを8Cと表記して一つのキャパシタの記号で表し、その1ビット下位の4つのキャパシタCを4Cと表記して一つのキャパシタの記号で表すとともに、さらに1ビット下位の2つのキャパシタCを2Cと表記して一つのキャパシタの記号で表す。
最上位ビットのキャパシタ8Cの一端(図3中の下側の端子)は、スイッチφ3に接続されている。スイッチφ3は、キャパシタ8Cの一端に接続されている。また、キャパシタ8Cの他端(図3中の上側の端子)は、出力部110Aに接続されている。
スイッチφ3は、キャパシタ8Cの一端の接続先を3つの端子から選択して接続するスイッチである。スイッチφ3は、基準電圧+Vrの端子、入力電圧Vinの端子、又は、基準電圧−Vrの端子の3つの端子のうちのいずれか1つにキャパシタ8Cを接続する。
スイッチφ3は、キャパシタ8Cに入力電圧Vinを入力する際には、入力電圧Vinの端子を選択する。また、スイッチφ3は、デジタル信号DU3の値を決定するためのDA変換を行う際には、基準電圧+Vrの端子を選択する。
また、スイッチφ3は、コンパレータ120の判定結果であるデジタル信号DU3の値に応じて、基準電圧+Vrの端子、又は、基準電圧−Vrの端子を選択的に接続する。
デジタル信号DU3が"0"である場合は、SAR制御部150は、スイッチφ3を基準電圧+Vrの端子に接続し、デジタル信号DU3が"1"である場合は、SAR制御部150は、スイッチφ3を基準電圧−Vrの端子に接続する。
なお、キャパシタ8Cとして表す8つの互いに並列に接続されたキャパシタCの各々に対して、スイッチφ3が接続される。
最上位ビットから2ビット目に位置するキャパシタ4Cには、一端(図3中の下側の端子)にスイッチφ2が接続されている。スイッチφ2は、キャパシタ4Cの一端に接続されている。また、キャパシタ4Cの他端(図3中の上側の端子)は、出力部110Aに接続されている。
スイッチφ2は、キャパシタ4Cの一端の接続先を3つの端子のいずれかに接続するスイッチである。スイッチφ2は、基準電圧+Vrの端子、入力電圧Vinの端子、又は、基準電圧−Vrの端子の3つの端子のうちのいずれか1つにキャパシタ4Cを接続する。
スイッチφ2は、キャパシタ4Cに入力電圧Vinを入力する際には、入力電圧Vinの端子を選択する。また、スイッチφ2は、デジタル信号DU2の値を決定するためのDA変換を行う際には、基準電圧+Vrの端子を選択する。
また、スイッチφ2は、コンパレータ120の判定結果であるデジタル信号DU2の値に応じて、基準電圧+Vrの端子、又は、基準電圧−Vrの端子を選択的に接続する。
デジタル信号DU2が"0"である場合は、SAR制御部150は、スイッチφ2を基準電圧+Vrの端子に接続し、デジタル信号DU2が"1"である場合は、SAR制御部150は、スイッチφ2を基準電圧−Vrの端子に接続する。
なお、キャパシタ4Cとして表す4つの互いに並列に接続されたキャパシタCの各々に対して、スイッチφ2が接続される。
最上位ビットから3ビット目に位置するキャパシタ2Cには、一端(図3中の下側の端子)にスイッチφ1が接続されている。スイッチφ1は、キャパシタ2Cの一端に接続されている。また、キャパシタ2Cの他端(図3中の上側の端子)は、出力部110Aに接続されている。
スイッチφ1は、キャパシタ2Cの一端の接続先を3つの端子から選択して接続するスイッチである。スイッチφ1は、基準電圧+Vrの端子、入力電圧Vinの端子、又は、基準電圧−Vrの端子の3つの端子のうちのいずれか1つを選択してキャパシタ2Cに接続する。
スイッチφ1は、キャパシタ2Cに入力電圧Vinを入力する際には、入力電圧Vinの端子を選択する。また、スイッチφ1は、デジタル信号DU1の値を決定するためのDA変換を行う際には、基準電圧+Vrの端子を選択する。
また、スイッチφ1は、コンパレータ120の判定結果であるデジタル信号DU1の値に応じて、基準電圧+Vrの端子、又は、基準電圧−Vrの端子を選択的に接続する。
デジタル信号DU1が"0"である場合は、SAR制御部150は、スイッチφ1を基準電圧+Vrの端子に接続し、デジタル信号DU1が"1"である場合は、SAR制御部150は、スイッチφ1を基準電圧−Vrの端子に接続する。
なお、キャパシタ2Cとして表す2つの互いに並列に接続されたキャパシタCの各々に対して、スイッチφ1が接続される。
最下位ビット(最上位ビットから4ビット目)に位置するキャパシタ1Cには、一端(図3中の下側の端子)にスイッチφ0が接続されている。スイッチφ0は、キャパシタ1Cの一端に接続されている。また、キャパシタ1Cの他端(図3中の上側の端子)は、出力部110Aに接続されている。
スイッチφ0は、キャパシタ1Cの一端の接続先を3つの端子から選択して接続するスイッチである。スイッチφ0は、基準電圧+Vrの端子、入力電圧Vinの端子、又は、基準電圧−Vrの端子の3つの端子のうちのいずれか1つを選択してキャパシタ1Cに接続する。
スイッチφ0は、キャパシタ1Cに入力電圧Vinを入力する際には、入力電圧Vinの端子を選択する。また、スイッチφ0は、デジタル信号DU0の値を決定するためのDA変換を行う際には、基準電圧+Vrの端子を選択する。
また、スイッチφ0は、コンパレータ120の判定結果であるデジタル信号DU0の値に応じて、基準電圧+Vrの端子、又は、基準電圧−Vrの端子を選択的に接続する。
デジタル信号DU0が"0"である場合は、SAR制御部150は、スイッチφ0を基準電圧+Vrの端子に接続し、デジタル信号DU0が"1"である場合は、SAR制御部150は、スイッチφ0を基準電圧−Vrの端子に接続する。
図3に符号110Bで示すキャパシタCは、最下位ビットに位置するキャパシタCと同様に、1つのキャパシタCである。符号110Bで示すキャパシタCの一端(図3中の下側の端子)は接地されている。また、キャパシタCの他端(図3中の上側の端子)は、出力部110Aに接続されている。
ここで、上述したように、16個のキャパシタCは、4ビットのバイナリウェイト方式で配列されている。
符号110Bで示すキャパシタCは、16個のキャパシタCから、最上位の8つのキャパシタ8C、最上位から2ビット目の4つのキャパシタ4C、最上位から3ビット目の2つのキャパシタ2C、及び最下位の1つのキャパシタCの合計15個のキャパシタCを除いて1つ余るキャパシタCである。
符号110Bで示すキャパシタCは、4ビットのデジタル信号DU3、DU2、DU1、DU0を得る際に、DAC110内で電荷のバランスを取るために配列されている。
なお、16個のキャパシタ8C、4C、2C、C、Cと、出力部110Aとの間には、16個のキャパシタ8C、4C、2C、C、Cの他端(図3中の上側の端子)を所定電位に保持するためのスイッチφAが分岐して設けられている。スイッチφAには、Vcmの電圧値の電源が接続されている。ここでは、Vcmは0Vであることとする。
以上のようなDAC110は、デジタル信号DU3、DU2、DU1、DU0の値によって決まる4ビットのデジタルコードをアナログ変換して得る最終的な残差を表す残差信号を出力する。DAC110の最終的な残差を表す残差信号は、デジタル信号DU3、DU2、DU1、DU0の値が決まると、DAC110の出力部110Aの電圧として出力される。
コンパレータ120は、DAC110から出力される残差信号の電圧(DAC110の出力部110Aの電圧)を所定の基準レベル(Vin)と比較し、比較結果を表すデジタル信号DU3、DU2、DU1、DU0を出力する。デジタル信号DU3、DU2、DU1、DU0は、4ビットのデジタル信号Doutの各ビットを表す。
以上のようなDAC110において、キャパシタ8C、4C、2C、C、Cは、4ビットのバイナリウェイト方式で重み付けされて配置されている。各キャパシタは、変換段の一例であり、DAC110は4ビット(16階調)分のキャパシタを有する。
なお、ここでは、説明の便宜上、4ビットのDAC110について説明するが、DAC110のビット数は4ビットに限られず、さらに多くてもよい。例えば、10ビットの場合は、1024階調分のキャパシタを有することになる。
また、ここでは、DA変換部の一例としてDAC110を用いる形態について説明するが、DA変換部は、DAC110に限られない。DA変換部は、所定階調数分の変換段を有し、前記変換段でデジタル信号をアナログ変換して得る残差信号を出力できればよく、例えば、変換段として抵抗器を用いてもよい。抵抗器はキャパシタと組み合わせて用いてもよい。
なお、補助コンパレータ130、140は、デジタル信号Doutの補正に用いる誤差を生成するために用いるため、誤差を生成するための処理を行わないときは(ADコンバータ100がコンパレータ120の判定結果に基づいて通常のAD変換処理を行う際(通常時)には、オフにしておいてよい。補助コンパレータ130、140をオフにするには、SAR制御部150から補助コンパレータ130、140に動作用のクロックをしなくすればよい。
次に、図4を用いて、実施の形態1のADコンバータ100のDAC110の動作について説明する。
図4は、実施の形態1のADコンバータ100の動作を示すタイミングチャートである。説明の便宜上、ここでは、コンパレータ120の出力によるADコンバータ100の動作を示す。
図4には、スイッチφA、φ3、φ2、φ1、φ0、及び、コンパレータ120に入力するクロックCLKを示す。なお、スイッチφA、φ3、φ2、φ1、φ0の切替は、SAR制御部150によって行われる。
まず、時刻t0でスイッチφAがオンされ、φ3、φ2、φ1、φ0は入力電圧Vinの端子に接続され、すべてのキャパシタ8C、4C、2C、Cの一端(図3中の下側の端子)は入力電圧Vinに保持される。これにより、キャパシタ8C、4C、2C、Cは入力電圧Vinによる電荷をサンプリングする。
ここで、すべてのキャパシタ8C、4C、2C、Cの一端(図3中の下側の端子)に現れる電荷Q0は、Q0=15C(Vin−Vcm)+1C(0−Vcm)となる。なお、ここで、右辺の1C(0−Vcm)は、符号110Bで示されるキャパシタの電荷について計算した項である。また、Vcm=0Vである。従って、時刻t0から時刻t1の間にすべてのキャパシタ8C、4C、2C、Cの一端(図3中の下側の端子)に現れる電荷Q0は、Q0=15CVinとなる。
次に、時刻t1でスイッチφAがオフされ、スイッチφ3が基準電圧+Vrの端子に接続されるとともに、スイッチφ2、φ1、φ0が基準電圧−Vrの端子に接続される。このとき、コンパレータ120は、出力部110Aの電圧を基準レベル(Vin(V))と比較した比較結果を表すデジタル信号DU3を出力する。
このとき、出力部110Aの出力電圧をV'とすると、すべてのキャパシタ8C、4C、2C、Cの一端(図3中の下側の端子)に現れる電荷Q1は、Q1=8C(Vr−V')+7C(−Vr−V')+1C(0−V')=CVr−16CV'となる。
電荷保存則より、Q0=Q1であるから、V'=−(15/16)×(Vin−Vr/15)となる。以下、同様に、出力部110Aの出力電圧(残差信号を表す電圧)が決まって行く。
次に、時刻t2では、スイッチφ3は、時刻t1〜t2の間に確定したデジタル信号DU3の値に応じて、基準電圧+Vrの端子、又は基準電圧−Vrの端子に接続される。また、スイッチφ2は、基準電圧+Vrの端子に接続され、スイッチφ1、φ0は基準電圧−Vrの端子に接続される。このとき、コンパレータ120は、出力部110Aの電圧を基準レベル(Vin(V))と比較した比較結果を表すデジタル信号DU2を出力する。
次に、時刻t3では、スイッチφ3は、時刻t1〜t2の間に確定したデジタル信号DU3の値に応じて、基準電圧+Vrの端子、又は基準電圧−Vrの端子に接続される。また、スイッチφ2は、時刻t2〜t3の間に確定したデジタル信号DU2の値に応じて、基準電圧+Vrの端子、又は基準電圧−Vrの端子に接続される。
また、スイッチφ1は、基準電圧+Vrの端子に接続され、スイッチφ0は基準電圧−Vrの端子に接続される。このとき、コンパレータ120は、出力部110Aの電圧を基準レベル(Vin(V))と比較した比較結果を表すデジタル信号DU1を出力する。
次に、時刻t4では、スイッチφ3は、時刻t1〜t2の間に確定したデジタル信号DU3の値に応じて、基準電圧+Vrの端子、又は基準電圧−Vrの端子に接続される。また、スイッチφ2は、時刻t2〜t3の間に確定したデジタル信号DU2の値に応じて、基準電圧+Vrの端子、又は基準電圧−Vrの端子に接続される。
また、スイッチφ1は、時刻t3〜t4の間に確定したデジタル信号DU1の値に応じて、基準電圧+Vrの端子、又は基準電圧−Vrの端子に接続される。
また、スイッチφ0は、基準電圧+Vrの端子に接続される。このとき、コンパレータ120は、出力部110Aの電圧を基準レベル(Vin(V))と比較した比較結果を表すデジタル信号DU0を出力する。なお、時刻t5からは、次のサンプリングが行われる。
以上により、デジタル信号DU3、DU2、DU1、DU0によって表される4ビットのデジタル信号Doutが得られる。
図5は、実施の形態1のADコンバータ100によるAD変換中のコンパレータ120の基準電圧(DAC110の出力部110Aの出力電圧)の時間変化と、デジタル信号DU3、DU2、DU1、DU0を示す図である。図5に示す時刻t1からt5は、図4に示す時刻t1からt5に対応する。なお、コンパレータ120の入力電圧はVinである。
図5では、図4と同様に説明の便宜上、コンパレータ120の出力によるADコンバータ100の動作を示す。
図5では、コンパレータ120の基準電圧をADコンバータ100の基準電圧+Vrを用いて示す。実施の形態1のADコンバータ100は4ビットであるため、縦軸は、基準電圧−Vrと基準電圧+Vrとの間を16階調('0'から'15')に分けて示す。ADコンバータ100の1LSBは、Vr/8である。また、以下では、16階調の電圧をVr0〜Vr15と示す。
上述のように、スイッチφA、φ3、φ2、φ1、φ0を切り替えることにより、コンパレータ120は、時刻t1〜t2の間にデジタル信号DU3(='0')を出力する。これは、コンパレータ120の入力電圧Vinが基準電圧Vrよりも低いからである。
また、コンパレータ120は、時刻t2〜t3の間にデジタル信号DU2(='1')を出力する。これは、コンパレータ120の入力電圧Vinが基準電圧Vr4よりも高いからである。
また、コンパレータ120は、時刻t3〜t4の間にデジタル信号DU1(='0')を出力する。これは、コンパレータ120の入力電圧Vinが基準電圧Vr6よりも低いからである。
また、コンパレータ120は、時刻t4〜t5の間にデジタル信号DU0(='0')を出力する。これは、コンパレータ120の入力電圧Vinが基準電圧Vr5よりも低いからである。
以上のように、DAC110の出力部110Aの出力電圧(コンパレータ120の基準電圧)は、図5に示すように入力電圧Vinに漸近して行き、デジタル信号DU3、DU2、DU1、DU0が得られる。
デジタル信号DU3、DU2、DU1、DU0は、コンパレータ120によってAD変換され、SAR制御部150が出力する4ビットのデジタル信号Doutの各ビットの値を示す。
図5では、最終的にデジタル信号DU0が得られる際に、入力電圧VinはVr4とVr5の間に存在している。入力電圧VinとVr5との電圧差は、量子化誤差を表す。
また、デジタル信号DU3、DU2、DU1、DU0を得るステップのうち、最終的にデジタル信号DU0を得るステップを最終ステップと称す。
次に、図6を用いて、補助コンパレータ130について説明する。
図6は、実施の形態1のADコンバータ100のコンパレータ120と補助コンパレータ130の動作の関係を示す図であり、(A)は図5の一部(入力電圧Vinに近い部分)を示す図であり、(B)は(A)のVr4、Vr5に近い部分を縦軸方向に拡大して示す図である。
図6(B)には、デジタル信号DU2、DU0が得られたときのコンパレータ120及び補助コンパレータ130の基準電圧を示すために、コンパレータ120及び補助コンパレータ130を模式的に示す。
図6(B)の縦軸に示す数値は、Vr4とVr5との間の電圧差をLSB単位で示したものである。また、図6(B)のコンパレータ120と補助コンパレータ130の入力側に示す数値は、コンパレータ120の基準電圧に対するオフセット量を示す。また、図6(B)のコンパレータ120と補助コンパレータ130の出力側に示す数値は、コンパレータ120のデジタル信号DU(N)と、補助コンパレータ130のデジタル信号の値を示す。
また、以下では、デジタル信号DU3、DU2、DU1、DU0を区別せずにデジタル信号を表す場合には、デジタル信号DU(N)と示す。Nは0を含む自然数である。
実施の形態1のADコンバータ100は、4ビットのDAC110を含む4ビットのADコンバータである。4ビットのDAC110の1LSBは、DAC110の基準電圧を+Vr、−Vrとすると、Vr/8で表される。DAC110は、Vr/8未満の値をDA変換することはできない。
ところで、デジタル信号DU(N)の値が'1'から'0'に変化するとき、又は、'0'から'1'に変化するときは、DAC110の出力電圧(コンパレータ120の基準電圧)が、入力電圧Vinを跨いだ場合であると考えることができる。
例えば、図6(A)に示すデジタル信号DU2とDU0のように、デジタル信号DU(N)の値が'1'から'0'に変化しているときは、入力電圧Vinは、デジタル信号DU2が得られたときのコンパレータ120の基準電圧Vr4と、デジタル信号DU0が得られたときのコンパレータ120の基準電圧Vr5との間に存在する。
なお、これは、図6(A)に示すデジタル信号DU2とDU1(='0')においても同様であるが、デジタル信号DU1が得られるときよりも、デジタル信号DU0が得られるときの方がコンパレータ120の基準電圧がVinに近いため、ここでは、デジタル信号DU2とDU0が得られる場合について説明する。
ここで、コンパレータ120のデジタル信号DU2が'1'の場合には、補助コンパレータ130のデジタル信号は'1'となる。これは、補助コンパレータ130はコンパレータ120に対して−0.5LSBのオフセットを有するため、コンパレータ120の基準電圧がVr4で、DAC110の入力電圧Vinよりも低い場合には、補助コンパレータ130の基準電圧も、入力電圧Vinよりも低いためである。
一方、コンパレータ120のデジタル信号DU0が'0'の場合には、補助コンパレータ130のデジタル信号は'1'又は'0'となる。これは、補助コンパレータ130はコンパレータ120に対して−0.5LSBのオフセットを有するため、コンパレータ120の基準電圧がVr5で、DAC110の入力電圧Vinよりも高い場合には、補助コンパレータ130の基準電圧は、入力電圧Vinよりも低い場合と高い場合の両方の場合があり得るためである。
また、同様に、デジタル信号DU(N)が'0'から'1'に変化しているときは、デジタル信号DU0が'0'の場合に、補助コンパレータ130のデジタル信号は'1'又は'0'となる。
このように、補助コンパレータ130を用いると、DAC110の1LSB未満の階調を検出することができるようになる。
ここで、DAC110の出力に誤差がない場合は、Vr4とVr5との電圧差は、1LSB(Vr/8)であり、補助コンパレータ130は、コンパレータ120に対して−0.5LSBのオフセットを有する。このため、補助コンパレータ130のデジタル信号が'1'又は'0'のいずれかの値を取り得る場合に、補助コンパレータ130のデジタル信号が'1'、'0'になる確率は、50%、50%である。
なお、補助コンパレータ140は、コンパレータ120に対して+0.5LSBのオフセットを有する。このため、補助コンパレータ140は、図6(B)に示すようにコンパレータ120がデジタル信号DU2='1'を出力する場合には、デジタル信号の'1'又は'0'を出力する。また、図6(B)に示すようにコンパレータ120がデジタル信号DU0='0'を出力する場合には、デジタル信号の'0'を出力する。
DAC110の出力に誤差がない場合に、補助コンパレータ140のデジタル信号が'1'又は'0'のいずれかの値を取り得る場合に、補助コンパレータ140のデジタル信号が'1'、'0'になる確率は、50%、50%である。
次に、図7を用いて、補助コンパレータ130が'1'又は'0'を判定する確率について説明する。
図7は、実施の形態1のADコンバータ100の補助コンパレータ130が'1'又は'0'を判定する確率について説明する図であり、(A)、(B)、(C)は'1'と'0'の確率が異なる3つのケースを示す。
図7(A)〜(C)では、一例として、コンパレータ120の基準電圧はVr5であることとする。また、補助コンパレータ130のコンパレータ120に対するオフセットは、−0.5LSBであり、オフセット電圧自体は、−0.5LSBに制御されていて誤差がないものとする。
図7(A)には、DAC110の出力に誤差がない場合の補助コンパレータ130の基準電圧を示す。DAC110の出力に誤差がない場合には、Vr4とVr5との電圧差は、1LSB(Vr/8)である。
このような場合に、補助コンパレータ130で16回判定を行うと、補助コンパレータ130のデジタル信号が'1'になる回数は8回であり、'0'になる回数は8回である。
すなわち、補助コンパレータ130が出力するデジタル信号が'1'になる確率と、'0'になる確率は、それぞれ、50%、50%である。
また、Vr4からVr5の間の誤差(Error)は、Error=8/8−1=0(LSB)となる。
また、図7(B)に示すように、Vr4とVr5との電圧差が0.5LSBである場合は、コンパレータ120の基準電圧はVr5となり、補助コンパレータ130の基準電圧はVr4となる。
このような場合に、補助コンパレータ130で16回判定を行うと、補助コンパレータ130のデジタル信号が'1'になる回数は16回であり、'0'になる回数は0回である。
すなわち、補助コンパレータ130のデジタル信号が'1'になる確率と、'0'になる確率は、それぞれ、100%、0%である。
また、Vr4からVr5の間の誤差(Error)は、Error=8/16−1=−0.5(LSB)となる。
また、図7(C)に示すように、Vr4とVr5との電圧差が2LSBである場合は、コンパレータ120の基準電圧はVr5となり、補助コンパレータ130の基準電圧はVr5−0.5LSBとなる。
このような場合に、補助コンパレータ130で16回判定を行うと、補助コンパレータ130のデジタル信号が'1'になる回数は4回であり、'0'になる回数は12回である。
すなわち、補助コンパレータ130のデジタル信号が'1'になる確率と、'0'になる確率は、それぞれ、25%、75%である。
また、Vr4からVr5の間の誤差(Error)は、Error=8/4−1=1(LSB)となる。
次に、図8を用いて、補助コンパレータ140も加えた動作について説明する。
図8は、実施の形態1のADコンバータ100のコンパレータ120、補助コンパレータ130、140の動作例を示す図である。
図8(A)は、コンパレータ120が出力するデジタル信号DU3、DU2、DU1、DU0の例示的な特性を示す図である。図8(A)に示す特性は、図6(A)に示す特性と同一である。
図8(B)には、デジタル信号DU2、DU0が得られたときのコンパレータ120、補助コンパレータ130、140の基準電圧を示すために、コンパレータ120、補助コンパレータ130、140を模式的に示す。
例えば、コンパレータ120が出力するデジタル信号DU3、DU2、DU1、DU0が、図8(A)に示すように、DU3='0'、DU2='1'、DU1='0'、DU0='0'であることとする。
デジタル信号DU2とDU0のように、デジタル信号DU(N)の値が'1'から'0'に変化しているときは、入力電圧Vinは、デジタル信号DU2が得られたときのコンパレータ120の基準電圧Vr4と、デジタル信号DU0が得られたときのコンパレータ120の基準電圧Vr5との間に存在する。
なお、これは、図8(A)に示すデジタル信号DU2とDU1(='0')においても同様であるが、デジタル信号DU1が得られるときよりも、デジタル信号DU0が得られるときの方がコンパレータ120の基準電圧がVinに近いため、ここでは、デジタル信号DU2とDU0が得られる場合について説明する。
ここで、コンパレータ120のデジタル信号DU2が'1'の場合には、補助コンパレータ130のデジタル信号は'1'となる。これは、補助コンパレータ130はコンパレータ120に対して−0.5LSBのオフセットを有するため、コンパレータ120の基準電圧がVr4で、DAC110の入力電圧Vinよりも低い場合には、補助コンパレータ130の基準電圧も、入力電圧Vinよりも低いためである。
また、この場合に、補助コンパレータ140のデジタル信号は'1'又は'0'となる。これは、補助コンパレータ140はコンパレータ120に対して+0.5LSBのオフセットを有するため、コンパレータ120の基準電圧がVr4で、DAC110の入力電圧Vinよりも低い場合には、補助コンパレータ140の基準電圧は、入力電圧Vinよりも高い場合と低い場合の両方の場合があり得るためである。
一方、コンパレータ120のデジタル信号DU0が'0'の場合には、補助コンパレータ130のデジタル信号は'1'又は'0'となる。これは、補助コンパレータ130はコンパレータ120に対して−0.5LSBのオフセットを有するため、コンパレータ120の基準電圧がVr5で、DAC110の入力電圧Vinよりも高い場合には、補助コンパレータ130の基準電圧は、入力電圧Vinよりも低い場合と高い場合の両方の場合があり得るためである。
また、この場合に、補助コンパレータ140のデジタル信号は'0'となる。これは、補助コンパレータ140はコンパレータ120に対して+0.5LSBのオフセットを有するため、コンパレータ120の基準電圧がVr5で、DAC110の入力電圧Vinよりも高い場合には、補助コンパレータ140の基準電圧も、入力電圧Vinよりも高いためである。
このような場合に、Vr4とVr5の電圧差が1LSBであり、誤差が含まれていない場合には、コンパレータ120がデジタル信号DU2を出力するときの補助コンパレータ140のデジタル信号と、コンパレータ120がデジタル信号DU0を出力するときの補助コンパレータ130のデジタル信号とは等しくなる。
次に、図9を用いて、図8においてVr4とVr5との電圧差に誤差が含まれており、電圧差が1LSBからずれている場合について説明する。
図9は、実施の形態1のADコンバータ100のコンパレータ120、補助コンパレータ130、140の基準電圧と、デジタル信号との関係を模式的に示す図である。図9(A)〜(C)では、Vr(n)とVr(n+1)との電圧差が異なる。なお、nは0から15のうちの任意の自然数である。
また、コンパレータ120の基準電圧がVr(n+1)であるときは、DAC110の残差信号は、1LSB未満になっており、ADコンバータ100のデジタル信号Doutの最下位のビットを決める段階(最終ステップ)であるとする。
図9(A)に示す場合は、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140の基準電圧と、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧とが等しく、ともにVrAである。
補助コンパレータ140はコンパレータ120に対して+0.5LSBのオフセットを有しており、補助コンパレータ130はコンパレータ120に対して−0.5LSBのオフセットを有している。このため、図9(A)に示す場合は、Vr(n)とVr(n+1)の電圧差は、1LSBである。
このような状態は、DAC110に誤差がなく、Vr(n)とVr(n+1)との間の電圧差が1LSBである場合である。
このような場合には、Vr(n)とVr(n+1)との間に、補助コンパレータ130、140の基準電圧VrAにより、Vr(n)からVrAと、VrAからVr(n+1)との2階調が得られることになる。
ここで、補助コンパレータ140のデジタル信号を2ビット目とし、補助コンパレータ130のデジタル信号を1ビット目とする2ビットで上述の2階調を表すと、例えば、Vr(n)からVrAは'00'と表すことができ、VrAからVr(n+1)は'11'と表すことができる。
このように、図9(A)に示す場合には、Vr(n)とVr(n+1)との間に、補助コンパレータ130、140の基準電圧VrAにより、Vr(n)からVrAと、VrAからVr(n+1)との2階調が得られる。
また、図9(B)に示すように、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140の基準電圧と、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧とが異なる場合は、次のようになる。
図9(B)では、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140の基準電圧VrB1が、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧VrB2よりも高い。
このような状態は、DAC110の誤差により、Vr(n)とVr(n+1)との間の電圧差が1LSBよりも小さくなっている場合に生じる。
このような場合には、Vr(n)とVr(n+1)との間に、Vr(n)からVrB2、VrB2からVrB1、及び、VrB1からVr(n+1)の3階調が得られることになる。
このようにVr(n)とVr(n+1)との間に得られる3階調は、例えば、Vr(n)からVrB2は'00'と表すことができ、VrB2からVrB1は'01'と表すことができ、VrB1からVr(n+1)は'11'と表すことができる。
また、図9(C)では、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140の基準電圧VrC1が、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧VrC2よりも低い。
このような状態は、DAC110の誤差により、Vr(n)とVr(n+1)との間の電圧差が1LSBよりも大きくなっている場合に生じる。
このような場合には、Vr(n)とVr(n+1)との間に、Vr(n)からVrC1、VrC1からVrC2、及び、VrC2からVr(n+1)の3階調が得られることになる。
このようにVr(n)とVr(n+1)との間に得られる3階調は、例えば、Vr(n)からVrC1は'00'と表すことができ、VrC1からVrC2は'10'と表すことができ、VrC2からVr(n+1)は'11'と表すことができる。
以上のように、補助コンパレータ130、140を用いることにより、ADコンバータ100の階調数をDAC110の階調数よりも、少なくとも2階調増大させることができ、特に、DAC110に(1LSBに対する)誤差が含まれる場合は、3階調増大させることができる。
ここでは、4ビットのADコンバータ100について説明しているが、例えば、10ビットのADコンバータに補助コンパレータ130、140を追加した場合には、DAC110に誤差がない場合は1ビット増えて11ビットのADコンバータとして機能させることができる。すなわち、2048階調を得ることができる。
また、DAC110に誤差がある場合は、'01'(図9(B)参照)、又は、'10'(図9(C)参照)の分の階調が追加されて、最大で3070階調を得ることができる。
また、AD変換は時系列的に繰り返し実行されるため、異なる時点でのAD変換と、DAC110の誤差のアベレージング効果により、+3dBとなり、11.5ビット分の階調が得られる。
従って、コンパレータ120に対する補助コンパレータ130、140のオフセットを±0.5LSBに設定しておけば、上述のように、ADコンバータ100の階調を増大させることができる。
なお、ここでは補助コンパレータ130、140のオフセットを±0.5LSBに設定する形態について説明するが、補助コンパレータ130、140のオフセットは±0.5LSBに限らず、DAC110の1LSB未満の値であれば、どのような値であってもよい。
次に、補助コンパレータ130、140のオフセットの調整の手法について説明する。
図10は、実施の形態1のADコンバータ100の補助コンパレータ130のオフセットの調整手法を示す図である。
例えば、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ130のデジタル信号が'1'であり、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130のデジタル信号が'0'であるとする。
コンパレータ120の基準電圧がVr(n+1)であるときは、DAC110の残差信号は、1LSB未満になっており、ADコンバータ100のデジタル信号Doutの最下位のビットを決める段階(最終ステップ)であるとする。
この場合には、コンパレータ120の基準電圧がVr(n+1)のときに、補助コンパレータ130のデジタル信号は、Vr(n)とVr(n+1)の間に存在することになる。
すなわち、ADコンバータ100で得られるデジタル信号Doutが偶数である場合に、補助コンパレータ130の基準電圧は、Vr(n)とVr(n+1)の間に存在することになる。補助コンパレータ130の基準電圧がVr(n)とVr(n+1)の間に存在する場合には、補助コンパレータ130のデジタル信号の値は、'0'又は'1'である。
同様に、例えば、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140のデジタル信号が'0'であり、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ140のデジタル信号が'1'であるとする。
この場合には、コンパレータ120の基準電圧がVr(n+1)のときに、補助コンパレータ140のデジタル信号は、Vr(n)とVr(n+1)の間に存在することになる。
すなわち、ADコンバータ100で得られるデジタル信号Doutが奇数である場合に、補助コンパレータ140の基準電圧は、Vr(n)とVr(n+1)の間に存在することになる。補助コンパレータ140の基準電圧がVr(n)とVr(n+1)の間に存在する場合には、補助コンパレータ140のデジタル信号の値は、'0'又は'1'である。
このように、補助コンパレータ130、140のデジタル信号の値が'0'と'1'になる割合は、図7を用いて説明したように、DAC110のVr(n)とVr(n+1)の電圧差に含まれる誤差によって異なる。
そして、このようなDAC110の誤差は、Vr(n)とVr(n+1)のnの値(nは0から15のうちの任意の自然数)によって異なる。このような誤差は、DAC110に含まれる32個のキャパシタの容量にばらつきがあることなどによって生じる。
従って、このように誤差を含むDAC110を用いて、ADコンバータ100でAD変換を行うと、SAR制御部150が出力するデジタル信号Doutには誤差が含まれることになる。
そこで、実施の形態1のADコンバータ100は、SAR制御部150が出力するデジタル信号Doutを補正する。デジタル信号Doutの補正には、コンパレータ120に対して±0.5LSBのオフセットを有する補助コンパレータ130、140を用いる。
補助コンパレータ130のコンパレータ120に対するオフセットを+0.5LSBに設定するには、例えば、ADコンバータ100にテスト用の入力信号Vinを入力して、SAR制御部150のコントロールロジック150Aから入力される補助コンパレータ130のデジタル信号を閾値制御部160のカウンタでカウントする。そして、補助コンパレータ130のデジタル信号に含まれる'0'と'1'の割合が50:50になるように、予め補助コンパレータ130の閾値を設定すればよい。
補助コンパレータ130の基準電圧は、デジタル信号Doutが偶数である場合に、Vr(n)とVr(n+1)の間に存在することになる。また、DAC110の誤差は、Vy(n)とVr(n+1)のnの値によって異なる。すなわち、例えば、Vr4とVr5の電圧差と、Vr5とVr6の電圧差は、DAC110のキャパシタの誤差の分布(ばらつき)によって異なる。
このため、デジタル信号Doutが偶数である場合の補助コンパレータ130のデジタル信号を多数取得し、多数のデジタル信号に含まれる'0'と'1'の割合の平均値が50:50になるように、補助コンパレータ130の閾値を設定しておけばよい。このようにすれば、補助コンパレータ130のコンパレータ120に対するオフセットを略+0.5LSBに設定することができる。
このような補助コンパレータ130の閾値の設定は、ADコンバータ100を携帯電話端末機500(図1参照)等の電子装置に実装する前に、予めテスト用の入力信号Vinを入力してADコンバータ100を駆動することによって行っておけばよい。
なお、補助コンパレータ130の閾値は、環境温度、又は、経年変化等によって変化する場合がある。このため、ADコンバータ100を電子装置に実装した後においても、ADコンバータ100の駆動に伴って補助コンパレータ130で得られるデジタル信号を用いて、補助コンパレータ130の閾値を調整してもよい。
同様に、補助コンパレータ140のコンパレータ120に対するオフセットを+0.5LSBに設定するには、例えば、ADコンバータ100にテストデータとしての入力信号Vinを入力して、SAR制御部150のコントロールロジック150Aから入力される補助コンパレータ140のデジタル信号を閾値制御部160のカウンタでカウントする。そして、補助コンパレータ140のデジタル信号に含まれる'0'と'1'の割合が50:50になるように、予め補助コンパレータ140の閾値を設定すればよい。
補助コンパレータ140の閾値の設定は、デジタル信号Doutが奇数である場合の補助コンパレータ130のデジタル信号を多数取得することにより、補助コンパレータ130と同様の手法で行えばよい。また、ADコンバータ100を電子装置に実装した後においても、補助コンパレータ140のデジタル信号を用いて、補助コンパレータ140の閾値を調整してもよい。
また、ここでは、閾値制御部160を用いて、コンパレータ120に対する補助コンパレータ130、140のオフセットを設定する形態について説明するが、閾値制御部160を用いずに、補助コンパレータ130、140のオフセットを固定値に設定してもよい。
また、デジタル信号Doutの補正は、補助コンパレータ130、140のデジタル信号に含まれる'0'と'1'の割合を用いて、デジタル信号Doutの値を補正することによって行う。デジタル信号Doutの補正については図12を用いて後述する。
ここで、図11を用いて、実施の形態1のADコンバータ100の補助コンパレータ13、140の回路について説明する。
図11は、実施の形態1のADコンバータ100の補助コンパレータ130の回路を示す図である。補助コンパレータ130、140の回路構成は同様であるため、ここでは、補助コンパレータ130の回路構成について説明する。
補助コンパレータ130は、閾値電圧を調整可能なコンパレータである。補助コンパレータ130は、PMOS(P-type Metal Oxide Semiconductor)トランジスタ201、202、203、204、インバータ205、206、NMOS(N-type Metal Oxide Semiconductor)トランジスタ207、208、209、可変キャパシタ210、211を有する。
図11に示す補助コンパレータ130は、入力端子Inp、Innと出力端子Outp、Outnを有する。入力端子Inpには、ADコンバータ100の入力端子が接続され、入力電圧Vinが入力される。入力端子Innには、DAC110の出力端子が接続され、基準電圧が入力される。出力端子Outpは、SAR制御部150に接続され、補助コンパレータ130の判定結果を示すデジタル信号をSAR制御部150に入力する。なお、出力端子Outnはダミーであり、特に接続先はない。
PMOSトランジスタ201、202は、ともにゲートにクロックCLKが入力され、ソースが電源Vddに接続される。PMOSトランジスタ201のドレインは、可変キャパシタ210と、インバータ205のNMOSトランジスタ205Nのソースと、NMOSトランジスタ207のドレインとに接続されている。PMOSトランジスタ202のドレインは、インバータ205のPMOSトランジスタ205Pのドレインと、NMOSトランジスタ205Nのソースと、PMOSトランジスタ206Pのドレインと、NMOSトランジスタ205Nのソースと、出力端子Outpとに接続されている。
PMOSトランジスタ203、204は、ともにゲートにクロックCLKが入力され、ソースが電源Vddに接続される。PMOSトランジスタ203のドレインは、可変キャパシタ211と、インバータ206のNMOSトランジスタ206Nのソースと、NMOSトランジスタ208のドレインとに接続されている。PMOSトランジスタ204のドレインは、インバータ206のPMOSトランジスタ206Pのドレインと、NMOSトランジスタ206Nのソースと、PMOSトランジスタ205Pのドレインと、NMOSトランジスタ205Nのソースと、出力端子Outnとに接続されている。
インバータ205は、PMOSトランジスタ205PとNMOSトランジスタ205Nを有する。PMOSトランジスタ205Pのソースは電源Vddに接続され、ゲートはNMOSトランジスタ205Nのゲートと接続され、ドレインはNMOSトランジスタ205Nのドレインに接続される。PMOSトランジスタ205Pのドレインと、NMOSトランジスタ205Nのドレインとは、出力端子Outpに接続される。NMOSトランジスタ205Nのソースは、可変キャパシタ210と、NMOSトランジスタ207のドレインとに接続される。
インバータ206は、PMOSトランジスタ206PとNMOSトランジスタ206Nを有する。PMOSトランジスタ206Pのソースは電源Vddに接続され、ゲートはNMOSトランジスタ206Nのゲートと接続され、ドレインはNMOSトランジスタ206Nのドレインに接続される。PMOSトランジスタ206Pのドレインと、NMOSトランジスタ206Nのドレインとは、出力端子Outnに接続される。NMOSトランジスタ206Nのソースは、可変キャパシタ211と、NMOSトランジスタ208のドレインとに接続される。
NMOSトランジスタ207は、ドレインがNMOSトランジスタ205Nのソースと、キャパシタ210とに接続され、ゲートが入力端子Innに接続され、ソースがNMOSトランジスタ209のドレインに接続される。
NMOSトランジスタ208は、ドレインがNMOSトランジスタ206Nのソースと、キャパシタ211とに接続され、ゲートが入力端子Inpに接続され、ソースがNMOSトランジスタ209のドレインに接続される。
NMOSトランジスタ209は、ドレインがNMOSトランジスタ207のソースと、NMOSトランジスタ208のソースとに接続され、ゲートにクロックCLKが入力され、ソースが接地される。
可変キャパシタ210は、一方の端子がPMOSトランジスタ201のドレインと、NMOSトランジスタ205Nのソースと、NMOSトランジスタ207のドレインとに接続され、他方の端子が接地される。キャパシタ210の可変容量は、閾値制御部160から入力される閾値制御信号によって制御される。
可変キャパシタ211は、一方の端子がPMOSトランジスタ203のドレインと、NMOSトランジスタ206Nのソースと、NMOSトランジスタ208のドレインとに接続され、他方の端子が接地される。キャパシタ211の可変容量は、閾値制御部160から入力される閾値制御信号によって制御される。
補助コンパレータ130をリセットするときには、クロックCLKがL(Low)レベルになり、プルアップ用のPMOSトランジスタ201、202、203、204がオンになることにより、出力端子Outp、Outnの出力電圧値はVddになり、キャパシタ210、211の上側の電極が接続されるノードの電圧もVddになる。
クロックCLKがH(High)レベルになると、NMOSトランジスタ209がオンする。このとき、入力端子Inp、Innに入力される電圧に応じてNMOSトランジスタ207、208がオンすることにより、NMOSトランジスタ207、208のドレイン-ソース間には、それぞれ、可変キャパシタ210、211の上側の電極に接続されるノードの電圧(Vdd)による電流が流れる。
この電流は、入力端子Inp、Innに入力される電圧値に比例するため、この電流によって出力端子Outp、Outnに電圧降下が発生する。出力端子Outp、Outnの電圧差は、正帰還用のインバータ205、206によって増幅され、入力端子Inpに入力される入力電圧Vinと、入力端子Innに入力される比較電圧とを比較した結果を表すデジタル信号('0'又は'1')が出力端子OutpからSAR制御部150に出力される。
出力端子Outpから出力されるデジタル信号の値は、補助コンパレータ130の内部の静電容量によっても影響を受ける。
このため、閾値制御部160から入力される閾値制御信号によって可変キャパシタ210、211の容量を制御すれば、補助コンパレータ130の閾値を設定することができる。
図12は、実施の形態1のADコンバータ100によるデジタル信号Doutの補正を説明するための図である。図12には、表形式で各種データを示す。図12に示すデータは、マイクロソフト社のエクセル(登録商標)を用いて作成したものである。図12には、行番号1〜24と、列B〜Oを示す。
1行目には、デジタル信号Doutに含まれる4ビットのデジタル信号DU3、DU2、DU1、DU0を示す。
2行目にはIdealとしてDAC110の各ビットの重みを示す。3行目にはDAC110の各ビットの容量の誤差(Error)を示す。この容量の誤差は、一例として設定した値である。4行目には、各ビットの重み(Ideal)と各ビットの容量の誤差(Error)を加算して得られる、DAC110の各ビットの実際の重み(誤差を含む重み(Actual))を示す。4行目に示す各ビットの実際の重み(誤差を含む重み(Actual))は、2行目に示す各ビットの重み(Ideal)と、3行目に示す各ビットの容量の誤差(Error)との和である。
5行目には、補助コンパレータ130又は140で検出した誤差のDNL(Differential Non Linearity error:微分非直線性誤差)から求めた、各ビットの誤差(Calculated)を示す。なお、C列、D列、E列、F列の5行目に示す各ビットの誤差(Calculated)の求め方については後述する。
B列の9行目から24行目には、Doutの値15〜0を示す。また、C列、D列、E列、F列の9行目から24行目には、それぞれ、デジタル信号DU3、DU2、DU1、DU0の値('0'又は'1')を示す。
G列、H列、I列の9行目から24行目には、実際の誤差(Actual Error)として、それぞれ、Doutの値15〜0の実際の値(誤差によってずれた値(Actual))と、そのDNL及びINL(Integral Non Linearity error:積分非直線性)を示す。
G列に示すDoutの値15〜0の実際の値(Actual)は、各ビットのデジタル信号DU3、DU2、DU1、DU0の値と、4行目に示す各ビットの実際の重み(誤差を含む重み(Actual))との積(ビット毎の積)の和である。すなわち、G列に示すDoutの値15〜0の実際の値(Actual)は、DAC110の誤差によってずれたDoutの値15〜0の実際の値を示す。
なお、I列のINLは、G列に示すDoutの値15〜0の実際の値(Actual)と、入力電圧Viに対するデジタル信号Dout0〜15の理想的な直線とのずれ(差分)を示す。また、H列のDNLは、同一コードのINLから、一つ前のコードのINLを引いた値である。例えば、H列の22行目の値(0.16)は、I列の22行目のINLから、I列の23行目のINLを引いた値である。
J列、K列、L列の9行目から24行目には、検出誤差(Detected Error)として、それぞれ、カウント値(Counts)と、そのDNL及びINLを示す。
J列に示すカウント値(Counts)は、ADコンバータ100で16回のAD変換を行った場合に、補助コンパレータ130又は140が'0'を出力する回数を表す。
コンパレータ120が'0'を出力している際に、補助コンパレータ130は'0'又は'1'を出力し、補助コンパレータ140は'0'を出力する。また、コンパレータ120が'1'を出力している際に、補助コンパレータ130は'0'を出力し、補助コンパレータ140は'0'又は'1'を出力する。
従って、デジタル信号DU0が'0'でデジタル信号Doutが偶数の場合は、補助コンパレータ130が偶数をカウントする回数をJ列に示し、デジタル信号DU0が'1'でデジタル信号Doutが奇数の場合は、補助コンパレータ140が偶数をカウントする回数をJ列に示す。
J列に示すカウント値(Counts)は、H列にある同一行のDNLを用いて、カウント値(Counts)=8/(1+DNL)で表される。すなわち、DC110の誤差によってDoutの値0〜15が理想的な直線からずれている場合に16回のAD変換を行った結果、補助コンパレータ130又は140が偶数をカウントする回数を示す。
K列のDNLは、DNL=8/{同一行のカウント値(Counts)−1}で表される。
L列のINLは、INL={一つ前の(一行下の)INL}+(同一行のDNL)で表される。
M列、N列、O列の9行目から24行目には、補正後の値(After Correction)として、Dout_c、INL_c、DNL_cを示す。
M列のDout_cは、5行目に示す各ビットの誤差(Calculated)を用いて、デジタル信号Doutを補正した補正後のデジタル信号を示す。また、N列のINL_cとO列のDNL_cは、5行目に示す各ビットの誤差(Calculated)を用いて、H列、I列のDNL,INLをそれぞれ補正した補正後のINL、DNLを示す。
ここで、デジタル信号Doutの補正は、例えば、J列、K列、L列に示す検出誤差(Detected Error)に対して最小二乗法等による誤差補正を行うことによって実現することができる。
しかしながら、最小二乗法による誤差補正は、Doutの値0〜15の各々のカウント値(Counts)の二乗の和の平均を求める作業が必要になり、このような二乗和の平均を算出する処理は、K列、L列に示すDNL、INLについても同様である。
すなわち、最小二乗法による誤差補正は、膨大な計算処理を必要とする。
このため、実施の形態1では、次のようにデジタル信号Doutの補正を行う。
まず、例えば、デジタル信号DU0が'0'から'1'に変化する場所に注目する。このような場所は、F列の16行目の'0'から15行目の'1'に変化する場合に生じる。
F列の16行目の'0'から15行目の'1'への変化には、DAC110の誤差のうち、デジタル信号DU0が'0'から'1'に変化するときの誤差のみが現れている。
従って、F列の5行目に示すデジタル信号DU0の誤差は、F列の16行目の'0'から15行目の'1'に変化したときに、補助コンパレータ130又は140によって検出された誤差のDNL(K列15行目のDNL)である。このため、F列の5行目に示すデジタル信号DU0の誤差は、−0.16となる。
また、DAC110の誤差のうち、デジタル信号DU1が'0'から'1'に変化するときの誤差は、デジタル信号DU0がF列の16行目の'0'から15行目の'1'に変化した後に、デジタル信号DU1がE列の14行目の'1'に変化するまでの誤差である。
従って、E列の5行目に示すデジタル信号DU1の誤差は、F列5行目のデジタル信号DU0の誤差(−0.16)に、補助コンパレータ130又は140によって検出された誤差のDNL(K列14行目のDNL(0.16))を加えた値である。このため、E列の5行目に示すデジタル信号DU1の誤差は、0となる。
また、DAC110の誤差のうち、デジタル信号DU2が'0'から'1'に変化するときの誤差は、デジタル信号DU1がE列の14行目の'1'に変化した後に、デジタル信号DU2がD列の12行目の'1'に変化するまでの誤差である。
従って、D列の5行目に示すデジタル信号DU2の誤差は、F列5行目のデジタル信号DU0の誤差(−0.16)と、E列の5行目に示すデジタル信号DU1の誤差(0)と、補助コンパレータ130又は140によって検出された誤差のDNL(K列13行目のDNL(−0.16)とK列12行目のDNL(−0.10))を加えた値である。このため、D列の5行目に示すデジタル信号DU2の誤差は、−0.27となる。なお、小数点第2位の値は、四捨五入による影響をうけるため、異なる場合がある。
また、DAC110の誤差のうち、デジタル信号DU3が'0'から'1'に変化するときの誤差は、デジタル信号DU3がC列の17行目の'0'からC列の16行目の'1'に変化するまでの誤差である。
従って、C列の5行目に示すデジタル信号DU3の誤差は、F列5行目のデジタル信号DU0の誤差(−0.16)と、E列の5行目に示すデジタル信号DU1の誤差(0)と、D列の5行目に示すデジタル信号DU2の誤差(−0.27)と、補助コンパレータ130又は140によって検出された誤差のDNL(K列16行目のDNL(0.87))を加えた値である。このため、C列の5行目に示すデジタル信号DU3の誤差は、−0.43となる。
実施の形態1では、以上のようにして補助コンパレータ130又は140で検出した誤差のDNLを求め、これを用いて、出力補正部170(図1参照)でデジタル信号Doutを補正する。
補助コンパレータ130又は140で検出した誤差のDNLは、補助コンパレータ130、140のデジタル信号に含まれる'0'と'1'の割合に基づく値である。このため、補助コンパレータ130又は140で検出した誤差のDNLを用いてデジタル信号Doutを補正することは、補助コンパレータ130、140のデジタル信号に含まれる'0'と'1'の割合に基づいてデジタル信号Doutの値を補正することである。
M列に示すデジタル信号Dout_cは、C列、D列、E列、F列の2行目に示す各ビットの重みと、C列、D列、E列、F列の5行目に示す各ビットの誤差(Calculated)とを同一ビット毎に加算して得る値に、デジタル信号Doutに含まれるDU3、DU2、DU1、DU0の値をビット毎に乗算して得る値の和として与えられる。
ここで、C列、D列、E列、F列の2行目に示す各ビットの重みは、8、4、2、1のいずれかの値で表される。また、デジタル信号Doutに含まれるDU3、DU2、DU1、DU0の値は'0'又は'1'である。
従って、M列の23行目に示すデジタル信号Dout_c(0.84)は、具体的には、Dout_c=DU3('0')×(8+0.43)+DU2('0')×(4+(−0.27))+DU1('0')×(2+0.00)+DU0('1')×(1+(−0.16))で与えられる。
また、M列の16行目に示すデジタル信号Dout_c(8.43)は、具体的には、Dout_c=DU3('1')×(8+0.43)+DU2('0')×(4+(−0.27))+DU1('0')×(2+0.00)+DU0('0')×(1+(−0.16))で与えられる。
また、M列の10行目に示すデジタル信号Dout_c(14.16)は、具体的には、Dout_c=DU3('1')×(8+0.43)+DU2('1')×(4+(−0.27))+DU1('1')×(2+0.00)+DU0('0')×(1+(−0.16))で与えられる。
以上のようにして、デジタル信号Doutはデジタル信号Dout_cに補正される。このような補正処理は、出力補正部170が行う。
上述のように各ビットの誤差(Calculated)を用いて行うデジタル信号Doutの補正は、例えば、最小二乗法のように膨大な計算量を必要とする補正手法に比べると、計算量を大幅に減らすことができる。
また、H列、I列に示すDoutの値15〜0の実際の値(Actual)のDNL、INLは、それぞれ、K列、L列に示す検出誤差(Detected Error)のDNL及びINLを減算することにより、N列、O列に示すように補正することができる。N列、O列に示す補正後の値(After CorrectionINL_c、DNL_cは、すべて0.0である。
図13は、実施の形態1のADコンバータ100で補正したINL_c、DNL_c、Dout_cの特性を示す図であり、(A)はINL_c、(B)はDNL_c、(C)はDout_cを示す図である。
図13(A)には、補正後のINL_cを実線で示し、補正前の実際の誤差(Actual Error)のINLを破線で示す。なお、補正後のINL_cは、図12のN列に示す値であり、補正前の実際の誤差(Actual Error)のINLは、図12のI列に示す値である。
図13(A)に示すように、補正前の実際の誤差(Actual Error)のINLは、ランダムな誤差を含むが、補正後のINL_cは、INLの値が0.0で一定である。
図13(B)には、補正後のDNL_cを実線で示し、補正前の実際の誤差(Actual Error)のDNLを破線で示す。なお、補正後のDNL_cは、図12のO列に示す値であり、補正前の実際の誤差(Actual Error)のDNLは、図12のH列に示す値である。
図13(B)に示すように、補正前の実際の誤差(Actual Error)のDNLは、ランダムな誤差を含むが、補正後のDNL_cは、DNLの値が0.0で一定である。
図13(C)には、補正後のデジタル信号Dout_cを実線で示し、補正前の実際の誤差(Actual Error)のデジタル信号Doutを破線で示す。なお、補正後のデジタル信号Dout_cは、図12のM列に示す値であり、補正前の実際の誤差(Actual Error)のデジタル信号Doutは、図12のG列に示す値である。また、横軸は、入力電圧Vinである。
図13(C)に示すように、補正前の実際の誤差(Actual Error)のデジタル信号Doutは、折れ曲がっている。これは、DAC110の誤差による影響である。
これに対して、補正後のデジタル信号Dout_cは、入力電圧Vinの増大に対して傾きが一定の右上がりの直線である。
これは、補助コンパレータ130又は140で検出した誤差のDNLから求めた、各ビットの誤差(図12の5行目参照)を用いて、図13(C)に破線で示す補正前のデジタル信号Doutを縦軸方向に補正することにより、図13(C)に実線で示すように補正したデジタル信号Dout_cを生成したためである。
すなわち、実施の形態1のADコンバータ100は、DAC110の誤差を図13(C)における入力電圧Vinの方向に補正するのではなく、デジタル信号Doutを縦軸方向に補正することによって、デジタル信号Doutの直線性を補正している。
以上のように、実施の形態1のADコンバータ100によれば、補助コンパレータ130又は140で検出した誤差のDNLを用いて、DAC110の誤差を含むデジタル信号Doutを補正することができる。
また、コンパレータ120と並列に接続される補助コンパレータ130、140を用いることによって、DAC110の1LSB未満の誤差を検出できるとともに、誤差の検出をバックグランドの処理で(コンパレータ120でのAD変換と同時に)行うことができる。
このため、ADコンバータ100の変換速度を改善することができるとともに、DAC110のビット数(又は階調数)を増大させなくても、高精度な変換を行うことができる。
従来のアナログ・ディジタル変換器は、第1変換結果を得ることの他に、補正変換を行うため、変換速度が低下する。また、従来のAD変換方法は、既知のアナログ電圧+ΔV、−ΔVを与えて判定点をずらしながらAD変換を行うため、変換速度が低下するという課題がある。
これに対して、実施の形態1のADコンバータ100は、コンパレータ120に対して±0.5LSBのオフセットを有する補助コンパレータ130、140を用いることによって、コンパレータ120でのAD変換と同時に誤差を検出ことができるので、ADコンバータ100の変換速度を改善することができる。
なお、以上では、ADコンバータ100が2つの補助コンパレータ130、140を含む形態について説明したが、補助コンパレータの数は、3つ以上であってもよい。
図14は、実施の形態1の変形例のADコンバータの補助コンパレータのオフセットを示す図である。
図14には、コンパレータ120に対してDAC110の1LSB未満のオフセットを有する3つの補助コンパレータ130A、130B、140Aを示す。補助コンパレータ130Aは、第1サブ比較部の一例であり、補助コンパレータ140Aは第2サブ比較部の一例であり、補助コンパレータ130Bは、第3サブ比較部の一例である。
図14に示す補助コンパレータ130Aは、コンパレータ120に対して、−0.75LSBのオフセットを有する。また、補助コンパレータ130Bは、コンパレータ120に対して、−0.5LSBのオフセットを有する。また、補助コンパレータ140Aは、コンパレータ120に対して、+0.75LSBのオフセットを有する。
このようなオフセットの設定は、補助コンパレータ130Bについては、図10を用いて説明したように、図3に示す補助コンパレータ130と同様に行えばよい。
また、補助コンパレータ130Aについては、例えば、ADコンバータにテスト用の入力信号Vinを入力して、補助コンパレータ130Aのデジタル信号を閾値制御部160のカウンタでカウントすることにより、補助コンパレータ130Aのデジタル信号に含まれる'0'と'1'の割合が25:75になるように、補助コンパレータ130Aの閾値を設定すればよい。
このようにして、補助コンパレータ130Aのコンパレータ120に対するオフセットを−0.75LSBに設定すればよい。
同様に、補助コンパレータ140Aのデジタル信号を閾値制御部160のカウンタでカウントすることにより、補助コンパレータ140Aのデジタル信号に含まれる'0'と'1'の割合が75:25になるように、補助コンパレータ140Aの閾値を設定すればよい。
このようにして、補助コンパレータ140Aのコンパレータ120に対するオフセットを+0.75LSBに設定すればよい。
このような3つの補助コンパレータ130A、130B、140Aを用いた場合に、最終ステップの1ステップ手前でコンパレータ120の基準電圧がVr(n)になり、最終ステップでコンパレータ120の基準電圧がVr(n+1)になったとする。なお、基準電圧Vr(n)とVr(n+1)との差は1LSBであるとする。
コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140Aの基準電圧がVrD1、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130A、130Bの基準電圧がVrD2、VrD3よりも高い。
このような場合には、Vr(n)とVr(n+1)との間に、Vr(n)からVrD2、VrD2からVrD3、VrD3からVrD1、VrD1からVr(n+1)の4階調が得られることになる。
図14に示すように、3つの補助コンパレータ130A、130B、140Aを用いれば、図3に示すADコンバータ100に比べて、Vr(n)とVr(n+1)との間の1LSBのうちに、3階調の増大を図ることができ、誤差の検出をより細かく行うことができる。
なお、図14には、第1サブ比較部の一例としての補助コンパレータ130A、第2サブ比較部の一例としての補助コンパレータ140A、第3サブ比較部の一例としての補助コンパレータ130Bを示した。しかしながら、これらに加えて、あるいは、第3サブ比較部の一例としての補助コンパレータ130Bの代わりに、コンパレータ120に対して1LSB未満の正のオフセットであって、第2サブ比較部の一例としての補助コンパレータ140Aのオフセットとは異なるオフセットを有する第4サブ比較部を含んでもよい。
図15は、実施の形態1の他の変形例のADコンバータの補助コンパレータのオフセットを示す図である。
図15には、コンパレータ120に対して2つの補助コンパレータ130と140Aのオフセットの絶対値が異なる。
図15に示す補助コンパレータ130は、図3に示す補助コンパレータ130と同様であり、コンパレータ120に対して−0.5LSBのオフセットを有する。
また、補助コンパレータ140Aは、図14に示す補助コンパレータ140Aと同様であり、コンパレータ120に対して+0.75LSBのオフセットを有する。
このような2つの補助コンパレータ130、140Aを用いた場合に、最終ステップの1ステップ手前でコンパレータ120の基準電圧がVr(n)になり、最終ステップでコンパレータ120の基準電圧がVr(n+1)になったとする。なお、基準電圧Vr(n)とVr(n+1)との差は1LSBであるとする。
コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140Aの基準電圧VrD1は、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧がVrD3よりも高い。
このような場合には、Vr(n)とVr(n+1)との間に、Vr(n)からVrD3、VrD3からVrD1、VrD1からVr(n+1)の3階調が得られることになる。
図14に示すように、コンパレータ120に対するオフセットの絶対値が互いに異なる2つの補助コンパレータ130、140Aを用いれば、図3に示すADコンバータ100に比べて、Vr(n)とVr(n+1)との間の1LSBのうちに、2階調の増大を図ることができ、誤差の検出をより細かく行うことができる。
以上、実施の形態1によれば、DAC110のビット数を増やさなくても、ADコンバータ100がコンパレータ120に加えて補助コンパレータ130、140を含むことにより、DAC110の1LSB未満の階調を判定することができる。
また、補助コンパレータ130、140によるAD変換をコンパレータ120によるAD変換と同時に行うので、変換速度を改善することができる。
<実施の形態2>
図16は、実施の形態2のADコンバータのコンパレータ120、補助コンパレータ130、140の基準電圧と、デジタル信号との関係を模式的に示す図である。図16(A)〜(C)では、Vr(n)とVr(n+1)との電圧差が異なる。なお、nは0から15のうちの任意の自然数である。また、図16の縦軸に示す数値の単位はLSBである。
また、コンパレータ120の基準電圧がVr(n+1)であるときは、DAC110の残差信号は、1LSB未満になっており、ADコンバータのデジタル信号Doutの最下位のビットを決める段階(最終ステップ)であるとする。
図16(A)に示す場合は、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140の基準電圧と、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧とが等しく、ともにVrAである。
補助コンパレータ140はコンパレータ120に対して+0.5LSBのオフセットを有しており、補助コンパレータ130はコンパレータ120に対して−0.5LSBのオフセットを有している。このため、図16(A)に示す場合は、Vr(n)とVr(n+1)の電圧差は、1LSBである。
また、コンパレータ120の基準電圧がVr(n)のときのコンパレータ120のデジタル信号は'1'であり、コンパレータ120の基準電圧がVr(n+1)のときのデジタル信号は'0'であるため、入力電圧Vinは、Vr(n)とVr(n+1)との間に存在することになる。このため、Vr(n)とVr(n+1)との間の縦軸をグレーで示す。
このような状態では、最終ステップでコンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧VrAはVr(n)とVr(n+1)との間にある。このため、最終ステップで補助コンパレータ130の出力が'0'になる確率P0と、'1'になる確率P1は、ともに50%である。
また、図16(B)では、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140の基準電圧VrB1が、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧VrB2よりも高い。
この状態は、DAC110の誤差により、Vr(n)とVr(n+1)との間の電圧差が1LSBよりも小さくなっており、誤差(Error)が生じている場合である。
また、コンパレータ120の基準電圧がVr(n)のときのコンパレータ120のデジタル信号は'1'であり、コンパレータ120の基準電圧がVr(n+1)のときのデジタル信号は'0'であるため、入力電圧Vinは、Vr(n)とVr(n+1)との間に存在することになる。このため、Vr(n)とVr(n+1)との間の縦軸をグレーで示す。
このような場合には、最終ステップでコンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧VrB2はVr(n)とVr(n+1)との間にある。
そして、最終ステップで補助コンパレータ130の出力が'0'になる確率P0が20%で、'1'になる確率P1が80%であるとする。
この場合には、Vr(n)とVr(n+1)の間の(1LSBに対する)誤差(Error)は、(P0/P1−1)×0.5LSBで求まるため、誤差(Error)は、−0.375LSBとなる。
また、図16(C)では、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140の基準電圧VrC1が、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧VrC2よりも高い。図16(C)に示す場合は、Vr(n)とVr(n+1)の間の(1LSBに対する)誤差(Error)が−0.5LSBより絶対値で大きくなっている場合である。すなわち、誤差(Error)<−0.5LSBの場合である。
また、コンパレータ120の基準電圧がVr(n)のときのコンパレータ120のデジタル信号は'1'であり、コンパレータ120の基準電圧がVr(n+1)のときのデジタル信号は'0'であるため、入力電圧Vinは、Vr(n)とVr(n+1)との間に存在することになる。このため、Vr(n)とVr(n+1)との間の縦軸をグレーで示す。
このような場合には、最終ステップでコンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧VrC2はVr(n)とVr(n+1)との間にはなく、Vr(n)よりも低い。
このような場合には、最終ステップで補助コンパレータ130の出力は'1'に固定されてしまい、誤差(Error)が幾つであるのかを検出できない状態になる。すなわち、誤差(Error)<−0.5LSBの場合には、誤差(Error)が幾つであるのかを検出できなくなる。
ところで、図16(C)に示す場合は、コンパレータ120の基準電圧がVr(n)である場合に、コンパレータ120のデジタル信号は'1'であり、補助コンパレータ140のデジタル信号は'0'である。従って、入力電圧Vinは、Vr(n)と、コンパレータ120の基準電圧がVr(n)であるときの補助コンパレータ140の基準電圧(Vr(n)+0.5LSB)との間にあることになる。
このため、実施の形態2では、図16(C)に示す状態になった場合には、次のような手法で誤差(Error)を検出する。
図17は、実施の形態2のADコンバータのコンパレータ120、補助コンパレータ130、140の基準電圧と、デジタル信号との関係を模式的に示す図である。
図17(A)には、ステップAとして、図16(C)と同様に、コンパレータ120の基準電圧がVr(n)のときの補助コンパレータ140の基準電圧VrC1が、コンパレータ120の基準電圧がVr(n+1)のときの補助コンパレータ130の基準電圧VrC2よりも高く、誤差(Error)<−0.5LSBの場合を示す。
図17(A)では、コンパレータ120の基準電圧がVr(n)である場合に、コンパレータ120のデジタル信号は'1'であり、補助コンパレータ140のデジタル信号は'0'である。従って、入力電圧Vinは、Vr(n)と、コンパレータ120の基準電圧がVr(n)であるときの補助コンパレータ140の基準電圧(Vr(n)+0.5LSB)との間にあることになる。このため、入力電圧Vinがあると考えられるVr(n)からVr(n)+0.5LSBの範囲の縦軸をグレーで示す。
最終ステップとなるステップBでは、コンパレータ120の基準電圧Vr(n+1)が縦軸のグレーの範囲内にある。
コンパレータ120の基準電圧Vr(n)のときには、コンパレータ120のデジタル信号(DU1)は'1'であり、補助コンパレータ140のデジタル信号は'0'である。
このような場合には、最終ステップで、コンパレータ120の出力(デジタル信号DU0)が'0'又は'1'になるため、デジタル信号DU0が'0'になる確率P0aと、'1'になる確率P1aとに基づいて、誤差(Error)を検出すればよい。
例えば、P0aが75%で、P1aが25%の場合は、誤差(Error)は、(P0a/P1a−1)×0.5LSB=−0.625LSBとなる。この手法を用いれば、誤差(Error)が−0.5LSB<誤差(Error)≦−1LSBの場合において、誤差(Error)を検出することができる。
なお、ステップAは、最終ステップBの1つ手前のステップでもよく、最終ステップであるステップBよりも2つ以上前のステップであってもよい。ステップAが最終ステップであるステップBよりも2つ以上前のステップである場合は、図17(A)のステップAに示すように、コンパレータ120のデジタル信号が'1'で、補助コンパレータ140のデジタル信号が'0'になった場合に、ステップBに進行するようにSAR制御部150が制御を行うようにすればよい。
また、ステップAとステップBは、順番が逆であってもよい。すなわち、ステップAが最終ステップの状態で、ステップBが最終ステップの1つ、又は、2つ以上手前のステップであってもよい。この場合には、ステップBにおけるコンパレータ120のデジタル信号は'0'であり、ステップAにおけるコンパレータ120のデジタル信号は'0'又は'1'になる。
また、図17(B)にはさらに誤差(Error)が絶対値で大きくなっている場合を示す。図17(B)では、誤差(Error)<−1LSBである。
図17(B)に示すステップAでは、コンパレータ120の基準電圧がVr(n)である場合に、コンパレータ120のデジタル信号は'1'であり、補助コンパレータ140のデジタル信号は'0'である。従って、入力電圧Vinは、Vr(n)と、コンパレータ120の基準電圧がVr(n)であるときの補助コンパレータ140の基準電圧(Vr(n)+0.5LSB)との間にあることになる。このため、入力電圧Vinがあると考えられるVr(n)からVr(n)+0.5LSBの範囲の縦軸をグレーで示す。
最終ステップであるステップBでは、補助コンパレータ140の基準電圧(Vr(n+1)+0.5LSB)が、縦軸のグレーの範囲内にある。
このような場合には、最終ステップとなるステップBで、コンパレータ120のデジタル信号は'1'に固定されるが、補助コンパレータ140の出力(デジタル信号DU0)が'0'又は'1'になる。このため、補助コンパレータ140のデジタル信号が'0'になる確率P0bと、'1'になる確率P1bとに基づいて、誤差(Error)を検出すればよい。
例えば、P0bが25%で、P1bが75%の場合は、誤差(Error)は、(P0b/P1b−1)×0.5LSB=−1.375LSBとなる。この手法を用いれば、誤差(Error)が−1LSB<誤差(Error)≦−1.5LSBの場合において、誤差(Error)を検出することができる。
また、誤差(Error)が−1.5LSBより絶対値で大きくなっている場合、すなわち、誤差(Error)<−1.5LSBの場合は、次のようにして誤差(Error)を検出することができる。
なお、ステップAは、最終ステップBの1つ手前のステップでもよく、最終ステップであるステップBよりも2つ以上前のステップであってもよい。ステップAが最終ステップであるステップBよりも2つ以上前のステップである場合は、図17(B)のステップAに示すように、コンパレータ120のデジタル信号が'1'で、補助コンパレータ140のデジタル信号が'0'になった場合に、ステップBに進行するようにSAR制御部150が制御を行うようにすればよい。
また、ステップAとステップBは、順番が逆であってもよい。すなわち、ステップAが最終ステップの状態で、ステップBが最終ステップの1つ、又は、2つ以上手前のステップであってもよい。この場合には、ステップBにおける補助コンパレータ140のデジタル信号は'0'であり、ステップAにおける補助コンパレータ140のデジタル信号は'0'又は'1'になる。
以上、図17(A)、(B)に示す場合は、DAC110が含む誤差の絶対値が、コンパレータ120に対する補助コンパレータ130、140のオフセットの絶対値よりも大きい場合に、コンパレータ120のデジタル信号に基づいて導出される各ビットの誤差を用いて、デジタル信号Doutを補正することになる。
図18は、実施の形態2のADコンバータのコンパレータ120、補助コンパレータ130、140の基準電圧と、デジタル信号との関係を模式的に示す図である。
図18には、誤差(Error)<−1.5LSBの場合を示す。
図18において、ステップAでは、コンパレータ120の基準電圧がVr(n)である場合に、コンパレータ120のデジタル信号が'0'で、補助コンパレータ130のデジタル信号が'1'であるとする。すなわち、入力電圧Vinは、Vr(n)と、Vr(n)−0.5LSBとの間にあるため、この範囲の縦軸をグレーで示す。
また、誤差(Error)<−1.5LSBであって図18に示すような場合には、コンパレータ120の基準電圧がVr(n+1)になる最終ステップとなるステップBにおいて、コンパレータ120及び補助コンパレータ130のデジタル信号は、ともに'1'になる。
しかしながら、この場合に、ステップBでは補助コンパレータ140のデジタル信号は'0'又は'1'になる。
従って、誤差(Error)<−1.5LSBで、コンパレータ120の基準電圧がVr(n)である場合に、コンパレータ120のデジタル信号が'0'で、補助コンパレータ130のデジタル信号が'1'である場合には、ステップBで補助コンパレータ140のデジタル信号が'0'になる確率P0cと、'1'になる確率P1cとに基づいて、誤差(Error)を検出すればよい。
例えば、P0cが50%で、P1cが50%の場合は、誤差(Error)は、−P1c×0.5LSB−1.5LSB=−1.75LSBとなる。この手法を用いれば、誤差(Error)が−2.0LSB≦誤差(Error)<−1.5LSBの場合において、誤差(Error)を検出することができる。
なお、ステップAは、最終ステップBの1つ手前のステップでもよく、最終ステップであるステップBよりも2つ以上前のステップであってもよい。ステップAが最終ステップであるステップBよりも2つ以上前のステップである場合は、図18のステップAに示すように、コンパレータ120のデジタル信号が'0'で、補助コンパレータ130のデジタル信号が'1'になった場合に、ステップBに進行するようにSAR制御部150が制御を行うようにすればよい。
また、ステップAとステップBは、順番が逆であってもよい。すなわち、ステップAが最終ステップの状態で、ステップBが最終ステップの1つ、又は、2つ以上手前のステップであってもよい。この場合には、ステップBにおける補助コンパレータ140のデジタル信号は'0'であり、ステップAにおける補助コンパレータ130のデジタル信号は'0'又は'1'になる。
以上、図18に示す場合は、DAC110が含む誤差の絶対値が、コンパレータ120に対する補助コンパレータ130、140のオフセットの絶対値よりも大きい場合に、コンパレータ120のデジタル信号が固定値になる場合は、補助コンパレータ130、140のうち、デジタル信号が非固定値となる方のデジタル信号に基づいて導出される各ビットの誤差を用いて、デジタル信号Doutを補正することになる。
また、以上では、コンパレータ120と2つの補助コンパレータ130、140とを用いて誤差の検出を行う形態について説明したが、次のようにすれば、補助コンパレータを1つに削減して、AD変換を行うことができる。
図19は、実施の形態2の変形例のADコンバータのコンパレータ120及び補助コンパレータ130の基準電圧と、デジタル信号との関係を模式的に示す図である。
実施の形態2の変形例のADコンバータは、コンパレータ120と補助コンパレータ130を含み、補助コンパレータ140は含まない。
まず、図19(A)では、誤差(Error)は、誤差(Error)<−0.5LSBである場合について説明する。誤差(Error)が誤差(Error)<−0.5LSBであることは、図16(C)に示す場合と同様に、最終ステップで補助コンパレータ130のデジタル信号が'1'に固定されることによって判別することが可能である。図16(C)に示す状態が生じていることは、補助コンパレータ140を含まない実施の形態2の変形例のADコンバータでも同様に判別可能である。
例えば、図19(A)において、ステップAでコンパレータ120の基準電圧がVr(n)であるときに、コンパレータ120のデジタル信号が'0'であり、補助コンパレータ130のデジタル信号が'1'であるとする。
この場合には、入力電圧Vinは、Vr(n)とVr(n)−0.5LSBとの間にあると考えられるため、Vr(n)とVr(n)−0.5LSBとの間の縦軸をグレーで示す。
ここで、ステップAが最終ステップの1つ前のステップであるとすると、ステップAでコンパレータ120のデジタル信号が'0'になると、通常はスイッチφ1(図3参照)を−Vrに接続して、次のステップBにおいて、基準電圧Vr(n)よりも低い入力電圧Vinのレベルを判定する。
しかしながら、実施の形態2の変形例では、このような場合に、SAR制御部150がスイッチφ1をVrに接続する。すなわち、ステップAでのコンパレータ120のデジタル出力が'1'であったように取り扱い、スイッチφ1をVrに接続する。
この結果、最終ステップであるステップBでDAC110が出力する基準電圧(コンパレータ120に入力される基準電圧がVr(n+1))は、ステップAでのコンパレータ120の基準電圧がVr(n)よりも上昇し、図19(A)に示すようになる。
このようにステップBにおいてコンパレータ120の基準電圧Vr(n+1)が設定されると、基準電圧がVr(n+1)はグレーの電圧領域から外れるため、コンパレータ120のデジタル信号は'0'になる。
また、このとき、補助コンパレータ130のデジタル信号は、'0'又は'1'になる。これは、誤差(Error)<−0.5LSBであるため、Vr(n)とVr(n+1)の電圧差は0.5LSB未満であるためである。
従って、最終ステップで補助コンパレータ130のデジタル信号が'0'になる確率P0dと、'1'になる確率P1dとに基づいて、誤差(Error)を検出すればよい。
例えば、P0dが75%で、P1dが25%の場合は、誤差(Error)は、P0d×0.5LSB−1LSB=−0.625LSBとなる。この手法を用いれば、誤差(Error)が−1.0LSB<誤差(Error)<−0.5LSBの場合において、誤差(Error)を検出することができる。
なお、ステップAは、最終ステップBの1つ手前のステップでもよく、最終ステップであるステップBよりも2つ以上前のステップであってもよい。ステップAが最終ステップであるステップBよりも2つ以上前のステップである場合は、図19(A)のステップAに示すように、コンパレータ120のデジタル信号が'0'で、補助コンパレータ130のデジタル信号が'1'になった場合に、ステップBに進行するようにSAR制御部150が制御を行うようにすればよい。
また、補助コンパレータ130の代わりに、補助コンパレータ140を含む場合は、ステップAとステップBの順番が逆の場合に判定を行うことができる。すなわち、ステップAが最終ステップの状態で、ステップBが最終ステップの1つ、又は、2つ以上手前のステップであってもよい。この場合には、ステップBにおける補助コンパレータ140のデジタル信号は'0'であり、コンパレータ120のデジタル信号が'1'である。また、ステップAにおけるコンパレータ120のデジタル信号は'1'であり、補助コンパレータ140のデジタル信号は'0'又は'1'になる。
また、図19(B)では、−1.5LSB<誤差(Error)≦−1LSBである場合について説明する。図19(B)に示す判定手法は、図19(A)において、補助コンパレータ130のデジタル信号が'0'になる確率P0d=0の場合(すなわち、補助コンパレータ130のデジタル信号が'1'に固定された場合)に行う判定手法である。
図19(B)に示すステップAでは、図19(A)と同様に、コンパレータ120の基準電圧がVr(n)であるときに、コンパレータ120のデジタル信号が'0'であり、補助コンパレータ130のデジタル信号が'1'であるとする。
この場合には、入力電圧Vinは、Vr(n)とVr(n)−0.5LSBとの間にあると考えられるため、Vr(n)とVr(n)−0.5LSBとの間の縦軸をグレーで示す。
次に、最終ステップであるステップBでは、SAR制御部150がスイッチφ1(図3参照)を通常通り−Vrに接続する。これにより、DAC110が出力する基準電圧(コンパレータ120に入力する基準電圧Vr(n+1))はVr(n)よりも低下する。
このとき、−1.5LSB<誤差(Error)であれば、コンパレータ120の基準電圧Vr(n+1)はグレーの電圧領域の中に入るため、コンパレータ120のデジタル信号が'0'になる確率P0eと、'1'になる確率P1eとを用いて誤差(Error)を検出することができる。
例えば、P0eが20%で、P1eが80%の場合は、誤差(Error)は、−P1e×0.5LSB−1LSB=−1.375LSBとなる。この手法を用いれば、誤差(Error)が−1.5LSB<誤差(Error)≦−1.0LSBの場合において、誤差(Error)を検出することができる。すなわち、Vr(n)とVr(n+1)の上下関係が逆転した場合においても、誤差(Error)を検出することができる。
なお、ステップAは、最終ステップBの1つ手前のステップでもよく、最終ステップであるステップBよりも2つ以上前のステップであってもよい。ステップAが最終ステップであるステップBよりも2つ以上前のステップである場合は、図19(B)のステップAに示すように、コンパレータ120のデジタル信号が'0'で、補助コンパレータ130のデジタル信号が'1'になった場合に、ステップBに進行するようにSAR制御部150が制御を行うようにすればよい。
また、補助コンパレータ130の代わりに、補助コンパレータ140を含む場合は、ステップAとステップBの順番が逆の場合に判定を行うことができる。すなわち、ステップAが最終ステップの状態で、ステップBが最終ステップの1つ、又は、2つ以上手前のステップであってもよい。この場合には、ステップBにおける補助コンパレータ140のデジタル信号は'0'又は'1'であり、コンパレータ120のデジタル信号が'1'である。また、ステップAにおける補助コンパレータ140のデジタル信号は'0'であり、コンパレータ120のデジタル信号は'0'又は'1'になる。
図19に示す場合は、コンパレータ120のデジタル信号と、補助コンパレータ130のデジタル信号とが異なる場合には、SAR制御部150は、コンパレータ120のデジタル信号とは異なる二値信号をDAC110に入力する。そして、出力補正部170は、SAR制御部150がコンパレータ120のデジタル信号とは異なる二値信号をDAC110に入力した結果、コンパレータ120から出力されるデジタル信号を用いて、デジタル信号Doutを補正することになる。
以上、本発明の例示的な実施の形態1、2のADコンバータ、及び、電子装置について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
所定階調数分の変換段を有し、前記変換段でデジタル信号をアナログ変換して得るアナログ信号を出力するDA変換部と、
前記DA変換部の出力側に接続され、前記DA変換部が出力するアナログ信号と所定の基準レベルとの第1比較結果を表す二値信号を出力するメイン比較部と、
前記DA変換部の出力側に接続され、前記メイン比較部に対して前記DA変換部の量子化単位未満のオフセットを有し、前記DA変換部が出力するアナログ信号と前記所定の基準レベルとの第2比較結果を表す二値信号を出力するサブ比較部と
を含む、ADコンバータ。
(付記2)
前記サブ比較部は、
前記メイン比較部に対して前記DA変換部の量子化単位未満の負のオフセットを有する第1サブ比較部と、
前記メイン比較部に対して前記DA変換部の量子化単位未満の正のオフセットを有する第2サブ比較部と
を有する、付記1記載のADコンバータ。
(付記3)
前記第2サブ比較部の前記正のオフセットと、前記第1サブ比較部の前記負のオフセットは、絶対値が等しい、又は、絶対値が異なる、付記2記載のADコンバータ。
(付記4)
前記サブ比較部は、前記メイン比較部に対して前記DA変換部の量子化単位未満の負のオフセットであって、前記第1サブ比較部のオフセットとは異なるオフセットを有する第3サブ比較部をさらに有する、付記2又は3記載のADコンバータ。
(付記5)
前記サブ比較部は、前記メイン比較部に対して前記DA変換部の量子化単位未満の正のオフセットであって、前記第2サブ比較部のオフセットとは異なるオフセットを有する第4サブ比較部をさらに有する、付記2乃至4のいずれか一項記載のADコンバータ。
(付記6)
前記第2比較結果に基づき、前記オフセットを設定するオフセット制御部をさらに含む、付記1乃至5のいずれか一項記載のADコンバータ。
(付記7)
前記オフセット制御部は、前記サブ比較部の第2比較結果を表す二値信号の第1信号と第2信号をカウントするカウンタを有し、前記カウンタでの前記第1信号と前記第2信号が所定の割合になるように、前記オフセットを設定する、付記6記載のADコンバータ。
(付記8)
前記オフセット制御部は、通常のAD変換処理中においても、前記カウンタで前記第1信号と前記第2信号をカウントし、前記カウンタでの前記第1信号と前記第2信号が所定の割合になるように、前記オフセットを設定する、付記7記載のADコンバータ。
(付記9)
前記第1比較結果を表す二値信号を前記DA変換部に入力するとともに、前記第1比較結果を表す二値信号によって構築され、前記DA変換部の変換結果を表すデジタル信号を出力する逐次制御部をさらに含む、付記1乃至8のいずれか一項記載のADコンバータ。
(付記10)
前記逐次制御部は、AD変換における最終ステップの前のステップまでは、前記サブ比較部をオフにする、付記9記載のADコンバータ。
(付記11)
前記サブ比較部が出力する前記第2比較結果を表す二値信号に基づき、前記逐次制御部が出力するデジタル信号を補正する補正部をさらに含む、付記9又は10記載のADコンバータ。
(付記12)
前記補正部は、前記第2比較結果を表す二値信号に基づいて導出される各ビットの誤差を用いて、前記デジタル信号を補正する、付記11記載のADコンバータ。
(付記13)
所定階調数分の変換段を有し、前記変換段でデジタル信号をアナログ変換して得るアナログ信号を出力するDA変換部と、
前記DA変換部の出力側に接続され、前記DA変換部が出力するアナログ信号と所定の基準レベルとの第1比較結果を表す二値信号を出力するメイン比較部と、
前記DA変換部の出力側に接続され、前記メイン比較部に対して前記DA変換部の量子化単位未満の負のオフセットを有し、前記DA変換部が出力するアナログ信号と前記所定の基準レベルとの第2比較結果を表す二値信号を出力する第1サブ比較部と、
前記DA変換部の出力側に接続され、前記メイン比較部に対して前記DA変換部の量子化単位未満の正のオフセットを有し、前記DA変換部が出力するアナログ信号と前記所定の基準レベルとの第2比較結果を表す二値信号を出力する第2サブ比較部と、
前記第1比較結果を表す二値信号を前記DA変換部に入力するとともに、前記第1比較結果を表す二値信号によって構築され、前記DA変換部の変換結果を表すデジタル信号を出力する逐次制御部と、
前記第1サブ比較部又は前記第2サブ比較部が出力する前記第2比較結果を表す二値信号に基づき、前記逐次制御部が出力するデジタル信号を補正する補正部と
を含み、
前記補正部は、前記DA変換部が含む誤差が絶対値で前記オフセットよりも大きい場合に、前記メイン比較部の前記第1比較結果を表す二値信号に基づいて導出される各ビットの誤差を用いて、前記デジタル信号を補正する、ADコンバータ。
(付記14)
前記補正部は、前記DA変換部が含む誤差が絶対値で前記オフセットよりも大きく、前記メイン比較部の前記第1比較結果が固定値になる場合は、前記第1サブ比較部又は前記第2サブ比較部のうち、前記第2比較結果が非固定値となるサブ比較部の第2比較結果を表す二値信号に基づいて導出される各ビットの誤差を用いて、前記デジタル信号を補正する、付記13記載のADコンバータ。
(付記15)
所定階調数分の変換段を有し、前記変換段でデジタル信号をアナログ変換して得るアナログ信号を出力するDA変換部と、
前記DA変換部の出力側に接続され、前記DA変換部が出力するアナログ信号と所定の基準レベルとの第1比較結果を表す二値信号を出力するメイン比較部と、
前記DA変換部の出力側に接続され、前記メイン比較部に対して前記DA変換部の量子化単位未満のオフセットを有し、前記DA変換部が出力するアナログ信号と前記所定の基準レベルとの第2比較結果を表す二値信号を出力するサブ比較部と、
前記第1比較結果を表す二値信号を前記DA変換部に入力するとともに、前記第1比較結果を表す二値信号によって構築され、前記DA変換部の変換結果を表すデジタル信号を出力する逐次制御部と、
前記サブ比較部が出力する前記第2比較結果を表す二値信号に基づき、前記逐次制御部が出力するデジタル信号を補正する補正部と
を含み、
前記メイン比較部の第1比較結果を表す二値信号と、前記サブ比較部の第2比較結果を表す二値信号とが異なる場合には、前記逐次制御部は、前記メイン比較部の第1比較結果を表す二値信号とは異なる二値信号を前記DA変換部に入力し、
前記補正部は、前記逐次制御部が前記メイン比較部の第1比較結果を表す二値信号とは異なる二値信号を前記DA変換部に入力した結果、前記メイン比較部から出力される第1比較結果を表す二値信号を用いて、前記デジタル信号を補正する、ADコンバータ。
(付記16)
前記補正部は、前記DA変換部が含む誤差が絶対値で前記オフセットよりも大きく、前記サブ比較部の前記第2比較結果が固定値になる場合は、前記メイン比較部の第1比較結果を表す二値信号に基づいて導出される各ビットの誤差を用いて、前記デジタル信号を補正する、付記15記載のADコンバータ。
(付記17)
付記1乃至16のいずれか一項記載のADコンバータと、
前記ADコンバータによってデジタル変換されたデジタル信号を処理する処理部と
を含む、電子装置。