以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図1は、比較器の閾値を等間隔に設定する方法の一例を模式的に示す図である。図1において、5つの○印が5つの比較器11乃至15を表わし、○印の水平方向の位置が各比較器に設定されている閾値の大きさを表わす。図面上から下に向かい時間が経過していき、閾値が変化していく様子が模式的に示されている。この例では、閾値0〜4の間を4等分して、5つの比較器11乃至15の閾値をそれぞれ0,1,2,3,4に設定する場合について示してある。
閾値の範囲及び閾値間の間隔は、説明を簡単にするための一例に過ぎず、これに限定されるものではない。閾値の下端は0以外の数値であってよく、上端は4以外の数値であってよい。また4等分以外の数に等分してもよい。なお所望の閾値を設定するためのデジタルコードは、大まかなコード値としては分かっているが正確なコード値は不明な状態である。従って、下端の閾値及び上端の閾値をそれぞれ0及び4に設定できるとは限らない。例えば、比較器に設定する最小のデジタルコードに対応する閾値及び最大のデジタルコードに対応する閾値をそれぞれ閾値0及び4と定義して、その間を4等分していると考えてもよい。また、最小のデジタルコードに対応する閾値及び最大のデジタルコードに対応する閾値を、それぞれ不特定の閾値A0及びA4として、その間を4等分していると考えてもよい。なお最小のデジタルコード及び最大のデジタルコードではなく、任意の第1のデジタルコードに対応する閾値及びそれより大きい任意の第2のデジタルコードに対応する閾値を、それぞれ閾値0及び4と定義して、その間を4等分してもよい。
図1に示す閾値設定方法では、比較器11乃至15の閾値を所定の条件に従い増減を繰り返していくことにより、閾値を徐々に位置を移動させ、閾値間の間隔が略等間隔となるように調整する。まず、第1乃至第5の比較器11乃至15のうち、1<M<5である第Mの比較器(即ち両端以外の比較器)に着目し、この第Mの比較器の閾値をTHMとする。また第M+1の比較器の閾値をTHM+1とする。このとき、第M+1の比較器と第Mの比較器との間の閾値差はTHM+1−THMである。図1において、例えばM=3として、第4の比較器14と第3の比較器13との間の閾値差TH4−TH3は、図示する距離b3である。まずこの状態において、(THM+1−THM)を1より小さい正の実数倍した値をTHMに加えることにより第Mの比較器の閾値を更新する。例えば第3の比較器13の場合であれば、b3をr倍(0<r<1)した距離だけ、第3の比較器13の閾値を増加させる(右にずらす)ことで、閾値を更新する。同様の処理を、各比較器11乃至14に対して実行する。比較器15の閾値については、上端の閾値4に設定することにより、上端の閾値4に拘束する。この動作により、最初の状態において各比較器11乃至15間の閾値差(閾値間距離)がb1乃至b4であったのが、閾値差b1’乃至b4’に変化する。以上の動作を、第1の更新動作とする。
この変化後の状態において、第M−1の比較器と第Mの比較器とに着目する。これらの比較器の閾値差はTHM−1−THMである。図1において、例えばM=3として、第2の比較器12と第3の比較器13との間の閾値差TH2−TH3の絶対値は、図示する距離b2’である。この状態において、負の値である(THM−1−THM)を1より小さい正の実数倍した値をTHMに加えることにより第Mの比較器の閾値を更新する。第3の比較器13の場合であれば、b2’をr倍(0<r<1)した距離だけ、第3の比較器13の閾値を減少させる(左にずらす)ことで、閾値を更新する。同様の処理を、各比較器12乃至15に対して実行する。比較器11の閾値については、下端の閾値0に設定することにより、下端の閾値0に拘束する。以上の動作を、第2の更新動作とする。
上記の第1の更新動作と第2の更新動作とを、交互に複数回実行する。この際、第1の比較器11の閾値は、1回おきに0に設定されるので、常に0近傍に拘束されることになる。また第5の比較器15の閾値は、1回おきに4に設定されるので、常に4近傍に拘束されることになる。なお最初に実行するのは第1の更新動作ではなく第2の更新動作であってもよい。また、図1の例では、初期状態において、比較器11乃至15の閾値が比較器の番号順に従って順番に並んでいるが、これに限定されることはない。即ち比較器11乃至15の閾値が順番に並んでおらず、初期状態において、例えば第3の比較器13の閾値が第4の比較器14の閾値よりも大きくてもよい。
図2は、比較器11乃至15の閾値が順番に並んでいない初期状態を模式的に示す図である。図2では、図1の表現方式と異なり、横方向に比較器の番号をとり、縦方向に閾値の値をとっている。図2に示す例では、第3の比較器13の閾値が第4の比較器14の閾値よりも大きくなっている。この場合、第3の比較器13の閾値を基準点とした第4の比較器14の閾値との閾値差b3は、負の値となる。従って、r・b3を加えることにより、第3の比較器13の閾値は減少する方向に更新される。この時、他の比較器については、閾値が増加する方向に更新される。
図1に戻り、第1の更新動作において、第1の比較器11の閾値はr・b1だけ増加し、第2の比較器12の閾値はr・b2だけ増加する。閾値間距離b1に着目すると、r・b1だけ狭まり、r・b2だけ広がることになる。即ち、b1はr(b2−b1)だけ変化する。同様にして、b2はr(b3−b2)だけ変化し、b3はr(b4−b3)だけ変化する。b4については、初期状態の第5の比較器15の閾値を4−r・INとすれば、r(IN−b3)だけ変化する。第2の更新動作において、第1の比較器11の閾値はr・b1となっているので、b1はr(b1−b1’)だけ変化する。またb2はr(b1’−b2’)だけ変化し、b3はr(b2’−b3’)だけ変化し、b4はr(b3’−b4’)だけ変化する。
例えば、b2に着目した場合、第1の更新動作によりb2はr(b3−b2)だけ変化するので、b2>b3であれば、b2は狭まる。またb2>b1であり、この大小関係が第1の更新動作後も続くのであれば、第2の更新動作によりb2’はr(b1’−b2’)だけ変化するので、b2’は狭まる。従って、着目閾値間距離は、その両側の閾値間距離よりも長い状態である間は、更新動作により狭まっていくことになる。同様にして、着目閾値間距離は、その両側の閾値間距離よりも短い状態である間は、更新動作により広がっていくことになる。これらのことをまとめれば、着目閾値間距離は、その両側の閾値間距離よりも長い又は短い状態である間は、更新動作により両側の閾値間距離に近づくように更新される。
またb1<b2<b3の大小関係が続く限りは、第1の更新動作によりb2はr(b3−b2)だけ変化し広くなり、第2の更新動作によりb2’はr(b1’−b2’)だけ変化して狭くなる。仮にb1とb3とが変化しないと仮定すると、安定状態ではr(b3−b2)とr(b1−b2)とが等しくなるので、b2はb3及びb1との平均値となる。実際にはb1とb3とが変化するが、この場合も、b2はb3及びb1との平均値に向かい近づくように更新されていく。
上述のように着目閾値間距離は、その両側の閾値間距離よりも長い又は短い状態である間は、更新動作により両側の閾値間距離に近づくように更新される。そして更に、着目閾値間距離は、両側の閾値間距離の間にある状態では、更新動作により両側の閾値間距離の平均に近づくように更新される。これらの特徴により、閾値間距離は、端から端まで、直線上に増加する、直線上に減少する、又は一定値であるの何れかの形に近づく方向に変化していくことが分かる。
図3は、複数の比較器の端の部分における閾値間距離の変化について説明するための図である。図3は、図1に示す模式図の左端を着目して示しており、左端の閾値間距離b1がb1’更にはb1’’へと更新されていく様子を示している。ここで、
b1’=b1+r(b2−b1)
である。従って、b1’’は、
b1’’=b1’+r(b1−b1’)
=(1−r)b1’+rb1
=(1−r){b1+r(b2−b1)}+rb1
=b1+(r−r2)(b2−b1)
となる。ここでrは1より小さいので、(r−r2)は正である。従って、b2>b1であるならば、第1の更新動作及び第2の更新動作によりb1は広がる。逆に、b2<b1であるならば、第1の更新動作及び第2の更新動作によりb1は狭まる。従って、更新動作を繰り返していくことにより、b1がb2に等しくなる方向にb1の長さが変化していくことになる。
b1とb2とが略等しい状態になった後において、第2の更新動作では、b2の長さは変化せずに略一定である。第1の更新動作では、b2はr(b3−b2)だけ変化するので、b3>b2であるならばb2は広がる。逆に、b3<b2であるならばb2は狭まる。従って、更新動作を繰り返していくことにより、b2がb3に等しくなる方向に変化していくことになる。
このようにして、閾値を拘束されている左端から各閾値間距離が等しくなろうとする方向へ閾値間距離が変化していく。右端でも同様であり、閾値を拘束されている右端から各閾値間距離が等しくなる方向へ閾値間距離が変化していく。また前述のように、閾値間距離は、端から端まで、直線上に増加する、直線上に減少する、又は一定値であるの何れかの形に近づく方向に変化していく。従って、これらの変化の傾向が組み合わさり、最終的には、複数の閾値間距離が端から端まで一定の値である分布に近づいていく。即ち、比較器11乃至15の閾値が、下端閾値0から上端閾値4までの間に等間隔に並ぶような配置に近づいていく。
なお第1の更新動作において、(THM+1−THM)のr倍をTHMに加えるように閾値更新をし、第2の更新動作において、(THM−1−THM)のr倍をTHMに加えるように閾値更新をする。この際、所望の閾値を設定するためのデジタルコードは、大まかなコード値としては分かっているが正確なコード値は不明な状態である。このことから、隣接する比較器の閾値(THM+1やTHM+1)の値は正確には分からないし、着目比較器の閾値(THM)も正確には分からない。そこで例えば実際に着目比較器で入力電圧と閾値との比較結果を求め、更に隣接する比較器により当該入力電圧と閾値との比較結果を求め、これらの比較結果を比較してよい。入力電圧を変えながら複数回比較して、着目比較器のコードを徐々に変化させていくことで、両比較結果が所定の割合以上一致するときに、着目比較器と隣接比較器とで閾値が同一である、と判断することができる。このときの着目比較器のコード入力と、着目比較器の元のコード入力との差分を求め、この差分をr倍した値を元のコード入力に加えるようにして、閾値を更新してよい。
なお上記の閾値設定方法は、厳密な数式解を求めるような性質のものではないので、若干のずれがあっても繰り返し動作により所望の閾値配置に収束する。従って、例えば2つのコードの差分をr倍しても閾値差を正確にr倍したことにはならないが、一般に0<r<1である条件であればrの値に関わらず収束するので、特に問題はない。同様に、図1の閾値調整において、時間の経過とともにrが変化したとしても、所望の閾値配置に問題なく収束する。即ち、rは必ずしも最初から最後まで同一値でなくともよい。但し、図1に示す模式図において、ある一段の更新動作(例えばb1乃至b4をb1’乃至b4’に更新する初段の更新動作)及びその直後の段の更新動作においては、rを各比較器11乃至15に対して同一値にしておくことが好ましい。また例えば、ある比較器に対して閾値更新を繰り返す途中で、一時的に閾値更新を停止してしまっても、その後再開すれば最終的には問題なく所望の閾値に収束する。
0<r<1である条件であればrの値に関わらず収束するが、一般的には、例えばr=0.1程度の値が好ましい。例えばrが0.9等の大きい値では、各比較器11乃至15の閾値が0.9程度の振幅で増減し続けることになる。所望の閾値の近辺で各比較器の閾値が振動するのであるが、その振動幅が大きいので、あるタイミングで閾値更新動作を終了させたときに、0.9の誤差が存在することになる。それに対してrが0.1等の小さい値の場合、各比較器11乃至15の閾値が0.1程度の振幅で増減し続けることになる。所望の閾値の近辺で各比較器の閾値が振動し、その振動幅が小さいので、あるタイミングで閾値更新動作を終了させたときに、各比較器の閾値は所望の閾値に近い値となっている。一般にAD変換動作では、0.5LSB以下の誤差(微分非直線性誤差)が求められるので、0<r<0.5が一般的には許容できる範囲である。但し上述のように、0<r<1であれば収束する(即ち安定的な定位置での振動となる)。なおrが例えば0.01のように小さすぎると、収束するまで(即ち安定的な定位置での振動となるまで)に時間がかかる、即ち膨大な回数の閾値更新動作であってもよい。従って、所望の精度と収束時間とを勘案して、適切なrの値を採用すればよい。
図4は、比較器11乃至15の両端の閾値を固定状態とした場合を示す図である。この場合であっても、図1の場合と同様の設定方法により、比較器11乃至15の閾値を略等間隔に設定することができる。
即ち、まず例えば、(THM+1−THM)を1より小さい正の実数倍した値をTHMに加えることにより、第Mの比較器の閾値を更新する第1の更新動作を実行する。更に、(THM−1−THM)を1より小さい正の実数倍した値をTHMに加えることにより、第Mの比較器の閾値を更新する第2の更新動作を実行する。これら第1の更新動作と第2の更新動作とを交互に複数回実行することで、比較器11乃至15の閾値が、下端閾値0から上端閾値4までの間に等間隔に並ぶような配置に近づいていく。この場合、第1の比較器11の閾値を0に固定することで、0の近傍に拘束していることになる。また第5の比較器15の閾値を4に固定することで、4の近傍に拘束していることになる。
なおこの場合、前述の場合と同様に、初期状態のb1及び第1の更新動作後のb1’に対して、第2の更新動作後のb1’’は、
b1’’=(1−r)b1’
=(1−r)(b1+r・b2)
=b1+r(b2−b1)
となる。従って前述の場合と同様に、更新動作を繰り返していくことにより、b1がb2に等しくなる方向にb1の長さが変化していくことになる。その他の動作については、図1の場合と同様である。
図5は、冗長な比較器を設けた場合の閾値設定方法を模式的に示す図である。図5において、第6の比較器16が冗長な比較器として設けられている。図1に示す例では、AD変換動作には、5つの比較器11乃至15が設けられている。このような回路では、全ての比較器11乃至15についての閾値設定動作が終了して初めて、エンコーダにより比較器11乃至15の出力をエンコードする実際のAD変換動作を開始することができる。即ち、AD変換動作を実行しながら閾値の更新を行なうことができない。
それに対して図5に示す回路では、AD変換動作を行う5個以上の比較器の一例として、比較器11乃至16の6つの比較器を設ける。初期状態では、第5の比較器15以外の残りの複数の比較器11,12,13,14,16により入力電圧とそれぞれの閾値とを比較した結果をエンコーダに供給してAD変換動作を実行する。そしてAD変換動作を実行しながら、エンコーダから切り離した状態である第5の比較器15に対して閾値の更新作業を実行する。第5の比較器15の閾値を更新すると、第5の比較器15をエンコーダに接続するとともに、残りの複数の比較器11乃至15のうちから選択した所望の比較器をエンコーダから切り離して閾値の更新を行なってよい。具体的には、第4の比較器14をエンコーダから切り離して、閾値更新の対象としてよい。この閾値更新の間は、比較器11,12,13,15,16の5つの比較器により、AD変換動作を実行することになる。
図5に示す例でも、図1と同様に、(THM−1−THM)を1より小さい正の実数倍した値をTHMに加えることにより、第Mの比較器の閾値を更新する更新動作を実行する。具体的には、まず第5の比較器15の閾値TH5に、(TH4−TH5)を1より小さい正の実数倍した値を加えることにより、第5の比較器15の閾値を更新する。この場合の掛算の係数である1より小さい正の実数は、図1の場合の掛算の係数をrとすれば、(1−r)となる。これは、図5に示されるように、第5の比較器15の閾値を更新すると、閾値更新後の第5の比較器15により、第4の比較器14を置き換えるからである。閾値3の近傍の比較動作を実行すべき比較器は、更新動作に関わらず図1の例では第4の比較器14である。それに対して、図5の例では、閾値3の近傍の比較動作を実行すべき比較器は初期状態で第4の比較器14であり、その後第5の比較器15に置き換わり、その後更に第4の比較器14に置き換わり、というように比較器14と15とに交互に置き換わる。図5において、点線で示す矢印が、各比較器の実際の閾値の変化を示す。実線で示す矢印は、所定の閾値近傍の比較動作を実行すべき比較器の置き換わりの推移を示す。
第5の比較器15により置き換えられた第4の比較器14は、エンコーダから切り離され、閾値更新動作に供される。第4の比較器14の閾値更新が終了すると、閾値更新後の第4の比較器14により、第3の比較器13を置き換える。第4の比較器14により置き換えられた第3の比較器13は、エンコーダから切り離され、閾値更新動作に供される。第3の比較器13の閾値更新が終了すると、閾値更新後の第3の比較器13により、第2の比較器12を置き換える。第2の比較器12は、エンコーダから切り離され、閾値更新動作に供される。この際、第2の比較器12の閾値TH2に、(TH1−TH2)を1より小さい正の実数倍した値を加えることにより、第2の比較器12の閾値を更新する。即ち、第2の比較器12の閾値を(1−r)・b1だけ減少させる(左に移動させる)ことにより、第2の比較器12の閾値を更新する。これにより、比較器11乃至16に対する一段の更新動作が終了する。なお両端の比較器11及び16については、それぞれ両端の閾値0及び4に固定しておいてよい。即ち、両端の閾値0及び4に拘束しておくことになる。また図5において、各段の更新処理開始時における冗長な比較器(エンコーダから切り離されている比較器)が黒丸で示されている。
次の更新動作においては、図1と同様に、(THM+1−THM)を1より小さい正の実数倍した値をTHMに加えることにより、第Mの比較器の閾値を更新する更新動作を実行する。具体的には、まず第2の比較器12の閾値TH2に、(TH3−TH2)を1より小さい正の実数倍した値を加えることにより、第2の比較器12の閾値を更新する。即ち、第2の比較器12の閾値を(1−r)・b2だけ増加させる(右に移動させる)ことにより、第2の比較器12の閾値を更新する。第2の比較器12の閾値更新が終了すると、閾値更新後の第2の比較器12により、第3の比較器13を置き換える。第2の比較器12により置き換えられた第3の比較器13は、エンコーダから切り離され、閾値更新動作に供される。以降同様にして、順次、比較器13乃至15の閾値を更新していく。
図5の場合も図1の場合と同様に、例えば実際に着目比較器で入力電圧と閾値との比較結果を求め、更に隣接する比較器により当該入力電圧と閾値との比較結果を求め、これらの比較結果を比較してよい。入力電圧を変えながら複数回比較して、着目比較器のコードを徐々に変化させていくことで、両比較結果が所定の割合以上一致するときに、着目比較器と隣接比較器とで閾値が同一である、と判断することができる。このときの着目比較器のコード入力と、着目比較器の元のコード入力との差分を求め、この差分を(1−r)倍した値を元のコード入力に加えるようにして、閾値を更新してよい。
図6は、入力電圧と閾値とをそれぞれ比較する複数の比較器を有する半導体集積回路の一例を示す図である。図6に示す半導体集積回路は全並列型或いは直並列型のAD変換器であり、複数の比較器20−1乃至20−8、エンコーダ21、及び制御回路22を含む。第1乃至第8の比較器20−1乃至20−8は、制御回路22からのデジタルコード入力により対応する閾値が設定される。なお図6には、説明の便宜上、シングルエンドであるAD変換器を示すが、差動信号のAD変換を行なう差動構成のAD変換器であってよい。
比較器20−1乃至20−8は、それぞれ制御回路22から印加されたコードに対応する閾値が設定されている。比較器20−1乃至20−8は、入力アナログ電位VINを受け取り、入力アナログ電位VINとそれぞれの閾値とを比較して、その比較結果を出力する。各比較器は、入力アナログ電位VINが内部設定された閾値よりも大きければ出力を1とし、入力アナログ電位VINが内部設定された閾値以下であれば出力を0とする。適切な閾値が設定されている状態では、比較器20−1乃至20−8の出力は、“00001111”のように下位の比較器出力が“1”であり、途中の比較器以降の出力が“0”となるサーモメータ(温度計)コードとなる。なお比較器20−1乃至20−8のうちの1つは前述の冗長な比較器であり、制御回路22によりエンコーダ21から切り離され、閾値更新動作に供される。残りの7つの比較器の出力に基づいて、エンコーダ21が符号化を実行し、3ビットのバイナリコードDoutとして出力する。なお図6に示す例では、説明の便宜上、AD変換結果が3ビットの場合を示すが、AD変換器の出力ビット数は3ビットに限定されるものではなく、任意のビット数であってよい。
図7は、エンコーダ21の一例を示す図である。図7に示すエンコーダ21は、スイッチ回路31、2入力のうち一方が負論理入力の複数のORゲート32、ワイアードOR回路33、スイッチ回路34、及びフリップフロップ回路35を含む。スイッチ回路31は、7つの同一の構造のスイッチを含む。各スイッチは、比較器20−1乃至20−8のうちの隣接する2つの比較器の出力を受け取り、何れか一方の出力を選択して次段のORゲート32に供給する。この際、下位側のスイッチが隣接する2つの比較器の下位側の比較器の出力を選択し、上位側のスイッチが隣接する2つの比較器の上位側の比較器の出力を選択することで、境界部分にある比較器をエンコーダ21内部から切り離すことができる。図7に示す例では、比較器20−1乃至20−8のうち第3の比較器20−3がエンコーダ21内部から切り離されている。スイッチ回路31の接続状態を制御するスイッチ制御信号φselは、図6の制御回路22から供給される。
ORゲート32は、2入力のうち下位側の比較器からの入力が反転されて入力される。従って、サーモメータコードの1と0との境界位置におけるORゲート32の出力が0となり、それ以外のORゲート32の出力は1となる。図7の例では、下位側から4番目のORゲート32の出力が0となり、サーモメータコードの1と0との境界位置を検出している。ワイアードOR回路33は、8つのORゲート32の8本の出力線とフリップフロップ回路35の3本の入力線との交点のうち、図7に示される位置に設けられる。ワイアードOR回路33は、対応するORゲート32の出力が0であれば、フリップフロップ回路35の対応する入力線をグランド電位に接続する。フリップフロップ回路35の一本の入力線に着目したとき、この入力線には4つのワイアードOR回路33が接続されている。従って、これら4つのワイアードOR回路33が交点となる位置の4つのORゲート32の出力の何れか1つでも0になれば、この入力線の電位はLOWとなる。この回路により、8つのORゲート32の8つの出力のうちで値が0である出力の位置を3ビットに符号化し、符号化データD0’、D1’、D3’をフリップフロップ回路35に格納する。フリップフロップ回路35に格納した3ビットのデータは、エンコード結果D0、D1、D2として出力される。なおスイッチ回路34は、エンコードタイミングにおいて開放状態となる。スイッチ回路34は、リセットタイミングにおいて導通状態となり、フリップフロップ回路35の入力をグランドに接続してリセットする。フリップフロップ回路35及びスイッチ回路34の動作タイミングを制御するエンコード制御信号φencは、図6の制御回路22から供給される。
図8は、図7の比較器20−1乃至20−8及びエンコーダ21の動作のタイミングを示すタイミングチャートである。リセットタイミングResetにおいて、図6の制御回路22から比較器20−1乃至20−8に供給される比較器制御信号φcmpがHIGHとなり、比較器20−1乃至20−8がリセットされる。またこのリセットタイミングResetにおいて、エンコード制御信号φencがHIGHとなり、スイッチ回路34が導通してフリップフロップ回路35の入力がグランドに接続される。即ち、フリップフロップ回路35の入力であるデータDn’(図7に示すD0’、D1’、D3’)が0にリセットされる。次に比較動作タイミングCompにおいて、比較器20−1乃至20−8に供給される比較器制御信号φcmpがLOWとなり、比較器20−1乃至20−8が比較動作を実行する。これにより、比較器20−1乃至20−8の出力Cmp_outが有効となる。またエンコード制御信号φencがLOWとなり、スイッチ回路34が非導通状態となることにより、フリップフロップ回路35の入力であるデータDn’が有効状態となる。このエンコード制御信号φencはフリップフロップ回路35にも供給されており、フリップフロップ回路35は、エンコード制御信号φencの立ち上がりエッジで入力データDn’を取り込む(ラッチする)。
図9は、制御回路22による冗長比較器の閾値更新を説明するための図である。図9に示されるように、制御回路22は、2入力のうち下位側が負論理入力の複数のNORゲート40、2入力のうち上位側が負論理入力の複数のNORゲート41、及び制御ロジック回路43を含む。1つのNORゲート40と1つのNORゲート41とで一対をなし、一対のNORゲートの各々は、2つの比較器20−1乃至20−8のうちの隣接する2つの比較器の出力を受け取る。比較器20−1乃至20−8のうちの隣接する2つの比較器の組み合わせは、7つあるので、7対のNORゲートが設けられることになる。図9には図示の便宜上、第3及び第4の比較器20−3及び20−4に対する一対のNORゲートと、第4及び第5の比較器20−4及び20−5に対する一対のNORゲートとだけが示される。
各比較器20−1乃至20−8の出力はエンコーダ21に供給されると共に、並行して制御回路22にも供給される。隣接する2つの比較器に対して設けられた一対のNORゲートは、入力電圧VINがこれら2つの比較器の2つの閾値よりも大きいか、小さいか、或いはその中間にあるか、に関する判定を行なう。以下において、図7で示した例と同様に、第3の比較器20-3が冗長比較器であり、この閾値の更新を実行する場合について説明する。
第3の比較器20-3の閾値及び第4の比較器20-4の閾値の何れよりも入力電圧VINが低い場合、対応するNORゲート40の出力J+とNORゲート41の出力J−は、双方共に0となる。また第3の比較器20-3の閾値及び第4の比較器20-4の閾値の何れよりも入力電圧VINが高い場合も、対応するNORゲート40の出力J+とNORゲート41の出力J−は、双方共に0となる。このように出力J+と出力J−とが双方共に0の場合、制御ロジック回路43は何も実行しない。
第3の比較器20-3の閾値及び第4の比較器20-4の閾値との間に入力電圧VINが有る場合には、第3の比較器20-3の閾値TH3と第4の比較器20-4の閾値TH4との大小関係に応じて、対応するNORゲートの出力J+及び出力J−が変化する。TH3<TH4である場合、第3の比較器20-3及び第4の比較器20-4の出力はそれぞれ1及び0となるので、NORゲート40の出力J+とNORゲート41の出力J−はそれぞれ1及び0となる。このとき、制御ロジック回路43は、第3の比較器20-3に設定するデジタルコードDcnt(3)を1増加させることにより、第3の比較器20-3の閾値TH3を最小刻み幅だけ増加させる。これにより、TH3がTH4に近づくことになる。逆に、TH3>TH4である場合、第3の比較器20-3及び第4の比較器20-4の出力はそれぞれ0及び1となるので、NORゲート40の出力J+とNORゲート41の出力J−はそれぞれ0及び1となる。このとき、制御ロジック回路43は、第3の比較器20-3に設定するデジタルコードDcnt(3)を1減少させることにより、第3の比較器20-3の閾値TH3を最小刻み幅だけ増加させる。これにより、TH3がTH4に近づくことになる。このようにして、AD変換器に入力される入力アナログ電圧VINと閾値との比較動作を逐次実行し、その比較結果に応じて、第3の比較器20-3の閾値を変化させていく。
TH3とTH4とが等しくなると、入力アナログ電圧VINの値に関わらず、NORゲート40の出力J+とNORゲート41の出力J−とは、共に0になる。例えば、入力アナログ電圧VINと各閾値の比較動作を1000回行なったときに、1000回の比較動作の全てにおいて出力J+と出力J−とが、双方共に0になる。如何なるデジタルコードDcnt(3)を設定してもTH3とTH4とが完全に一致することが無い場合、即ち、各比較器の最小分解能に応じた差が常に存在する場合には、多数回の比較動作のうちで出力J+と出力J−とが異なる値となる場合が常に発生する。従って、例えば、1000回の比較動作において所定の割合以上(例えば99.5%以上)において出力J+と出力J−とが0となる場合、即ち両比較結果が一致する場合に、TH3とTH4とが実質的に等しくなったと判断して、TH3の更新動作を実行してよい。同様に、所定の回数以上連続して出力J+と出力J−とが0となる場合、即ち両比較結果が一致する場合に、TH3とTH4とが実質的に等しくなったと判断して、TH3の更新動作を実行してよい。ここで更新動作の実行とは、TH3とTH4とが実質的に等しくなったときのデジタルコードと最初の状態のデジタルコードとの差を1より小さい正の実数倍した値を、最初の状態のデジタルコードに加えることである。これにより、(TH4−TH3)を1より小さい正の実数倍した値をTH3に加えることにより、第3の比較器の閾値を更新する更新動作を実行したことになる。
TH3の更新動作が完了すると、第3の比較器20-3をエンコーダ21に接続し、第4の比較器20-4をエンコーダ21から切り離す。そして、第4の比較器20-4を冗長比較器として、第4の比較器20-4の閾値の更新を実行する。
図10は、比較器の閾値の更新動作のタイミングの一例を示すタイミングチャートである。図10に示す比較器制御信号φcmpは、図8で説明した比較器制御信号と同一であり、比較器20−1乃至20−8のリセットタイミングと比較動作タイミングとを制御する。比較器制御信号φcmpがLOWのときに、各比較器により比較動作が実行され、各比較器の出力が有効(Valid)となる。図10に示す例では、最初にn番目の比較器を冗長比較器として、閾値更新処理の対象としている。n番目の比較器の出力としてCnが示されている。図9を参照して説明したように、制御回路22の制御ロジック回路43は、出力J+と出力J−とに応じて、n番目の比較器に供給するデジタルコードDcnt(n)を+1又は−1することにより、n番目の比較器の閾値Vthを変更する。図10に示す例では、比較器制御信号φcmpをクロックとしてクロックサイクルを考えた場合、出力J+と出力J−とに応じた閾値Vthの変更に、3クロックサイクルかかっている。この閾値Vthの変更を、比較動作の結果に応じて逐次実行する。なお前述のように、出力J+と出力J−とが双方共に0であれば、閾値Vthを変更しないで現状維持とする。複数回の比較動作において所定の割合以上において出力J+と出力J−とが0となる場合、即ち両比較結果が一致する場合に、n番目の比較器の閾値とn+1番目の比較器の閾値とが実質的に等しくなったと判断(即ち収束したと判断)してよい。これにより、図10に示すように、n番目の比較器のデジタルコードDcnt(n)を固定し、次のn+1番目の比較器のデジタルコードDcnt(n+1)の調整を開始する。
図11は、AD変換器の複数の比較器の更新動作の流れを示すフローチャートである。図11の処理は、例えば図6に示す制御回路22により実行される。図11においては、AD変換器に設けられた比較器の全個数をmとしている。図6の場合で言えば、m=8となる。まずステップS1において、各比較器にデジタルコードを初期設定する。ここで、第1の比較器及び第mの比較器(即ち両端の比較器)については、例えば、それぞれ最小のデジタルコード及び最大のデジタルコードを設定してよい。それ以外の第2乃至第M−1の比較器については、デジタルコードの初期値は如何なる値でもよい。例えば、最小のデジタルコードから最大のデジタルコードまでの範囲を等間隔に分割するように、各デジタルコードの初期値を設定してよい。
ステップS2において、変数Mを2に初期化する。この変数Mは、第M番目の比較器を指し示す変数である。ステップS3において、変数Mが比較器の全個数mに等しいか否かを判定する。等しくない場合には、ステップS4に進む。ステップS4において、図9を参照して説明した閾値更新処理を第M番目の比較器に対して実行する。第M番目の比較器の閾値更新処理を完了すると、ステップS5において、変数M=M+1として、次の比較器を冗長比較器として閾値更新処理の対象とする。その後ステップS3に戻り、以降の処理を、次の比較器に対して実行する。
ステップS3において、変数Mが比較器の全個数mに等しいと判定された場合、ステップS6に進む。ステップS6において、変数M=m−1とする。これは、端の比較器(第Mの比較器)については、閾値を固定としておくことに相当する。次にステップS7において、変数Mが1に等しいか否かを判定する。等しくない場合には、ステップS8に進む。ステップS8において、図9を参照して説明した閾値更新処理を第M番目の比較器に対して実行する。第M番目の比較器の閾値更新処理を完了すると、ステップS9において、変数M=M−1として、次の比較器を冗長比較器として閾値更新処理の対象とする。その後ステップS7に戻り、以降の処理を、次の比較器に対して実行する。
ステップS7において、変数Mが1に等しいと判定された場合、ステップS2に進む。ステップS2において、変数M=2とする。これは、端の比較器(第1の比較器)については、閾値を固定としておくことに相当する。以降、ステップS2乃至S9の処理を同様にして繰り返す。
このようにして、第1の比較器乃至第mの比較器から1つの比較器を冗長比較器として順次選択し、閾値更新処理の対象とする。この処理をAD変換器のAD変換動作を実行しながらバックグラウンドで実行することにより、AD変換動作と並行して比較器の閾値更新処理を実行することができる。
図9乃至図11に説明した例では、1つの比較器を冗長比較器として順次選択して閾値更新処理を実行しており、図5に示す閾値設定方法を行なっていることに相当する。図6のAD変換器の閾値設定動作としては、図5に示す閾値設定方法に限定されることなく、図1や図2に示す閾値設定方法を実行してもよい。例えば、実際のAD変換動作を開始する前段階として更正期間を設け、この更正期間において、冗長比較器を用いてバックグラウンドでの閾値更新処理を実行するのではなく、冗長比較器を用いずにフォアグランドで閾値更新処理を並行して実行してもよい。その際、更正期間において入力電圧を印加し、着目比較器とそれに隣接する比較器との両方において入力電圧と閾値との比較結果を求め、図9により、これらの比較結果を比較してよい。入力電圧を変えながら複数回比較して、着目比較器のコードを徐々に変化させていくことで、両比較結果が所定の割合以上一致するときに、着目比較器と隣接比較器とで閾値が同一である、と判断することができる。このときの着目比較器のコード入力と、着目比較器の元のコード入力との差分を求め、この差分をr倍した値を元のコード入力に加えるようにして、閾値を更新してよい。この際、着目比較器は、隣の比較器を置き換えるのではなく、図1又は図2に示すような閾値更新としてよい。またこの時、1つずつ着目比較器を選択して順次閾値更新してもよいし、或いは、複数の比較器(例えば図1の模式図の場合、第2の比較器12と第4の比較器14等)を同時に着目比較器として選択して隣接比較器との間で比較結果を比較してもよい。この際、例えば第2の比較器12と第4の比較器14については、デジタルコードの更新値を求めるだけで、制御回路22内のレジスタ等に求めたデジタルコードを格納しておき、実際に閾値更新することなく元のデジタルコードに戻してよい。その後、第3の比較器13についても着目比較器として選択して隣接比較器との間で比較結果を比較しデジタルコードの更新値を求め、最後に、纏めて第2乃至第4の比較器の閾値を更新してよい。
図12は、比較器の一例を示す図である。図12に示す比較器は、NMOSトランジスタ51乃至54、PMOSトランジスタ55及び56、更にスイッチ回路57乃至59を含む。この比較器は、スイッチ回路57を導通し且つスイッチ回路58及び59を非導通とすることにより、比較動作を開始する。その際、スイッチ回路58及び59を非導通とするタイミングを互いにずらすことにより、差動入力段のNMOSトランジスタ53及び54のドレイン端の電圧Vm及びVpを上記タイミングに応じて制御し、比較動作の閾値を制御している。なお制御信号φ1がHIGHになると、スイッチ回路57が導通する。また制御信号φ1xpがLOWになるとスイッチ回路59が非導通となり、制御信号φ1xmがLOWになるとスイッチ回路58が非導通となる。
図13は、制御信号を生成する回路の一例を示す図である。図13に示す回路は、信号遷移速度を制御信号CNTLにより制御可能なインバータ61及び62により、制御信号φ1から制御信号φ1xp及び制御信号φ1xmを生成している。
図14は、信号遷移速度を制御信号により制御可能なインバータの一例を示す図である。図14(a)に示すインバータは、PMOSトランジスタ63及びNMOSトランジスタ64を含むインバータ回路に、可変抵抗65が設けられている。図14(b)に示すように、可変抵抗65は、複数のNMOSトランジスタを並列接続し、そのゲート端に印加する1又は0の制御信号により、所望の数のNMOSトランジスタを導通状態として、所望の抵抗値を実現する。
図15は、信号遷移速度を制御信号により制御可能なインバータの別の一例を示す図である。図15(a)に示すインバータは、PMOSトランジスタ66及びNMOSトランジスタ67を含むインバータ回路に、可変容量68が設けられている。図15(b)に示すように、可変容量68は、複数の容量素子とスイッチ回路とを並列接続し、スイッチ回路に印加する1又は0の制御信号により、所望の数のスイッチ回路を導通状態として、所望の容量値を実現する。
図16は、図12の比較器の動作の一例を示す図である。制御信号φ1がHIGHになると、スイッチ回路57が導通する。制御信号φ1xpがLOWになると、スイッチ回路59が非導通となる。また制御信号φ1xmがLOWになると、スイッチ回路58が非導通となる。図16に示す例では、制御信号φ1xpが先にLOWになり、その後に制御信号φ1xmがLOWになっている。このタイミング差は制御信号CNTL(図14(b)又は図15(b)に示す1又は0の信号)により制御される。制御信号φ1xpが先にLOWになり、その後に制御信号φ1xmがLOWになることにより、電圧Vpが電圧Vmよりも先に低下を始める。その結果、図16の比較器の入力Vi+とVi−とがVi+>Vth+Vi−のときにのみ、出力Vo+及びVo−はそれぞれHIGH及びLOWとなる。この電圧Vthが閾値である。仮に、制御信号φ1xpと制御信号φ1xmとがLOWになるタイミングが同一であれば、Vi+>Vi−であれば、出力Vo+及びVo−はそれぞれHIGH及びLOWとなる。図16に示す例のように、制御信号φ1xpと制御信号φ1xmとにタイミング差を設けることで、このタイミング差に応じた閾値Vthを設定することができる。
図17は、比較器の別の一例を示す図である。図17に示す比較器は、NMOSトランジスタ71乃至74、PMOSトランジスタ75及び76、スイッチ回路77乃至79を含む。更にこの比較器は、閾値設定回路80、スイッチ回路81及び82、複数のNMOSトランジスタ83、複数のNMOSトランジスタ84、及びスイッチ回路85及び86を含む。この比較回路は、スイッチ回路77を導通し且つスイッチ回路78及び79を非導通とすることにより、比較動作を開始する。その際、スイッチ回路81及びNMOSトランジスタ83を介して電流を瞬間的に流すと共に、スイッチ回路82及びNMOSトランジスタ84を介して電流を瞬間的に流す。これらの電流量を、スイッチ回路81の導通スイッチ数とスイッチ回路82の導通スイッチ数とを調整することにより制御し、比較動作の閾値を制御している。これらのスイッチ回路81及び82の導通スイッチ数は、閾値設定回路80により制御される。なお制御信号φ1がLOWの場合、スイッチ回路77が非導通となり、スイッチ回路78、79、85、86が導通となる。制御信号φ1がHIGHになると、スイッチ回路77が導通し、スイッチ回路78、79、85、86が非導通となり、比較動作を開始する。
図18は、図17の比較器の動作の一例を示す図である。制御信号φ1がLOWでリセット状態であり、制御信号φ1がHIGHになると比較動作が開始される。比較動作が開始されると、図17に示す差動入力段のNMOSトランジスタ73及び74のドレイン端の電圧DM及びDPがHIGHから降下していく。これら電圧DM及びDPがNMOSトランジスタ83及び84の閾値電圧より高い間は、スイッチ回路81及びNMOSトランジスタ83を介して電流が瞬間的に流れると共に、スイッチ回路82及びNMOSトランジスタ84を介して電流が瞬間的に流れる。その後、電圧DM及びDPがNMOSトランジスタ83及び84の閾値電圧より低くなり、これらの2つの電流は停止する。これらの電流は、比較器の出力OP及びOMをグランドに引っ張る方向に流れる。従って、スイッチ回路81の導通スイッチ数とスイッチ回路82の導通スイッチ数とを異ならせることにより、出力OP及びOMの何れか一方を他方よりも強くグランドに向けて引っ張ることができる。
このようにして、スイッチ回路81の導通スイッチ数とスイッチ回路82の導通スイッチ数とを制御することで、例えば、比較器の入力VIPとVIMとがVIP>Vth+VIMのときにのみ、出力OP及びOMをそれぞれHIGH及びLOWとする。この電圧Vthが閾値である。仮に、スイッチ回路81とスイッチ回路82とで導通スイッチ数が同一であれば、VIP>VIMであれば、出力OP及びOMはそれぞれHIGH及びLOWとなる。スイッチ回路81の導通スイッチ数とスイッチ回路82の導通スイッチ数とを異ならせることで、この導通スイッチ数の差に応じた閾値Vthを設定することができる。
図19は、通信装置の一例を示す図である。図19の通信装置100は、RF回路101、AD変換&DA変換部102、及びデジタル信号処理部103を含む。デジタル信号処理部103は、同期部、復調部、変調部、誤り訂正部、符号化部等の通信処理部を含む。RF回路101が、受信したRF信号を変調信号に変換する。AD変換&DA変換部102により、変調信号をデジタルからアナログへ変換した後に、デジタル信号処理部103により所定の処理を実行する。AD変換&DA変換部102に、前述のAD変換器を用いることができる。
以下において、閾値が収束した後に誤差が発生しないような閾値設定方法について説明する。前述のように、図1又は図4の動作をするAD変換器においてrが例えば0.1である場合、各比較器の閾値が、隣接閾値との差の0.1倍程度の振幅で増減し続けることになる。この結果、各比較器の閾値が所望の閾値の近辺に収束した後であっても、隣接閾値との差の0.1倍程度の誤差が残ってしまうことになる。これは図5の動作をするAD変換器においてrが例えば0.9である場合にも同様である。rを例えば0.01のように小さな値に設定すれば、誤差は小さくなるが、収束するまでに時間がかかるという問題がある。
以下の説明では、便宜上、前述の閾値設定方法と同様に、図4の例を用いて説明する。比較器11乃至15の両端の閾値、即ち比較器11の閾値と比較器15の閾値とは、両方ともに所定の閾値に固定されていてよい。
まず、第1乃至第5の比較器11乃至15のうち、1<M<5である第Mの比較器(即ち両端以外の比較器)に着目し、この第Mの比較器の閾値をTHMとする。また第1乃至第5の比較器11乃至15の並び順において、M番目の位置の近傍にある第M−1の比較器の閾値をTHM−1とし、M番目の位置の近傍にある第M+1の比較器の閾値をTHM+1とする。このとき閾値更新動作により、第Mの比較器の更新後の閾値は、第M−1の比較器の閾値と第M+1の比較器の閾値との平均値に等しく設定される。即ち、第Mの比較器の更新後の閾値は、(THM−1+THM+1)/2に等しく設定される。同様の閾値更新動作を、比較器12乃至14の各々に対して実行する。これにより、1回の閾値更新動作が終了する。この閾値更新動作を繰り返し複数回実行することにより、各比較器12乃至14の閾値は、比較器11の閾値と及び比較器15の閾値との間を略等間隔に分割するように設定される。
上記説明では、M番目の位置の前後2つの比較器である第M−1の比較器の閾値と第M+1の比較器の閾値との平均値を、第Mの比較器の更新後の閾値とした。しかし更新後の閾値は、この計算例に限定されることなく、第1乃至第Nの比較器の並び順においてM番目の位置の近傍にある複数の比較器の閾値の重み付け平均値に等しく設定されてよい。例えば、M番目の位置の近傍にある第M−1の比較器、第Mの比較器、及び第M+1の比較器のそれぞれの比較器の平均値としてよい。即ち、第M−1の比較器の閾値をTHM−1とし、第Mの比較器の閾値をTHMとし、第M+1の比較器の閾値をTHM+1とする。このとき閾値更新動作により、第Mの比較器の更新後の閾値は、(THM−1+THM+THM+1)/3に等しく設定されてよい。
また例えば、M番目の位置の近傍にある第M−2、第M−1、第M、第M+1、及び第M+2の5つの比較器の閾値の平均値を、第M番目の比較器の更新後の閾値としてよい。或いは例えば、M番目の位置の近傍にある第M−2、第M、及び第M+2の3つの比較器の閾値の平均値を、第M番目の比較器の更新後の閾値としてよい。或いは例えば、M番目の位置の近傍にある第M−2及び第M+2の2つの比較器の閾値の平均値を、第M番目の比較器の更新後の閾値としてよい。なおM番目の位置の近傍にある複数の比較器とは、例えば、第Mの比較器、第M−1の比較器、第M+1の比較器、・・・、第M−kの比較器、第M+kの比較器のうちの少なくとも2つの比較器である。M番目の位置の近傍にある何れの比較器を閾値平均化の対象とするかについては、特に限定されるものではない。近傍領域において比較的遠くにある比較器(上記のkが大きな比較器)を選ぶほど、比較的収束し難くなる傾向にある。しかしこの収束容易性の変化は連続的な変化であり、確実な収束の必要条件となる近傍領域の大きさが明確に規定されるものではない。
このように、第Mの比較器の閾値を例えばその前後の比較器の閾値の平均値に等しく設定することで、第Mの比較器とその前後の比較器との間の閾値間距離が等しくなるように閾値が更新される。即ち更新動作により局所的に閾値間距離が等しくなるように変化し、その結果、各比較器の閾値の間の閾値間距離は、第1の比較器から第5の比較器まで一定値である方向に変化していく。最終的には、複数の閾値間距離が端から端まで一定の値である分布に近づいていく。即ち、比較器11乃至15の閾値が、下端閾値から上端閾値までの間に等間隔に並ぶような配置に近づいていく。
なお複数の比較器の閾値の単なる平均値ではなく、複数の比較器の閾値の重み付け平均値であってよい。重み付け平均値であってよい理由は、以下に説明するように2つある。
まず第1の理由について述べる。図1を用いて説明した閾値設定方法においては、第1の更新動作において、(THM+1−THM)のr倍をTHMに加えるように閾値更新をし、第2の更新動作において、(THM−1−THM)のr倍をTHMに加えるように閾値更新をする。この第1の更新動作は、
(THM+1−THM)r+THM=r・THM+1+(1−r)・THM
であり、更新後の閾値は、M番目の位置の近傍にある複数の比較器の閾値の重み付け平均値となっている。第2の更新動作も同様に、更新後の閾値は、M番目の位置の近傍にある複数の比較器の閾値の重み付け平均値となっている。これは、ここまで説明した全ての更新動作について同様である。即ち、ここまで説明した全ての閾値設定方法は、第Mの比較器の更新後の閾値をM番目の位置の近傍にある複数の比較器の閾値の重み付け平均値に等しく設定するという技術的思想で統一される。なお単純な平均値を求める場合は、重み付け平均値を求める際の重みは平均化対象である各閾値に対して同一となる。
次に第2の理由について述べる。またAD変換器のアプリケーションによっては、入力電圧と出力デジタルコードとの間の関係が線形特性ではなく、曲線的な特性となることが好ましい場合がある。例えば、後段の表示機器のガンマ特性を補正するために、このガンマ特性を補償するような曲線特性をAD変換器により実現することが考えられる。或いは前段のセンサの特性を補正するために、センサ特性を補償するような曲線特性をAD変換器により実現することが考えられる。そのような場合、閾値更新に例えば前後2つの比較器の閾値THM−1及びTHM+1を用いるとすると、第Mの比較器の更新後の閾値を平均値(THM−1+THM+1)/2とするのではなく、重み付け平均値r・THM−1+(1−r)・THM+1とすることが考えられる。ここで係数rは、0より大きく1より小さい値である。そしてこの重み付けの係数rを、各位置(M=2,3,4・・・)において異ならせることにより、収束後の閾値間距離を、各位置(M=2,3,4・・・)において異ならせることができる。即ち、第Mの比較器の更新後の閾値をM番目の位置の近傍にある複数の比較器の閾値の重み付け平均値に等しく設定する際に、その重み付けを各位置において異ならせる。言葉を換えて言えば、重み付け平均値を求める際の平均化対象である各閾値の重みの比率(例えばr:(1−r))は、第1の値のM(例えば3番目)に対する第1の比率と、前記第1の値とは異なる第2の値のM(例えば4番目)に対する第2の比率とが異なる。これにより、AD変換器の入力電圧と出力デジタルコードとの間の関係を、線形特性ではなく曲線的な特性に設定することが可能となる。
上記の閾値設定方法は、前述の図5に示した場合のように、冗長な比較器を設けた構成に対しても適用できる。冗長な比較器を設けた場合の閾値設定方法を、便宜上図5を用いて説明する。
図5において、第6の比較器16が冗長な比較器として設けられている。この図5におけるAD変換動作と閾値更新動作とは、前述の場合と同様である。即ち、第5の比較器15の閾値を更新すると、第5の比較器15をエンコーダに接続するとともに、残りの複数の比較器11乃至15のうちから選択した所望の比較器をエンコーダから切り離して閾値の更新を行なってよい。具体的には、第4の比較器14をエンコーダから切り離して、閾値更新の対象としてよい。この閾値更新の間は、比較器11,12,13,15,16の5つの比較器により、AD変換動作を実行することになる。
第Mの比較器の更新後の閾値は、M番目の位置の近傍にある複数の比較器の閾値の重み付け平均値に等しく設定される。例えば、第Mの比較器の更新後の閾値は、第Mの比較器の閾値と第M−2の比較器の閾値との平均値に等しく設定されてよい。即ち、第Mの比較器の更新後の閾値は、(THM−2+THM)/2に等しく設定されてよい。具体的には、まず第5の比較器15の更新後の閾値を、(TH3+TH5)/2とする。TH4とTH6との平均値ではなく、TH3とTH5との平均値を用いるのは、図5に示されるように、第5の比較器15の閾値を更新すると、閾値更新後の第5の比較器15により、第4の比較器14を置き換えるからである。但し見方を変えれば、第5の比較器15は、更新後にエンコーダに接続される置換後の第4番目の比較器となるのであり、この置換後の第4番目の比較器の更新後の閾値TH4が、その前後の閾値の平均値(TH3+TH5)/2であると考えることもできる。図5の例では、閾値3の近傍の比較動作を実行すべき比較器は初期状態で第4の比較器14であり、その後第5の比較器15に置き換わり、その後更に第4の比較器14に置き換わり、というように比較器14と15とに交互に置き換わる。図5において、点線で示す矢印が、各比較器の実際の閾値の変化を示す。実線で示す矢印は、所定の閾値近傍の比較動作を実行すべき比較器の置き換わりの推移を示す。
第5の比較器15により置き換えられた第4の比較器14は、エンコーダから切り離され、閾値更新動作に供される。第4の比較器14の閾値更新が終了すると、閾値更新後の第4の比較器14により、第3の比較器13を置き換える。第4の比較器14により置き換えられた第3の比較器13は、エンコーダから切り離され、閾値更新動作に供される。第3の比較器13の閾値更新が終了すると、閾値更新後の第3の比較器13により、第2の比較器12を置き換える。第2の比較器12は、エンコーダから切り離され、閾値更新動作に供される。この際、第2の比較器12の閾値TH2は、第1の比較器11の閾値TH1に等しい値に設定されてよい。以上で、比較器11乃至16に対する一段の閾値更新動作が終了する。なお両端の比較器11及び16については、それぞれ両端の閾値0及び4に固定しておいてよい。
次の更新動作においては、第Mの比較器の更新後の閾値は、第Mの比較器の閾値と第M+2の比較器の閾値との平均値に等しく設定されてよい。即ち、第Mの比較器の更新後の閾値は、(THM+2+THM)/2に等しく設定されてよい。具体的には、まず第2の比較器12の更新後の閾値を、(TH4+TH2)/2とする。第2の比較器12の閾値更新が終了すると、閾値更新後の第2の比較器12により、第3の比較器13を置き換える。第2の比較器12により置き換えられた第3の比較器13は、エンコーダから切り離され、閾値更新動作に供される。以降同様にして、順次、比較器13乃至15の閾値を更新していく。
前述の場合と同様に、更新後の閾値は、上記の計算例に限定されることなく、例えば、M番目の位置の近傍にある第3つの比較器のそれぞれの比較器の平均値としてよい。また例えば、M番目の位置の近傍にある4つ又はそれ以上の数の比較器の閾値の平均値を、第M番目の比較器の更新後の閾値としてよい。また例えば連続する位置にある比較器ではなく、1つ又はそれ以上の比較器を間に挟んだ位置にある複数の比較器の閾値を、平均値をとる対象の閾値としてもよい。M番目の位置の近傍にある何れの比較器を閾値平均化の対象とするかについては、特に限定されるものではない。また曲線特性を得るために、単純な平均値ではなく重み付け平均値により更新するようにし、その重み係数の値を位置により異なる値に設定してもよい。
上記説明した、第Mの比較器の更新後の閾値をM番目の位置の近傍にある複数の比較器の閾値の重み付け平均値に等しく設定する方法は、前述の図6及び図7に示す半導体集積回路(AD変換回路)及びエンコーダにより実行することができる。但し、制御回路22については、閾値更新動作に用いる比較器の数及び位置に応じて、その構成を適宜変更する。
図20は、制御回路22による冗長比較器の閾値更新を説明するための図である。図20では、第Mの比較器の更新後の閾値が(THM+2+THM)/2に等しく設定される例について、制御回路22の構成が示される。制御回路22は、2入力のうち下位側が負論理入力の複数のNORゲート90、2入力のうち上位側が負論理入力の複数のNORゲート91、及び制御ロジック回路93を含む。1つのNORゲート90と1つのNORゲート91とで一対をなし、一対のNORゲートの各々は、8つの比較器20−1乃至20−8のうちで、1つの比較器を間において並ぶ2つの比較器の出力を受け取る。比較器20−1乃至20−8のうちの1つの比較器を間において並ぶ2つの比較器の組み合わせは、6つあるので、6対のNORゲートが設けられることになる。図20には図示の便宜上、4対のNORゲートだけが示されている。
各比較器20−1乃至20−8の出力はエンコーダ21に供給されると共に、並行して制御回路22にも供給される。1つの比較器を間において並ぶ2つの比較器に対して設けられた一対のNORゲートは、入力電圧VINがこれら2つの比較器の2つの閾値よりも大きいか、小さいか、或いはその中間にあるか、に関する判定を行なう。以下において、図7で示した例と同様に、第3の比較器20-3が冗長比較器であり、この閾値の更新を実行する場合について説明する。
第3の比較器20-3の閾値及び第5の比較器20-5の閾値の何れよりも入力電圧VINが低い場合、対応するNORゲート90の出力J+とNORゲート91の出力J−は、双方共に0となる。また第3の比較器20-3の閾値及び第5の比較器20-5の閾値の何れよりも入力電圧VINが高い場合も、対応するNORゲート90の出力J+とNORゲート91の出力J−は、双方共に0となる。このように出力J+と出力J−とが双方共に0の場合、制御ロジック回路93は何も実行しない。
第3の比較器20-3の閾値及び第5の比較器20-5の閾値との間に入力電圧VINが有る場合には、第3の比較器20-3の閾値TH3と第5の比較器20-5の閾値TH5との大小関係に応じて、対応するNORゲートの出力J+及び出力J−が変化する。TH3<TH5である場合、第3の比較器20-3及び第5の比較器20-5の出力はそれぞれ1及び0となるので、NORゲート90の出力J+とNORゲート91の出力J−はそれぞれ1及び0となる。このとき、制御ロジック回路93は、第3の比較器20-3に設定するデジタルコードDcnt(3)を1増加させることにより、第3の比較器20-3の閾値TH3を最小刻み幅だけ増加させる。これにより、TH3がTH5に近づくことになる。逆に、TH3>TH5である場合、第3の比較器20-3及び第5の比較器20-5の出力はそれぞれ0及び1となるので、NORゲート90の出力J+とNORゲート91の出力J−はそれぞれ0及び1となる。このとき、制御ロジック回路93は、第3の比較器20-3に設定するデジタルコードDcnt(3)を1減少させることにより、第3の比較器20-3の閾値TH3を最小刻み幅だけ減少させる。これにより、TH3がTH5に近づくことになる。このようにして、AD変換器に入力される入力アナログ電圧VINと閾値との比較動作を逐次実行し、その比較結果に応じて、第3の比較器20-3の閾値を変化させていく。
TH3とTH5とが等しくなると、入力アナログ電圧VINの値に関わらず、NORゲート90の出力J+とNORゲート91の出力J−とは、共に0になる。例えば、入力アナログ電圧VINと各閾値の比較動作を1000回行なったときに、1000回の比較動作の全てにおいて出力J+と出力J−とが、双方共に0になる。如何なるデジタルコードDcnt(3)を設定してもTH3とTH5とが完全に一致することが無い場合、即ち、各比較器の最小分解能に応じた差が常に存在する場合には、多数回の比較動作のうちで出力J+と出力J−とが異なる値となる場合が常に発生する。従って、例えば、1000回の比較動作において所定の割合以上(例えば99.5%以上)において出力J+と出力J−とが0となる場合、即ち両比較結果が一致する場合に、TH3とTH5とが実質的に等しくなったと判断して、TH3の更新動作を実行してよい。同様に、所定の回数以上連続して出力J+と出力J−とが0となる場合、即ち両比較結果が一致する場合に、TH3とTH5とが実質的に等しくなったと判断して、TH3の更新動作を実行してよい。ここで更新動作の実行とは、TH3とTH5とが実質的に等しくなったときのデジタルコードと最初の状態のデジタルコードとの差の0.5倍を、最初の状態のデジタルコードに加えることである。これにより、0.5(TH5−TH3)をTH3に加えることになり、第3の比較器の更新後の閾値は(TH5+TH3)/2となる。
TH3の更新動作が完了すると、第3の比較器20-3をエンコーダ21に接続し、第4の比較器20-4をエンコーダ21から切り離す。そして、第4の比較器20-4を冗長比較器として、第4の比較器20-4の閾値の更新を実行する。以下同様である。なお、下側の比較器(例えば第3の比較器20−3)の閾値を参照して上側の比較器(例えば第5の比較器20−5)の閾値を更新する動作も、上記の説明と同様にして実行することができる。
上記説明した図20に示すAD変換器の複数の比較器の更新動作は、前述の図11に示すフローチャートに示す通りの流れにより実行することができる。簡単に説明すると、ステップS1において、各比較器にデジタルコードを初期設定する。ステップS2において、変数Mを2に初期化する。ステップS3において、変数Mが比較器の全個数mに等しいか否かを判定する。等しくない場合には、ステップS4に進む。ステップS4において、図20を参照して説明した閾値更新処理を第M番目の比較器に対して実行する。但し、端の1つ前の比較器(第m−1の比較器)の場合には、前述のように、更新後の閾値を端の閾値(第mの比較器の閾値)に等しくなるように設定する。第M番目の比較器の閾値更新処理を完了すると、ステップS5において、変数M=M+1として、次の比較器を冗長比較器として閾値更新処理の対象とする。その後ステップS3に戻り、以降の処理を、次の比較器に対して実行する。
ステップS3において、変数Mが比較器の全個数mに等しいと判定された場合、ステップS6に進む。ステップS6において、変数M=m−1とする。次にステップS7において、変数Mが1に等しいか否かを判定する。等しくない場合には、ステップS8に進む。ステップS8において、図20を参照して説明した閾値更新処理を第M番目の比較器に対して実行する。但し、端の1つ前の比較器(第2の比較器)の場合には、前述のように、更新後の閾値を端の閾値(第1の比較器の閾値)に等しくなるように設定する。第M番目の比較器の閾値更新処理を完了すると、ステップS9において、変数M=M−1として、次の比較器を冗長比較器として閾値更新処理の対象とする。その後ステップS7に戻り、以降の処理を、次の比較器に対して実行する。
ステップS7において、変数Mが1に等しいと判定された場合、ステップS2に進む。ステップS2において、変数M=2とする。以降、ステップS2乃至S9の処理を同様にして繰り返す。
なお上記の図20に示す例では、2つの閾値の平均値を求める場合が示されるが、3つの閾値の平均値を求める場合も同様の回路構成を用いることができる。即ち、第Mの比較器の更新後の閾値が(THM+2+THM+1+THM)/3に等しく設定される場合であれば、図9のNORゲート40及び41と図20のNORゲート90及び91とを両方とも備えた構成とすればよい。まず第3の比較器20-3の閾値TH3と第4の比較器20-4の閾値TH4とに着目し、上記と同様の処理により、NORゲート40及び41の出力に基づいて(TH4−TH3)に相当する第1のデジタルコード差を求める。また第3の比較器20-3の閾値TH3と第5の比較器20-5の閾値TH5とに着目し、NORゲート90及び91の出力に基づいて(TH5−TH3)に相当する第2のデジタルコード差を求める。その後、第1のデジタルコード差と第2のデジタルコード差との和の1/3を最初の状態のデジタルコードに加える。これにより、((TH4−TH3)+(TH5−TH3))/3をTH3に加えることになり、第3の比較器の更新後の閾値は(TH5+TH4+TH3)/2となる。
図21は、閾値設定方法の計算機シミュレーションの結果を示す図である。この図21は、ある閾値更新動作では第Mの比較器の更新後の閾値を(THM−2+THM)/2に等しく設定し、次の閾値更新動作では第Mの比較器の更新後の閾値を(THM+2+THM)/2に等しく設定する場合の計算機シミュレーションの結果を示す。この場合、重み付け平均に用いる重み係数の値は、比較器の位置によらず一定の値0.5である。横軸は、比較器の番号を示し、第1の比較器から第16の比較器まで16個の比較器が設けられている。縦軸は、各比較器の閾値の値を示す。なお計算機シミュレーションでは、デジタルコードを介して各比較器の閾値を変化させるのではなく、直接に閾値を用いて閾値更新動作を行なっている。即ち、各比較器の閾値(例えば第Mの比較器の閾値THM)が分かっているものとして、複数の閾値の平均値計算を行なっている。複数の比較器の出力であるサーモメータコードをエンコーダによりエンコードしてAD変換後のデジタルコードが得られるので、比較器の番号を示す横軸はそのままデジタル値に対応すると考えることができる。従って、各比較器の番号と閾値との関係を示す図21は、AD変換器の入力電圧とデジタルコード出力との間の特性を示していると考えることができる。
図21において、特性曲線101は初期状態での閾値分布を示すものである。第2乃至第15の比較器の閾値を順次更新していくことにより徐々に閾値が直線上に揃っていき、十分な回数の閾値更新動作を実行した後には、特性曲線102及び特性曲線103に示す閾値分布が得られる。この例では、1つ冗長な比較器を設け、冗長な比較器の閾値を更新した後に、閾値更新後の比較器で他の比較器を置き換えていく動作が実行される。従って、16個の比較器に対して、閾値分布は1.00〜15.00の範囲での分布となっている。従って、十分な回数の閾値更新動作を実行した後であっても、ある1つの比較器に着目すると、この比較器の閾値は略1.00の変化幅で増減を繰り返すことになる。即ち、例えば第10の比較器の閾値は、略9.00と略10.00との2つの値の間を行き来することになる。しかしマークAで示すように、第9の比較器の閾値と第10の比較器の閾値とは略9.00の値を交互にとっており、AD変換動作の為に必要な閾値としては略9.00の値が得られる。この場合、小数点以下4桁程度まで9.0に値が等しい閾値を、比較的迅速に得ることができる。即ち、更新の係数rが例えば0.1である場合のように隣接閾値との差の0.1倍程度の誤差が残ってしまうことがない。
図22は、閾値設定方法の別の計算機シミュレーションの結果を示す図である。この図22は、第Mの比較器の更新後の閾値を重み付け平均値に等しく設定し、その重み付け係数の値を位置により変化させた場合の計算機シミュレーションの結果を示す。具体的には、ある閾値更新動作では第Mの比較器の更新後の閾値をr・THM−1+(1−r)THMに等しく設定し、次の閾値更新動作では第Mの比較器の更新後の閾値をr・THM+1+(1−r)THMに等しく設定する。重み付け係数rの値は、第2の比較器から第8の比較器に対してそれぞれ0.9、0.8、0.7、0.6、0.5、0.4、0.3であり、第9の比較器から第15の比較器に対してそれぞれ0.4、0.5、0.6、0.7、0.8、0.9、0.9である。このように、中心部で値が小さく、周辺部に向かい値が大きくなるように、重み付け係数が設定されている。
図22において、特性曲線111は初期状態での閾値分布を示すものである。第2乃至第15の比較器の閾値を順次更新していくことにより徐々に閾値が直線上に揃っていき、十分な回数の閾値更新動作を実行した後には、特性曲線112及び特性曲線113に示す閾値分布が得られる。この例では、1つ冗長な比較器を設け、冗長な比較器の閾値を更新した後に、閾値更新後の比較器で他の比較器を置き換えていく動作が実行される。従って、16個の比較器に対して、閾値分布は1.00〜15.00の範囲での分布となっている。図22に示されるように、AD変換器の入力電圧とデジタルコード出力との間の特性に対応する特性曲線112及び113は、S字型の曲線の特性となっている。これは、中心部で値が小さく周辺部に向かい値が大きくなるような重み付け係数の設定に対応している。このように重み付け係数の値、即ち平均化対象の複数の閾値の重み付けの比率を、Mの値に応じて変化させることで所望の形の特性曲線を得ることができる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
なお本願発明は以下の内容を含むものである。
(付記1)
入力電圧と閾値とをそれぞれ比較する第1乃至第Nの比較器と、
第1の動作と第2の動作とを、交互に複数回実行すると共に、前記第1の比較器の閾値を第1の値近傍に拘束し、前記第Mの比較器の閾値を第2の値近傍に拘束する制御回路と、
を含み、
前記第1の動作は、第1の状態において、1<M<Nである第Mの比較器の閾値をTHM、第M+1の比較器の閾値をTHM+1とし、(THM+1−THM)を1より小さい正の実数倍した値をTHMに加えることにより第Mの比較器の閾値を更新し、
前記第2の動作は、第2の状態において、前記第Mの比較器の閾値をTHM、第M−1の比較器の閾値をTHM−1とし、(THM−1−THM)を1より小さい正の実数倍した値をTHMに加えることにより第Mの比較器の閾値を更新する
ことを特徴とする半導体集積回路。
(付記2)
エンコーダを更に含み、
前記制御回路は、前記第1乃至第Nの比較器のうち、少なくとも1つの比較器以外の残りの複数の比較器により前記入力電圧とそれぞれの閾値とを比較した結果を前記エンコーダに供給しながら、前記少なくとも1つの比較器を前記エンコーダから切り離した状態で、前記少なくとも1つの比較器の閾値を更新することを特徴とする付記1記載の半導体集積回路。
(付記3)
前記エンコーダと前記第1乃至第Nの比較器との間の接続を切り換えるスイッチ回路を更に含み、前記スイッチ回路により、前記第1乃至第Nの比較器から選択した所望の比較器を、前記少なくとも1つの比較器として前記エンコーダから切り離し、前記残りの複数の比較器を前記エンコーダに接続することが可能であることを特徴とする付記2記載の半導体集積回路。
(付記4)
前記制御回路は、前記少なくとも1つの比較器の閾値を更新すると、前記少なくとも1つの比較器を前記エンコーダに接続するとともに、前記残りの複数の比較器のうちから選択した所望の比較器を前記エンコーダから切り離して閾値の更新を行なうことを特徴とする付記2又は3記載の半導体集積回路。
(付記5)
前記第1乃至第Nの比較器はコード入力により対応する閾値が設定され、前記制御回路は、前記少なくとも1つの比較器のコード入力を徐々に変化させながら、前記少なくとも1つの比較器による前記入力電圧と閾値との比較結果と、隣接する比較器による前記入力電圧と閾値との比較結果とを複数回比較し、両比較結果が所定の割合以上一致するときのコード入力と、前記少なくとも1つの比較器の元のコード入力との差分を求め、前記差分を1より小さい正の実数倍した値を前記元のコード入力に加えることにより、前記少なくとも1つの比較器の閾値を更新することを特徴とする付記2乃至4何れか一項記載の半導体集積回路。
(付記6)
第1の状態において、第1乃至第Nの比較器のうち1<M<Nである第Mの比較器の閾値をTHM、第M+1の比較器の閾値をTHM+1とし、(THM+1−THM)を1より小さい正の実数倍した値をTHMに加えることにより第Mの比較器の閾値を更新する第1の段階と、
第2の状態において、前記第Mの比較器の閾値をTHM、第M−1の比較器の閾値をTHM−1とし、(THM−1−THM)を1より小さい正の実数倍した値をTHMに加えることにより第Mの比較器の閾値を更新する第2の段階と、
前記第1の段階と第2の段階とを交互に複数回実行する段階と
を含み、前記第1の比較器の閾値を第1の値近傍に拘束し、前記第Mの比較器の閾値を第2の値近傍に拘束しておくことを特徴とする、入力電圧と閾値とをそれぞれ比較する第1乃至第Nの比較器に対する閾値設定方法。
(付記7)
前記第1乃至第Nの比較器のうち、少なくとも1つの比較器以外の残りの複数の比較器により前記入力電圧とそれぞれの閾値とを比較した結果を、エンコーダに供給して符号化する段階を更に含み、前記第1の段階及び第2の段階は、前記少なくとも1つの比較器を前記エンコーダから切り離した状態で、前記少なくとも1つの比較器の閾値を更新することを特徴とする付記6記載の閾値設定方法。
(付記8)
前記少なくとも1つの比較器の閾値を更新すると、前記少なくとも1つの比較器を前記エンコーダに接続するとともに、前記残りの複数の比較器のうちから選択した所望の比較器を前記エンコーダから切り離す段階を更に含むことを特徴とする付記7記載の閾値設定方法。
(付記9)
前記第1乃至第Nの比較器はコード入力により対応する閾値が設定され、前記少なくとも1つの比較器のコード入力を徐々に変化させながら、前記少なくとも1つの比較器による前記入力電圧と閾値との比較結果と、隣接する比較器による前記入力電圧と閾値との比較結果とを複数回比較する段階と、
両比較結果が所定の割合以上一致するときのコード入力と、前記少なくとも1つの比較器の元のコード入力との差分を求める段階と、
前記差分を1より小さい正の実数倍した値を前記元のコード入力に加えることにより、前記少なくとも1つの比較器の閾値を更新する段階
を更に含むことを特徴とする付記6又は7記載の閾値設定方法。
(付記10)
通信処理部と
AD変換器と
を含む通信装置であって、前記AD変換器は、
入力電圧と閾値とをそれぞれ比較する第1乃至第Nの比較器と、
第1の動作と第2の動作とを、交互に複数回実行すると共に、前記第1の比較器の閾値を第1の値近傍に拘束し、前記第Mの比較器の閾値を第2の値近傍に拘束する制御回路と、
を含み、
前記第1の動作は、第1の状態において、1<M<Nである第Mの比較器の閾値をTHM、第M+1の比較器の閾値をTHM+1とし、(THM+1−THM)を1より小さい正の実数倍した値をTHMに加えることにより第Mの比較器の閾値を更新し、
前記第2の動作は、第2の状態において、前記第Mの比較器の閾値をTHM、第M−1の比較器の閾値をTHM−1とし、(THM−1−THM)を1より小さい正の実数倍した値をTHMに加えることにより第Mの比較器の閾値を更新する
ことを特徴とする通信装置。
(付記11)
入力電圧と閾値とをそれぞれ比較する第1乃至第Nの比較器と、
前記第1乃至第Nの比較器のうちの第2乃至第N−1の比較器について閾値更新動作を複数回実行する制御回路と、
を含み、
前記閾値更新動作により、1<M<Nである第Mの比較器の更新後の閾値は、前記第1乃至第Nの比較器の並び順においてM番目の位置の近傍にある複数の比較器の閾値の重み付け平均値に等しく設定される
ことを特徴とする半導体集積回路。
(付記12)
エンコーダを更に含み、
前記制御回路は、前記第1乃至第Nの比較器のうち、少なくとも1つの比較器以外の残りの複数の比較器により前記入力電圧とそれぞれの閾値とを比較した結果を前記エンコーダに供給しながら、前記少なくとも1つの比較器を前記エンコーダから切り離した状態で、前記少なくとも1つの比較器の閾値を更新することを特徴とする付記11記載の半導体集積回路。
(付記13)
前記エンコーダと前記第1乃至第Nの比較器との間の接続を切り換えるスイッチ回路を更に含み、前記スイッチ回路により、前記第1乃至第Nの比較器から選択した所望の比較器を、前記少なくとも1つの比較器として前記エンコーダから切り離し、前記残りの複数の比較器を前記エンコーダに接続することが可能であることを特徴とする付記12記載の半導体集積回路。
(付記14)
前記制御回路は、前記少なくとも1つの比較器の閾値を更新すると、前記少なくとも1つの比較器を前記エンコーダに接続するとともに、前記残りの複数の比較器のうちから選択した所望の比較器を前記エンコーダから切り離して閾値の更新を行なうことを特徴とする付記12又は13記載の半導体集積回路。
(付記15)
前記重み付け平均値を求める際の平均化対象である各閾値の重みの比率は、第1の値のMに対する第1の比率と、前記第1の値とは異なる第2の値のMに対する第2の比率とが異なることを特徴とする付記11乃至14何れか一項記載の半導体集積回路。
(付記16)
前記重み付け平均値を求める際の重みは平均化対象である各閾値に対して同一であることを特徴とする付記11乃至14何れか一項記載の半導体集積回路。
(付記17)
入力電圧と閾値とをそれぞれ比較する第1乃至第Nの比較器のうちで、1<M<Nである第Mの比較器の閾値を前記第1乃至第Nの比較器の並び順においてM番目の位置の近傍にある複数の比較器の閾値の重み付け平均値に等しく設定する動作を、1<M<Nである全ての第Mの比較器に対して実行する第1の段階と、
前記第1の段階を複数回繰り返す第2の段階と
を含むことを特徴とする閾値設定方法。