以下、本発明の実施形態を図面に基づいて説明する。
まず、差動入力の逐次比較型AD変換器(アナログ−デジタル変換器)において、DA変換器(デジタル−アナログ変換器)のDNL誤差の補正動作をシングルエンドの逐次比較型AD変換器と同様の方法で行う場合の例を、図14〜図18を参照して説明する。
図14は、差動入力の逐次比較型AD変換器の構成例を示す図である。図14には、入力されるアナログ信号を、最上位ビット(MSB)を第3ビットとし最下位ビット(LSB)を第0ビットとする4ビットのデジタル信号に変換して出力する差動入力の逐次比較型AD変換器を一例として示している。
図14において、11Pは正(プラス、+)側のDA変換器、11Nは負(マイナス、−)側のDA変換器、12Pは正(プラス、+)側の補正DA変換器、12Nは負(マイナス、−)側の補正DA変換器である。DA変換器11P、11Nは、変換対象のアナログ入力を入力可能な入力付きDA変換器であり、補正DA変換器12P、12Nは、DA変換器11P、11Nの出力を補正するための補正用のDA変換器である。また、13はコンパレータ、14は制御回路(SAR回路:successive approximation register回路)、101は補正制御回路である。
VinPは差動入力の正(プラス、+)側のアナログ入力を示し、VinNは差動入力の負(マイナス、−)側のアナログ入力を示す。C3、C2、C1は、それぞれデジタルコードにおける第3ビット、第2ビット、第1ビットの補正コードを示す。第iビットの補正コードは、デジタルコードの第iビットに応じた入力付きDA変換器の出力誤差を補正するための補正コードである。補正コードC3、C2、C1は、MSBを第3ビットとしLSBを第0ビットとする4ビットで構成され、各補正コードの第3ビットC3[3]、C2[3]、C1[3]は符号フラグである。以下では、符号フラグが“1”であればプラス(+)、“0”であればマイナス(−)を示すものとする。
正側の入力付きDA変換器11Pは、正側のアナログ入力VinPが入力端VINに入力され、SAR回路14から出力されるサンプル制御信号SHCが入力端S/Hに入力される。また、正側の入力付きDA変換器11Pは、SAR回路14から出力されるデジタルコードDp(pはデジタルコードにおけるビット位置を示し、p=3、2、1、0)が、同じpの値の入力端Dpに入力される。
負側の入力付きDA変換器11Nは、負側のアナログ入力VinNが入力端VINに入力され、SAR回路14から出力されるサンプル制御信号SHCが入力端S/Hに入力される。また、負側の入力付きDA変換器11Nは、SAR回路14から出力されるデジタルコードDpをインバータ17−pで反転させた反転デジタルコードXDpが同じpの値の入力端Dpに入力される。
入力付きDA変換器11P、11Nは、入力端VINに入力されるアナログ入力をサンプル制御信号SHCに応じてサンプリングする。また、入力付きDA変換器11P、11Nは、サンプリング終了後の比較動作時には、サンプリングしたアナログ入力及び入力端D3〜D0に入力されるデジタルコードに応じた出力を出力端OUTより出力する。なお、図示していないが入力付きDA変換器11P、11Nには、バイアス電位Vcm(=(VRH/VRL)/2)が供給されている。VRHは高い側の基準電位(例えば電源電圧)であり、VRLは低い側の基準電位(例えば0V)である。
補正DA変換器12P及び12Nは、バイアス電位Vcmが入力端RSTVに入力され、SAR回路14から出力されるサンプル制御信号SHCが入力端S/Hに入力される。また、正側の補正DA変換器12Pは、補正制御回路101から出力される補正コードCD3、CD2、CD1、CD0が、それぞれ入力端CD3、CD2、CD1、CD0に入力される。また、負側の補正DA変換器12Nは、補正制御回路101から出力される補正コードXCD3、XCD2、XCD1、XCD0が、それぞれ入力端CD3、CD2、CD1、CD0に入力される。補正DA変換器12P、12Nは、入力端CD3〜CD0に入力される補正コードに応じた出力を出力端COUTより出力する。
入力付きDA変換器11Pの出力端OUTと補正DA変換器12Pの出力端COUTとは結合容量16Pにより結合されている。入力付きDA変換器11Pの出力と補正DA変換器12Pの出力(補正出力)とが結合容量16Pを用いて加算され、加算結果が正側のDA変換出力としてコンパレータ13の一方の入力端に入力される。同様に、入力付きDA変換器11Nの出力端OUTと補正DA変換器12Nの出力端COUTとは結合容量16Nにより結合されている。入力付きDA変換器11Nの出力と補正DA変換器12Nの出力(補正出力)とが結合容量16Nを用いて加算され、加算結果が負側のDA変換出力としてコンパレータ13の他方の入力端に入力される。
コンパレータ13は、入力される正側のDA変換出力と負側のDA変換出力を比較し、その電位差に応じた出力CPOUTを生成する。SAR回路14は、逐次比較型AD変換器内の各回路を制御する。例えば、SAR回路14は、逐次比較に係る制御を行い、サンプル制御信号SHCを出力したり、コンパレータ13からの出力CPOUTに基づいて、次の状態(デジタルコードD3、D2、D1、D0)を生成して出力したりする。また、SAR回路14は、デジタルコードにて決定した値を保持し、すべてのビットの値が決定したデジタルコードをアナログ信号のAD変換結果として外部に出力可能となっている。
補正制御回路101は、SAR回路14から出力されるサンプル制御信号SHC及びデジタルコードD3、D2、D1が、それぞれ入力端S/H、D3、D2、D1に入力される。また、補正制御回路101は、補正コードC3[3:0]、C2[3:0]、C1[3:0]が、それぞれ入力端C3[3:0]、C2[3:0]、C1[3:0]に入力される。
補正制御回路101は、入力されるサンプル制御信号SHC、デジタルコードD3、D2、D1、及び補正コードC3、C2、C1に基づいて、補正コードCD3〜CD0、XCD3〜XCD0を生成する。補正制御回路101は、生成した補正コードCD3〜CD0をそれぞれ出力端CD3〜CD0より出力し、生成した補正コードXCD3〜XCD0をそれぞれ出力端XCD3〜XCD0より出力する。
図15は、入力付きDA変換器の構成例を示す図である。
図15において、CA0〜CA3は容量である。容量CA0の容量値をC0とすると、容量CA1、CA2、及びCA3の容量値は、2C0、4C0(=22C0)、及び8C0(=23C0)に重み付けされている。例えば、容量値における相対的な精度を確保するために、容量CA1、CA2、及びCA3は、2個、4個、8個の単位容量C0を並列に接続してそれぞれ構成される。なお、α、β、及びγは、製造ばらつき等によって容量CA1、CA2、及びCA3が有する容量値の誤差を示しており、この容量値の誤差はDA変換器の出力に生じるDNL誤差の一因である。
容量CA0〜CA3の一端は、それぞれスイッチ部SA0〜SA3に対して接続される。スイッチ部SA0〜SA3の各々は、排他的に導通状態/非導通状態とされる2つのスイッチを有し、これら2つのスイッチは、入力端S/Hに入力されるサンプル制御信号に応じて開閉制御される。
サンプル制御信号がハイレベルのとき(サンプリング時)には、容量CA0〜CA3の一端がスイッチ部SA0〜SA3を介して入力端VINに接続され、容量CA0〜CA3の一端にアナログ入力が供給される。また、サンプル制御信号がローレベルのとき(サンプリング時以外、例えば比較動作時)には、スイッチ部SA0〜SA3とそれに対応するスイッチSB0〜SB3とを介して、容量CA0〜CA3の一端に基準電位VRH又は基準電位VRLが供給される。スイッチSB0〜SB3は、入力端D0〜D3に入力されるデジタルコードの値に応じて制御される。
例えば、サンプル制御信号がローレベルのとき、容量CA0の一端には、入力端D0に入力されるデジタルコードの値が“1”の場合に基準電位VRHが供給され、デジタルコードの値が“0”の場合に基準電位VRLが供給される。このとき、容量CA1の一端には、入力端D1に入力されるデジタルコードの値が“1”の場合に基準電位VRHが供給され、デジタルコードの値が“0”の場合に基準電位VRLが供給される。なお、容量CA2、CA3についても同様であり、容量CA2、CA3の一端には、入力端D2、D3に入力されるデジタルコードの値が“1”の場合に基準電位VRHが供給され、デジタルコードの値が“0”の場合に基準電位VRLが供給される。
容量CA0〜CA3の他端は、出力端OUTに接続される。また、容量CA0〜CA3の他端には、サンプル制御信号に応じて開閉制御されるスイッチSCを介してバイアス電位Vcmが供給可能となっている。サンプル制御信号がハイレベルのとき(サンプリング時)において、スイッチSCが閉じられ(導通状態となり)、容量CA0〜CA3の他端にバイアス電位Vcmが供給される。
入力付きDA変換器の動作の概要を説明する。なお、以下では、説明の簡単のために、容量CA1、CA2、CA3が有する容量値の誤差α、β、及びγについては無視し、基準電位VRLは0であるとする。
まず、アナログ入力のサンプリング時において、入力端S/Hに入力されるサンプル制御信号がハイレベルとなる。サンプル制御信号がハイレベルとなることで、容量CA0〜CA3の一端にはスイッチ部SA0〜SA3を介してアナログ入力VINが供給され、容量CA0〜CA3の他端にはスイッチSCを介してバイアス電位Vcmが供給される。これにより、容量CA0〜CA3が充電され、QA=15C0×(Vcm−VIN)で表されるアナログ入力の電圧に応じた電荷QAが容量CA0〜CA3に蓄積される。
アナログ入力のサンプリングが終了した後、入力端S/Hに入力されるサンプル制御信号がローレベルとなり、比較動作が行われる。比較動作時においては、出力端OUTより出力される出力電位VOUTが、アナログ入力のサンプリング時に容量CA0〜CA3に蓄積した電荷QAの再分配により決定されるようスイッチSCが開状態(非導通状態)とされる。また、容量CA0〜CA3の一端にはスイッチ部SA0〜SA3及びスイッチSB0〜SB3を介して、入力されるデジタルコードD0〜D3に応じ基準電位VRH又は基準電位VRLが供給される。ここで、容量CA0〜CA3にて一端に基準電位VRHが供給される容量の合成容量値は(D0+2D1+4D2+8D3)C0で表される。したがって、入力付きDA変換器は、VOUT=Vcm−VIN+(D0+2D1+4D2+8D3)×VRH/15で表されるアナログ入力の電圧及びデジタルコードに応じた出力電位VOUTを出力端OUTより出力する。
図16は、補正DA変換器の構成例を示す図である。
図16において、CB0〜CB3は容量である。容量CB0の容量値をC1とすると、容量CB1、CB2、及びCB3の容量値は、2C1、4C1(=22C1)、及び8C1(=23C1)に重み付けされている。例えば、容量値における相対的な精度を確保するために、容量CB1、CB2、及びCB3は、2個、4個、8個の単位容量C1を並列に接続してそれぞれ構成される。ここで、補正DA変換器は、入力付きDA変換器における出力誤差を補正するためのものであるので、容量値C1は、容量値C0に対して十分に小さい。
容量CB0〜CB3の一端は、直列接続された2つのインバータを介して入力端CD0〜CD3に接続され、容量CB0〜CB3の他端は出力端COUTに接続される。また、容量CB0〜CB3の他端は、サンプル制御信号に応じて開閉制御されるスイッチSDを介して入力端RSTVに接続される。サンプル制御信号がハイレベルのとき(サンプリング時)において、スイッチSDが閉じられ(導通状態となり)、容量CB0〜CB3の他端と入力端RSTVとが接続される。
補正DA変換器の動作の概要を説明する。なお、以下では、入力端CD0〜CD3に入力される補正コードにおいて、値が“1”のときには入力端より基準電位VRHが供給され、値が“0”のときには入力端より基準電位VRL(本例では0V)が供給されるものとする。また、アナログ入力のサンプリング時において、入力端CD0〜CD3に入力される補正コードの初期値をCD0’、CD1’、CD2’、CD3’とする。
アナログ入力のサンプリング時において、入力端S/Hに入力されるサンプル制御信号がハイレベルとなることで、容量CB0〜CB3の他端にはスイッチSDを介して電位RSTVが供給される。また、容量CB0〜CB3の一端には、入力される補正コードCD0’〜CD3’に応じ基準電位VRH又は基準電位VRLが供給される。ここで、容量CB0〜CB3にて、一端に基準電位VRHが供給される容量の合成容量値は(CD0’+2CD1’+4CD2’+8CD3’)C1で表される。同様に、一端に基準電位VRLが供給される容量の合成容量値は[15−(CD0’+2CD1’+4CD2’+8CD3’)]C1で表される。したがって、容量CB0〜CB3には、QB=15C1×RSTV−(CD0’+2CD1’+4CD2’+8CD3’)C1×VRHで表される電荷QBが蓄積される。
サンプリング終了後の比較動作時において、出力端COUTより出力される出力電位VCOUTが、サンプリング時に容量CB0〜CB3に蓄積した電荷QBの再分配により決定されるようスイッチSDが開状態(非導通状態)とされる。容量CB0〜CB3の一端には、入力される補正コードCD0〜CD3に応じて基準電位VRH又は基準電位VRLが供給される。ここで、容量CB0〜CB3にて、一端に基準電位VRHが供給される容量の合成容量値は(CD0+2CD1+4CD2+8CD3)C1で表され、一端に基準電位VRLが供給される容量の合成容量値は[15−(CD0+2CD1+4CD2+8CD3)]C1で表される。したがって、補正DA変換器は、VCOUT=RSTV+[(CD0+2CD1+4CD2+8CD3)−(CD0’+2CD1’+4CD2’+8CD3’)]×VRH/15で表される出力電位VCOUTを出力端COUTより出力する。
図17は、図14の補正制御回路101の構成例を示す図である。
AND回路(論理積演算回路)111−1〜111−3は、デジタルコードD1〜D3及び補正コードC1[3:0]〜C3[3:0]が入力され、その演算結果を出力する。すなわち、AND回路111−1は、デジタルコードD1の値が“1”の場合には補正コードC1[3:0]を演算結果として出力し、デジタルコードD1の値が“0”の場合には“0000”を演算結果として出力する。また、AND回路111−2は、デジタルコードD2の値が“1”の場合には補正コードC2[3:0]を演算結果として出力し、デジタルコードD2の値が“0”の場合には“0000”を演算結果として出力する。同様に、AND回路111−3は、デジタルコードD3の値が“1”の場合には補正コードC3[3:0]を演算結果として出力し、デジタルコードD3の値が“0”の場合には“0000”を演算結果として出力する。
AND回路112−1〜112−3は、デジタルコードD1〜D3がインバータ113−1〜113−3を介して入力されるとともに補正コードC1[3:0]〜C3[3:0]が入力され、その演算結果を出力する。すなわち、AND回路112−1は、デジタルコードD1の値が“1”の場合には“0000”を演算結果として出力し、デジタルコードD1の値が“0”の場合には補正コードC1[3:0]を演算結果として出力する。また、AND回路112−2は、デジタルコードD2の値が“1”の場合には“0000”を演算結果として出力し、デジタルコードD2の値が“0”の場合には補正コードC2[3:0]を演算結果として出力する。同様に、AND回路112−3は、デジタルコードD3の値が“1”の場合には“0000”を演算結果として出力し、デジタルコードD3の値が“0”の場合には補正コードC3[3:0]を演算結果として出力する。
フラグ付き加算器114は、補正コードにおける中心コードである“1000”及びAND回路111−1〜111−3から出力された演算結果が入力され、それらを加算する。すなわち、フラグ付き加算器114は、中心コードである“1000”と、デジタルコードD1〜D3において値が“1”のビットの補正コードC1[3:0]〜C3[3:0]とを加算する。また、フラグ付き加算器115は、補正コードにおける中心コードである“1000”及びAND回路112−1〜112−3から出力された演算結果が入力され、それらを加算する。すなわち、フラグ付き加算器115は、中心コードである“1000”と、デジタルコードD1〜D3において値が“0”のビットの補正コードC1[3:0]〜C3[3:0]とを加算する。フラグ付き加算器114、115での加算結果は、それぞれ4ビットで出力される。なお、フラグ付き加算器114、115において、最上位ビットは符号フラグであり、補正コードにおける中心コードである“1000”は値0に対応する。
フラグ付き加算器114での加算結果の第0ビットはAND回路116−0の一方の入力端に入力され、第1ビットはAND回路116−1の一方の入力端に入力され、第2ビットはAND回路116−2の一方の入力端に入力される。フラグ付き加算器114での加算結果の第3ビットはOR回路(論理和演算回路)116−3の一方の入力端に入力される。また、AND回路116−0〜116−2の他方の入力端には、入力端S/Hに入力されるサンプル制御信号がインバータ118を介して入力され、OR回路116−3の他方の入力端には、入力端S/Hに入力されるサンプル制御信号が入力される。AND回路116−0〜116−2及びOR回路116−3の各々は、それら入力の演算処理を行い、演算結果を補正コードとして出力端CD0〜CD3より出力する。
また、フラグ付き加算器115での加算結果の第0ビットはOR回路117−0の一方の入力端に入力され、第1ビットはOR回路117−1の一方の入力端に入力され、第2ビットはOR回路117−2の一方の入力端に入力される。フラグ付き加算器115での加算結果の第3ビットはAND回路117−3の一方の入力端に入力される。また、OR回路117−0〜117−2の他方の入力端には、入力端S/Hに入力されるサンプル制御信号がインバータ118及びインバータ120を介して入力され、AND回路117−3の他方の入力端には、入力端S/Hに入力されるサンプル制御信号がインバータ119を介して入力される。OR回路117−0〜117−2及びAND回路117−3の各々は、それら入力の演算処理を行い、演算結果を補正コードとして出力端XCD0〜XCD3より出力する。
前述のように構成された補正制御回路101は、アナログ入力のサンプリング時にはサンプル制御信号がハイレベルであるので、出力端CD3からは“1”が出力され、出力端CD2〜CD0からは“0”が出力される。また、出力端XCD3からは“0”が出力され、出力端XCD2〜XCD0からは“1”が出力される。すなわち、補正制御回路101は、アナログ入力のサンプリング時には、出力端CD3〜CD0を介して補正コード“1000”を出力し、出力端XCD3〜XCD0を介して補正コード“0111”を出力する。
また、サンプリング終了後の比較動作時にはサンプル制御信号がローレベルであるので、補正制御回路101は、出力端CD3〜CD0を介してフラグ付き加算器114の出力を補正コードとして出力する。同様に、出力端XCD3〜XCD0を介してフラグ付き加算器115の出力を補正コードとして出力する。
次に、図14に示した逐次比較型AD変換器の動作について説明する。
図18は、図14に示した逐次比較型AD変換器の動作例を示すタイミングチャートである。図18には、正側のアナログ入力VinPの電位が高い側の基準電位VRHより高く、負側のアナログ入力VinNの電位が低い側の基準電位VRLより低い場合を一例として示している。また、図18に示す例では、デジタルコードにおける第3ビットの補正コードC3は“1100”(+4)、第2ビットの補正コードC2は“0111”(−7)、第1ビットの補正コードC1は“1010”(+2)であるとする。
図18において、SHCはSAR回路14から出力されるサンプル制御信号であり、DAC出力(P)及びDAC出力(N)はコンパレータ13に入力される正側のDA変換出力及び負側のDA変換出力であり、CPOUTはコンパレータ13の出力である。また、D3、D2、D1、D0はSAR回路14から出力されるデジタルコードであり、CD[3:0]及びXCD[3:0]は補正制御回路101から補正DA変換器12P及び12Nにそれぞれ供給される補正コードである。
まず、サンプル制御信号SHCがハイレベルである期間TSMにおいて、逐次比較型AD変換器は、入力されるアナログ入力VinP、VinNのサンプリングを行う。期間TSMにおいて、補正DA変換器12Pに供給される補正コードCD[3:0]は“1000”であり、補正DA変換器12Nに供給される補正コードXCD[3:0]は“0111”である。
次に、期間TC3において、逐次比較型AD変換器は、デジタルコードの第3ビットD3を決定するための比較動作を行う。このとき、SAR回路14は、第3ビットD3の値を“1”、その他のビットD2〜D0の値を“0”としたデジタルコードを出力する。
すなわち、正側のDA変換器11Pにはデジタルコード“1000”が入力される。それに応じて、正側の補正DA変換器12Pには、中心コード“1000”と第3ビットの補正コード“1100”(+4)の加算結果である“1100”(+4)が補正コードCD[3:0]として入力される。また、負側のDA変換器11Nには反転したデジタルコード“0111”が入力される。それに応じて、負側の補正DA変換器12Nには、中心コード“1000”と第2ビットの補正コード“0111”(−7)と第1ビットの補正コード“1010”(+2)の加算結果である“0011”(−5)が補正コードXCD[3:0]として入力される。
これにより、デジタルコードD3〜D0に応じたDA変換器11P及び11Nの出力が、補正コードCD[3:0]及びXCD[3:0]に応じた補正DA変換器12P及び12Nの出力(補正出力)により補正され、コンパレータ13で比較される。この例では、正側のアナログ入力VinPの電位は基準電位VRHより高く、負側のアナログ入力VinNの電位は基準電位VRLより低いとしているので、コンパレータ13の出力CPOUTはハイレベルとなる。SAR回路14は、出力CPOUTに基づいてデジタルコードの第3ビットD3の値を“1”に決定する。
デジタルコードの第3ビットD3を決定した後、次の期間TC2において、逐次比較型AD変換器は、デジタルコードの第2ビットD2を決定するための比較動作を行う。このとき、SAR回路14は、第3ビットD3の値を“1”、第2ビットD2の値を“1”、その他のビットD1及びD0の値を“0”としたデジタルコードを出力する。すなわち、正側のDA変換器11Pにはデジタルコード“1100”が入力され、負側のDA変換器11Nには反転したデジタルコード“0011”が入力される。それに応じて、正側の補正DA変換器12Pには補正コードCD[3:0]として“0101”(−3=+4−7)が入力され、負側の補正DA変換器12Nには補正コードXCD[3:0]として“1010”(+2)が入力される。
これにより、デジタルコードD3〜D0に応じたDA変換器11P及び11Nの出力が、補正DA変換器12P及び12Nの補正出力により補正されて、コンパレータ13で比較される。ここでも、コンパレータ13の出力CPOUTはハイレベルとなり、この出力CPOUTに基づきSAR回路14はデジタルコードの第2ビットD2の値を“1”に決定する。
デジタルコードの第2ビットD2を決定した後、次の期間TC1において、逐次比較型AD変換器は、デジタルコードの第1ビットD1を決定するための比較動作を行う。このとき、正側のDA変換器11Pにはデジタルコード“1110”が入力され、負側のDA変換器11Nには反転したデジタルコード“0001”が入力される。それに応じて、正側の補正DA変換器12Pには補正コードCD[3:0]として“0111”(−1=+4−7+2)が入力され、負側の補正DA変換器12Nには補正コードXCD[3:0]として“1000”(±0)が入力される。
これにより、デジタルコードD3〜D0に応じたDA変換器11P及び11Nの出力が補正DA変換器12P及び12Nの補正出力により補正されて、コンパレータ13で比較される。ここでも、コンパレータ13の出力CPOUTはハイレベルとなり、この出力CPOUTに基づきSAR回路14はデジタルコードの第1ビットD1の値を“1”に決定する。
デジタルコードの第1ビットD1を決定した後、次の期間TC0において、逐次比較型AD変換器は、デジタルコードの第0ビットD0を決定するための比較動作を行う。このとき、正側のDA変換器11Pにはデジタルコード“1111”が入力され、負側のDA変換器11Nには反転したデジタルコード“0000”が入力される。それに応じて、正側の補正DA変換器12Pには補正コードCD[3:0]として“0111”(−1)が入力され、負側の補正DA変換器12Nには補正コードXCD[3:0]として“1000”(±0)が入力される。
これにより、デジタルコードD3〜D0に応じたDA変換器11P及び11Nの出力が補正DA変換器12P及び12Nの補正出力により補正されて、コンパレータ13で比較される。ここでも、コンパレータ13の出力CPOUTはハイレベルとなり、この出力CPOUTに基づきSAR回路14はデジタルコードの第0ビットD0の値を“1”に決定する。以上のようにして、入力されたアナログ入力がデジタル信号に変換される。
前述した差動入力の逐次比較型AD変換器においては、入力付きDA変換器に入力されるデジタルコードにて値が“1”であるビットの補正コードが単純に加算され、その入力付きDA変換器に対応する補正DA変換器に補正コードとして供給される。また、補正DA変換器12P及び12Nに供給される補正コードCD[3:0]及びXCD[3:0]は、その最上位ビットCD[3]及びXCD[3]が符号(+,−)を示す符号フラグとして使用される。つまり、前述した差動入力の逐次比較型AD変換器においては、補正コードが効率良く使用されてはいない。
以下に説明する本発明の実施形態による逐次比較型AD変換器は、前述した差動入力の逐次比較型AD変換器と比較して補正コードを有効に使用できるようにするものである。例えば、補正コードを有効に使用することで、差動入力の逐次比較型AD変換器におけるDA変換出力の誤差を補正する場合に補正DA変換器による幅広い範囲での補正を実現する。
なお、以下に説明する各実施形態では、入力されるアナログ信号を、最上位ビット(MSB)を第3ビットとし最下位ビット(LSB)を第0ビットとする4ビットのデジタル信号に変換して出力する差動入力の逐次比較型AD変換器を一例として説明する。しかしながら、本発明はこれに限定されるものではなく、デジタル信号のビット数は任意であり、入力されるアナログ信号を複数ビットのデジタル信号に変換して出力する差動入力の逐次比較型AD変換器に適用可能である。
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、第1の実施形態による逐次比較型AD変換器の構成例を示す図である。図1において、図14に示した構成要素と同一の機能を有する構成要素には同一の符号を付している。
図1において、11Pは正側のDA変換器、11Nは負側のDA変換器、12Pは正側の補正DA変換器、12Nは負側の補正DA変換器、13はコンパレータ、14は制御回路(SAR回路)、15Aは補正制御回路である。また、VinPは差動入力の正側のアナログ入力を示し、VinNは差動入力の負側のアナログ入力を示し、C3、C2、C1はそれぞれデジタルコードにおける第3ビット、第2ビット、第1ビットの補正コードを示す。補正コードC3、C2、C1は、MSBを第3ビットとしLSBを第0ビットとする4ビットで構成され、各補正コードの第3ビットC3[3]、C2[3]、C1[3]は符号フラグである。
DA変換器11P、11Nは、変換対象のアナログ入力を入力可能な入力付きDA変換器である。DA変換器11P、11Nは、例えば図15に示した入力付きDA変換器と同様に構成される。また、補正DA変換器12P、12Nは、入力付きDA変換器11P、11Nの出力を補正するための補正用のDA変換器である。補正DA変換器12P、12Nは、例えば図16に示した補正DA変換器と同様に構成される。
正側の入力付きDA変換器11Pは、正側のアナログ入力VinPが入力端VINに入力され、サンプル制御信号SHCが入力端S/Hに入力され、デジタルコードD3〜D0が入力端D3〜D0に入力される。また、負側の入力付きDA変換器11Nは、負側のアナログ入力VinNが入力端VINに入力され、サンプル制御信号SHCが入力端S/Hに入力され、反転デジタルコードXD3〜XD0が入力端D3〜D0に入力される。反転デジタルコードXD3〜XD0は、デジタルコードD3〜D0をインバータ17−3〜17−0で反転させたデジタルコードである。
入力付きDA変換器11P、11Nは、入力端VINに入力されるアナログ入力をサンプル制御信号SHCに応じてサンプリングし、内部に有する複数の容量にアナログ入力の電圧に応じた電荷を蓄積する。また、入力付きDA変換器11P、11Nは、サンプリング終了後の比較動作時には、サンプリングしたアナログ入力及び入力端D3〜D0に入力されるデジタルコードに応じた出力を出力端OUTより出力する。例えば、入力付きDA変換器11P、11Nを図15に示した入力付きDA変換器と同様に構成したとする。この場合、比較動作時において、正側の入力付きDA変換器11Pは、VOUTP=Vcm−VinP+(D0+2D1+4D2+8D3)×VRH/15で表される出力電位VOUTPを出力端OUTより出力する。また、比較動作時において、負側の入力付きDA変換器11Nは、VOUTN=Vcm−VinN+(15−D0−2D1−4D2−8D3)×VRH/15で表される出力電位VOUTNを出力端OUTより出力する。
正側の補正DA変換器12Pは、バイアス電位RST_VPが入力端RSTVに入力され、サンプル制御信号SHCが入力端S/Hに入力され、補正制御回路15Aから出力される補正コードCD3〜CD0が入力端CD3〜CD0に入力される。また、負側の補正DA変換器12Nは、バイアス電位RST_VMが入力端RSTVに入力され、サンプル制御信号SHCが入力端S/Hに入力され、補正制御回路15Aから出力される補正コードXCD3〜XCD0が入力端CD3〜CD0に入力される。補正DA変換器12P、12Nは、入力端CD3〜CD0に入力される補正コードに応じた出力を出力端COUTより出力する。なお、本実施形態においては、バイアス電位RST_VP及びRST_VMはグランドレベルとする。
正側の入力付きDA変換器11Pの出力と正側の補正DA変換器12Pの出力を結合容量16Pにより加算した結果が、正側のDA変換出力としてコンパレータ13の一方の入力端に入力される。同様に、負側の入力付きDA変換器11Nの出力と負側の補正DA変換器12Nの出力を結合容量16Nにより加算した結果が、負側のDA変換出力としてコンパレータ13の他方の入力端に入力される。コンパレータ13は、入力される正側のDA変換出力と負側のDA変換出力を比較し、その電位差に応じた出力CPOUTを生成する。
SAR回路14は、逐次比較型AD変換器内の各回路を制御する。例えば、SAR回路14は、サンプル制御信号SHCを出力したり、コンパレータ13からの出力CPOUTに基づいて、次の状態(デジタルコードD3〜D0)を生成して出力したりする。また、SAR回路14は、デジタルコードにて決定した値を保持し、すべてのビットの値が決定したデジタルコードをアナログ信号のAD変換結果として外部に出力可能となっている。
補正制御回路15Aは、サンプル制御信号SHCが入力端S/Hに入力され、デジタルコードD3〜D1が入力端D3〜D1に入力される。また、補正制御回路15Aは、補正コードC3〜C1が入力端C3〜C1に入力される。補正制御回路15Aは、入力されるサンプル制御信号SHC、デジタルコードD3〜D1、及び補正コードC3〜C1に基づいて、補正コードCD3〜CD0及び補正コードXCD3〜XCD0を生成する。補正制御回路15Aは、生成した補正コードCD3〜CD0を出力端CD3〜CD0より出力し、生成した補正コードXCD3〜XCD0を出力端XCD3〜XCD0より出力する。
図2は、第1の実施形態における補正制御回路15Aの構成例を示す図である。
AND回路(論理積演算回路)31−1は、補正コードC1[3:0]が入力され、補正コードC1[2:0]の各ビットについて補正コードC1[3]との論理積演算を行い、演算結果を出力する。同様に、AND回路31−2は、補正コードC2[3:0]が入力され、補正コードC2[2:0]と補正コードC2[3]を論理積演算して演算結果を出力する。また、AND回路31−3は、補正コードC3[3:0]が入力され、補正コードC3[2:0]と補正コードC3[3]を論理積演算して演算結果を出力する。
AND回路32−1は、補正コードC1[2:0]が入力されるとともに補正コードC1[3]がインバータ33−1を介して入力される。AND回路32−1は、補正コードC1[2:0]の各ビットについて反転した補正コードC1[3]との論理積演算を行い、演算結果を出力する。同様に、AND回路32−2は、補正コードC2[2:0]が入力されるとともに補正コードC2[3]がインバータ33−2を介して入力され、補正コードC2[2:0]と反転した補正コードC2[3]を論理積演算して演算結果を出力する。また、AND回路32−3は、補正コードC3[2:0]が入力されるとともに補正コードC3[3]がインバータ33−3を介して入力され、補正コードC3[2:0]と反転した補正コードC3[3]を論理積演算して演算結果を出力する。
AND回路34−1〜34−3は、デジタルコードD1〜D3及びAND回路31−1〜31−3の出力が入力され、その演算結果をコードCP1[2:0]〜CP3[2:0]として出力する。また、AND回路35−1〜35−3は、デジタルコードD1〜D3及びAND回路32−1〜32−3の出力が入力され、その演算結果をコードCN1[2:0]〜CN3[2:0]として出力する。
すなわち、デジタルコードD1の値が“1”かつ補正コードC1[3]の値が“1”(補正コード値が正)の場合には、コードCP1[2:0]として補正コードC1[2:0]が出力され、コードCN1[2:0]として“000”が出力される。また、デジタルコードD1の値が“1”かつ補正コードC1[3]の値が“0”(補正コード値が負)の場合には、コードCP1[2:0]として“000”が出力され、コードCN1[2:0]として補正コードC1[2:0]が出力される。デジタルコードD1の値が“0”の場合には、コードCP1[2:0]、CN1[2:0]ともに“000”が出力される。
また、デジタルコードD2の値が“1”かつ補正コードC2[3]の値が“1”(補正コード値が正)の場合には、コードCP2[2:0]として補正コードC2[2:0]が出力され、コードCN2[2:0]として“000”が出力される。また、デジタルコードD2の値が“1”かつ補正コードC2[3]の値が“0”(補正コード値が負)の場合には、コードCP2[2:0]として“000”が出力され、コードCN2[2:0]として補正コードC2[2:0]が出力される。デジタルコードD2の値が“0”の場合には、コードCP2[2:0]、CN2[2:0]ともに“000”が出力される。
また、デジタルコードD3の値が“1”かつ補正コードC3[3]の値が“1”(補正コード値が正)の場合には、コードCP3[2:0]として補正コードC3[2:0]が出力され、コードCN3[2:0]として“000”が出力される。また、デジタルコードD3の値が“1”かつ補正コードC3[3]の値が“0”(補正コード値が負)の場合には、コードCP3[2:0]として“000”が出力され、コードCN3[2:0]として補正コードC3[2:0]が出力される。デジタルコードD3の値が“0”の場合には、コードCP3[2:0]、CN3[2:0]ともに“000”が出力される。
加算器36は、AND回路34−1〜34−3から出力されたコードCP1[2:0]〜CP3[2:0]が入力され、それらを加算する。加算器36は、加算結果をコードP[3:0]として出力する。また、加算器37は、AND回路35−1〜35−3から出力されたコードCN1[2:0]〜CN3[2:0]が入力され、それらを加算する。加算器37は、加算結果をコードN[3:0]として出力する。
AND回路38は、加算器36から出力されたコードP[3:0]が入力されるとともに、入力端S/Hに入力されるサンプル制御信号がインバータ40を介して入力される。AND回路38は、コードP[3:0]と反転したサンプル制御信号の論理積演算を行い、演算結果を出力する。すなわち、AND回路38は、サンプル制御信号がハイレベルであるアナログ入力のサンプリング時には演算結果として“0000”を出力し、サンプリング時以外は演算結果としてコードP[3:0]を出力する。AND回路38から出力される演算結果は、補正コードとして出力端CD[3:0]より出力される。
AND回路39は、加算器37から出力されたコードN[3:0]が入力されるとともに、入力端S/Hに入力されるサンプル制御信号がインバータ40を介して入力される。AND回路39は、コードN[3:0]と反転したサンプル制御信号の論理積演算を行い、演算結果を出力する。すなわち、AND回路39は、サンプル制御信号がハイレベルであるアナログ入力のサンプリング時には演算結果として“0000”を出力し、サンプリング時以外は演算結果としてコードN[3:0]を出力する。AND回路39から出力される演算結果は、補正コードとして出力端XCD[3:0]より出力される。
以上のように、第1の実施形態における補正制御回路15Aは、アナログ入力のサンプリング時には、出力端CD3〜CD0を介して補正コード“0000”を出力し、出力端XCD3〜XCD0を介して補正コード“0000”を出力する。
また、補正制御回路15Aは、サンプリング終了後の比較動作時には、デジタルコードD3〜D1において値が“1”であるビットの補正コードに基づいて、出力端CD3〜CD0及びXCD3〜XCD0からそれぞれ出力する補正コードを算出する。このとき、補正制御回路15Aは、デジタルコードD3〜D1で値が“1”のビットの補正コードのうち、補正コードの第3ビットが“1”、すなわち正の値である補正コードの絶対値を加算し、その加算結果を出力端CD3〜CD0から出力する補正コードとする。また、補正制御回路15Aは、デジタルコードD3〜D1で値が“1”のビットの補正コードのうち、補正コードの第3ビットが“0”、すなわち負の値である補正コードの絶対値を加算し、その加算結果を出力端XCD3〜XCD0から出力する補正コードとする。
つまり、比較動作時において、第1の実施形態における補正制御回路15Aは、デジタルコードD3〜D1で値が“1”のビットの補正コードが正の値である場合には、その補正コードの絶対値を正側の補正DA変換器12Pに対して供給する補正コードに加算する。一方、デジタルコードD3〜D1で値が“1”のビットの補正コードが負の値である場合には、その補正コードの絶対値を負側の補正DA変換器12Nに対して供給する補正コードに加算する。
次に、動作について説明する。
図3は、第1の実施形態による逐次比較型AD変換器の動作例を示すタイミングチャートである。図3には、正側のアナログ入力VinPの電位が高い側の基準電位VRHより高く、負側のアナログ入力VinNの電位が低い側の基準電位VRLより低い場合を一例として示している。また、図3に示す例では、補正コードC3は“1100”(+4)、補正コードC2は“0111”(−7)、補正コードC1は“1010”(+2)であるとする。なお、補正コードC3〜C1は、例えば、入力付きDA変換器11P、11Nの出力誤差を予め測定し、測定された誤差から補正DA変換器12P、12Nに入力すべき補正コードを算出することで、予め用意されている。
図3において、SHCはサンプル制御信号であり、DAC出力(P)及びDAC出力(N)はコンパレータ13に入力される正側のDA変換出力及び負側のDA変換出力であり、CPOUTはコンパレータ13の出力である。また、D3〜D0はSAR回路14から出力されるデジタルコードであり、CD[3:0]及びXCD[3:0]は補正制御回路15Aから補正DA変換器12P及び12Nにそれぞれ供給される補正コードである。
まず、サンプル制御信号SHCがハイレベルである期間TSMにおいて、逐次比較型AD変換器は、入力されるアナログ入力VinP、VinNのサンプリングを行う。期間TSMにおいて、補正DA変換器12Pには初期設定値として“0000”の補正コードCD[3:0]が供給され、補正DA変換器12Nには初期設定値として“0000”の補正コードXCD[3:0]が供給される。すなわち、期間TSMにおいて、補正DA変換器12P、12Nには、補正コードCD[3:0]、XCD[3:0]により設定可能な最小値が初期設定値として供給される。
次に、期間TC3において、逐次比較型AD変換器は、デジタルコードの第3ビットD3を決定するための比較動作を行う。このとき、SAR回路14は、第3ビットD3の値を“1”、その他のビットD2〜D0の値を“0”としたデジタルコードを出力する。すなわち、正側のDA変換器11Pにはデジタルコード“1000”が入力され、負側のDA変換器11Nには反転されたデジタルコード“0111”が入力される。また、第3ビットの補正コードC3は“1100”(+4)であり正の値であるので、その絶対値「4」の加算結果である“0100”(4)が補正コードCD[3:0]として正側の補正DA変換器12Pに入力される。なお、負側の補正DA変換器12Nに入力される補正コードXCD[3:0]は“0000”で維持される。そして、デジタルコードD3〜D0に応じたDA変換器11P、11Nの出力が、補正DA変換器12P、12Nの出力により補正されて、コンパレータ13で比較される。この例では、アナログ入力VinP、VinNと基準電位VRH、VRLの電位関係は前述の通りであるので、コンパレータ13の出力CPOUTはハイレベルとなり、SAR回路14は、デジタルコードの第3ビットD3の値を“1”に決定する。
デジタルコードの第3ビットD3を決定した後、次の期間TC2において、逐次比較型AD変換器は、デジタルコードの第2ビットD2を決定するための比較動作を行う。このとき、SAR回路14は、第3ビットD3の値を“1”、第2ビットD2の値を“1”、その他のビットD1及びD0の値を“0”としたデジタルコードを出力する。すなわち、正側のDA変換器11Pにはデジタルコード“1100”が入力され、負側のDA変換器11Nには反転されたデジタルコード“0011”が入力される。
ここで、デジタルコードD3〜D0において値が“1”である第3ビットの補正コードC3は“1100”(+4)で示される正の値であり、第2ビットの補正コードC2は“0111”(−7)で示される負の値である。したがって、第3ビットの補正コードC3の絶対値「4」の加算結果である“0100”(4)が補正コードCD[3:0]として正側の補正DA変換器12Pに入力される。また、第2ビットの補正コードC2の絶対値「7」の加算結果である“0111”(7)が補正コードXCD[3:0]として負側の補正DA変換器12Nに入力される。そして、デジタルコードD3〜D0に応じたDA変換器11P、11Nの出力が、補正DA変換器12P、12Nの出力により補正されて、コンパレータ13で比較される。ここでも、コンパレータ13の出力CPOUTはハイレベルとなり、この出力CPOUTに基づきSAR回路14はデジタルコードの第2ビットD2の値を“1”に決定する。
デジタルコードの第2ビットD2を決定した後、次の期間TC1において、逐次比較型AD変換器は、デジタルコードの第1ビットD1を決定するための比較動作を行う。このとき、SAR回路14は、第3ビットから第1ビットD3〜D1の値を“1”、第0ビットD0の値を“0”としたデジタルコードを出力する。すなわち、正側のDA変換器11Pにはデジタルコード“1110”が入力され、負側のDA変換器11Nには反転されたデジタルコード“0001”が入力される。
ここで、デジタルコードD3〜D0において第3ビットから第1ビットの値が“1”である。また、第3ビットの補正コードC3は“1100”(+4)で示される正の値であり、第2ビットの補正コードC2は“0111”(−7)で示される負の値であり、第1ビットの補正コードC1は“1010”(+2)で示される正の値である。したがって、第3ビットの補正コードC3の絶対値「4」と第1ビットの補正コードC1の絶対値「2」の加算結果である“0110”(6)が補正コードCD[3:0]として正側の補正DA変換器12Pに入力される。また、第2ビットの補正コードC2の絶対値「7」の加算結果である“0111”(7)が補正コードXCD[3:0]として負側の補正DA変換器12Nに入力される。そして、デジタルコードD3〜D0に応じたDA変換器11P、11Nの出力が補正DA変換器12P、12Nの出力により補正されて、コンパレータ13で比較される。ここでも、コンパレータ13の出力CPOUTはハイレベルとなり、この出力CPOUTに基づきSAR回路14はデジタルコードの第1ビットD1の値を“1”に決定する。
デジタルコードの第1ビットD1を決定した後、次の期間TC0において、逐次比較型AD変換器は、デジタルコードの第0ビットD0を決定するための比較動作を行う。このとき、SAR回路14は、各ビットD3〜D0の値を“1”としたデジタルコードを出力し、正側のDA変換器11Pにはデジタルコード“1111”が入力され、負側のDA変換器11Nには反転されたデジタルコード“0000”が入力される。また、第1ビットに係る比較動作時と同様に、補正制御回路15Aから正側の補正DA変換器12P、12Nに補正コードCD[3:0]、XCD[3:0]が供給される。そして、デジタルコードD3〜D0に応じたDA変換器11P、11Nの出力が補正DA変換器12P、12Nの出力により補正されて、コンパレータ13で比較される。ここでも、コンパレータ13の出力CPOUTはハイレベルとなり、この出力CPOUTに基づきSAR回路14はデジタルコードの第0ビットD0の値を“1”に決定する。
以上のようにして、入力されたアナログ入力がデジタル信号に変換される。
第1の実施形態によれば、デジタルコードD3〜D0において値が“1”であるビットの補正コードが正の値である場合には、その補正コードの絶対値を正側の補正DA変換器12Pに供給する補正コードCD[3:0]に対して加算する。また、デジタルコードD3〜D0において値が“1”であるビットの補正コードが負の値である場合には、その補正コードの絶対値を負側の補正DA変換器12Nに供給する補正コードXCD[3:0]に対して加算する。このように、デジタルコードD3〜D0における補正コードが正の値であるか負の値であるかに応じて、その補正コードの絶対値を補正コードCD[3:0]又はXCD[3:0]の一方に加算するので補正コードを有効に利用し、従来よりも幅広い補正範囲での補正が可能になる。
また、デジタルコードD3〜D0における補正コードの絶対値を補正コードCD[3:0]又はXCD[3:0]に対して加算するので、符号なし演算で実現することができる。したがって、補正コードCD[3:0]、XCD[3:0]において符号フラグとして使用するビットが必要なくなり、用意できる補正コードの全範囲での補正が可能になり、従来よりも2倍の補正範囲を持つことができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
第2の実施形態による逐次比較型AD変換器の構成は、補正制御回路の内部構成が前述した第1の実施形態とは異なり、他の構成は第1の実施形態と同様であるので、第2の実施形態による逐次比較型AD変換器の全体構成については説明を省略する。
以下、第2の実施形態における補正制御回路の構成について説明する。
図4は、第2の実施形態における補正制御回路の構成例を示す図である。
AND回路51−1は、補正コードC1[2:0]が入力されるとともに補正コードC1[3]がインバータ52−1を介して入力され、補正コードC1[2:0]と反転した補正コードC1[3]を論理積演算して演算結果を出力する。同様に、AND回路51−2は、補正コードC2[2:0]が入力されるとともに補正コードC2[3]がインバータ52−2を介して入力され、補正コードC2[2:0]と反転した補正コードC2[3]を論理積演算して演算結果を出力する。また、AND回路51−3は、補正コードC3[2:0]が入力されるとともに補正コードC3[3]がインバータ52−3を介して入力され、補正コードC3[2:0]と反転した補正コードC3[3]を論理積演算して演算結果を出力する。
AND回路53−1は、補正コードC1[3:0]が入力され、補正コードC1[2:0]と補正コードC1[3]を論理積演算して演算結果を出力する。同様に、AND回路53−2は、補正コードC2[3:0]が入力され、補正コードC2[2:0]と補正コードC2[3]を論理積演算して演算結果を出力する。また、AND回路53−3は、補正コードC3[3:0]が入力され、補正コードC3[2:0]と補正コードC3[3]を論理積演算して演算結果を出力する。
AND回路54−1〜54−3は、デジタルコードD1〜D3及びAND回路51−1〜51−3の出力が入力され、その演算結果をコードCP1[2:0]〜CP3[2:0]として出力する。また、AND回路55−1〜55−3は、デジタルコードD1〜D3及びAND回路53−1〜53−3の出力が入力され、その演算結果をコードCN1[2:0]〜CN3[2:0]として出力する。
すなわち、デジタルコードD1の値が“1”かつ補正コードC1[3]の値が“1”(補正コード値が正)の場合には、コードCP1[2:0]として“000”が出力され、コードCN1[2:0]として補正コードC1[2:0]が出力される。また、デジタルコードD1の値が“1”かつ補正コードC1[3]の値が“0”(補正コード値が負)の場合には、コードCP1[2:0]として補正コードC1[2:0]が出力され、コードCN1[2:0]として“000”が出力される。デジタルコードD1の値が“0”の場合には、コードCP1[2:0]、CN1[2:0]ともに“000”が出力される。
また、デジタルコードD2の値が“1”かつ補正コードC2[3]の値が“1”(補正コード値が正)の場合には、コードCP2[2:0]として“000”が出力され、コードCN2[2:0]として補正コードC2[2:0]が出力される。また、デジタルコードD2の値が“1”かつ補正コードC2[3]の値が“0”(補正コード値が負)の場合には、コードCP2[2:0]として補正コードC2[2:0]が出力され、コードCN2[2:0]として“000”が出力される。デジタルコードD2の値が“0”の場合には、コードCP2[2:0]、CN2[2:0]ともに“000”が出力される。
また、デジタルコードD3の値が“1”かつ補正コードC3[3]の値が“1”(補正コード値が正)の場合には、コードCP3[2:0]として“000”が出力され、コードCN3[2:0]として補正コードC3[2:0]が出力される。また、デジタルコードD3の値が“1”かつ補正コードC3[3]の値が“0”(補正コード値が負)の場合には、コードCP3[2:0]として補正コードC3[2:0]が出力され、コードCN3[2:0]として“000”が出力される。デジタルコードD3の値が“0”の場合には、コードCP3[2:0]、CN3[2:0]ともに“000”が出力される。
減算器56は、初期値となる“1111”及びAND回路54−1〜54−3から出力されたコードCP1[2:0]〜CP3[2:0]が入力され、“1111”からコードCP1[2:0]〜CP3[2:0]の値を減算する。減算器56は、演算結果をコードP[3:0]として出力する。また、減算器57は、初期値となる“1111”及びAND回路55−1〜55−3から出力されたコードCN1[2:0]〜CN3[2:0]が入力され、“1111”からコードCN1[2:0]〜CN3[2:0]の値を減算する。減算器57は、演算結果をコードN[3:0]として出力する。
OR回路(論理和演算回路)58は、減算器56から出力されたコードP[3:0]、及び入力端S/Hに入力されるサンプル制御信号が入力され、コードP[3:0]とサンプル制御信号の論理和演算を行って演算結果を出力する。すなわち、OR回路58は、サンプル制御信号がハイレベルであるアナログ入力のサンプリング時には演算結果として“1111”を出力し、サンプリング時以外は演算結果としてコードP[3:0]を出力する。OR回路58から出力される演算結果は、補正コードとして出力端CD[3:0]より出力される。
OR回路59は、減算器57から出力されたコードN[3:0]、及び入力端S/Hに入力されるサンプル制御信号が入力され、コードN[3:0]とサンプル制御信号の論理和演算を行って演算結果を出力する。すなわち、OR回路59は、サンプル制御信号がハイレベルであるアナログ入力のサンプリング時には演算結果として“1111”を出力し、サンプリング時以外は演算結果としてコードN[3:0]を出力する。OR回路59から出力される演算結果は、補正コードとして出力端XCD[3:0]より出力される。
以上のように、第2の実施形態における補正制御回路は、アナログ入力のサンプリング時には、出力端CD3〜CD0、XCD3〜XCD0のそれぞれを介して補正コード“1111”を出力する。また、補正制御回路は、サンプリング終了後の比較動作時には、デジタルコードD3〜D1において値が“1”であるビットの補正コードに基づいて、出力端CD3〜CD0及びXCD3〜XCD0からそれぞれ出力する補正コードを算出する。補正制御回路は、デジタルコードD3〜D1で値が“1”のビットの補正コードのうち、補正コードの第3ビットが“0”、すなわち負の値である補正コードの絶対値を“1111”から減算し、演算結果を出力端CD3〜CD0から出力する補正コードとする。補正制御回路は、デジタルコードD3〜D1で値が“1”のビットの補正コードのうち、補正コードの第3ビットが“1”、すなわち正の値である補正コードの絶対値を“1111”から減算し、演算結果を出力端XCD3〜XCD0から出力する補正コードとする。
つまり、比較動作時において、第2の実施形態における補正制御回路は、デジタルコードD3〜D1で値が“1”のビットの補正コードが正の値である場合には、その補正コードの絶対値を負側の補正DA変換器12Nに対して供給する補正コードから減算する。一方、デジタルコードD3〜D1で値が“1”のビットの補正コードが負の値である場合には、その補正コードの絶対値を正側の補正DA変換器12Pに対して供給する補正コードから減算する。
次に、第2の実施形態による逐次比較型AD変換器の動作について説明する。
図5は、第2の実施形態による逐次比較型AD変換器の動作例を示すタイミングチャートである。図5には、正側のアナログ入力VinPの電位が高い側の基準電位VRHより高く、負側のアナログ入力VinNの電位が低い側の基準電位VRLより低い場合を一例として示している。また、図5に示す例では、補正コードC3は“1100”(+4)、補正コードC2は“0111”(−7)、補正コードC1は“1010”(+2)であるとする。なお、補正コードC3〜C1は、例えば、入力付きDA変換器11P、11Nの出力誤差を予め測定し、測定された誤差から補正DA変換器12P、12Nに入力すべき補正コードを算出することで、予め用意されている。
図5において、SHCはサンプル制御信号であり、DAC出力(P)及びDAC出力(N)はコンパレータ13に入力される正側のDA変換出力及び負側のDA変換出力であり、CPOUTはコンパレータ13の出力である。また、D3〜D0はSAR回路14から出力されるデジタルコードであり、CD[3:0]及びXCD[3:0]は補正制御回路から正側の補正DA変換器及び負側の補正DA変換器にそれぞれ供給される補正コードである。
第2の実施形態による逐次比較型AD変換器でのAD変換に係る基本的な動作は、第1の実施形態による逐次比較型AD変換器での動作と同様である。第2の実施形態による逐次比較型AD変換器の動作においては、入力付きDA変換器11P、11Nの出力を補正DA変換器12P、12Nの出力により補正する補正動作が、第1の実施形態による逐次比較型AD変換器の動作と異なる。
図5に示すように、入力されるアナログ入力VinP、VinNのサンプリング期間TSMにおいて、初期設定値として“1111”の補正コードCD[3:0]、XCD[3:0]が補正DA変換器12P、12Nに供給される。すなわち、サンプリング期間TSMにおいて、補正DA変換器12P、12Nには、補正コードCD[3:0]、XCD[3:0]により設定可能な最大値が初期設定値として供給される。
第3ビットに係る比較動作期間TC3において、SAR回路14から出力されるデジタルコードD3〜D0は“1000”であり、値が“1”である第3ビットの補正コードC3は“1100”(+4)で示される正の値である。このとき、補正制御回路は、正の値である第3ビットの補正コードC3の絶対値「4」を初期設定値“1111”(15)から減算し、その演算結果である“1011”(11)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。
また、第2ビットに係る比較動作期間TC2において、デジタルコードD3〜D0で値が“1”である第3ビットの補正コードC3は“1100”(+4)で示される正の値であり、第2ビットの補正コードC2は“0111”(−7)で示される負の値である。このとき、補正制御回路は、負の値である第2ビットの補正コードC2の絶対値「7」を初期設定値“1111”(15)から減算し、その演算結果である“1000”(8)を補正コードCD[3:0]として正側の補正DA変換器12Pに供給する。また、補正制御回路は、正の値である第3ビットの補正コードC3の絶対値「4」を初期設定値“1111”(15)から減算し、その演算結果である“1011”(11)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。
第1ビットに係る比較動作期間TC1においても同様であり、補正制御回路は、負の値である第2ビットの補正コードC2の絶対値「7」を初期設定値“1111”(15)から減算する。そして、その演算結果である“1000”(8)を補正コードCD[3:0]として正側の補正DA変換器12Pに供給する。また、補正制御回路は、正の値である第3ビットの補正コードC3の絶対値「4」及び第1ビットの補正コードC1の絶対値「2」を初期設定値“1111”(15)から減算する。そして、その演算結果である“1001”(9)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。第0ビットに係る比較動作期間TC0においては、比較動作期間TC1と同様に補正コードCD[3:0]、XCD[3:0]が供給される。
第2の実施形態によれば、デジタルコードD3〜D0において値が“1”であるビットの補正コードが正の値である場合には、その補正コードの絶対値を負側の補正DA変換器12Nに供給する補正コードXCD[3:0]に対して減算する。また、デジタルコードD3〜D0において値が“1”であるビットの補正コードが負の値である場合には、その補正コードの絶対値を正側の補正DA変換器12Pに供給する補正コードCD[3:0]に対して減算する。このように、デジタルコードD3〜D0における補正コードが正の値であるか負の値であるかに応じて、その補正コードの絶対値を補正コードCD[3:0]又はXCD[3:0]に対して減算するので補正コードを有効に利用し、従来よりも幅広い補正範囲での補正が可能になる。
また、デジタルコードD3〜D0における補正コードの絶対値を補正コードCD[3:0]又はXCD[3:0]に対して減算するので、符号なし演算で補正コードCD[3:0]又はXCD[3:0]の算出を実現することができる。したがって、補正コードCD[3:0]、XCD[3:0]において符号フラグとして使用するビットが必要なくなり、用意できる補正コードの全範囲での補正が可能になり、従来よりも2倍の補正範囲を持つことができる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
図6は、第3の実施形態による逐次比較型AD変換器の構成例を示す図である。図6において、図1及び図14に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。図6に示す第3の実施形態による逐次比較型AD変換器は、補正制御回路15Aに変えて補正制御回路15Bを有するとともに、バイアス電位RST_VP及びRST_VMを補正制御回路15Bにより設定する点が、図1に示した第1の実施形態とは異なる。
補正制御回路15Bは、サンプル制御信号SHCが入力端S/Hに入力され、デジタルコードD3〜D1が入力端D3〜D1に入力される。また、補正制御回路15Bは、補正コードC3〜C1が入力端C3〜C1に入力される。補正制御回路15Bは、入力されるサンプル制御信号SHC、デジタルコードD3〜D1、及び補正コードC3〜C1に基づいて、補正コードCD3〜CD0及び補正コードXCD3〜XCD0を生成する。補正制御回路15Bは、生成した補正コードCD3〜CD0を出力端CD3〜CD0より出力し、生成した補正コードXCD3〜XCD0を出力端XCD3〜XCD0より出力する。
また、補正制御回路15Bは、補正コードC3〜C1に基づいてバイアス電位RST_VP及びRST_VMを決定し、出力端RSTVP及びRSTVMより出力する。出力端RSTVPより出力されたバイアス電位RST_VPは、正側の補正DA変換器12Pの入力端RSTVに入力され、出力端RSTVMより出力されたバイアス電位RST_VMは、負側の補正DA変換器12Nの入力端RSTVに入力される。
図7は、第3の実施形態における補正制御回路15Bの構成例を示す図である。
AND回路71−1は、補正コードC1[3:0]が入力され、補正コードC1[2:0]と補正コードC1[3]を論理積演算して演算結果を出力する。同様に、AND回路71−2は、補正コードC2[3:0]が入力され、補正コードC2[2:0]と補正コードC2[3]を論理積演算して演算結果を出力する。また、AND回路71−3は、補正コードC3[3:0]が入力され、補正コードC3[2:0]と補正コードC3[3]を論理積演算して演算結果を出力する。
AND回路72−1は、補正コードC1[2:0]が入力されるとともに補正コードC1[3]がインバータ73−1を介して入力され、補正コードC1[2:0]と反転した補正コードC1[3]を論理積演算して演算結果を出力する。同様に、AND回路72−2は、補正コードC2[2:0]が入力されるとともに補正コードC2[3]がインバータ73−2を介して入力され、補正コードC2[2:0]と反転した補正コードC2[3]を論理積演算して演算結果を出力する。また、AND回路72−3は、補正コードC3[2:0]が入力されるとともに補正コードC3[3]がインバータ73−3を介して入力され、補正コードC3[2:0]と反転した補正コードC3[3]を論理積演算して演算結果を出力する。
AND回路74−1〜74−3は、デジタルコードD1〜D3及びAND回路71−1〜71−3の出力が入力され、その演算結果をコードCP1[2:0]〜CP3[2:0]として出力する。また、AND回路75−1〜75−3は、デジタルコードD1〜D3及びAND回路72−1〜72−3の出力が入力され、その演算結果をコードCN1[2:0]〜CN3[2:0]として出力する。
すなわち、デジタルコードD1の値が“1”かつ補正コードC1[3]の値が“1”(補正コード値が正)の場合には、コードCP1[2:0]として補正コードC1[2:0]が出力され、コードCN1[2:0]として“000”が出力される。また、デジタルコードD1の値が“1”かつ補正コードC1[3]の値が“0”(補正コード値が負)の場合には、コードCP1[2:0]として“000”が出力され、コードCN1[2:0]として補正コードC1[2:0]が出力される。デジタルコードD1の値が“0”の場合には、コードCP1[2:0]、CN1[2:0]ともに“000”が出力される。
また、デジタルコードD2の値が“1”かつ補正コードC2[3]の値が“1”(補正コード値が正)の場合には、コードCP2[2:0]として補正コードC2[2:0]が出力され、コードCN2[2:0]として“000”が出力される。また、デジタルコードD2の値が“1”かつ補正コードC2[3]の値が“0”(補正コード値が負)の場合には、コードCP2[2:0]として“000”が出力され、コードCN2[2:0]として補正コードC2[2:0]が出力される。デジタルコードD2の値が“0”の場合には、コードCP2[2:0]、CN2[2:0]ともに“000”が出力される。
また、デジタルコードD3の値が“1”かつ補正コードC3[3]の値が“1”(補正コード値が正)の場合には、コードCP3[2:0]として補正コードC3[2:0]が出力され、コードCN3[2:0]として“000”が出力される。また、デジタルコードD3の値が“1”かつ補正コードC3[3]の値が“0”(補正コード値が負)の場合には、コードCP3[2:0]として“000”が出力され、コードCN3[2:0]として補正コードC3[2:0]が出力される。デジタルコードD3の値が“0”の場合には、コードCP3[2:0]、CN3[2:0]ともに“000”が出力される。
加算器76は、AND回路74−1〜74−3から出力されたコードCP1[2:0]〜CP3[2:0]が入力され、それらを加算する。オーバーフロー処理器77は、加算器77による加算結果が入力され、入力される加算結果に応じてコードP[3:0]及びPF[3:0]を出力する。加算器78は、AND回路75−1〜75−3から出力されたコードCN1[2:0]〜CN3[2:0]が入力され、それらを加算する。オーバーフロー処理器79は、加算器78による加算結果が入力され、入力される加算結果に応じてコードN[3:0]及びNF[3:0]を出力する。
ここで、加算器77、78から出力される加算結果において、MSBの値が“1”のとき、オーバーフロー状態であるとする。
オーバーフロー処理器77は、入力された加算結果がオーバーフロー状態でない場合には、入力された加算結果(MSBを除く)をコードP[3:0]として出力し、“1111”をコードPF[3:0]として出力する。一方、オーバーフロー処理器77は、入力された加算結果がオーバーフロー状態の場合には、“1111”をコードP[3:0]として出力し、入力された加算結果に“1”を加えた後に“11111”から減じた値をコードNF[3:0]として出力する。
同様に、オーバーフロー処理器79は、入力された加算結果がオーバーフロー状態でない場合には、入力された加算結果(MSBを除く)をコードN[3:0]として出力し、“1111”をコードNF[3:0]として出力する。一方、オーバーフロー処理器79は、入力された加算結果がオーバーフロー状態の場合には、“1111”をコードN[3:0]として出力し、入力された加算結果に“1”を加えた後に“11111”から減じた値をコードNF[3:0]として出力する。
図8は、オーバーフロー処理器の構成例を示す図である。
図8(A)、(B)に示すように、オーバーフロー処理器91は、対応する加算器からの加算結果が入力IN[4:0]として入力され、入力された加算結果に応じてコードを生成し出力OUT[3:0]、OF[3:0]として出力する。OR回路92は、入力IN[3:0]の各ビットについて入力IN[4]との論理和演算を行い、演算結果を出力OUT[3:0]として出力する。NAND回路93は、入力IN[3:0]に対する演算回路94での処理結果の各ビットについて、入力IN[4]との論理積演算を行い、演算結果をビット毎に反転して出力OF[3:0]として出力する。演算回路94は、例えば図8(C)に示すように半加算器95−0〜95−3を縦続接続して構成され、入力に対して“1”を加算し出力する。半加算器95−x(x=0、1、2、3)は、入力IN[x]及び半加算器95−(x−1)の桁上げ(キャリー)出力が入力され、和(サム)を出力OUT[x]とする。なお、半加算器95−0には、入力IN[0]及び“1”(VDD)が入力される。
図8に示したオーバーフロー処理器91は、入力IN[4]の値が“0”(オーバーフロー状態でない)の場合には、入力IN[3:0]をコードOUT[3:0]として出力し、“1111”をコードOF[3:0]として出力する。一方、入力IN[4]の値が“1”(オーバーフロー状態である)の場合には、“1111”をコードOUT[3:0]として出力し、入力IN[3:0]に“1”加算した後に各ビットの値を反転させたものをコードOF[3:0]として出力する。
図7に戻り、AND回路80は、オーバーフロー処理器77から出力されたコードP[3:0]が入力されるとともに、入力端S/Hに入力されるサンプル制御信号がインバータ84を介して入力される。AND回路80は、コードP[3:0]と反転したサンプル制御信号の論理積演算を行い、演算結果を出力する。OR回路81は、オーバーフロー処理器79から出力されたコードNF[3:0]、及び入力端S/Hに入力されるサンプル制御信号が入力され、コードNF[3:0]とサンプル制御信号の論理和演算を行って演算結果を出力する。
また、AND回路82は、オーバーフロー処理器79から出力されたコードN[3:0]が入力されるとともに、入力端S/Hに入力されるサンプル制御信号がインバータ84を介して入力される。AND回路82は、コードN[3:0]と反転したサンプル制御信号の論理積演算を行い、演算結果を出力する。OR回路83は、オーバーフロー処理器77から出力されたコードPF[3:0]、及び入力端S/Hに入力されるサンプル制御信号が入力され、コードPF[3:0]とサンプル制御信号の論理和演算を行って演算結果を出力する。
すなわち、AND回路80、82は、サンプル制御信号がハイレベルであるアナログ入力のサンプリング時には演算結果として“0000”を出力し、サンプリング時以外は演算結果としてコードP[3:0]、コードN[3:0]を出力する。同様に、OR回路81、83は、サンプル制御信号がハイレベルであるアナログ入力のサンプリング時には演算結果として“1111”を出力し、サンプリング時以外は演算結果としてコードNF[3:0]、コードPF[3:0]を出力する。
AND回路80の出力はセレクタA85の入力端Aに入力され、OR回路81の出力はセレクタA85の入力端Bに入力される。また、AND回路82の出力はセレクタA86の入力端Aに入力され、OR回路83の出力はセレクタA86の入力端Bに入力される。セレクタA85の入力端SにはOR回路87の出力が選択信号として入力され、セレクタA86の入力端SにはNAND回路88の出力が選択信号として入力される。
ここで、OR回路87、及びNAND回路88には、各補正コードの第3ビットC3[3]、C2[3]、C1[3]、すなわち符号フラグが入力される。したがって、OR回路87は、補正コードC3、C2、C1がすべて負の値である場合には“0”を出力し、それ以外の場合には“1”を出力する。また、NAND回路88は、補正コードC3、C2、C1がすべて正の値である場合には“0”を出力し、それ以外の場合には“1”を出力する。
セレクタA85、86は、図9に示すようにスイッチ96A、96B、及びインバータ97を有する。セレクタA85、86は、入力端Sに入力される選択信号が“1”の場合には入力端Aへの入力を選択して出力端O3〜O0より出力し、選択信号が“0”の場合には入力端Bへの入力を選択して出力端O3〜O0より出力する。
したがって、補正コードC3〜C1がすべて正の値である場合には、セレクタA85によりAND回路80の出力が選択され補正コードCD3〜CD0として出力され、セレクタA86によりOR回路83の出力が選択され補正コードXCD3〜XCD0として出力される。また、補正コードC3〜C1がすべて負の値である場合には、セレクタA85によりOR回路81の出力が選択され補正コードCD3〜CD0として出力され、セレクタA86によりAND回路82の出力が選択され補正コードXCD3〜XCD0として出力される。また、それ以外(補正コードC3〜C1に正の値と負の値が混在)の場合には、セレクタA85、86によりAND回路80、82の出力がそれぞれ選択され補正コードCD3〜CD0、XCD3〜XCD0として出力される。
また、セレクタB89、90の入力端Aには電位VRLが供給され、入力端Bには電位VRHが供給される。セレクタB89の入力端SにはOR回路87の出力が選択信号として入力され、セレクタB90の入力端SにはNAND回路88の出力が選択信号として入力される。セレクタB89、90は、図10に示すようにスイッチ98A、98B、及びインバータ99を有する。セレクタB89、90は、入力端Sに入力される選択信号が“1”の場合には入力端Aへの入力を選択して出力端RSTVP、RSTVMより出力し、選択信号が“0”の場合には入力端Bへの入力を選択して出力端RSTVP、RSTVMより出力する。
すなわち、セレクタB89は、補正コードC3〜C1がすべて負の値である場合には、電位VRHを出力端RSTVPより出力し、それ以外の場合には電位VRLを出力端RSTVPより出力する。また、セレクタB90は、補正コードC3〜C1がすべて正の値である場合には、電位VRHを出力端RSTVMより出力し、それ以外の場合には電位VRLを出力端RSTVMより出力する。
第3の実施形態における補正制御回路15Bの動作の概要は、以下のようになる。
(1)補正コードC3〜C1がすべて正の値である場合
バイアス電位RST_VPとして電位VRLを出力端RSTVPより出力し、バイアス電位RST_VMとして電位VRHを出力端RSTVMより出力する。
アナログ入力のサンプリング時(サンプル制御信号がハイレベルのとき)には、補正コードCD3〜CD0として“0000”を出力し、補正コードXCD3〜XCD0として“1111”を出力する。サンプリング時以外は、加算器76での加算結果がオーバーフロー状態になるまでは、補正コードCD3〜CD0として加算器76での加算結果(MSBを除く)を出力し、補正コードXCD3〜XCD0として“1111”を出力する。サンプリング時以外で、かつ加算器76での加算結果がオーバーフロー状態になった後は、補正コードCD3〜CD0として“1111”を出力し、補正コードXCD3〜XCD0として、(加算器76の加算結果+1)を“11111”から減じた値を出力する。
(2)補正コードC3〜C1がすべて負の値である場合
バイアス電位RST_VPとして電位VRHを出力端RSTVPより出力し、バイアス電位RST_VMとして電位VRLを出力端RSTVMより出力する。
アナログ入力のサンプリング時(サンプル制御信号がハイレベルのとき)には、補正コードCD3〜CD0として“1111”を出力し、補正コードXCD3〜XCD0として“0000”を出力する。サンプリング時以外は、加算器78での加算結果がオーバーフロー状態になるまでは、補正コードCD3〜CD0として“1111”を出力し、補正コードXCD3〜XCD0として加算器78での加算結果(MSBを除く)を出力する。サンプリング時以外で、かつ加算器78での加算結果がオーバーフロー状態になった後は、補正コードCD3〜CD0として、(加算器78の加算結果+1)を“11111”から減じた値を出力し、補正コードXCD3〜XCD0として“1111”を出力する。
(3)前記(1)、(2)以外(補正コードC3〜C1が正の値と負の値の混在の場合)
バイアス電位RST_VP、RST_VMとして電位VRLを出力端RSTVP、RSTVMよりそれぞれ出力する。
アナログ入力のサンプリング時(サンプル制御信号がハイレベルのとき)には、補正コードCD3〜CD0、XCD3〜XCD0として“0000”を出力する。サンプリング時以外は、補正コードCD3〜CD0として加算器76での加算結果(MSBを除く)を出力し、補正コードXCD3〜XCD0として加算器78での加算結果(MSBを除く)を出力する。
次に、図11〜図13を参照して、第3の実施形態による逐次比較型AD変換器の動作について説明する。
図11〜図13は、第3の実施形態による逐次比較型AD変換器の動作例を示すタイミングチャートである。図11〜図13には、正側のアナログ入力VinPの電位が高い側の基準電位VRHより高く、負側のアナログ入力VinNの電位が低い側の基準電位VRLより低い場合を一例として示している。なお、第3の実施形態による逐次比較型AD変換器でのAD変換に係る基本的な動作は、第1の実施形態による逐次比較型AD変換器での動作と同様である。第3の実施形態による逐次比較型AD変換器の動作においては、入力付きDA変換器11P、11Nの出力を補正DA変換器12P、12Nの出力により補正する補正動作が、第1の実施形態による逐次比較型AD変換器の動作と一部異なる。
図11〜図13において、SHCはサンプル制御信号であり、DAC出力(P)及びDAC出力(N)はコンパレータ13に入力される正側のDA変換出力及び負側のDA変換出力であり、CPOUTはコンパレータ13の出力である。また、D3〜D0はSAR回路14から出力されるデジタルコードであり、CD[3:0]及びXCD[3:0]は補正制御回路15Bから正側の補正DA変換器12P及び負側の補正DA変換器12Nにそれぞれ供給される補正コードである。なお、補正コードC3〜C1は、例えば、入力付きDA変換器11P、11Nの出力誤差を予め測定し、測定された誤差から補正DA変換器12P、12Nに入力すべき補正コードを算出することで、予め用意されている。
図11は、第3の実施形態による逐次比較型AD変換器の動作例を示すタイミングチャートであり、補正コードC3〜C1がすべて正の値である場合の例を示している。図11に示す例では、補正コードC3は“1111”(+7)、補正コードC2は“1110”(+6)、補正コードC1は“1101”(+5)であるとする。
図11に示すように、アナログ入力VinP、VinNのサンプリング期間TSMにおいて、初期設定値として“0000”が補正コードCD[3:0]として供給され、“1111”が補正コードXCD[3:0]として供給される。すなわち、サンプリング期間TSMにおいて、正側の補正DA変換器12Pには0が初期設定値として供給され、負側の補正DA変換器12Nには補正コードXCD[3:0]により設定可能な最大値が初期設定値として供給される。
第3ビットに係る比較動作期間TC3において、SAR回路14から出力されるデジタルコードD3〜D0は“1000”であり、値が“1”である第3ビットの補正コードC3は“1111”(+7)である。このとき、補正制御回路15Bは、補正コードC3の絶対値「7」の加算結果である“0111”(7)を補正コードCD[3:0]として正側の補正DA変換器12Pに供給する。
第2ビットに係る比較動作期間TC2において、デジタルコードD3〜D0で値が“1”である第3ビットの補正コードC3は“1111”(+7)であり、第2ビットの補正コードC2は“1110”(+6)である。このとき、補正制御回路15Bは、補正コードC3の絶対値「7」と補正コードC2の絶対値「6」の加算結果である“1101”(13)を補正コードCD[3:0]として正側の補正DA変換器12Pに供給する。
第1ビットに係る比較動作期間TC1において、デジタルコードD3〜D0で値が“1”である第3ビットの補正コードC3は“1111”(+7)であり、第2ビットの補正コードC2は“1110”(+6)であり、第1ビットの補正コードC1は“1101”(+5)である。このとき、補正制御回路15Bは、補正コードC3の絶対値「7」と補正コードC2の絶対値「6」と補正コードC1の絶対値「5」とを加算するが、加算結果は“10010”(18)となりオーバーフロー状態になる。すなわち、加算値が補正コードCD[3:0]により設定可能な最大値を越えてしまう。
したがって、比較動作期間TC1においては、補正制御回路15Bは、“1111”(15)を補正コードCD[3:0]として正側の補正DA変換器12Pに供給する。また、補正制御回路15Bは、加算結果に“1”を加えた“10011”を“11111”から減算する。言い換えれば、加算結果と補正コードCD[3:0]の最大値との差分の絶対値を補正コードXCD[3:0]の初期値“1111”から減算する。そして、補正制御回路15Bは、その演算結果である“1100”(12)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。第0ビットに係る比較動作期間TC0においては、比較動作期間TC1と同様に補正コードCD[3:0]、XCD[3:0]が供給される。
図12は、第3の実施形態による逐次比較型AD変換器の動作例を示すタイミングチャートであり、補正コードC3〜C1がすべて負の値である場合の例を示している。図12に示す例では、補正コードC3は“0111”(−7)、補正コードC2は“0110”(−6)、補正コードC1は“0101”(−5)であるとする。
図12に示すように、アナログ入力VinP、VinNのサンプリング期間TSMにおいて、初期設定値として“1111”が補正コードCD[3:0]として供給され、“0000”が補正コードXCD[3:0]として供給される。すなわち、サンプリング期間TSMにおいて、正側の補正DA変換器12Pには補正コードCD[3:0]により設定可能な最大値が初期設定値として供給され、負側の補正DA変換器12Nには0が初期設定値として供給される。
第3ビットに係る比較動作期間TC3において、SAR回路14から出力されるデジタルコードD3〜D0は“1000”であり、値が“1”である第3ビットの補正コードC3は“0111”(−7)である。このとき、補正制御回路15Bは、補正コードC3の絶対値「7」の加算結果である“0111”(7)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。
第2ビットに係る比較動作期間TC2において、デジタルコードD3〜D0で値が“1”である第3ビットの補正コードC3は“0111”(−7)であり、第2ビットの補正コードC2は“0110”(−6)である。このとき、補正制御回路15Bは、補正コードC3の絶対値「7」と補正コードC2の絶対値「6」の加算結果である“1101”(13)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。
第1ビットに係る比較動作期間TC1において、デジタルコードD3〜D0で値が“1”である第3ビットの補正コードC3は“0111”(−7)であり、第2ビットの補正コードC2は“0110”(−6)であり、第1ビットの補正コードC1は“0101”(−5)である。このとき、補正制御回路15Bは、補正コードC3の絶対値「7」と補正コードC2の絶対値「6」と補正コードC1の絶対値「5」とを加算するが、加算結果は“10010”(18)となりオーバーフロー状態になる。すなわち、加算値が補正コードXCD[3:0]により設定可能な最大値を越えてしまう。
したがって、比較動作期間TC1においては、補正制御回路15Bは、“1111”(15)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。また、補正制御回路15Bは、加算結果に“1”を加えた“10011”を“11111”から減算する。言い換えれば、加算結果と補正コードXCD[3:0]の最大値との差分の絶対値を補正コードCD[3:0]の初期値“1111”から減算する。そして、補正制御回路15Bは、その演算結果である“1100”(12)を補正コードCD[3:0]として正側の補正DA変換器12Pに供給する。第0ビットに係る比較動作期間TC0においては、比較動作期間TC1と同様に補正コードCD[3:0]、XCD[3:0]が供給される。
図13は、第3の実施形態による逐次比較型AD変換器の動作例を示すタイミングチャートであり、補正コードC3〜C1として正の値と負の値とが混在する場合の例を示している。図13に示す例では、補正コードC3は“0111”(−7)、補正コードC2は“1110”(+6)、補正コードC1は“0101”(−5)であるとする。
図13に示すように、アナログ入力VinP、VinNのサンプリング期間TSMにおいて、初期設定値として“0000”が補正コードCD[3:0]、XCD[3:0]として供給される。
第3ビットに係る比較動作期間TC3において、SAR回路14から出力されるデジタルコードD3〜D0は“1000”であり、値が“1”である第3ビットの補正コードC3は“0111”(−7)で示される負の値である。このとき、補正制御回路15Bは、補正コードC3の絶対値「7」の加算結果である“0111”(7)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。
第2ビットに係る比較動作期間TC2において、デジタルコードD3〜D0で値が“1”である第3ビットの補正コードC3は“0111”(−7)で示される負の値であり、第2ビットの補正コードC2は“1110”(+6)で示される正の値である。このとき、補正制御回路15Bは、補正コードC2の絶対値「6」の加算結果である“0110”(6)を補正コードCD[3:0]として正側の補正DA変換器12Pに供給する。また、補正制御回路15Bは、補正コードC3の絶対値「7」の加算結果である“0111”(7)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。
第1ビットに係る比較動作期間TC1において、デジタルコードD3〜D0で値が“1”である第3ビットの補正コードC3は“0111”(−7)で示される負の値であり、第2ビットの補正コードC2は“1110”(+6)で示される正の値である。また、第1ビットの補正コードC1は“0101”(−5)で示される負の値である。このとき、補正制御回路15Bは、補正コードC2の絶対値「6」の加算結果である“0110”(6)を補正コードCD[3:0]として正側の補正DA変換器12Pに供給する。また、補正制御回路15Bは、補正コードC3の絶対値「7」と補正コードC1の絶対値「5」の加算結果である“1100”(12)を補正コードXCD[3:0]として負側の補正DA変換器12Nに供給する。第0ビットに係る比較動作期間TC0においては、比較動作期間TC1と同様に補正コードCD[3:0]、XCD[3:0]が供給される。
第3の実施形態によれば、デジタルコードにおける補正コードに正の値と負の値とが混在するとき、デジタルコードD3〜D0において値が“1”であるビットの補正コードが正の値である場合には、その絶対値を補正コードCD[3:0]に対して加算する。また、デジタルコードD3〜D0において値が“1”であるビットの補正コードが負の値である場合には、その絶対値を補正コードXCD[3:0]に対して加算する。このように、デジタルコードD3〜D0における補正コードが正の値であるか負の値であるかに応じて、その補正コードの絶対値を補正コードCD[3:0]又はXCD[3:0]の一方に加算するので補正コードを有効に利用し、従来よりも幅広い補正範囲での補正が可能になる。また、デジタルコードD3〜D0における補正コードの絶対値を補正コードCD[3:0]又はXCD[3:0]に対して加算するので、符号なし演算で実現することができる。したがって、補正コードCD[3:0]、XCD[3:0]において符号フラグとして使用するビットが必要なくなり、用意できる補正コードの全範囲での補正が可能になり、従来よりも2倍の補正範囲を持つことができる。
また、デジタルコードにおける補正コードがすべて正の値である場合には、デジタルコードD3〜D0において値が“1”であるビットの補正コードの絶対値を補正コードCD[3:0]に対して加算する。そして、デジタルコードD3〜D0において値が“1”であるビットの補正コードの絶対値の総和が補正コードCD[3:0]の最大値を越えるときには、補正コードCD[3:0]を最大値にし、その最大値と総和との差分の絶対値を補正コードXCD[3:0]に対して減算する。また、デジタルコードにおける補正コードがすべて負の値である場合には、デジタルコードD3〜D0において値が“1”であるビットの補正コードの絶対値を補正コードXCD[3:0]に対して加算する。そして、デジタルコードD3〜D0において値が“1”であるビットの補正コードの絶対値の総和が補正コードXCD[3:0]の最大値を越えるときには、補正コードXCD[3:0]を最大値にし、その最大値と総和との差分の絶対値を補正コードCD[3:0]に対して減算する。したがって、デジタルコードにおける補正コードがすべて正の値もしくはすべて負の値である場合には、従来と比較して4倍の補正範囲を持つことができる。
なお、前述した第3の実施形態は一例であり、これに限定されるものではない。
例えば、補正コードC3〜C1がすべての正の値である場合には、まず負側の補正DA変換器12Nに供給する補正コードXCD[3:0]を減算するようにしても良い。そして、補正コードXCD[3:0]が“0000”となったら、すなわち補正コードXCD[3:0]に対する減算値が最大値を越えたら、減算値と最大値との差分を正側の補正DA変換器12Pに供給する補正コードCD[3:0]に加算するようにしても良い。
また、例えば補正コードC3〜C1がすべての負の値である場合には、まず正側の補正DA変換器12Pに供給する補正コードCD[3:0]を減算するようにしても良い。そして、補正コードCD[3:0]が“0000”となったら、すなわち補正コードCD[3:0]に対する減算値が最大値を越えたら、減算値と最大値との差分を負側の補正DA変換器12Nに供給する補正コードXCD[3:0]に加算するようにしても良い。
また、例えば補正コードC3〜C1に正の値と負の値とが混在する場合、補正コードCD[3:0]、XCD[3:0]の初期値を“1111”とする。そして、補正コードC3〜C1が正の値の場合には補正コードXCD[3:0]を減算し、補正コードC3〜C1が負の値の場合には補正コードCD[3:0]を減算するようにしても良い。
また、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
(付記1)
差動入力における第1のアナログ入力電圧に応じた電荷を蓄える複数の容量を含み、前記複数の容量の接続をデジタル信号に応じて切り換え、前記第1のアナログ入力電圧及び前記デジタル信号に応じた電圧を出力する第1のDA変換器と、
前記差動入力における第2のアナログ入力電圧に応じた電荷を蓄える複数の容量を含み、前記複数の容量の接続を前記デジタル信号に応じて切り換え、前記第2のアナログ入力電圧及び前記デジタル信号に応じた電圧を出力する第2のDA変換器と、
第1の補正コードに応じた電圧を出力する第1の補正DA変換器と、
第2の補正コードに応じた電圧を出力する第2の補正DA変換器と、
前記第1のDA変換器の出力及び前記第1の補正DA変換器の出力の和と、前記第2のDA変換器の出力及び前記第2の補正DA変換器の出力の和とを比較する比較回路と、
前記比較回路による比較結果に応じて新たな前記デジタル信号を生成し、前記第1のDA変換器及び前記第2のDA変換器に供給する制御回路と、
前記第1のDA変換器及び前記第2のDA変換器に供給される前記デジタル信号に基づいて前記第1の補正コード及び前記第2の補正コードを生成する補正制御回路とを備え、
前記補正制御回路は、前記第1のDA変換器において、前記デジタル信号に応じて前記容量が選択的に接続される2つの基準電位のうち高い側の基準電位に接続される容量に対応するビットの補正値が正の値である場合には、当該補正値の絶対値を前記第1の補正コードに対して加算もしくは前記第2の補正コードに対して減算し、前記ビットの補正値が負の値である場合には、当該補正値の絶対値を前記第2の補正コードに対して加算もしくは前記第1の補正コードに対して減算することを特徴とするAD変換器。
(付記2)
前記第1の補正コード及び前記第2の補正コードの初期値をそれぞれの前記補正コードにより設定可能な最小値とし、
前記補正制御回路は、前記第1のDA変換器において、前記デジタル信号に応じて前記高い側の基準電位に接続される容量に対応するビットの補正値が正の値である場合には、当該補正値の絶対値を前記第1の補正コードに対して加算し、前記ビットの補正値が負の値である場合には、当該補正値の絶対値を前記第2の補正コードに対して加算することを特徴とする付記1記載のAD変換器。
(付記3)
前記第1の補正コード及び前記第2の補正コードの初期値をそれぞれの前記補正コードにより設定可能な最大値とし、
前記補正制御回路は、前記第1のDA変換器において、前記デジタル信号に応じて前記高い側の基準電位に接続される容量に対応するビットの補正値が正の値である場合には、当該補正値の絶対値を前記第2の補正コードに対して減算し、前記ビットの補正値が負の値である場合には、当該補正値の絶対値を前記第1の補正コードに対して減算することを特徴とする付記1記載のAD変換器。
(付記4)
前記デジタル信号における各々のビットの補正値がすべて正の値のときには、
前記第1の補正コードの初期値を0とするとともに、前記第2の補正コードの初期値を当該補正コードにより設定可能な最大値とし、
前記補正制御回路は、前記第1のDA変換器において、前記デジタル信号に応じて前記高い側の基準電位に接続される容量に対応するビットの補正値の絶対値を前記第1の補正コードに対して加算し、前記第1の補正コードに対して加算する値が前記第1の補正コードの最大値を越える場合には、前記第1の補正コードを当該最大値にするとともに、前記加算する値と前記最大値との差分の絶対値を前記第2の補正コードに対して減算することを特徴とする付記1〜3の何れか1項に記載のAD変換器。
(付記5)
前記デジタル信号における各々のビットの補正値がすべて正の値のときには、
前記第1の補正コードの初期値を0とするとともに、前記第2の補正コードの初期値を当該補正コードにより設定可能な最大値とし、
前記補正制御回路は、前記第1のDA変換器において、前記デジタル信号に応じて前記高い側の基準電位に接続される容量に対応するビットの補正値の絶対値を前記第2の補正コードに対して減算し、前記第2の補正コードに対して減算する値が前記第2の補正コードの最大値を越える場合には、前記第2の補正コードを0にするとともに、前記減算する値と前記最大値との差分の絶対値を前記第1の補正コードに対して加算することを特徴とする付記1〜3の何れか1項に記載のAD変換器。
(付記6)
前記デジタル信号における各々のビットの補正値がすべて負の値のときには、
前記第1の補正コードの初期値を当該補正コードにより設定可能な最大値とするとともに、前記第2の補正コードの初期値を0とし、
前記補正制御回路は、前記第1のDA変換器において、前記デジタル信号に応じて前記高い側の基準電位に接続される容量に対応するビットの補正値の絶対値を前記第2の補正コードに対して加算し、前記第2の補正コードに対して加算する値が前記第2の補正コードの最大値を越える場合には、前記第2の補正コードを当該最大値にするとともに、前記加算する値と前記最大値との差分の絶対値を前記第1の補正コードに対して減算することを特徴とする付記1〜5の何れか1項に記載のAD変換器。
(付記7)
前記デジタル信号における各々のビットの補正値がすべて負の値のときには、
前記第1の補正コードの初期値を当該補正コードにより設定可能な最大値とするとともに、前記第2の補正コードの初期値を0とし、
前記補正制御回路は、前記第1のDA変換器において、前記デジタル信号に応じて前記高い側の基準電位に接続される容量に対応するビットの補正値の絶対値を前記第1の補正コードに対して減算し、前記第1の補正コードに対して減算する値が前記第1の補正コードの最大値を越える場合には、前記第1の補正コードを0にするとともに、前記減算する値と前記最大値との差分の絶対値を前記第2の補正コードに対して加算することを特徴とする付記1〜5の何れか1項に記載のAD変換器。
(付記8)
差動入力における第1のアナログ入力電圧に応じた電荷を蓄える複数の容量を含み、前記複数の容量の接続をデジタル信号に応じて切り換え、前記第1のアナログ入力電圧及び前記デジタル信号に応じた電圧を出力する第1のDA変換器と、
前記差動入力における第2のアナログ入力電圧に応じた電荷を蓄える複数の容量を含み、前記複数の容量の接続を前記デジタル信号に応じて切り換え、前記第2のアナログ入力電圧及び前記デジタル信号に応じた電圧を出力する第2のDA変換器と、
第1の補正コードに応じた電圧を出力する第1の補正DA変換器と、
第2の補正コードに応じた電圧を出力する第2の補正DA変換器と、
前記第1のDA変換器の出力及び前記第1の補正DA変換器の出力の和と、前記第2のDA変換器の出力及び前記第2の補正DA変換器の出力の和とを比較する比較回路と、
前記比較回路による比較結果に応じて新たな前記デジタル信号を生成し、前記第1のDA変換器及び前記第2のDA変換器に供給する制御回路と、
前記第1のDA変換器及び前記第2のDA変換器に供給される前記デジタル信号に基づいて前記第1の補正コード及び前記第2の補正コードを生成する補正制御回路とを備え、
前記補正制御回路は、前記デジタル信号にて値が1であるビットの補正値が正の値である場合には、当該補正値の絶対値を前記第1の補正コードに対して加算もしくは前記第2の補正コードに対して減算し、前記ビットの補正値が負の値である場合には、当該補正値の絶対値を前記第2の補正コードに対して加算もしくは前記第1の補正コードに対して減算することを特徴とするAD変換器。