以下に添付図面を参照して、実施形態にかかるAD変換回路を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(実施形態)
実施形態にかかるAD変換回路1について図1を用いて説明する。図1は、AD変換回路1の構成を示す図である。
AD変換回路1は、入力された信号Vinをキャパシタにサンプリングし、キャパシタにホールドされた電圧に応じてAD変換を行う。このとき、AD変換の精度を上げるためには、キャパシタの容量値のばらつきに起因したAD変換のゲイン誤差を高精度に求めて補正することが望まれる。そのため、AD変換回路1は、入力された信号VinのAD変換(本来のAD変換動作)に先立ちAD変換のゲイン誤差の補正データを求めるキャリブレーション動作が可能なように構成されている。
具体的には、AD変換回路1は、アンプ2、キャパシタC1,C2,C3、制御回路8、コンパレータ3,4、デコーダ7、コード生成回路5、及び補正回路6を有する。アンプ2は、反転入力端子2a、非反転入力端子2b、及び出力端子2cを有する。キャパシタC1は、一端C1a及び他端C1bを有する。キャパシタC2は、一端C2a及び他端C2bを有する。キャパシタC3は、一端C3a及び他端C3bを有する。キャパシタC3の一端C3aは、アンプ2の反転入力端子2aに接続され、キャパシタC3の他端C3bは、アンプ2の出力端子2cに接続されている。
制御回路8は、アンプ2及びキャパシタC1,C2,C3の間及び周辺における接続構成を制御する。制御回路8は、スイッチSW1〜SW17を有する。スイッチSW1は、一端がアンプ2の反転入力端子2aに接続され、他端がキャパシタC1の一端C1aに接続されている。スイッチSW1は、アクティブレベル(例えば、Hレベル)の制御信号φM1が供給された際にオンすることで、キャパシタC1の一端C1aをアンプ2の反転入力端子2aに接続する。スイッチSW1は、ノンアクティブレベル(例えば、Lレベル)の制御信号φM1が供給された際にオフすることで、キャパシタC1の一端C1aをアンプ2の反転入力端子2aから電気的に遮断する。
スイッチSW2は、一端がアンプ2の反転入力端子2aに接続され、他端がキャパシタC2の一端C2aに接続されている。スイッチSW2は、アクティブレベル(例えば、Hレベル)の制御信号φM2が供給された際にオンすることで、キャパシタC2の一端C2aをアンプ2の反転入力端子2aに接続する。スイッチSW2は、ノンアクティブレベル(例えば、Lレベル)の制御信号φM2が供給された際にオフすることで、キャパシタC2の一端C2aをアンプ2の反転入力端子2aから電気的に遮断する。
スイッチSW3は、一端がキャパシタC1の他端C1bに接続され、他端がノードN1に接続されている。ノードN1は、参照電圧Vref_nが供給される。参照電圧Vref_nは、AD変換回路1によるAD変化可能な電圧範囲の下限(AD変換後のコード値「0」)に対応している。スイッチSW3は、アクティブレベル(例えば、Hレベル)の制御信号φL1Nが供給された際にオンすることで、キャパシタC1の他端C1bをノードN1に接続する。スイッチSW3は、ノンアクティブレベル(例えば、Lレベル)の制御信号φL1Nが供給された際にオフすることで、キャパシタC1の他端C1bをノードN1から電気的に遮断する。
スイッチSW4は、一端がキャパシタC1の他端C1bに接続され、他端がノードN2に接続されている。ノードN2は、参照電圧Vref_pが供給される。参照電圧Vref_pは、AD変換回路1によるAD変化可能な電圧範囲の上限(AD変換後のフルコード値)に対応している。スイッチSW4は、アクティブレベル(例えば、Hレベル)の制御信号φL1Pが供給された際にオンすることで、キャパシタC1の他端C1bをノードN2に接続する。スイッチSW4は、ノンアクティブレベル(例えば、Lレベル)の制御信号φL1Pが供給された際にオフすることで、キャパシタC1の他端C1bをノードN2から電気的に遮断する。
スイッチSW5は、一端がキャパシタC2の他端C2bに接続され、他端がノードN1に接続されている。スイッチSW5は、アクティブレベル(例えば、Hレベル)の制御信号φL2Nが供給された際にオンすることで、キャパシタC2の他端C2bをノードN1に接続する。スイッチSW5は、ノンアクティブレベル(例えば、Lレベル)の制御信号φL2Nが供給された際にオフすることで、キャパシタC2の他端C2bをノードN1から電気的に遮断する。
スイッチSW6は、一端がキャパシタC2の他端C2bに接続され、他端がノードN2に接続されている。スイッチSW6は、アクティブレベル(例えば、Hレベル)の制御信号φL2Pが供給された際にオンすることで、キャパシタC2の他端C2bをノードN2に接続する。スイッチSW6は、ノンアクティブレベル(例えば、Lレベル)の制御信号φL2Pが供給された際にオフすることで、キャパシタC2の他端C2bをノードN2から電気的に遮断する。
スイッチSW7は、一端がアンプ2の出力端子2cに接続され、他端がキャパシタC1の他端C1bに接続されている。スイッチSW7は、アクティブレベル(例えば、Hレベル)の制御信号φFDが供給された際にオンすることで、アンプ2の出力端子2cをキャパシタC1の他端C1bに接続する。スイッチSW7は、ノンアクティブレベル(例えば、Lレベル)の制御信号φFDが供給された際にオフすることで、アンプ2の出力端子2cをキャパシタC1の他端C1bから電気的に遮断する。
スイッチSW8は、一端がアンプ2の出力端子2cに接続され、他端がキャパシタC2の他端C2bに接続されている。スイッチSW8は、アクティブレベル(例えば、Hレベル)の制御信号φFDが供給された際にオンすることで、アンプ2の出力端子2cをキャパシタC2の他端C2bに接続する。スイッチSW8は、ノンアクティブレベル(例えば、Lレベル)の制御信号φFDが供給された際にオフすることで、アンプ2の出力端子2cをキャパシタC2の他端C2bから電気的に遮断する。
スイッチSW9は、一端がキャパシタC1の一端C1aに接続され、他端がノードN3に接続されている。ノードN3は、参照電圧Vref_cが供給される。参照電圧Vref_cは、アンプ2の動作点を決めるための電圧であり、例えば、接地電圧であってもよい。スイッチSW9は、アクティブレベル(例えば、Hレベル)の制御信号φF1が供給された際にオンすることで、キャパシタC1の他端C1bをノードN1に接続する。スイッチSW9は、ノンアクティブレベル(例えば、Lレベル)の制御信号φF1が供給された際にオフすることで、キャパシタC1の一端C1aをノードN3から電気的に遮断する。
スイッチSW10は、一端がキャパシタC2の一端C2aに接続され、他端がノードN3に接続されている。スイッチSW10は、アクティブレベル(例えば、Hレベル)の制御信号φF2が供給された際にオンすることで、キャパシタC2の一端C2aをノードN3に接続する。スイッチSW10は、ノンアクティブレベル(例えば、Lレベル)の制御信号φF2が供給された際にオフすることで、キャパシタC2の一端C2aをノードN3から電気的に遮断する。
スイッチSW11は、一端がキャパシタC1の他端C1bに接続され、他端がノードN4に接続されている。ノードN4は、信号Vinが供給される。信号Vinは、AD変換回路1に入力される信号であり、例えば、固体撮像装置100(図14参照)の画素Pから出力された画素信号であってもよい。スイッチSW11は、アクティブレベル(例えば、Hレベル)の制御信号φS1が供給された際にオンすることで、キャパシタC1の他端C1bをノードN4に接続する。スイッチSW11は、ノンアクティブレベル(例えば、Lレベル)の制御信号φS1が供給された際にオフすることで、キャパシタC1の他端C1bをノードN4から電気的に遮断する。
スイッチSW12は、一端がキャパシタC2の他端C2bに接続され、他端がノードN4に接続されている。スイッチSW12は、アクティブレベル(例えば、Hレベル)の制御信号φS2が供給された際にオンすることで、キャパシタC2の他端C2bをノードN4に接続する。スイッチSW12は、ノンアクティブレベル(例えば、Lレベル)の制御信号φS2が供給された際にオフすることで、キャパシタC2の他端C2bをノードN4から電気的に遮断する。
スイッチSW13は、一端がアンプ2の出力端子2cに接続され、他端がアンプ2の反転入力端子2aに接続されている。スイッチSW13は、アクティブレベル(例えば、Hレベル)の制御信号φRが供給された際にオンすることで、アンプ2の反転入力端子2aと出力端子2cとを接続しアンプ2をリセットする。スイッチSW13は、ノンアクティブレベル(例えば、Lレベル)の制御信号φRが供給された際にオフすることで、アンプ2の反転入力端子2aと出力端子2cとの接続を遮断しアンプ2のリセットを解除する。
スイッチSW14は、一端がコンパレータ3の反転入力端子に接続され、他端がノードN6に接続されている。ノードN6は、参照電圧Vcmp_fiが供給される。参照電圧Vcmp_fiは、入力電圧VinをAD変換する際にコンパレータ3の比較動作に用いられる基準電圧である。スイッチSW15は、一端がコンパレータ4の反転入力端子に接続され、他端がノードN7に接続されている。ノードN7は、参照電圧Vcmp_fiが供給される。スイッチSW14,SW15は、アクティブレベル(例えば、Hレベル)の制御信号φPFIが供給された際にオンすることで、コンパレータ3,4の反転入力端子をノードN6,N7に接続する。スイッチSW14,SW15は、ノンアクティブレベル(例えば、Lレベル)の制御信号φPFIが供給された際にオフすることで、コンパレータ3,4の反転入力端子をノードN6,N7から電気的に遮断する。
スイッチSW16は、一端がコンパレータ3の反転入力端子に接続され、他端がノードN8に接続されている。ノードN8は、参照電圧Vcmp_pが供給される。参照電圧Vcmp_pは、誤差電圧をAD変換する際にコンパレータ3の比較動作に用いられる基準電圧である。スイッチSW17は、一端がコンパレータ4の反転入力端子に接続され、他端がノードN9に接続されている。ノードN9は、参照電圧Vcmp_nが供給される。スイッチSW16,SW17は、アクティブレベル(例えば、Hレベル)の制御信号φPFI ̄が供給された際にオンすることで、コンパレータ3,4の反転入力端子をノードN8,N9に接続する。スイッチSW16,SW17は、ノンアクティブレベル(例えば、Lレベル)の制御信号φPFI ̄が供給された際にオフすることで、コンパレータ3,4の反転入力端子をノードN8,N9から電気的に遮断する。
コンパレータ3は、非反転入力端子がアンプ2の出力端子2cに接続され、反転入力端子がスイッチSW14,SW16を介してノードN6,N8に接続され、出力端子がコード生成回路5及びデコーダ7に接続されている。コンパレータ3は、制御信号φCMP_Uに応じてアンプ2の出力端子2cの電圧Voutと基準電圧Vcmp_fi,Vcmp_pとを比較する。コンパレータ3は、出力端子2cの電圧Voutが基準電圧Vcmp_fi,Vcmp_pより小さい場合に、Lレベルの比較結果DFI1,DUを出力する。コンパレータ3は、出力端子2cの電圧Voutが基準電圧Vcmp_fi,Vcmp_pより大きい場合に、Hレベルの比較結果DFI1,DUを出力する。
コンパレータ4は、非反転入力端子がアンプ2の出力端子2cに接続され、反転入力端子がスイッチSW15,SW17を介してノードN7,N9に接続され、出力端子がコード生成回路5及びデコーダ7に接続されている。コンパレータ4は、制御信号φCMP_Lに応じてアンプ2の出力端子2cの電圧Voutと基準電圧Vcmp_fi,Vcmp_nとを比較する。コンパレータ3は、出力端子2cの電圧Voutが基準電圧Vcmp_fi,Vcmp_nより小さい場合に、Lレベルの比較結果DFI2,DLを出力する。コンパレータ4は、出力端子2cの電圧Voutが基準電圧Vcmp_fi,Vcmp_nより大きい場合に、Hレベルの比較結果DFI2,DLを出力する。
デコーダ7は、制御信号φL1,φL2,φPFI,φL1NF,φL1PF,φL2NF,φL2PFとコンパレータの比較結果(DU,DL)とに基づいて、制御信号φL1P,φL2P,φL1N,φL2Nを生成する。
コード生成回路5は、コンパレータ3,4の比較結果に応じてデジタルコードを生成して補正回路6へ出力する。コード生成回路5は、DFI1カウンタ51、DFI2カウンタ52、及び冗長非常長変換回路53を有する。
補正回路6は、コード生成回路5から出力されたデジタルコードを補正してAD変換結果のデータDOUTを生成して外部(例えば、図15に示すCDS回路97)へ出力する。
例えば、本来のAD変換動作は、図2に示すように行われる。図2は、AD変換回路のAD変換動作時の動作を示す波形図である。
アンプの初期化期間において、AD変換回路1は、制御信号φRをアクティブレベルにする。これにより、アンプ2の反転入力端子2aと出力端子2cとが短絡されアンプ2がリセットされる。その後、入力電圧Vinに対して、Dual−FI期間において、上位ビットのAD変換が行われ、Cyclic期間において、下位ビットのAD変換が行われる。
Dual−FI期間において、AD変換回路1は、折り返し積分(FI:Folding−Integration)動作によるAD変換を、キャパシタC1→キャパシタC3のパス(第1のパス)とキャパシタC2→キャパシタC3のパス(第2のパス)との2つのパスで(Dualで)行う。AD変換回路1では、第1のパスにおける折り返し積分動作と第2のパスにおける折り返し積分動作とが並行して行われるので、折り返し積分動作によるAD変換処理を効率的に行うことができる。
各パスにおける折り返し積分動作では、入力電圧VinがキャパシタC1(又はC2)にサンプリングされた後、キャパシタC1(又はC2)にホールドされた電圧がアンプ2で増幅された電圧を出力端子2cに積算する積分動作を行う。このとき、制御信号φPFI=Hレベルであるので、コンパレータ3,4はアンプ2の出力端子2cの電圧Voutを基準電圧Vcmp_fiと比較する。出力端子2cの電圧Voutが基準電圧Vcmp_fiより低ければ、コンパレータ3,4の比較結果がLレベルになり、コンパレータ3,4の比較結果に応じてDFI1カウンタ51、DFI2カウンタ52でカウント結果が加算されない。そして、出力端子2cの電圧Voutが基準電圧Vcmp_fiを超えると、コンパレータ3,4の比較結果がLレベルになり、コンパレータ3,4の比較結果に応じてDFI1カウンタ51、DFI2カウンタ52でカウント結果が加算(インクリメント)される。それとともに、キャパシタC1(又はC2)の他端C1b(又はC2b)に参照電圧Vref_nが接続され、出力端子2cの電圧Voutが1/2Vref減算される折り返しが発生する。
すなわち、各パスでは、折り返し積分動作が繰り返し行われ、出力端子2cの電圧Voutが基準電圧Vcmp_fiを超えるか否かで1か0になるデジタルコードの各ビットがDFI1カウンタ51、DFI2カウンタ52にて生成される。
例えば、DFI1カウンタ51は、図3に示す構成を有する。図3は、DFI1カウンタ51の構成を示す図である。DFI1カウンタ51は、インバータINV、論理積演算子AND、及び複数段のフリップフロップFF−0〜FF−2を有する。制御信号φCMP_UがインバータINVで論理反転され、インバータINVの出力とコンパレータ3の比較結果DFI1との論理積が論理積演算子ANDで演算される。論理積演算子ANDの演算結果は、クロックとして初段のフリップフロップFF−0のクロック端子に供給される。2段目以降のフリップフロップFF−2,FF−2のクロック端子には、前段のフリップフロップFF−0,FF−2の反転出力Q ̄が供給される。また、各段のフリップフロップFF−0〜FF−2では、入力端子Dに自身の反転出力Q ̄が供給されるように構成されている。これにより、複数段のフリップフロップFF−0〜FF−2は、Hレベルの比較結果DFI1が供給される度にカウント結果を加算(インクリメント)するカウント動作を行う。そして、各段のフリップフロップFF−0〜FF−2の出力Qを含む例えば3ビットのカウント結果DFI1[2:0]が上位ビットのAD変換結果(デジタルコード)として補正回路6へ出力される。なお、図3に示す構成において、DFI1→DFI2、CMP_U→CMP_L、DFI1[2:0]→DFI2[2:0]と置き換えれば、DFI2カウンタ52の構成とすることができる。
図2に戻って、Cyclic期間において、AD変換回路1は、入力電圧Vinを2倍に増幅しながらAD変換するサイクリック(Cyclic)動作によるAD変換を、第1のパス及び第2のパスを同時に用いて行う。
各サイクリック動作では、アンプ2の出力端子2cの電圧VoutがキャパシタC1,C2にフィードバックされる。このとき、制御信号φPFI=Lレベルであるので、コンパレータ3,4は、それぞれ、アンプ2の出力端子2cの電圧Voutを基準電圧Vcmp_p,Vcmp_nと比較する。コンパレータ3,4の比較結果DU,DLは、次のようになる。
Vout<Vcmp_nである場合、DU=L,DL=L
Vcmp_n<Vout<Vcmp_pである場合、DU=L,DL=H
Vcmp_p<Voutである場合、DU=H,DL=H
そして、制御信号φCMP_Uが立ち下がるタイミングで、冗長非冗長変換回路53が、保持する例えば14ビットのデジタルコードDCYC[13:0]における3bit目以降のコードDCYC[13:2]のシフトを行うとともに、コンパレータ3,4の比較結果DU,DLに応じて1ビット目DCYC[0]、2ビット目DCYC[1]について加算処理を行う。その後、フィードバックが解除され、直前の電圧Voutをコンパレータ3,4の比較結果DU,DLの値に応じて、次のように調整してアンプ2の出力端子2cに蓄積させる。
DL=L,DU=Lである場合、2×Vout
DL=H,DU=Lである場合、2×Vout−Vref/2
DL=H,DU=Hである場合、2×Vout−Vref
すなわち、2つのパスを同時に用いて、サイクリック動作が繰り返し行われ、出力端子2cの電圧Voutが電圧範囲Vcmp_n〜Vcmp_pに対してどこにあるかで決まる2ビットのパターンを含むデジタルコードの各ビットが冗長非冗長変換回路53にて生成される。
例えば、冗長非冗長変換回路53は、図4(a)に示す構成を有する。図4(a)は、冗長非冗長変換回路53の構成を示す図である。冗長非冗長変換回路53は、インバータINV1及び複数段の単位回路UC−0〜UC−13を有する。各段の単位回路UCは、図4(b)に示すように、半加算器HA及びフリップフロップD−FFを含む。図4(b)は、冗長非冗長変換回路53における単位回路UCの構成を示す図である。半加算器HAは、端子SIから端子Aで受けた値と端子CIから端子Bで受けた値とを加算する。各段の単位回路UCは、図4(c)の真理値表で示すように動作する。図4(c)は、単位回路UCの動作を示す図である。すなわち、半加算器HAの加算結果は、端子SからフリップフロップD−FF経由で端子SOに出力され、半加算器HAの桁上がりは、端子Cから端子COに出力される。フリップフロップD−FFは、φCMP_UがインバータINV1で論理反転された信号に同期して、半加算器HAの加算結果を端子Dでラッチして端子Qから端子SOへ出力する。
このようなAD変換動作が完了すると、図5(a)に示すように、第1のパスでの折り返し積分動作によるデジタルコードDFI1[2:0]と、第2のパスでの折り返し積分動作によるデジタルコードDFI2[2:0]と、サイクリック動作によるデジタルコードDCYC[13:0]とが補正回路6で合成される。すなわち、補正回路6は、次のような処理を行ってAD変換結果DOUT[15:0]を生成する。
DFI1[2]+DFI2[2]→DOUT[15]
DFI1[1]+DFI2[1]→DOUT[14]
DFI1[0]+DFI2[0]+DCYC[13]→DOUT[13]
例えば、入力電圧Vinを様々に変化させた場合について生成されたAD変換結果DOUTをプロットすると、図5(b)に示すような特性が得られることがある。すなわち、上位ビットのAD変換処理において、折り返しが発生するような入力電圧Vinになると、一点鎖線で囲って示すように、AD変換結果DOUTにコードとびが発生することがある。
図1に示すAD変換回路1において、キャパシタC1,C2の容量値は、互いに均等な値Cになるように設計されている。また、キャパシタC3の容量値は、C/2になるように設計されている。これにより、アンプ2は、ゲイン略1/2で増幅動作を行うように設計されている。しかし、実際には、キャパシタC1,C2の容量値は、製造ばらつきを含む値C+ΔCa,C+ΔCbになっている。これにより、上位ビットのAD変換処理において折り返しが発生すると、第1のパスにおける折り返し積分動作でのゲインと第2のパスにおける折り返し積分動作でのゲインとが互いにばらつきやすい。また、第1のパス又は第2のパスにおける折り返し積分動作でのゲインと第1のパス及び第2のパスを同時に用いたサイクリック動作でのゲインとが互いにばらつきやすい。
すなわち、キャパシタC1の容量値とキャパシタC2の容量値とのミスマッチに起因して、デジタルコードDFI1[2:0]とデジタルコードDFI2[2:0]との対応ビット間でばらつきが発生する可能性がある。また、キャパシタC1の容量値とキャパシタC2の容量値とのミスマッチに起因して、ビットDFI1[0]又はビットDFI2[0]とビットDCYC[13]との間でばらつきが発生したりする可能性がある。これにより、AD変換処理のゲインが図5(b)に破線で示す理想的なゲインからずれやすくなり、AD変換結果DOUTにコードとびが発生しやすくなる。
そこで、本実施形態では、AD変換回路1において、各キャパシタC1,C2のゲイン誤差に応じた電圧を差分化してアンプ2の出力端子2cに積算する積算動作を複数回行い、複数回の積算動作により出力端子2cに蓄積された電圧をAD変換後に積算回数で除算して補正データを得る。これにより、ゲイン誤差の補正データを高精度に求めて補正し、図5(c)に示すように、コードとびを低減させることを目指す。
例えば、キャリブレーション動作では、図1に示す構成において、参照電圧(例えば、Vref/2)をキャパシタC1(又はC2)にサンプリングしてホールドし、キャパシタC1(又はC2)の電圧をアンプ2のゲイン(理想的には略1/2)で増幅して出力端子2cに積算させる積算動作を行う。出力端子2cに積算される電圧は、アンプ2のゲインで増幅されるので、ゲイン誤差を含む電圧になっている。そして、出力端子2cの電圧を各キャパシタC1,C2に逆極性でフィードバックし、フィードバックを解除して各キャパシタC1,C2をホールドすると、直前に蓄積されていた電圧と逆極性の電圧が2つのキャパシタC1,C2から平均化されて出力端子2cに積算される。このとき、第1のパス(C1→C3)のゲインと第2のパス(C2→C3)のゲインとがそれぞれ理想的な値(例えば、略1/2)になっていれば、出力端子2cの電圧が略ゼロになるはずであるが、ゲイン誤差があれば、ゲイン誤差に応じた電圧(誤差電圧)が出力端子2cに残る。この誤差電圧は、基準となる参照電圧(例えば、Vref/2)を用いて出力端子2cに逆極性で蓄積させた電圧であり、単位入力電圧に対する値であるのでゲイン誤差の補正量(すなわち、図5(b)に示す傾きのずれ、すなわちゲイン誤差をキャンセルさせる量)そのものを表している電圧とみなすことができる。
出力端子2cに蓄積された誤差電圧は、振幅が小さいので、AD変換可能な電圧範囲Vref_n〜Vref_p内で複数回積算が可能である。この複数回の積算動作で出力端子2cに蓄積された誤差電圧を、本来のAD変換動作におけるCyclic期間(図2参照)と同様の動作でAD変換すると、(ゲイン誤差キャンセル量)×(積算回数)を表す誤差データが得られる。そのため、誤差データを積算回数で除算して補正データを高精度に求めることができる。
この補正データは、折り返し積分の1カウントに相当するCyclicのコードを求めた結果であるデジタル値で表される。本来のAD変換動作時に、この補正データを折り返し積分のデジタルコードDFI1[2:0],DFI2[2:0]に乗算すれば、入力電圧Vinに対して、デジタルコードDFI1[2:0]とデジタルコードDFI2[2:0]との対応ビットを等価にできる。また、入力電圧Vinに対して、ビットDFI1[0]又はビットDFI2[0]とビットDCYC[13]とを互いに等価にできる。
なお、補正データは、理想的にはノイズの影響を受けない値としたいが、実際には補正データの値自体もノイズの影響を受け、補正データの有効ビット数が小さい(数LSB)ことから、ノイズ低減のために何度か補正値(誤差電圧)を積算させ、ノイズの影響を1/√(N)で低減する必要がある。本実施形態では、補正値導出にマルチサンプリング(複数回の積算動作)を適用し、補正データにおけるS/Nの向上を図っている。
具体的には、AD変換回路1は、図6〜図8に示す動作を行う。図6は、AD変換回路1の動作を示す波形図である。図7及び図8は、AD変換回路1の動作を示す回路図である。図7及び図8では、説明および図示の簡略化のため、参照電圧Vref_c=接地電位の場合を例示している。
図6に示す期間TP11において、図1に示す制御回路8は、スイッチSW9をオンに維持しスイッチSW1,SW2,SW10をオフに維持した状態で、スイッチSW3をオンに維持する。これにより、図7(a)に示すように、キャパシタC1は、一端C1aが参照電圧Vref_cに接続され、他端C1bが参照電圧Vref_nに接続される。すなわち、参照電圧Vref_cを基準として、キャパシタC1に参照電圧Vref_n(デジタル値0の基準)がサンプリングされる。
図6に示す期間TP12において、図1に示す制御回路8は、スイッチSW1をオンに維持しスイッチSW2,SW9,SW10をオフに維持した状態で、スイッチSW4をオンに維持する。これにより、図7(b)に示すように、キャパシタC1は、一端C1aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C1bが参照電圧Vref_p(=Vref_n+Vref)に接続される。すなわち、キャパシタC1からキャパシタC3にVref/2が転送される。このとき、キャパシタC1の一端C1aの電位はVref+ΔV1になっており、キャパシタC3の他端C3bの電位はVref/2+ΔV2になっている。ΔV1、ΔV2は、キャパシタC1,C3の容量値のばらつきに応じた電圧成分である。
図6に示す期間TP13において、図1に示す制御回路8は、スイッチSW9,SW10をオンに維持しスイッチSW1,SW2をオフに維持した状態で、スイッチSW7,SW8をオンに維持する。これにより、図7(c)に示すように、キャパシタC1,C2は、それぞれ、一端C1a,C2aが参照電圧Vref_cに接続され、他端C1b,C2bがキャパシタC3の他端C3bに接続される。すなわち、理想値としてはVref/2となる電圧がキャパシタC1,C2にフィードバックされる。このとき、キャパシタC1の他端C1bの電位はVref/2+ΔV3になっており、キャパシタC2の他端C2bの電位はVref/2+ΔV4になっている。ΔV3、ΔV4は、キャパシタC1,C2の容量値のばらつきに応じた電圧成分である。
図6に示す期間TP14において、図1に示す制御回路8は、スイッチSW1,SW2をオンに維持しスイッチSW9,SW10をオフに維持する。これにより、図7(d)に示すように、キャパシタC1は、一端C1aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C1bが参照電圧Vref_pに接続される。キャパシタC2は、一端C2aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C2bがフローティング状態にされる。すなわち、(Vref/2)×2−Vrefという演算が行われ、アンプ2の出力端子2cの電圧Voutが理想的には0となる。しかし、実際には、第1のパス(C1→C3)の演算と第2のパス(C2→C3)の演算には誤差があるので、その誤差分Verr1(≒ΔV2−(ΔV3+ΔV4)/2)が出力端子2cの電圧Voutとして残留する。
AD変換回路1は、期間TP11〜期間TP14の積算動作(図7(a)〜図7(d)に示す積算動作)を複数回(図6の場合、8回)繰り返す。これにより、アンプ2の出力端子2cには、誤差分Verr1×積算回数(例えば、8回)の誤差電圧が蓄積される。そして、AD変換回路1は、複数回の積算動作によりアンプ2の出力端子2cに蓄積された誤差電圧を、図2に示すCyclic期間と同様にしてAD変換して誤差データDCYC[13:0]を生成する。この誤差データDCYC[13:0]は、デジタルコードDFI1[2:0]に対応した誤差データ(第1の誤差データ)である。
デジタルコードDFI2[2:0]に対応した誤差データ(第2の誤差データ)についても同様にして得ることができる。
例えば、図1に示す制御回路8は、スイッチSW10をオンに維持しスイッチSW1,SW2,SW9をオフに維持した状態で、スイッチSW5をオンに維持する。これにより、図8(a)に示すように、キャパシタC2は、一端C2aが参照電圧Vref_cに接続され、他端C2bが参照電圧Vref_nに接続される。すなわち、参照電圧Vref_cを基準として、キャパシタC2に参照電圧Vref_n(デジタル値0の基準)がサンプリングされる。
図1に示す制御回路8は、スイッチSW2をオンに維持しスイッチSW1,SW9,SW10をオフに維持した状態で、スイッチSW6をオンに維持する。これにより、図8(b)に示すように、キャパシタC2は、一端C2aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C2bが参照電圧Vref_pに接続される。すなわち、キャパシタC2からキャパシタC3にVref/2が転送される。このとき、キャパシタC2の一端C2aの電位はVref+ΔV5になっており、キャパシタC3の他端C3bの電位はVref/2+ΔV6になっている。ΔV5、ΔV6は、キャパシタC2,C3の容量値のばらつきに応じた電圧成分である。
図1に示す制御回路8は、スイッチSW9,SW10をオンに維持しスイッチSW1,SW2をオフに維持した状態で、スイッチSW7,SW8をオンに維持する。これにより、図8(c)に示すように、キャパシタC1,C2は、それぞれ、一端C1a,C2aが参照電圧Vref_cに接続され、他端C1b,C2bがキャパシタC3の他端C3bに接続される。すなわち、理想値としてはVref/2となる電圧がキャパシタC1,C2にフィードバックされる。このとき、キャパシタC1の他端C1bの電位はVref/2+ΔV7になっており、キャパシタC2の他端C2bの電位はVref/2+ΔV8になっている。ΔV7、ΔV8は、キャパシタC1,C2の容量値のばらつきに応じた電圧成分である。
図1に示す制御回路8は、スイッチSW1,SW2をオンに維持しスイッチSW9,SW10をオフに維持する。これにより、図8(d)に示すように、キャパシタC2は、一端C2aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C2bが参照電圧Vref_pに接続される。キャパシタC1は、一端C1aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C1bがフローティング状態にされる。すなわち、(Vref/2)×2−Vrefという演算が行われ、アンプ2の出力端子2cの電圧Voutが理想的には0となる。しかし、実際には、第1のパス(C1→C3)の演算と第2のパス(C2→C3)の演算には誤差があるので、その誤差分Verr2(≒ΔV6−(ΔV7+ΔV8)/2)が出力端子2cの電圧Voutとして残留する。
AD変換回路1は、図8(a)〜図8(d)に示す積算動作を複数回(例えば、8回)繰り返す。これにより、アンプ2の出力端子2cには、誤差分Verr2×積算回数(例えば、8回)の誤差電圧が蓄積される。そして、AD変換回路1は、複数回の積算動作によりアンプ2の出力端子2cに蓄積された誤差電圧を、図2に示すCyclic期間と同様にしてAD変換して誤差データとしてのデジタルコードDCYC[13:0]を生成する。このデジタルコードDCYC[13:0]は、デジタルコードDFI2[2:0]に対応した誤差データ(第2の誤差データ)である。なお、図8(a)〜図8(d)に示す積算動作は、図7(a)〜図7(d)に示す積算動作が行われる期間に対して重ならない期間に行うことができる。
誤差データとしてのデジタルコードDCYC[13:0]は、例えば、図9に示すような補正回路6に供給される。図9は、補正回路6の構成を示す図である。
補正回路6は、デジタルコードDFI1[2:0]に対応した誤差データ(第1の誤差データ)としてのデジタルコードDCYC[13:0]に基づいて、DFI1補正データを生成して保持する。補正回路6は、デジタルコードDFI2[2:0]に対応した誤差データ(第2の誤差データ)としてのデジタルコードDCYC[13:0]に基づいて、DFI2補正データを生成して保持する。
補正回路6は、スイッチSW61,SW62、除算器63、メモリ61,62、乗算器ML1,ML2、加算器AD1,AD2、及びクリップ回路64を有する。スイッチSW61は、キャリブレーション動作時に、ノードN63を除算器63に接続する。このとき、デジタルコードDCYC[13:0]の最上位ビットが破棄され、13ビットのデジタルコードDCYC[12:0]が除算器63に転送される。
これにより、除算器63は、第1の誤差データとしてのデジタルコードDCYC[12:0]を積算回数で除算してDFI1補正データを生成する。例えば、積算回数が8回である場合、除算器63は、デジタルコードDCYC[13:0]を3ビット分右にシフトさせることで、デジタルコードDCYC[13:0]を8で除算することができる。スイッチSW62は、キャリブレーション動作時に、DFI1補正データを転送すべき場合に除算器63をメモリ61に接続する。これにより、除算器63で生成された例えば13ビットのDFI1補正データがメモリ61に転送され格納される。このとき、メモリ61は、図10に示すように、1に固定された最上位ビットをDFI1補正データに追加して、14ビットのDFI1補正データを格納する。図10は、補正回路6の動作を示す図である。
図8に戻って、除算器63は、第2の誤差データとしてのデジタルコードDCYC[13:0]を積算回数で除算してDFI2補正データを生成する。例えば、積算回数が8回である場合、除算器63は、デジタルコードDCYC[13:0]を3ビット分右にシフトさせることで、デジタルコードDCYC[13:0]を8で除算することができる。スイッチSW62は、キャリブレーション動作時に、DFI2補正データを転送すべき場合に除算器63をメモリ62に接続する。これにより、除算器63で生成されたDFI2補正データがメモリ62に転送され格納される。このとき、メモリ62は、図10に示すように、1に固定された最上位ビットをDFI2補正データに追加して、14ビットのDFI2補正データを格納する。
図9に示すスイッチSW61は、本来のAD変換動作時に、ノードN63を加算器AD2に接続する。これにより、デジタルコードDCYC[13:0]が加算器AD2に転送される。
一方、デジタルコードDFI1[2:0]がノードN61を介して乗算器ML1に供給される。デジタルコードDFI1[2:0]は、例えば3ビットのデータである。乗算器ML1は、デジタルコードDFI1[2:0]が供給されると、DFI1補正データをメモリ61から読み出し、図10に示すように、デジタルコードDFI1[2:0]にDFI1補正データを乗算する。乗算器ML1は、乗算結果を加算器AD1へ供給する。乗算結果は、例えば16ビットのデータである。
同様に、デジタルコードDFI2[2:0]がノードN62を介して乗算器ML2に供給される。乗算器ML2は、デジタルコードDFI2[2:0]が供給されると、DFI2補正データをメモリ62から読み出し、図10に示すように、デジタルコードDFI2[2:0]にDFI2補正データを乗算する。乗算器ML2は、乗算結果を加算器AD1へ供給する。乗算結果は、例えば16ビットのデータである。
加算器AD1は、図10に示すように、乗算器ML1の乗算結果と乗算器ML2の乗算結果とを加算する。加算器AD1は、加算結果を加算器AD2へ供給する。加算結果は、例えば16ビットのデータである。
加算器AD2は、加算器AD1の加算結果とデジタルコードDCYC[13:0]とを加算する。加算器AD2は、加算結果をクリップ回路64へ供給する。加算結果は、例えば17ビットのデータである。
クリップ回路64は、加算器AD2の加算結果を所定のビット数にクリップする。例えば、加算器AD2の加算結果が17ビットである場合、クリップ回路64は、加算器AD2の加算結果の最上位ビットを破棄して16ビットにクリップする。クリップ回路64は、クリップ後のデータを、図10に示すようなAD変換結果のデータDOUTとして出力する。
以上のように、実施形態では、AD変換回路1において、各キャパシタC1,C2のゲイン誤差に応じた電圧を差分化してアンプ2の出力端子2cに積算する積算動作を複数回行い、複数回の積算動作により出力端子2cに蓄積された電圧をAD変換後に積算回数で除算して補正データを得る。これにより、ゲイン誤差の補正データを高精度に求めて補正することができるので、入力アナログ電圧Vinに対するAD変換結果のデータDOUTに関して、コードとびを低減できる(図5(c)参照)。したがって、AD変換回路1において、キャパシタC1,C2の容量値のばらつきに起因したAD変換のゲイン誤差を低減させることができる。
また、実施形態では、AD変換回路1において、制御回路8は、アンプ2及びキャパシタC1〜C3の間における接続構成を制御する。制御回路8において、スイッチSW1は、キャパシタC1の一端C1aをアンプの反転入力端子2aに接続する。スイッチSW2は、キャパシタC2の一端C2aをアンプ2の反転入力端子2aに接続する。スイッチSW3は、キャパシタC1の他端C1bをノードN1に接続する。ノードN1は、参照電圧Vref_nが供給される。スイッチSW4は、キャパシタC1の他端C1bをノードN2に接続する。ノードN2は、参照電圧Vref_pが供給される。スイッチSW5は、キャパシタC2の他端C2bをノードN1に接続する。スイッチSW6は、キャパシタC2の他端C2bをノードN2に接続する。スイッチSW7は、アンプ2の出力端子2cをキャパシタC1の他端C1bに接続する。スイッチSW8は、アンプ2の出力端子2cをキャパシタC2の他端C2bに接続する。スイッチSW9は、キャパシタC1の一端C1aをノードN3に接続する。ノードN3は、参照電圧Vref_cが供給される。スイッチSW10は、キャパシタC2の一端C2aをノードN3に接続する。すなわち、制御回路8は、図7(a)〜図7(d)、図8(a)〜図8(d)に示すように、上記の積算動作に適した構成を有している。したがって、実施形態によれば、キャパシタC1,C2の容量値のばらつきに起因したAD変換のゲイン誤差を低減させることに適したAD変換回路1を提供できる。
なお、実施形態では、デジタルコードDFI1[2:0]に対応した第1の誤差データとデジタルコードDFI2[2:0]に対応した第2の誤差データとをそれぞれ求めているが、AD変換回路1のゲイン誤差は、共通項2δp及び差分項2δdで表現できる。このとき、第1の誤差データ=δp+δd、第2の誤差データ=δp−δdで表現できる。共通項2δpは、(DFI1補正データ)+(DFI2補正データ)で補正可能である。一方、差分項2δdは、(DFI1補正データ)−(DFI2補正データ)で補正可能であるが、S/N比を上げるために他の方法での補正を考える。
すなわち、(DFI1補正データ)−(DFI2補正データ)に対応する誤差電圧をアンプ2の出力端子2cに積算する積分動作を複数回行う。複数回の積算動作で出力端子2cに蓄積された電圧Voutを本来のAD変換動作におけるCyclic期間(図2参照)と同様の動作でAD変換すると、(DFI1のゲイン誤差キャンセル量−DFI2のゲイン誤差キャンセル量)×(積算回数)を表す誤差データが得られる。そのため、誤差データを積算回数で除算して、(DFI1補正データ)−(DFI2補正データ)に対応する補正データを高精度に求めることができる。
例えば、AD変換回路1は、図11及び図12に示す動作を行う。図11は、AD変換回路1の動作を示す波形図である。図12は、AD変換回路1の動作を示す回路図である。図12では、説明および図示の簡略化のため、参照電圧Vref_c=接地電位の場合を例示している。
図11に示す期間TP21において、図1に示す制御回路8は、スイッチSW9をオンに維持しスイッチSW1,SW2,SW10をオフに維持した状態で、スイッチSW3をオンに維持する。これにより、図12(a)に示すように、キャパシタC1は、一端C1aが参照電圧Vref_cに接続され、他端C1bが参照電圧Vref_nに接続される。すなわち、参照電圧Vref_cを基準として、キャパシタC1に参照電圧Vref_n(デジタル値0の基準)がサンプリングされる。
図11に示す期間TP22において、図1に示す制御回路8は、スイッチSW1,SW10をオンに維持しスイッチSW2,SW9をオフに維持した状態で、スイッチSW4,SW6をオンに維持する。これにより、図12(b)に示すように、キャパシタC1は、一端C1aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C1bが参照電圧Vref_pに接続される。キャパシタC2は、一端C2aが参照電圧Vref_cに接続され、他端C1bが参照電圧Vref_pに接続される。すなわち、キャパシタC1からキャパシタC3にVref/2が転送されるとともに、キャパシタC2に参照電圧Vref_pがサンプリングされる。このとき、キャパシタC1の一端C1aの電位はVref+ΔV11になっており、キャパシタC3の他端C3bの電位はVref/2+ΔV12になっている。ΔV11、ΔV12は、キャパシタC1,C3の容量値のばらつきに応じた電圧成分である。
図11に示す期間TP23において、図1に示す制御回路8は、スイッチSW2,SW9をオンに維持しスイッチSW1,SW10をオフに維持した状態で、スイッチSW3,SW5をオンに維持する。これにより、図12(c)に示すように、キャパシタC1は、一端C1aが参照電圧Vref_cに接続され、他端C1bが参照電圧Vref_nに接続される。キャパシタC2は、一端C2aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C2bが参照電圧Vref_nに接続される。このとき、キャパシタC2の一端C2aの電位は−Vref−ΔV13になっている。すなわち、キャパシタC1に参照電圧Vref_nがサンプリングされるとともに、キャパシタC2からキャパシタC3に−Vref/2が転送され、アンプ2の出力端子2cの電圧Voutが理想的には0となる。しかし、実際には、第1のパス(C1→C3)のゲインと第2のパス(C2→C3)のゲインとの間には誤差があるので、その誤差分Verr3が出力端子2cの電圧Voutとして残留する。
図11に示す期間TP24において、図1に示す制御回路8は、スイッチSW1,SW10をオンに維持しスイッチSW2,SW9をオフに維持した状態で、スイッチSW4,SW6をオンに維持する。これにより、図12(d)に示すように、キャパシタC1は、一端C1aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C1bが参照電圧Vref_pに接続される。キャパシタC2は、一端C2aが参照電圧Vref_cに接続され、他端C1bが参照電圧Vref_pに接続される。すなわち、キャパシタC1からキャパシタC3にVref/2が転送されるとともに、キャパシタC2に参照電圧Vref_pがサンプリングされる。このとき、キャパシタC1の一端C1aの電位はVref+ΔV14になっており、キャパシタC3の他端C3bの電位はVref/2+ΔV15になっている。ΔV14、ΔV15は、キャパシタC1,C3の容量値のばらつきに応じた電圧成分である。
図11に示す期間TP25において、図1に示す制御回路8は、スイッチSW2をオンに維持しスイッチSW1,SW9,SW10をオフに維持した状態で、スイッチSW5をオンに維持する。これにより、図12(e)に示すように、キャパシタC2は、一端C2aがアンプ2の反転入力端子2a及びキャパシタC3の一端C3aに接続され、他端C2bが参照電圧Vref_nに接続される。このとき、キャパシタC2の一端C2aの電位は−Vref−ΔV16になっている。すなわち、キャパシタC2からキャパシタC3に−Vref/2が転送され、アンプ2の出力端子2cの電圧Voutが理想的には0となる。しかし、実際には、第1のパス(C1→C3)のゲインと第2のパス(C2→C3)のゲインとの間には誤差があるので、その誤差分Verr3’が出力端子2cの電圧Voutとして残留する。
AD変換回路1は、期間TP21,TP22の動作を行い、期間TP23,TP24の積算動作(図12(c)、図12(d)に示す積算動作)を複数回(図12の場合、3回)繰り返し、期間TP25の動作を行う。これにより、アンプ2の出力端子2cには、誤差分Verr1×積算回数(例えば、3回)の誤差電圧が蓄積される。そして、AD変換回路1は、複数回の積算動作によりアンプ2の出力端子2cに蓄積された誤差電圧を、図2に示すCyclic期間と同様にしてAD変換して誤差データDCYC[13:0]を生成する。この誤差データDCYC[13:0]は、(第1の誤差データ)−(第2の誤差データ)に対応している。
この場合、誤差データとしてのデジタルコードDCYC[13:0]は、例えば、図13に示すような補正回路6iに供給される。図13は、補正回路6iの構成を示す図である。補正回路6iは、(DFI1補正データ)+(DFI2補正データ)に対応した(DFI1+DFI2補正データ)と、(DFI1補正データ)−(DFI2補正データ)に対応した(DFI1−DFI2補正データ)とをそれぞれ生成して保持する。
補正回路6iは、基本的に図9に示す補正回路6と同様であるが、次の点で図9に示す補正回路6と異なる構成を有する。補正回路6iは、スイッチSW62に代えて、スイッチSW62iを有し、メモリ65i,66i、加算器AD3i,AD4i、減算器SB1iをさらに有する。
例えば、スイッチSW62iは、キャリブレーション動作時に、DFI1補正データを転送すべき場合に除算器63をメモリ61に接続する。これにより、除算器63で生成された例えば13ビットのDFI1補正データがメモリ61に転送され格納される。スイッチSW62iは、キャリブレーション動作時に、DFI2補正データを転送すべき場合に除算器63をメモリ62に接続する。これにより、除算器63で生成されたDFI2補正データがメモリ62に転送され格納される。DFI1補正データがメモリ61に格納され、DFI2補正データがメモリ62に格納されると、加算器AD4iは、DFI1補正データとDFI2補正データとを加算し、加算結果をDFI1+DFI2補正データとしてメモリ65iに格納する。このとき、メモリ65iは、図14に示すように、1に固定された最上位ビットをDFI1+DFI2補正データに追加して、14ビットのDFI1+DFI2補正データを格納する。
また、除算器63は、「(第1の誤差データ)−(第2の誤差データ)」としてのデジタルコードDCYC[13:0]を積算回数で除算してDFI1−DFI2補正データを生成する。例えば、積算回数が8回である場合、除算器63は、デジタルコードDCYC[13:0]を3ビット分右にシフトさせることで、デジタルコードDCYC[13:0]を8で除算することができる。スイッチSW62iは、キャリブレーション動作時に、DFI1−DFI2補正データを転送すべき場合に除算器63をメモリ66iに接続する。これにより、除算器63で生成されたDFI1−DFI2補正データがメモリ66iに転送され格納される。このとき、メモリ66iは、図14に示すように、0に固定された最上位ビットをDFI1−DFI2補正データに追加して、14ビットのDFI1−DFI2補正データを格納する。
図13に示すスイッチSW61は、本来のAD変換動作時に、ノードN63を加算器AD2に接続する。これにより、デジタルコードDCYC[13:0]が加算器AD2に転送される。
一方、デジタルコードDFI1[2:0]がノードN61を介して加算器AD3i及び減算器SB1iにそれぞれ供給される。デジタルコードDFI2[2:0]がノードN62を介して加算器AD3i及び減算器SB1iにそれぞれ供給される。
加算器AD3iは、デジタルコードDFI1[2:0]とデジタルコードDFI2[2:0]とを加算する。加算器AD3iは、加算結果を乗算器ML1へ供給する。加算結果は、例えば3ビットのデータである。乗算器ML1は、加算器AD3iの加算結果が供給されると、DFI1+DFI2補正データをメモリ65iから読み出し、図14に示すように、デジタルコードDFI1[2:0]+デジタルコードDFI2[2:0]にDFI1+DFI2補正データを乗算する。乗算器ML1は、乗算結果を加算器AD1へ供給する。乗算結果は、例えば16ビットのデータである。
減算器SB1iは、デジタルコードDFI1[2:0]からデジタルコードDFI2[2:0]を減算する。減算器SB1iは、減算結果を乗算器ML2へ供給する。減算結果は、例えば3ビットのデータである。乗算器ML2は、減算器SB1iの減算結果が供給されると、DFI1−DFI2補正データをメモリ66iから読み出し、図14に示すように、デジタルコードDFI1[2:0]−デジタルコードDFI2[2:0]にDFI1−DFI2補正データを乗算する。乗算器ML2は、乗算結果を加算器AD1へ供給する。乗算結果は、例えば16ビットのデータである。
加算器AD1は、図14に示すように、乗算器ML1の乗算結果と乗算器ML2の乗算結果とを加算する。加算器AD1は、加算結果を加算器AD2へ供給する。加算結果は、例えば16ビットのデータである。
加算器AD2は、加算器AD1の加算結果とデジタルコードDCYC[13:0]とを加算する。加算器AD2は、加算結果をクリップ回路64へ供給する。加算結果は、例えば17ビットのデータである。
クリップ回路64は、加算器AD2の加算結果を所定のビット数にクリップする。例えば、加算器AD2の加算結果が17ビットである場合、クリップ回路64は、加算器AD2の加算結果の最上位ビットを破棄して16ビットにクリップする。クリップ回路64は、クリップ後のデータを、図14に示すようなAD変換結果のデータDOUTとして出力する。
このように、(DFI1補正データ)−(DFI2補正データ)に対応する誤差電圧をアンプ2の出力端子2cに積算する積分動作を複数回行い、複数回の積算動作で出力端子2cに蓄積された電圧をAD変換後に積算回数で除算して補正データを得る。これにより、共通項及び差分項でAD変換のゲイン誤差を補正する場合に差分項の補正を高精度に行うことができる。
次に、実施形態にかかるAD変換回路1が適用された固体撮像装置100について図15〜図17を用いて説明する。図15は、固体撮像装置100の構成を示す図である。図16は、画素Pの構成を示す図である。図17は、カラムADCの構成を示す図である。
固体撮像装置100は、図15に示すように、イメージセンサ90、及び信号処理回路91を有する。図15は、固体撮像装置100の回路構成を示す図である。イメージセンサ90は、例えば、CMOSイメージセンサであってもよいし、CCDイメージセンサであっても良い。イメージセンサ90は、画素配列PA、垂直シフトレジスタ93、タイミング制御部95、アナログデジタル変換部(ADC)96、相関二重サンプリング部(CDS)97、及びラインメモリ98を有する。
画素配列PAでは、複数の画素P(1,1)〜P(n,m)が例えば行方向及び列方向に配列されている。図15では、n,mをそれぞれ2以上の整数とした場合に、画素配列PAにおいて、n行×m列の画素Pが配列された場合について例示されている。各画素Pは、図16に示すように、例えば、光電変換部13、転送部18、電荷電圧変換部14、リセット部17、増幅部15、及び選択部16を有する。図16は、各画素Pの構成を示す図である。図16では、n行m列目の画素P(n,m)について例示的に示されているが、他の画素についても同様である。
光電変換部13は、光電変換を行い、受けた光に応じた電荷を発生させて蓄積する。光電変換部13は、例えば、フォトダイオードPDを有する。
転送部18は、活性状態において、光電変換部13の電荷を電荷電圧変換部14へ転送し、非活性状態において、光電変換部13の電荷を電荷電圧変換部14へ転送しない。転送部18は、垂直シフトレジスタ93からアクティブレベルの制御信号φREADnを受けた場合に、光電変換部13の電荷を電荷電圧変換部14へ転送する。転送部18は、垂直シフトレジスタ93からノンアクティブレベルの制御信号φREADnを受けた場合に、光電変換部13の電荷を電荷電圧変換部14へ転送しない。転送部18は、例えば、トランスファーゲートとして機能する転送トランジスタTdを有し、そのゲートにアクティブレベルの制御信号φREADnを受けた場合にオンすることにより、光電変換部13の電荷を電荷電圧変換部14へ転送し、そのゲートにノンアクティブレベルの制御信号φREADnを受けた場合にオフすることにより、光電変換部13の電荷を電荷電圧変換部14へ転送しない。
電荷電圧変換部14は、その寄生容量を用いて、転送された電荷を電圧に変換する。電荷電圧変換部14は、例えば、フローティングジャンクションFJを有する。
光電変換部13は、転送部18による電荷の転送が完了してから電荷の蓄積を開始し、転送部18により電荷が次に電荷電圧変換部14へ転送されるまで電荷の蓄積を行う。すなわち、光電変換部13は、転送部18による転送動作の完了タイミングから転送部18による次の転送動作の開始タイミングまでの電荷蓄積期間において、電荷蓄積動作を行う。
リセット部17は、垂直シフトレジスタ93からアクティブレベルの制御信号φRESET_FJnを受けた場合に、電荷電圧変換部14の電位を所定の電位(例えば、VDDreset)にリセットする。リセット部17は、例えば、リセットトランジスタTcを有し、そのゲートにアクティブレベルの制御信号φRESET_FJnを受けた場合にオンすることにより、電荷電圧変換部14の電位を所定の電位(例えば、VDDreset)にリセットする。
増幅部15は、画素P(n,m)が選択状態になった際に、電荷電圧変換部14の電圧に基づく信号を信号線SLへ出力する。増幅部15は、例えば、アンプトランジスタTbを有し、画素P(n,m)が選択状態になった際に、信号線SLを介して接続された負荷電流源CSとともにソースフォロワ動作を行うことにより、電荷電圧変換部14の電圧に応じた信号を信号線SLへ出力する。
選択部16は、垂直シフトレジスタ93からアクティブレベルの制御信号φADRESnを受けた場合に、画素P(n,m)を選択状態にし、垂直シフトレジスタ93からノンアクティブレベルの制御信号φADRESnを受けた場合に、画素P(n,m)を非選択状態にする。選択部16は、例えば、選択トランジスタTaを有し、そのゲートにアクティブレベルの制御信号φADRESnを受けた際にオンすることにより、画素P(n,m)を選択状態にし、そのゲートにノンアクティブレベルの制御信号φADRESnを受けた際にオフすることにより、画素P(n,m)を非選択状態にする。
また、画素Pは、選択部16が省略された構成であってもよい。その場合、リセット部17が画素Pを選択状態/非選択状態にするための動作を行ってもよい。例えば、リセット部17は、電荷電圧変換部14の電位を第1の電位(例えば、VDDレベル)にリセットすることにより画素Pを選択状態にし、電荷電圧変換部14の電位を第2の電位(増幅部15(アンプトランジスタTb)がオフするような電位、例えば、GNDレベル)にリセットすることにより画素Pを非選択状態にしてもよい。
図15に戻って、各画素Pで生成された画像信号は、信号線SLを介してADC96へ伝送される。ADC96は、伝送された画像信号(アナログ信号)をA/D変換して画像信号(デジタル信号)を生成してCDS97へ供給する。
例えば、ADC96は、画素Pの複数列(例えば、m列)に対応した複数のカラムADC961−1〜961−mを有する。各カラムADC961は、図17に示すように、例えば、PGA(プログラマブルゲインアンプ)961a及びAD変換回路1を有する。図17は、各カラムADC961の構成を示す図である。図17では、画素P(n,m)に対応したカラムADC961−mついて例示的に示されているが、他のカラムADC961についても同様である。
PGA961aは、画素P(n,m)から出力された画素信号Vsigを受け、画素信号Vsigを増幅して電圧Vinを生成する。PGA961aは、生成された電圧VinをAD変換回路1へ供給する。AD変換回路1は、電圧(アナログ電圧)VinをAD変換してデジタルコードDOUTを生成して画像信号(デジタル信号)としてCDS97へ供給する。
CDS97は、画像信号(デジタル信号)に対してCDS処理を施してラインメモリ98経由で信号処理回路91に出力する。信号処理回路91では、信号処理が行われる。これらの信号処理された画像データは、外部(例えば、図19に示すISP86)に出力される。
このような固体撮像装置100は、例えば、図18及び図19に示す撮像システムに適用される。図18及び図19は、撮像システムの概略構成を示す図である。図18において、OPは光軸を示している。
撮像システム81は、例えば、デジタルカメラ、デジタルビデオカメラなどであってもよいし、カメラモジュールが電子機器に適用されたもの(例えばカメラ付き携帯端末等)でもよい。撮像システム81は、図19に示すように、撮像部82及び後段処理部83を有する。撮像部82は、例えば、カメラモジュールである。撮像部82は、撮像光学系84及び固体撮像装置100を有する。後段処理部83は、ISP(Image Signal Processor)86、記憶部87、及び表示部88を有する。
撮像光学系84は、撮影レンズ47、ハーフミラー49、メカシャッタ46、レンズ44、プリズム45、及びファインダー48を有する。撮影レンズ47は、撮影レンズ47a,47b、絞り(図示せず)、及びレンズ駆動機構47cを有する。絞りは、撮影レンズ47aと撮影レンズ47bとの間に配され、撮影レンズ47bへ導かれる光量を調節する。なお、図17では、撮影レンズ47が2枚の撮影レンズ47a,47bを有する場合が例示的に示されているが、撮影レンズ47は多数枚の撮影レンズを有していてもよい。
固体撮像装置100は、撮影レンズ47の予定結像面に配置されている。例えば、撮影レンズ47は、入射した光を屈折させて、ハーフミラー49及びメカシャッタ46経由で固体撮像装置100の撮像面へ導き、固体撮像装置100の撮像面に被写体の像を形成する。固体撮像装置100は、被写体像に応じた画像信号を生成する。
なお、実施形態にかかるAD変換回路1は、図15〜図17に示すような固体撮像装置100及びそれを含む図18、図19に示すような撮像システム81以外に、各種のセンサに適用することも可能である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。