(57)【特許請求の範囲】
【請求項１】
入力アナログ電圧を入力アナログ電圧の範囲内の比較電圧と逐次比較してディジタルデータをｄビットずつ順次に決定するＡ／Ｄコンバータであって、
上記ディジタルデータを決定する動作が、
決定ビットであるｄビットを含めたディジタルデータを所定値に設定する第１の段階と、
ディジタルデータに基づいて夫々値の異なる２d＋１個以上の比較電圧を生成する第２の段階と、
入力アナログ電圧と上記比較電圧を比較する第３の段階と、
上記比較結果が正常の場合には、上記比較電圧のうち２d−１個の比較結果に基づいて決定ビットであるｄビットの値を決定する第４の段階と、
上記比較結果が異常の場合には、上記比較結果に基づいて前回の決定ビットの値を修正すると共に今回の決定ビットであるｄビットの値を決定する第５の段階と、
ディジタルデータの全てのビットが決定されたか否かを判定する第６の段階と、
ディジタルデータの全てのビットが決定されている場合には、その決定されたディジタルデータを出力する第７の段階と、
ディジタルデータの全てのビットが決定されていない場合には、決定ビットをｄビット下位ビット側にシフトする第８の段階と、
を有し、ディジタルデータの全てのビットの値が決定されるまで上記第２の段階以降の処理を繰り返すＡ／Ｄコンバータ。
【請求項２】
上記第２の段階において生成される２d＋１個以上の各比較電圧間の電圧差が、処理が繰り返される毎に小さくなる請求項１に記載のＡ／Ｄコンバータ。
【請求項３】
上記第２の段階において生成される２d＋１個以上の各比較電圧間の電圧差が、処理が繰り返される毎に２d分の１になる請求項１に記載のＡ／Ｄコンバータ。
【請求項４】
上記第２の段階において生成される２d＋１個以上の各比較電圧間の電圧差が、夫々等しい請求項１乃至３の何れかに記載のＡ／Ｄコンバータ。
【請求項５】
上記第２の段階において生成される比較電圧が２d＋１個であり、２d＋１個の各比較電圧間の電圧差が処理が繰り返される毎に２d分の１になり、２d＋１個の各比較電圧間の電圧差が夫々等しく、上記ｄが１である請求項１に記載のＡ／Ｄコンバータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アナログ電圧をディジタル電圧データに変換するＡ／Ｄコンバータにかかり、特に、逐次比較型のＡ／Ｄコンバータに関する。
【０００２】
【従来の技術】
マイクロプロセッサやメモリＩＣ等のディジタル信号処理を行う半導体技術の進歩により、近年では、種々の電子装置がディジタル化している。しかし、自然界の物理量はアナログ量であり、アナログ信号をディジタル信号に変換する必要があるため、従来より、Ａ／Ｄコンバータが広く用いられている。
【０００３】
一般に、Ａ／Ｄコンバータの種類には、逐次比較型、積分型、オーバーサンプリング型等の種々の方式のものがあるが、精度・速度・コストのバランスが良いことから、汎用品には、逐次比較型のＡ／Ｄコンバータが採用されている。
【０００４】
従来技術の逐次比較型のＡ／Ｄコンバータを説明すると、図１２のブロック図に示すように、コンパレータと、逐次比較レジスタと、制御回路と、Ｄ／Ａ変換回路とを有しており、Ｄ／Ａ変換回路は逐次比較レジスタの値を参照し、基準電圧Ｖrefから比較電圧ＤＡを生成し、コンパレータに出力するように接続されており、コンパレータは変換対象である入力電圧Ａinを入力された比較電圧ＤＡと比較し、その比較結果を逐次比較レジスタに出力するように構成されている。
【０００５】
逐次比較レジスタの値は、入力されるコンパレータの比較結果に応じて変更され、Ｄ／Ａ変換回路は、変更後の逐次比較レジスタの値によって比較電圧ＤＡを設定し、コンパレータが、入力電圧Ａinと設定された比較電圧ＤＡとの比較を行うように構成されており、このような、コンパレータの比較と、Ｄ／Ａ変換回路の設定とが繰り返し行われると、入力電圧Ａinを所望精度のディジタル電圧データに変換することが可能となる。
【０００６】
上述のような構成のＡ／Ｄコンバータを用い、１個のコンパレータで入力電圧ＡinをＭビットのディジタル電圧データに変換する方法を説明する。
先ず、制御回路はＳＴＡＲＴ信号によって動作を開始し、以下の各処理が行われる。
【０００７】
(１)  逐次レジスタを初期化する(以下、「逐次比較レジスタ」を「レジスタ」と略す)。
(２)  レジスタの最上位ビットＢmに“１”を格納する。
(３)  レジスタの値に基いて、１個の比較電圧ＤＡを設定する。このときのレジスタの値は、最上位ビットＢmだけが“１”であるので、比較電圧ＤＡは１／２Ｖrefに設定される。
(４)  入力電圧Ａinを比較電圧ＤＡと比較し、比較結果を求める。
(５)  比較結果が１、即ち、入力電圧Ａinが比較電圧ＤＡ以上である場合には、レジスタの値の最上位ビットＢmは１のままとする。比較結果が０、即ち、入力電圧Ａinが比較電圧ＤＡよりも小さい場合には、レジスタの値の最上位ビットＢmを０とする。
(６)  レジスタの２番目のビットＢm-1に“１”を格納する。その結果、レジスタの値は、“１１００……０”又は“０１００……０”となる。
(７)  そのレジスタの内容に基いて２回目の比較電圧ＤＡを設定する。
レジスタの値が“１１００……０”の場合、比較電圧ＤＡは３／４Ｖrefに設定され、“０１００……０”の場合、比較電圧ＤＡは１／４Ｖrefに設定される。
(８)  入力電圧Ａinを設定された比較電圧ＤＡと比較し、比較結果を求める。
(９)  その比較結果に基づき、上記(５)の処理の如く、２番目のビットＢm-1を決定する。
(１０)  レジスタの３番目のビットＢm-2に“１”を格納し、(７)以降の処理と同様の処理を繰り返し行う。
【０００８】
このような処理を繰り返すことにより、入力電圧Ａinのディジタル電圧データを示すレジスタの値は、１ビットずつ精度が高くなる。最後のビットＢ1の処理が終了し、Ｍビットのレジスタ値が決定されると制御回路はＥＮＤ信号を出力し、そのレジスタの値が、Ｍビット精度のディジタル電圧データとして取り出され、Ａ／Ｄコンバート処理は終了する。
従って、逐次比較型Ａ／Ｄコンバータでは、コンパレータや比較電圧設定回路は少数でも、高精度のディジタル電圧データを得ることが可能となっている。
【０００９】
ところで、逐次比較型のＡ／Ｄコンバータでは、ディジタル電圧データの精度分だけ比較動作を繰り返し行う必要がある。上述の例では、コンパレータが１個でＭビットのディジタル電圧データを求めているので、Ｍ回の比較動作が必要となっている。
【００１０】
この場合、比較電圧ＤＡの設定回数もＭ回行われるが、比較電圧ＤＡは、比較結果に基づいて設定されるため、比較結果が１回でも誤っていた場合には、それ以後設定される比較電圧は全て誤まったものとなってしまう。従って、比較ミスがあった場合のディジタル電圧データは、入力電圧の値を正しく現していないものとなってしまう。
【００１１】
そのような比較ミスのうちには、比較電圧ＤＡに含まれる誤差電圧やコンパレータの誤動作に起因するものがあるが、それらによるものばかりでなく、比較動作を繰り返し行っている間に、入力電圧Ａinの電圧値が変動してしまうことに起因する場合もある。
【００１２】
入力電圧Ａinは、Ａ／Ｄコンバータの前段に設けられたサンプルホールド回路から供給されるのが普通であるが、そのサンプルホールド回路の動作状態によっては、図１３の符号Ａ'inで示すグラフのような振動が観察されることが知られている。
【００１３】
そこで従来技術では、入力電圧Ａinのサンプルホールドが行われた後、振動が充分減衰する時刻Ｔ0までＡ／Ｄコンバータを待機させ、入力電圧Ａinが安定してから比較動作を開始するようにしていた。
【００１４】
しかし、コンパレータ内には寄生容量が存在するため、コンパレータの２つの入力端子は、その寄生容量によって接続されてしまっている。そのようなコンパレータの一方の入力端子に入力される比較電圧ＤＡは、比較動作を行う度に電圧値が変更させられるため、その比較電圧ＤＡの変化が、他方の入力端子に影響を与えると、振動が充分減衰した後でも比較電圧ＤＡの設定の影響を受け、他方の入力端子に接続されている入力電圧Ａinが変動し、比較ミスが生じてしまう場合がある。
【００１５】
ところで、比較電圧ＤＡの電圧値は、比較動作の開始直後では大きく変動するため(例えば、１回目と２回目の比較電圧の変化量は１／４Ｖrefの大きさである。)、その影響を受ける入力電圧Ａinも、比較動作開始直後の変動量が大きくなる。上述のように、入力電圧Ａinの振動が減衰した後であっても、比較動作を開始した直後には比較ミスが発生しやすくなる。
【００１６】
そこで従来技術でも対策が採られており、比較電圧ＤＡを設定する際、その比較電圧ＤＡに対して所定電圧値を加算した上限電圧と、減算した下限電圧とを設定し、入力電圧Ａinと比較電圧ＤＡとの比較結果を求めた後、入力電圧Ａinを上限電圧及び下限電圧と順次比較し、各電圧の比較結果の間に矛盾がないかどうか検証するようにしていた。
【００１７】
しかしながら比較電圧ＤＡの変化は設定される度に小さくなり、Ｍ回の比較動作の終了近くでは、比較電圧ＤＡの変化は微小なものとなっている(例えば、９回目と１０回目の比較電圧の変化量は１／１０２４Ｖrefである)。
【００１８】
従って、入力電圧Ａinの振動も徐々に小さくなるため、上限電圧と下限電圧とを、比較動作開始初期の入力電圧Ａinの大きな変動に対応できるように設定すると、比較電圧ＤＡの微小な変動による比較ミスは検出できなくなり、得られたディジタル電圧データに、微小誤差が含まれる場合が発生し、問題視されている。
【００１９】
また、このような従来技術では、余分な待機時間を必要としたり、比較ミスを検出した場合には比較をやり直す等、いずれも変換時間が長くなり、近年の高速動作を要求されるＡ／Ｄコンバータには不適当である。
【００２０】
【発明が解決しようとする課題】
本発明は、上記従来技術の不都合を解決するために創作されたものであり、その目的は、入力電圧Ａinを正確にディジタル電圧データに変換できる技術を提供することにある。
また、短い変換時間で正しいディジタル電圧データを得られる技術を提供することにある。
【００２１】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明は、入力アナログ電圧を入力アナログ電圧の範囲内の比較電圧と逐次比較してディジタルデータをｄビットずつ順次に決定するＡ／Ｄコンバータであって、上記ディジタルデータを決定する動作が、決定ビットであるｄビットを含めたディジタルデータを所定値に設定する第１の段階と、ディジタルデータに基づいて夫々値の異なる２d＋１個以上の比較電圧を生成する第２の段階と、入力アナログ電圧と上記比較電圧を比較する第３の段階と、上記比較結果が正常の場合には、上記比較電圧のうち２d−１個の比較結果に基づいて決定ビットであるｄビットの値を決定する第４の段階と、上記比較結果が異常の場合には、上記比較結果に基づいて前回の決定ビットの値を修正すると共に今回の決定ビットであるｄビットの値を決定する第５の段階と、ディジタルデータの全てのビットが決定されたか否かを判定する第６の段階と、ディジタルデータの全てのビットが決定されている場合には、その決定されたディジタルデータを出力する第７の段階と、ディジタルデータの全てのビットが決定されていない場合には、決定ビットをｄビット下位ビット側にシフトする第８の段階と、を有し、ディジタルデータの全てのビットの値が決定されるまで上記第２の段階以降の処理を繰り返すＡ／Ｄコンバータである。
【００２２】
請求項２に記載の発明は、請求項１に記載のＡ／Ｄコンバータであって、上記第２の段階において生成される２d＋１個以上の各比較電圧間の電圧差が、処理が繰り返される毎に小さくなるＡ／Ｄコンバータである。
【００２３】
請求項３に記載の発明は、請求項１に記載のＡ／Ｄコンバータであって、上記第２の段階において生成される２d＋１個以上の各比較電圧間の電圧差が、処理が繰り返される毎に２d分の１になるＡ／Ｄコンバータである。
【００２４】
請求項４に記載の発明は、請求項１乃至３の何れかに記載のＡ／Ｄコンバータであって、上記第２の段階において生成される２d＋１個以上の各比較電圧間の電圧差が、夫々等しいＡ／Ｄコンバータである。
請求項５に記載の発明は、請求項１に記載のＡ／Ｄコンバータであって、上記第２の段階において生成される比較電圧が２d＋１個であり、２d＋１個の各比較電圧間の電圧差が処理が繰り返される毎に２d分の１になり、２d＋１個の各比較電圧間の電圧差が夫々等しく、上記ｄが１であるＡ／Ｄコンバータである。
【００２５】
上述の本発明の構成によれば、Ａ／Ｄ変換の対象である入力アナログ電圧を、コンパレータを用いて、予め設定された複数の比較電圧と比較し、その比較結果からディジタル値を求めるので、その比較結果に基いて、比較電圧の電圧値の設定と比較とを繰り返し行うと、入力電圧をディジタル値からディジタル電圧データに変換することができる。
【００２６】
そのディジタル値がｄビット(ｄは正数)の場合、複数の比較電圧のうちの２d−１個の比較電圧の中の２d−３個をディジタル値を求める際の算出用の比較電圧として用い、残りの２個の比較電圧を、比較結果が正常であるか異常であるかを判断するための判断用の比較電圧として用いることができる。
【００２７】
判断用の比較電圧は、算出用の比較電圧が設けられている範囲の上下に少なくとも２個以上必要であり、普通は偶数個である。
【００２８】
入力アナログ電圧を、そのような比較電圧と比較した比較結果が異常である場合は、算出用の比較電圧から求めたディジタル値の修正を行い、正しいディジタル電圧データが得られるようにした。従って、入力アナログ電圧の振動がある場合でも、待機時間を設ける必要がなくなる。
【００２９】
このようなＡ／Ｄ変換について、比較電圧を設定しなおす際に複数の比較電圧間の電圧差を小さくするようにしたので、比較電圧を設定しなおす度にその電圧差が小さくなる。従って、電圧差は、比較開始の初期には大きく、比較終了の頃には小さくなるので、判断用の比較電圧が、最初は大きく、後では小さくなる入力アナログ電圧の変動に追随できるようになる。
【００３０】
そのように比較電圧を設定する際、各比較電圧のうち隣り合う比較電圧間の電圧差を同じにするようにしておくと、比較結果の評価が容易になるばかりでなく、比較結果が異常であった場合の、正常な状態への回復が容易になる。
【００３１】
ディジタル値がｄビットである場合、比較電圧間の電圧差は、電圧値を設定される度に２d分の１にされるので、比較結果の評価が一層容易になり、また、異常があった場合に、比較をやり直さなくても、異常な比較がなかった場合と同じ状態に復帰させ易い。
【００３２】
比較結果が異常であった場合の復帰方法については、判断用の比較電圧の比較結果から真の入力アナログ電圧の値を推定して行う。
【００３３】
このような算出用の比較電圧と、判断用の比較電圧との関係は、判断用の比較電圧が設定される電圧値は、算出用の比較電圧が設定されている範囲の上下に位置させればよく、ｄ＝２で、算出用の比較電圧が１個、判断用の比較電圧が２個の場合について図１１(ａ)を用いて説明する。
【００３４】
図１１(ａ)の符号ＤＡ2は、その算出用の比較電圧を表しており、符号Ｗで比較電圧間の電圧差を表すものとすると、２個の判断用の比較電圧ＤＡ1、ＤＡ3(ＤＡ1＜ＤＡ2、ＤＡ2＜ＤＡ3)が、算出用の比較電圧ＤＡ2を中心として、±Ｗの電圧のところに設定された場合を示している。
【００３５】
この例では、判断用の比較電圧ＤＡ1、ＤＡ3の最初の電圧値は、入力アナログ電圧がとり得る最小電圧値(＝０)と最大電圧値(＝Ｖref)に設定しておく。最初の電圧差Ｗは１／２Ｖrefである。
【００３６】
比較動作を行う度に電圧差Ｗを１／２にし、また、算出用の比較電圧ＤＡ2を設定し直す度に、電圧差Ｗの中央の電圧であって、入力アナログ電圧Ａinに近づく方向に設定するようにすると、入力アナログ電圧Ａinに変動がなく、比較ミスがない場合は、入力アナログ電圧Ａinは、算出用の比較電圧ＤＡ2を中心とした±Ｗの範囲(２Ｗの範囲)内に必ず納まる。従って、判断用の比較電圧ＤＡ1、ＤＡ3を用いない場合であっても、入力アナログ電圧がその範囲内にある限り、正確なディジタル電圧データに変換することが可能となる。
【００３７】
しかし、入力アナログ電圧Ａinが算出用の比較電圧ＤＡ2±Ｗの範囲にあるかないかは、判断用の比較電圧ＤＡ1、ＤＡ3の比較結果がないと判断できない。
【００３８】
入力アナログ電圧Ａinが、ＤＡ2±Ｗの範囲にないことを示していた場合には、比較ミスが生じたことが分かる。
【００３９】
この場合、入力アナログ電圧Ａinの変動は徐々に小さくなることが分かっているため、比較ミスがあった場合でも、入力アナログ電圧Ａinの真の値は、比較ミスがあった際の入力アナログ電圧Ａinの電圧値から電圧差Ｗ以上は離れていないと推定できる。従って、比較ミスがあった場合でも、
ＤＡ1−Ｗ ＜ Ａin ＜ ＤＡ1
又は、
ＤＡ3 ＜ Ａin ＜ ＤＡ3＋Ｗ
のいずれかである。この、各々の電圧範囲を許容誤差範囲とすると、次回の算出用の比較電圧ＤＡ2は、いずれか適切な方の筺誤差範囲の中心に位置するように設定すれば、いずれは比較結果は正常なものになる。
【００４０】
同図(ｂ)は、算出用の比較電圧を複数設定し、判断用の比較電圧を上下に２個ずつ設定した場合であるが、算出用の比較電圧の個数をｍ個とすると、入力アナログ電圧Ａinを各比較電圧と比較したときに、比較結果が正常になり、修正を行わなくても正しいディジタル電圧データが得られるのは、各算出用の比較電圧が作る幅(ｍ＋１)×Ｗの範囲に入力アナログ電圧Ａinが位置しているときである。
【００４１】
その範囲外に入力アナログ電圧Ａinが位置していた場合には、比較結果は異常となるが、その場合でも、ディジタル値と各比較電圧の電圧値を修正できる許容誤差範囲は、幅(ｍ＋１)×Ｗの範囲の上下の合計４×Ｗの範囲である(判断用の比較電圧が上下２個の場合)。
【００４２】
比較結果が異常であった場合、次回の中心となる算出用の比較電圧を、許容誤差範囲の４×各Ｗの範囲内の、適切ないずれか１つ範囲の中心に位置させれば、比較ミスを修正することができる。
【００４３】
【発明の実施の形態】
本発明のＡ／Ｄコンバート方法を以下に説明する。
図１の符号２は、本発明の一実施形態のＡ／Ｄコンバータを示すブロック図である。このＡ／Ｄコンバータ２は、ＳＴＡＲＴ信号の入力で動作を開始するコントローラ１と、複数の単位コンパレータを内蔵したコンパレータ３と、レジスタ(逐次比較レジスタ)内蔵の演算回路であるエラーコレクタ５と、そのレジスタの値を保持する出力ラッチ６と、比較電圧設定回路であるＤ／Ａ変換回路８とを有している。
【００４４】
コンパレータ３には入力端子４が設けられており、前段の図示しないサンプルホールド回路がアナログ電圧をサンプリングし、入力電圧Ａinとして、その入力端子４に出力するように構成されている。他方、出力ラッチ６には端子７1〜７nが並列に設けられており、入力電圧ＡinのＡ／Ｄコンバート結果であるレジスタの値は、出力ラッチ６を介して各端子７1〜７nから１ビットずつ並列に出力されるように構成されている。
【００４５】
Ｄ／Ａ変換回路８には２つの基準電圧ＶB、ＶT(ＶB ＜ ＶT)が入力されており、その基準電圧ＶB、ＶTは、Ｄ／Ａ変換回路８内に設けられた図示しない抵抗ラダー間に印加され、分圧されるように構成されている。抵抗ラダーには、図示しないスイッチ素子が接続されており、Ｄ／Ａ変換回路８はそのスイッチ素子を制御し、基準電圧ＶB、ＶT間の差電圧を分圧して作られた電圧のうち、エラーコレクタ５からの信号に従った値の電圧を取り出して、３個の比較電圧ＤＡ1〜ＤＡ3(ＤＡ1＜ＤＡ2＜ＤＡ3)として個別に出力できるように構成されている。
【００４６】
各比較電圧ＤＡ1〜ＤＡ3は、コンパレータ３内に設けられた単位コンパレータ３a〜３cにそれぞれ入力されており、各単位コンパレータ３a〜３cは、入力端子４から入力された入力電圧Ａinを、各比較電圧ＤＡ1〜ＤＡ3とそれぞれ比較し、その結果を、比較結果Ａ、Ｂ、Ｃとして、エラーコレクタ５に出力するように構成されている。
【００４７】
この例では、比較電圧ＤＡ１〜ＤＡ３のうち、中心の比較電圧ＤＡ２が算出用の比較電圧として用いられ、ディジタル値が算出される。両端の比較電圧ＤＡ１、ＤＡ３が判断用の比較電圧として用いられ、これらの比較結果ＤＡ１、ＤＡ３を用いて比較結果が正常であるか異常であるかが判断される。エラーコレクタ５内のレジスタは、後記するように、比較結果が正常であれば、所定位置の１ビットが順次ディジタル値として決定され、全ビットが決定されると、出力ラッチ６を介して、レジスタの値が、入力電圧Ａｉｎのディジタル電圧データへの変換結果として出力される。
【００４８】
なお、コントローラ１には、クロックジェネレーターや制御回路が内蔵されており、クロック信号ＣＬＫや各種のコントロール信号ＣＯＮを他の回路に出力するように構成されており、各回路はクロック信号ＣＬＫに従ったタイミングで動作している。
【００４９】
このＡ／Ｄコンバータ２の動作を図２のフローチャートに示す。算出用の比較電圧ＤＡ2と、判断用の比較電圧ＤＡ1、ＤＡ3を用い、入力電圧Ａinを４ビットのディジタル電圧データに変換する場合について説明する。
【００５０】
いま、基準電圧Ｖrefを、
Ｖref ＝ ＶT−ＶB
と定めるものとし、簡単にするために、ＶBはゼロＶであるものとする(Ｖref ＝ＶT)。
【００５１】
ステップＳ1では、コントローラ１がエラーコレクタ５の他、Ａ／Ｄコンバータ２内の回路に対して初期化信号を出力し、各部を初期化する。エラーコレクタ５内の４ビットのレジスタは“００００”にセットされる。
【００５２】
このＡ／Ｄコンバータ２では、各比較電圧ＤＡ1〜ＤＡ3間の電圧差は等しくなるように設定されており、その電圧差を「比較電圧差」と呼ぶものとすると、ステップＳ1では、比較電圧差は最初に１／２Ｖrefに設定される。
【００５３】
エラーコレクタ５内のレジスタの値のうち、比較結果から算出されたディジタル値に決定すべきビットの位置を、「決定ビット位置」と称するものとし、また、決定ビット位置はレジスタ内の最上位のビット位置から最下位のビット位置に向けて１ビットずつ決定されるものとする。ステップＳ2において、決定ビット位置を最上位ビットにセットする。
【００５４】
ステップＳ3では、レジスタの決定ビット位置(ここでは最上位ビット)の値を“１”にする。
【００５５】
ステップＳ4では、レジスタの値に基いて、算出用の比較電圧ＤＡ2が設定される。
【００５６】
このＡ／Ｄコンバータ２では、４ビットのレジスタの値、
“０００１”、“００１０”、“００１１”、……“１１１１”
に対し、電圧値が、予め、
１／１６Ｖref、２／１６Ｖref、３／１６Ｖref、……、１５／１６Ｖref
と、一対一に対応させられており、ここではレジスタの内容が、“１０００”であるから、算出用の比較電圧ＤＡ2は、Ｄ／Ａ変換回路８内で、その電圧値に対応する８／１６Ｖref(＝１／２Ｖref)に設定される。即ち、
ＤＡ2 ＝ １／２Ｖref
となる。
【００５７】
次いで、ステップＳ5にて、判断用の比較電圧ＤＡ1、ＤＡ3の電圧値が、中心となる算出用の比較電圧ＤＡ2に対して比較電圧差(＝１／２Ｖref)分だけ増減した電圧値に設定される。結局、各比較電圧ＤＡ1〜ＤＡ3は、
ＤＡ3 ＝  ２／２Ｖref
ＤＡ2 ＝  １／２Ｖref
ＤＡ1 ＝  ０／２Ｖref
に設定され、その電圧値がＤ／Ａ変換回路８から出力され、各単位コンパレータ３a〜３cに入力される。
【００５８】
図３に、算出用の比較電圧ＤＡ2を○のプロットで、判断用の比較電圧ＤＡ1、ＤＡ3を□のプロットで示す。今回の比較電圧ＤＡ1〜ＤＡ3の設定は、最初であり、図３の１ｓｔの位置である。尚、本例では比較電圧ＤＡ2と比較電圧ＤＡ1、ＤＡ3とを夫々別のステップ(Ｓ4，Ｓ5)にて設定しているが、同一のステップで設定してもよい。
【００５９】
ステップＳ6では、各単位コンパレータ３a〜３cが入力電圧Ａinを各比較電圧ＤＡ1〜ＤＡ3と比較し、その結果を、最初の比較結果Ａ1、Ｂ1、Ｃ1としてエラーコレクタ５に出力する。
【００６０】
この例では、各比較結果Ａ1、Ｂ1、Ｃ1は、入力電圧Ａinが各比較電圧ＤＡ1〜ＤＡ3よりも大きい場合に、それぞれ“１”とされ、小さい場合に“０”とされるものとする。
【００６１】
ステップＳ7では、今回の算出用の比較電圧ＤＡ2の出力結果Ｂ2の値を、決定ビット位置(ここでは最上位ビット)の値として仮に決定する。
【００６２】
次に、ステップＳ8では、比較結果が正常であるか異常であるか判断される。判断結果が正常であれば、ステップＳ8からステップＳ9に移行する。他方、異常と判断された場合には、ステップＳ20に移行する。入力電圧Ａinは必ずＶBとＶTの間の電位にあるものとし、最初の比較では比較ミスは生じないものとすると、最初の比較結果は必ず正常となり、必ずステップＳ9に移行する。
【００６３】
ステップＳ9では、仮に決定した決定ビット位置の値をそのまま正式に決定し、レジスタの値を確定させる。尚、上述したステップＳ7の処理は必ずしも必要ではなく、このステップＳ9の処理のみでも良い。
【００６４】
次に、ステップＳ10では、レジスタの値が全て決定されたか否か判断し、決定されていないビットがある場合はステップＳ11に移行し、全部決定されている場合はステップＳ15に移行する。ここでは最上位ビットしか決定されていないので、ステップＳ15には移行せず、ステップＳ11に移行する。
【００６５】
ステップＳ11では、決定ビット位置を下位ビット側にシフトさせる。このＡ／Ｄコンバータ２は、レジスタの値を１ビットずつ決定するのであるから、決定ビット位置は最上位ビットから下位ビット側に１ビットシフトし、２ビット目の位置にされる。
【００６６】
次いで、ステップＳ12にて、今回の比較電圧差を２d分の１にして次回の比較電圧差を設定する。この実施例では、ｄは１であり、比較電圧差は１／２にされるので、次回の比較電圧差は１／４Ｖrefになる。
【００６７】
次いで、処理はステップＳ3に戻される。このステップＳ3では、決定ビット位置(最上位から２ビット目)のレジスタの値が“１”にされる。
【００６８】
ステップＳ4では、レジスタの値に基づいて算出用の比較電圧ＤＡ2の値を設定する。
【００６９】
先ず、最上位ビットの値が“１”である場合を説明すると、ステップＳ3で２ビット目の値は“１”にされるので、レジスタの値は“１１００”となる。“１１００”に対応する電圧値は３／４Ｖrefであり、ステップＳ4で、算出用の比較電圧ＤＡ2は、
ＤＡ2 ＝  ３／４Ｖref
に設定される。
【００７０】
他方、比較電圧差Ｗは１／４Ｖrefであり、ステップＳ5で、判断用の比較電圧ＤＡ1、ＤＡ3が、
ＤＡ3 ＝  ４／４Ｖref
ＤＡ1 ＝  ２／４Ｖref
に設定される。それら比較電圧ＤＡ1〜ＤＡ3を図３の２ｎｄの位置に示した。
【００７１】
次に、最上位ビットが“０”である場合を説明すると、この場合も２ビット目の値は“１”にされているので、レジスタの値は“０１００”となる。“０１００”に対応する電圧値は、１／４Ｖref、比較電圧差は１／４Ｖrefであり、各比較電圧ＤＡ1〜ＤＡ3は、
ＤＡ3 ＝  ２／４Ｖref
ＤＡ2 ＝  １／４Ｖref
ＤＡ1 ＝  ０／４Ｖref
に設定される。
【００７２】
いずれにしろ、次のステップＳ6では、単位コンパレータ３a〜３cが、入力電圧Ａinを各比較電圧ＤＡ1〜ＤＡ3とそれぞれ比較し、その結果を、２回目の比較結果Ａ2、Ｂ2、Ｃ2として出力する。
【００７３】
ステップＳ7では、比較結果Ｂ2の値が決定ビット位置(最上位から２番目の位置)の値として仮に決定される。
【００７４】
次のステップＳ8では、比較結果の正常性を判断する。入力電圧Ａinが、今回の比較電圧ＤＡ1〜ＤＡ3の範囲内にあれば正常であると判断し、ステップＳ9に移行する。
【００７５】
他方、今回(２回目)の比較結果Ａ2が“０”、又は比較結果Ｃ2が“１”となっていた場合には、入力電圧Ａinは今回の比較電圧ＤＡ1〜ＤＡ3の範囲内になく、比較結果は異常と判断し、ステップＳ20の修正ルーチンに移行する。
【００７６】
ここでは、比較結果は正常であり、ステップＳ8からステップＳ9に移行したものとする。ステップＳ9で、決定ビット位置(２番目のビット位置)の値をそのまま正式に決定する。
【００７７】
次いで、ステップＳ10に移行し、終了か否かを判断する。ここでは終了ではないのでステップＳ11に移行する。ステップＳ11で決定ビット位置を１ビットだけ下位側にシフトさせ、３ビット目の位置にする。比較電圧差を半分にし(１／８Ｖref)、処理をステップＳ3に戻す。
【００７８】
ステップＳ3では、レジスタの決定ビット位置(３ビット目)の値を“１”にする。
上位２ビットの値が“１１”の場合、レジスタの値は“１１１０”となり、ステップＳ4で、算出用の比較電圧ＤＡ2が、そのレジスタの値に対応する電圧７／８Ｖrefに設定される。即ち、
ＤＡ2 ＝ ７／８Ｖref
となる。
【００７９】
次いで、ステップＳ5で、判断用の比較電圧ＤＡ1、ＤＡ3は、算出用の比較電圧ＤＡ2の値に対し、比較電圧差(＝１／８Ｖref)が増減された電圧値に設定される。結局、各比較電圧ＤＡ1〜ＤＡ3は、
ＤＡ3 ＝ ８／８Ｖref
ＤＡ2 ＝ ７／８Ｖref
ＤＡ1 ＝ ６／８Ｖref
に設定される。
【００８０】
他方、上位２ビットの値が“１０”の場合、３ビット目の値を“１”にすると、レジスタの値は“１０１０”となり、各比較電圧ＤＡ1〜ＤＡ3は、
ＤＡ3 ＝ ６／８Ｖref
ＤＡ2 ＝ ５／８Ｖref
ＤＡ1 ＝ ４／８Ｖref
と設定される。
【００８１】
上位２ビットの値が“０１”の場合や“００”の場合も同様であり、レジスタの値はそれぞれ“０１１０”、“００１０”となる。“０１１０”の場合は、
ＤＡ3 ＝ ４／８Ｖref
ＤＡ2 ＝ ３／８Ｖref
ＤＡ1 ＝ ２／８Ｖref
と設定される。“００１０”の場合は、
ＤＡ3 ＝ ２／８Ｖref
ＤＡ2 ＝ １／８Ｖref
ＤＡ1 ＝ ０／８Ｖref
と設定される。
【００８２】
各比較電圧ＤＡ1〜ＤＡ3がいずれの値に設定されるにしろ、次のステップＳ5にて、単位コンパレータ３a〜３cは入力電圧Ａinを、設定された比較電圧ＤＡ1〜ＤＡ3と比較し、３回目の比較結果Ａ3、Ｂ3、Ｃ3を出力する。それらのうち、比較結果Ｂ3をレジスタの決定ビット位置(３ビット目)の値として決定する。
【００８３】
このように、比較結果Ｂを用いてレジスタの値は１ビットずつ決定され、最下位ビット(４ビット目)の値が正式に決定されるとステップＳ10からステップＳ15に移行する。コントローラがＥＮＤ信号を外部に出力したところで、そのレジスタの内容が出力ラッチ６を介してディジタル電圧データとして取り出され、変換処理は終了する。
【００８４】
以上は比較結果が正常と判断された場合について説明したが、今度は、ステップＳ8において、比較結果が異常と判断され、ステップＳ20の修正ルーチンに移行する場合の処理について説明する。
【００８５】
この修正ルーチンは、最上位ビット以外の位置のビットを修正するために用いられるものであり、この修正ルーチンに移行したときは、入力電圧Ａinが比較電圧ＤＡ3〜ＤＡ1の範囲を逸脱していた場合であるから、
【００８６】
Ａin ＜ ＤＡ1   又は  ＤＡ3 ＜ Ａin
となっていた場合であり、比較結果Ａが“０”(この場合は、比較結果Ａ〜Ｃが全て“０”となる)であるか、比較結果Ｃが“１”(この場合は、比較結果Ａ〜Ｃが全て“１”となる)である場合である。
【００８７】
比較結果Ａが“０”の場合、入力電圧Ａinの真の値は、
ＤＡ1−Ｗ ＜ Ａin ＜ ＤＡ1
の範囲にあるものと推定し、次回の比較電圧ＤＡ1〜ＤＡ3の範囲を、上記ＤＡ1−Ｗ〜ＤＡ1の範囲に設定し、処理を行う。
【００８８】
他方、比較結果Ｃが“１”の場合、入力電圧Ａinの真の値は、
ＤＡ3 ＜ Ａin ＜ ＤＡ3＋Ｗ
の範囲にあるものと推定し、次回の比較電圧ＤＡ1〜ＤＡ3の範囲を、上記ＤＡ3〜ＤＡ3＋Ｗの範囲に設定し、処理を行う。
【００８９】
次回の比較電圧ＤＡ1〜ＤＡ3の範囲を上述したように設定するためには、比較結果Ａが“０”の場合、ステップＳ20において、前回正式に決定したビット位置の値から“１”を減算し、ステップＳ21において今回の決定ビット位置の値を“１”にすることでレジスタの値を修正する。他方、比較結果Ｃが“１”の場合、ステップＳ20において、前回正式に決定したビット位置の値に“１”を加算し、ステップＳ21において今回の決定ビット位置の値を“０”にすることでレジスタの値を修正する。
【００９０】
具体例を示して説明すると、図３の実線で示すように、入力電圧Ａinの真の値が、
１２／１６Ｖref ＜ Ａin ＜１３／１６Ｖref
であるのに、２回目の比較のとき(図３の２ｎｄ)、
Ａin ＜１２／１６Ｖref
となったものとすると、２回目の比較のときに、
ＤＡ2 ＜ Ａin
とすべきところを、
Ａin ＜ ＤＡ2
としてしまったことになる。
【００９１】
３回目の比較(図３の３ｓｔ)では、比較電圧ＤＡ1〜ＤＡ3は、
ＤＡ3 ＝ ６／８Ｖref
ＤＡ2 ＝ ５／８Ｖref
ＤＡ1 ＝ ４／８Ｖref
として設定されており、入力電圧Ａinとの比較を行うと、
ＤＡ1 ＜ ＤＡ2 ＜ ＤＡ3 ＜ Ａin
となるので、３回目の比較結果Ａ3、Ｂ3、Ｃ3は全て“１”となってしまう。
【００９２】
比較結果Ｃ3が“１”であれば、ステップＳ8で比較結果は異常と判断されるので、ステップＳ20に移行する。このとき、レジスタの値は“１０１０”となっているが、このステップＳ20で、前回(２ｎｄ)正式に決定されたビット位置の値に“１”を加算するので、レジスタの値は“１１１０”になる。
【００９３】
次いで、ステップＳ21で、今回(３ｓｔ)の決定ビット位置の値を“０”にすると、レジスタの値は“１１００”に修正され、次いで、処理はステップＳ10に戻る。
【００９４】
ステップＳ11、Ｓ12で、決定ビット位置がシフトされ、また比較電圧差がＶref／１６にされ、処理がステップＳ3に戻ると、決定ビット位置の４ビット目が１にされ、レジスタの値は“１１０１”になる。ステップＳ4では、そのレジスタの値に基いて、中心となる比較電圧ＤＡ2が、
ＤＡ2 ＝ １３／１６Ｖref
と設定され、次いで、ステップＳ5で、
ＤＡ3 ＝ １４／１６Ｖref
ＤＡ1 ＝ １２／１６Ｖref
と設定されると、
ＤＡ1 ＜ Ａin ＜ ＤＡ2 ＜ ＤＡ3
となる。以上の処理によって、入力電圧Ａinの真の値が、比較電圧ＤＡ1〜ＤＡ3の範囲内に納められる。
【００９５】
次に、他の比較ミスの処理工程を具体的に説明する。図３の破線で示すように、入力電圧Ａinが、
８／１６Ｖref ＜ Ａin ＜ ９／１６Ｖref
であるのに、２回目の比較のとき(図３の２ｎｄ)、
Ａin ＜ ８／１６Ｖref
となり、２回目の比較のときに、
ＤＡ1 ＜ Ａin
とすべきところを、
Ａin ＜ ＤＡ1
としてしまったものとする。
【００９６】
ステップＳ8で比較結果は異常であると判断され、ステップＳ20に移行すると、２回目(２ｎｄ)の比較の際に“１１００”となっていたレジスタの値は、ステップＳ20、Ｓ21において“０１００”と修正される(桁上がりによるオーバーフローがある)。その後、ステップＳ10、Ｓ11、Ｓ12を経て、処理がステップＳ3に戻ったところでレジスタの値は“０１１０”にされ、その後、ステップＳ12、Ｓ3、Ｓ4、Ｓ5で、３回目の比較電圧ＤＡ1〜ＤＡ3が、
ＤＡ3 ＝ ８／１６Ｖref
ＤＡ2 ＝ ６／１６Ｖref
ＤＡ1 ＝ ４／１６Ｖref
に設定される。
【００９７】
しかしながら、入力電圧Ａinは、設定されたいずれの比較電圧ＤＡ1、ＤＡ2、ＤＡ3よりも高いので、３回目(３ｓｔ)の比較を行ったとき、比較結果Ａ3、Ｂ3、Ｃ3は全て“１”となり、この３回目の比較も比較ミスとなる。従って、ステップＳ8で比較結果は異常であると判断され、ステップＳ20に移行する。このときのレジスタの値は“０１１０”であるが、ステップＳ20、Ｓ21を経て、“１０００”に修正される。
【００９８】
その後、ステップＳ10、Ｓ11、Ｓ12、Ｓ3〜Ｓ5で、４回目の比較電圧ＤＡ1〜ＤＡ3が、
ＤＡ3 ＝ １０／１６Ｖref
ＤＡ2 ＝   ９／１６Ｖref
ＤＡ1 ＝   ８／１６Ｖref
と設定されると、入力電圧Ａinは、４回目に設定された比較電圧ＤＡ1〜ＤＡ3の範囲内に納められる。
【００９９】
以上説明したように、この実施例では、算出用の比較電圧ＤＡ2の比較結果(１又は０)をレジスタ決定ビット位置の値として用い、１回の比較で入力電圧Ａinが１ビットずつ決定され、ディジタル電圧データの精度が１ビットずつ向上することになるが、途中で比較ミスがあった場合でも、比較回数を増やすことなく正しいディジタル電圧データを求めることができる。
【０１００】
次に、本発明の他の実施形態のＡ／Ｄコンバータを説明する。前述のＡ／Ｄコンバータ２はディジタル電圧データを１ビットずつ決定することで、その精度を１ビットずつ高めるものであったが、図４の符号１２に示したＡ／Ｄコンバータは、２ビットずつ決定するものである。
【０１０１】
このＡ／Ｄコンバータ１２は、前述のＡ／Ｄコンバータ２と同様の構成であり、コンパレータ１３に接続された入力端子１４には、図示しない前段のサンプルホールド回路が接続されており、そのサンプルホールド回路はアナログ電圧をサンプリングし、入力電圧Ａinとして、入力端子１４に出力するように構成されている。他方、出力ラッチ１６には、端子１７1〜１７nが並列に設けられており、入力電圧ＡinをＡ／Ｄ変換した結果であるディジタル電圧データは、エラーコレクタ１５内のレジスタの値として、各端子１７1〜１７nから、出力ラッチ１６を介して１ビットずつ並列に出力されるように構成されている。
【０１０２】
Ｄ／Ａ変換回路１８に入力された基準電圧ＶT、ＶB(ＶT＞ＶB)は、Ｄ／Ａ変換回路１８内に設けられた抵抗ラダーによって分圧されており、このＡ／Ｄコンバータ１２でも、所望電圧値の比較電圧が得られるように構成されている。
【０１０３】
コンパレータ１３内には、５個の単位コンパレータ１３a〜１３eが設けられており、各単位コンパレータ１３a〜１３eに対し、Ｄ／Ａ変換回路１８から、５個の比較電圧ＤＡ1〜ＤＡ5(ＤＡ1 ＜ ＤＡ2 ＜ ＤＡ3 ＜ ＤＡ4 ＜ ＤＡ5)が個別に出力されるように構成されている。
【０１０４】
各単位コンパレータ１３a〜１３eには、入力端子１４からの入力電圧Ａinも入力されており、各単位コンパレータ１３a〜１３eは、その入力電圧Ａinを各比較電圧ＤＡ1〜ＤＡ5とそれぞれ比較し、その結果を比較結果Ａ、Ｂ、Ｃ、Ｄ、Ｅとしてエラーコレクタ１５に出力するように構成されている。
【０１０５】
エラーコレクタ１５内にはレジスタが設けられており、後記するように、入力された比較結果Ａ〜Ｅのうち、比較結果Ｂ、Ｃ、Ｄに基いて、下記表、
【０１０６】
【表１】
0003805850.tif 000002
【０１０７】
のディジタル値を生成し、そのディジタル値によってレジスタ内の値を順次２ビットずつ決定する。
全ビットが決定されると、そのレジスタの値が、ディジタル電圧データとして出力ラッチ１６を介して、端子１７1〜１７nから出力される。
【０１０８】
このＡＤコンバーター１２の動作を説明する。最大と最小の比較電圧ＤＡ1、ＤＡ5を判断用の比較電圧として用い、３個の比較電圧ＤＡ2〜ＤＡ4を算出用の比較電圧として用い、１回の比較動作で２ビットの変換を行い、入力電圧Ａinを８ビットのディジタル電圧データに変換する場合について説明する。
【０１０９】
この例でも、基準電圧Ｖrefを、
Ｖref ＝ ＶT−ＶB
と定めるものとし、ここでもＶBはゼロＶであるものとする(Ｖref＝ＶT)。また、レジスタ内の値は、最上位のビット位置から順次下位ビットに向けて２ビットずつ決定するものとする。
【０１１０】
処理手順は図２に示したフローチャートと同様であり、ステップＳ1では、コントローラ１１がエラーコレクタ１５の他、他の回路に対して初期化信号を出力し、各部を初期化する。このとき、エラーコレクタ１５内の８ビットのレジスタは“００００００００”にセットされ、最初の比較電圧差Ｗは１／４Ｖrefにセットされる。
【０１１１】
ステップＳ2において、決定ビット位置は最上位のビットと２番目のビットの合計２ビットにセットされる。
【０１１２】
ステップＳ3では、レジスタの決定ビット位置の値を“１０”にする(レジスタの値は“１０００００００”になる)。
【０１１３】
このＡ／Ｄコンバータ１２でも、レジスタの値によって、電圧値が１個定まるように構成されており、レジスタの値、“０００００００１”、“００００００１０”、“００００００１１”、……“１１１１１１１１”のそれぞれに対して、電圧値は、１／２５６Ｖref、２／２５６Ｖref、３／２５６Ｖref、……、２５５／２５６Ｖref となるようにされている。
【０１１４】
ステップＳ4では、レジスタの内容と比較電圧差Ｗとから、算出用の比較電圧ＤＡ2〜ＤＡ4の電圧値を設定する。
【０１１５】
いま、レジスタの内容が、“１０００００００”であり、中心となる算出用の比較電圧ＤＡ3は、そのレジスタの値に対応する１２８／２５６Ｖref(＝１／２Ｖref)に設定される。比較電圧差は１／４Ｖrefであり、算出用の比較電圧ＤＡ2、ＤＡ4は、レジスタの値に対応する電圧値に対し、比較電圧幅分だけ増減した電圧値に設定される。結局、各比較電圧ＤＡ2〜ＤＡ4は、
ＤＡ4 ＝ ３／４Ｖref
ＤＡ3 ＝ ２／４Ｖref
ＤＡ2 ＝ １／４Ｖref
と設定される。
【０１１６】
次いで、ステップＳ5にて、レジスタの値と比較電圧差とから、判断用の比較電圧ＤＡ1、ＤＡ5が、それぞれ比較電圧ＤＡ1〜ＤＡ3の範囲の比較電圧幅分だけ外
【０１１７】
ＤＡ5 ＝ ４／４Ｖref
ＤＡ1 ＝ ０／４Ｖref
と設定される。結局、各比較電圧ＤＡ1〜ＤＡ5は、
ＤＡ5 ＝ ４／４Ｖref
ＤＡ4 ＝ ３／４Ｖref
ＤＡ3 ＝ ２／４Ｖref
ＤＡ2 ＝ １／４Ｖref
ＤＡ1 ＝ ０／４Ｖref
と設定される。
【０１１８】
ステップＳ6では、各単位コンパレータ１３a〜１３eが入力電圧Ａinを各比較電圧ＤＡ1〜ＤＡ5とそれぞれ比較し、１回目の比較結果Ａ1、Ｂ1、Ｃ1、Ｄ1、Ｅ1を求める。
【０１１９】
この実施の形態においても、各比較結果Ａ、Ｂ、Ｃ、Ｄ、Ｅは、入力電圧Ａinが大きい場合に“１”に、小さい場合に“０”にされるものとする。
【０１２０】
ステップＳ7では、算出用の比較電圧ＤＡ2〜ＤＡ4の比較結果Ｂ、Ｃ、Ｄの値と上述した表１に示したテーブルを用いて２ビットのディジタル値を生成し、これを決定ビット位置(ここでは最上位の２ビット)の値として仮に決定する。
【０１２１】
次に、ステップＳ8では、比較結果Ａ〜Ｅが正常であるか異常であるかを判断する。正常な場合には、ステップＳ8からステップＳ9に移行する。他方、異常であると判断した場合にはステップＳ20に移行する。
【０１２２】
入力電圧Ａinは必ずＶBとＶTの間の電位にあるものとし、最初の比較結果は正常であり、ステップＳ9に移行するものとする。
【０１２３】
ステップＳ9では、仮に決定した決定ビット位置の値を正式に決定する。ステップＳ20の修正ルーチンを経ていないので、ステップＳ7で仮に決定された値がそのまま正式に決定される。
【０１２４】
次に、ステップＳ10では、レジスタの値が全て決定されたか否か判断する。ここでは、最上位の２ビットしか決定されていないのでステップＳ11に移行し、決定ビット位置を２ビットだけ下位側にシフトさせ、決定ビット位置を３ビット目と４ビット目の２ビットにする。
【０１２５】
次いで、ステップＳ12にて、比較電圧差を２d分の１にする。この実施例では、ディジタル電圧データが２ビットずつ決定されるので、ｄは２である。従って、比較電圧差は、ステップＳ12を経る毎に１／４にされる。今回、比較電圧差Ｗは、１／１６Ｖrefになる。
【０１２６】
次いで、処理はステップＳ3に戻される。このステップＳ3では、決定ビット位置(最上位から３及び４ビット目)のレジスタの値を“１０”にする。
【０１２７】
ステップＳ4、Ｓ5では、レジスタの値と比較電圧差Ｗとから、各比較電圧ＤＡ1〜ＤＡ5を設定する。
【０１２８】
いま、レジスタの最上位の２ビットが“１０”であるものとすると、ステップＳ3で３ビット目及び４ビット目の値が“１０”にされると、レジスタの値は“１０１０００００”になる。中心の算出用の比較電圧ＤＡ3は、その値に対応する電圧値(ＤＡ3 ＝ １６０／２５６Ｖref ＝ １０／１６Ｖref)に設定され、他の比較電圧ＤＡ1、ＤＡ2、ＤＡ4、ＤＡ5は、レジスタの値と比較電圧差(＝１／１６Ｖref)とから設定され、結局、各比較電圧ＤＡ1〜ＤＡ5は、
ＤＡ5 ＝ １２／１６Ｖref
ＤＡ4 ＝ １１／１６Ｖref
ＤＡ3 ＝ １０／１６Ｖref
ＤＡ2 ＝   ９／１６Ｖref
ＤＡ1 ＝   ８／１６Ｖref
に設定される。
【０１２９】
他方、最上位の２ビットが“０１”である場合には、レジスタの値は“０１１０００００”(対応する電圧値は６／１６Ｖref)となり、各比較電圧ＤＡ1〜ＤＡ5は、
ＤＡ5 ＝ ８／１６Ｖref
ＤＡ4 ＝ ７／１６Ｖref
ＤＡ3 ＝ ６／１６Ｖref
ＤＡ2 ＝ ５／１６Ｖref
ＤＡ1 ＝ ４／１６Ｖref
と設定される。
【０１３０】
各比較電圧ＤＡ1〜ＤＡ5がいずれの電圧値に設定されるにしろ、次のステップＳ6では、単位コンパレータ１３a〜１３eは、入力電圧Ａinを設定された比較電圧ＤＡ1〜ＤＡ5とそれぞれ比較し、その結果を２回目の比較結果Ａ2、Ｂ2、Ｃ2、Ｄ2、Ｅ2として出力する。そして、ステップＳ7で、比較結果Ｂ2、Ｃ2、Ｄ2と表１とから２ビットのディジタル値を求め、これをレジスタの決定ビット位置(３番目と４番目の２ビット)の値として仮に決定する。
【０１３１】
次のステップＳ8では、比較結果の正常性を判断し、入力電圧Ａinが、今回の比較電圧ＤＡ1〜ＤＡ5の範囲内にあり、比較結果が正常である場合にはステップＳ9に移行し、異常である場合にはステップ20に移行する。
【０１３２】
異常と判断される場合は、比較結果Ａ〜Ｅのうち、判断用の比較電圧ＤＡ1の比較結果Ａが“０”(この場合、Ａ〜Ｅは全て“０”)であるか、又は判断用の比較電圧ＤＡ5の比較結果Ｅが“１”(この場合、Ａ〜Ｅは全て“１”)のときである。
【０１３３】
ここでは、比較結果が正常であり、ステップＳ8からステップＳ9に移行したものとする。
【０１３４】
このステップＳ9において、決定ビット位置の値を正式に決定し、次いで、ステップＳ10に移行し、終了か否かを判断する。今回は終了ではないのでステップＳ11に移行する。このステップＳ11で決定ビット位置を下位ビット側にシフトさせ、５ビット目と６ビット目にする。また、比較電圧差を前回の１／４の１／６４Ｖrefにし、処理をステップＳ3に戻す。
【０１３５】
ステップＳ3では、エラーコレクタ１５内の決定ビット位置の２ビットの値を“１０”にする。
【０１３６】
例えば、最上位ビットと２ビット目の２ビットの値が“１０”、３ビット目と４ビット目の２ビットの値が“１１”である場合、レジスタの値は、“１０１１１０００”となる。ステップＳ4、Ｓ5では、中心となる算出用の比較電圧ＤＡ3が、その“１０１１１０００”に対応する電圧値(＝４６／６４Ｖref)に設定され、そのレジスタの値と比較電圧差から、結局、各比較電圧ＤＡ1〜ＤＡ5は、
ＤＡ5 ＝ ４８／６４Ｖref
ＤＡ4 ＝ ４７／６４Ｖref
ＤＡ3 ＝ ４６／６４Ｖref
ＤＡ2 ＝ ４５／６４Ｖref
ＤＡ1 ＝ ４４／６４Ｖref
と設定される。
【０１３７】
他方、最上位ビットと２ビット目の２ビットの値が“１０”であり、３ビット目と４ビット目の値が“１０”であれば、レジスタの値は“１０１０１０００”になり、その値に対応する電圧値は、４３／６４Ｖrefであるから、結局、各比較電圧ＤＡ1〜ＤＡ5は、
ＤＡ5 ＝ ４５／６４Ｖref
ＤＡ4 ＝ ４４／６４Ｖref
ＤＡ3 ＝ ４３／６４Ｖref
ＤＡ2 ＝ ４２／６４Ｖref
ＤＡ1 ＝ ４１／６４Ｖref
と設定される。
【０１３８】
最上位ビットと２ビット目の２ビットの値が“０１”の場合も同様に、ステップＳ5でレジスタの値と比較電圧差Ｗから、各比較電圧ＤＡ1〜ＤＡ5が設定される。このように各比較電圧ＤＡ1〜ＤＡ5が設定されると、次のステップＳ6において、単位コンパレータ１３a〜１３eによって、入力電圧Ａinが設定された比較電圧ＤＡ1〜ＤＡ5と比較され、３回目の比較結果Ａ3、Ｂ3、Ｃ3、Ｄ3、Ｅ3が求められ、比較結果Ｂ3、Ｃ3、Ｄ3と表１によりディジタル値が生成され、レジスタの決定ビット位置の２ビットの値がそのディジタル値に仮に決定される。
【０１３９】
以上説明したように、３つの算出用の比較電圧ＤＡ2〜ＤＡ4を用い、レジスタの値は２ビットずつ決定される。最下位の２ビット(７ビット目及び８ビット目のビット)が正式に決定されるとステップＳ10で終了と判断され、処理はステップＳ15に移行し、そのレジスタの内容は出力ラッチ１６を介してディジタル電圧データとして出力され、変換処理は終了する。
【０１４０】
次に、ステップＳ8において比較結果が異常である判断され、ステップＳ20に移行した場合の処理について説明する。
【０１４１】
このステップ20の修正ルーチンは最上位の２ビット以外の位置のビットを修正する際に用いられるものであり、比較結果が異常な場合、今回の比較電圧ＤＡ1、ＤＡ5と今回の比較電圧幅Ｗとから、真の入力電圧Ａinは下記範囲、
ＤＡ1−Ｗ ＜ Ａin ＜ ＤＡ1 (比較結果Ａが“０”の場合)
ＤＡ5 ＜ Ａin ＜ ＤＡ5＋Ｗ (比較結果Ｃが“１”の場合)
にあるものと推定し、次回の比較電圧ＤＡ1〜ＤＡ5の範囲を、上記ＤＡ1−Ｗ〜ＤＡ1、又はＤＡ5〜ＤＡ5＋Ｗの範囲に設定する。
【０１４２】
この修正方法を、図５、及び図５の部分拡大図である図６〜図９を用い、入力電圧の比較ミスを、Ａin1〜Ａin4の４つの入力電圧の場合に分けて具体的に説明する。
【０１４３】
入力電圧Ａin1〜Ａin4は、それぞれ１回目の比較(１ｓｔ)のときはＤＡ3〜ＤＡ4の範囲内にあり、正常な比較結果が得られたが、２回目の比較のときに各入力電圧Ａin1〜Ａin4が真の値よりも小さくなり、２回目の比較電圧ＤＡ1〜ＤＡ4に対し、正常である場合には、
0003805850.tif 000003
であるのに対し、
0003805850.tif 000004
のような比較結果が得られてしまったものとする。
【０１４４】
上記入力電圧Ａin1〜Ａin4のうち、入力電圧Ａin2〜Ａin4については、２回目の比較のときには比較結果は正常であるので、その比較結果に基づいて設定された３回目の比較電圧ＤＡ1〜ＤＡ5は、図５中の▲１▼〜▲３▼の位置にある。
【０１４５】
他方、入力電圧Ａin1については、２回目の比較のとき比較結果Ａが“０”(Ａ〜Ｅは全て“０”)となり、比較結果が異常と判断され、３回目に設定される比較電圧は、図５中の▲１▼の位置になる(３回目の比較電圧のうち、最大の比較電圧ＤＡ5が２回目の最小の比較電圧ＤＡ1と一致する)。各入力電圧Ａin1〜Ａin4について、３、４回目の比較電圧ＤＡ1〜ＤＡ5の推移を図６〜図９に拡大して示す。
【０１４６】
３回目の比較の際には入力電圧Ａin1〜Ａin4は、真の電圧値に復帰しているので、３回目の比較電圧ＤＡ1〜ＤＡ5と比較した場合、各入力電圧Ａin1〜Ａin4の比較結果は、全てについて比較結果Ｅが“１”になり、３回目の比較結果は異常と判断される(入力電圧Ａin1については、２回連続して比較結果が異常と判断される)。
【０１４７】
比較結果Ｅが“１”なので、４回目に設定される比較電圧ＤＡ1〜ＤＡ5は、それらのうちの最小の比較電圧ＤＡ1が、３回目の比較電圧のうちの最大の比較電圧ＤＡ5と一致するように設定される。すると、各入力電圧Ａin1〜Ａin4について、４回目の比較結果は正常なものとなり、かくて全ての入力電圧Ａin1〜Ａin4について、２回目(２ｎｄ)に生じた比較ミスの修正が完了する。
【０１４８】
以上説明したように、この実施の形態では中心の３つの算出用の比較電圧ＤＡ2〜ＤＡ4によって比較電圧差Ｗの領域を４つ作り、ディジタル電圧データを２ビットずつ決定している。
【０１４９】
その２ビットの決定の際には、外側の２つの比較電圧ＤＡ1、ＤＡ5は用いられず、冗長なものとなっているが、判断用の比較電圧ＤＡ1、ＤＡ5は、比較結果が正常であるか異常であるかの判断に用いられ、入力電圧Ａinの振動等による比較結果が異常であると判断された場合には、上述したように、比較結果のミスにより決定されたレジスタの値を修正できるようにされている。
【０１５０】
なお、上述の修正を行うためには、具体的には、ステップ、Ｓ20、Ｓ21にて次のような処理を行う。
【０１５１】
比較結果Ａが“０”(Ａin ＜ ＤＡ1)であった場合、ステップＳ20では、前回の決定ビット位置の２ビットの値から“０１”を減算し(桁下がりする場合がある)、ステップＳ21で、今回の決定ビット位置の２ビットの値を“１１”にする。
【０１５２】
他方、比較結果Ａが“０”(ＤＡ5 ＜ Ａin)であった場合、ステップＳ20では、前回の決定ビット位置の２ビットの値に“０１”を加算し(桁上がるする場合がある)、ステップＳ21で、今回の決定ビット位置の２ビットの値を“００”にする。
【０１５３】
このように、レジスタの値が修正されるとその後の比較電圧ＤＡ1〜ＤＡ5の設定は正しく行われ、正確なディジタル電圧データが得られる。
【０１５４】
なお、図５は、入力電圧Ａinが２回目の比較の際に一時的に低下してしまった場合であるが、一時的に増加した場合も、同様に正しいディジタル電圧データが得られる。その場合の各比較電圧ＤＡ1〜ＤＡ5の推移を図１０に示しておく。
【０１５５】
以上説明した実施の形態では、算出用の比較電圧によってディジタル電圧データを求める際、判断用の比較電圧を２個設定して比較ミスを修正するようにしたが、判断用の比較電圧を４個以上設定してもよいことは言うまでもない。但し、算出用と判断用の比較電圧を複数配置する場合でも、算出用の比較電圧は奇数個、判断用の比較電圧は偶数個とし、算出用の比較電圧の範囲の上下に同数ずつ配置するのが便利である。また、本例ではディジタル電圧データを２ビットずつ決定しているが、これを２以上の複数個、例えば４ビットずつ決定する構成としてもよい。
【０１５６】
なお、以上説明した入力電圧と比較電圧との大小関係に於いて、
入力電圧Ａin ＜ 比較電圧ＤＡ
の場合であるか、
比較電圧ＤＡ ＜ 入力電圧Ａin
の場合であるかしか記載せず、
比較電圧ＤＡ ＝ 入力電圧Ａin
の場合分については言及しなかったが、比較電圧ＤＡと入力電圧Ａinとの大小関係は、Ａ／Ｄコンバータの実用上、必ず成立するものとして説明した。
【０１５７】
【発明の効果】
所定制度のディジタル電圧データを求める際、２d−１個の算出用の比較電圧を用い、その比較結果からｄビットのディジタル値を求めて入力電圧のディジタル化を行うので、Ａ／Ｄ変換が早く終了する。その場合、Ｄ／Ａ変換回路やコンパレータを高速化したり、回路規模を大きくする必要がない。
【０１５８】
比較ミスがあった場合でも、容易に正しい値に修正することができる。その際、比較をやり直さなくて済むので、速度が低下することはない。
【０１５９】
一般に、コンパレータの精度やＤ／Ａ変換回路の精度を高めるのは容易であるので、回路規模を大きくしなくても比較回数を増やすだけで正確な多ビットのディジタル電圧データを得ることが可能となる。
【図面の簡単な説明】
【図１】  本発明に係る第１例のＡ／Ｄコンバータのブロック図
【図２】  そのＡ／Ｄコンバータの動作を説明するためのフローチャート
【図３】  そのＡ／Ｄコンバータの比較電圧の推移を説明するための図
【図４】  本発明に係る第２例のＡ／Ｄコンバータのブロック図
【図５】  そのＡ／Ｄコンバータの比較電圧の推移の一例を説明するための図
【図６】  図６の入力電圧Ａin1の推移を説明するための拡大図
【図７】  図６の入力電圧Ａin2の推移を説明するための拡大図
【図８】  図６の入力電圧Ａin3の推移を説明するための拡大図
【図９】  図６の入力電圧Ａin4の推移を説明するための拡大図
【図１０】  本発明に係る第２例のＡ／Ｄコンバータの比較電圧の推移の他の例を説明するための図
【図１１】(ａ)、(ｂ)：比較範囲とディジタル電圧データを求める範囲と許容誤差範囲とを説明するための図
【図１２】  従来技術のＡ／Ｄコンバータを説明するためのブロック図
【図１３】  入力電圧の変動を説明するためのグラフ
【符号の説明】
２、１２……Ａ／Ｄコンバータ      ３、１３……コンパレータ      ５、１５……演算回路(エラーコレクタ)      ８、１８……比較電圧設定回路(Ｄ／Ａ変換回路)      Ａin……入力電圧      ＤＡ1〜ＤＡ5……比較電圧
【図１】
0003805850.tif 000005
【図２】
0003805850.tif 000006
【図３】
0003805850.tif 000007
【図４】
0003805850.tif 000008
【図５】
0003805850.tif 000009
【図６】
0003805850.tif 000010
【図７】
0003805850.tif 000011
【図８】
0003805850.tif 000012
【図９】
0003805850.tif 000013
【図１０】
0003805850.tif 000014
【図１１】
0003805850.tif 000015
【図１２】
0003805850.tif 000016
【図１３】
0003805850.tif 000017