JP3805850B2 - A/dコンバータ - Google Patents
A/dコンバータ Download PDFInfo
- Publication number
- JP3805850B2 JP3805850B2 JP02099897A JP2099897A JP3805850B2 JP 3805850 B2 JP3805850 B2 JP 3805850B2 JP 02099897 A JP02099897 A JP 02099897A JP 2099897 A JP2099897 A JP 2099897A JP 3805850 B2 JP3805850 B2 JP 3805850B2
- Authority
- JP
- Japan
- Prior art keywords
- comparison
- voltage
- value
- ref
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Analogue/Digital Conversion (AREA)
Description
【発明の属する技術分野】
本発明は、アナログ電圧をディジタル電圧データに変換するA/Dコンバータにかかり、特に、逐次比較型のA/Dコンバータに関する。
【0002】
【従来の技術】
マイクロプロセッサやメモリIC等のディジタル信号処理を行う半導体技術の進歩により、近年では、種々の電子装置がディジタル化している。しかし、自然界の物理量はアナログ量であり、アナログ信号をディジタル信号に変換する必要があるため、従来より、A/Dコンバータが広く用いられている。
【0003】
一般に、A/Dコンバータの種類には、逐次比較型、積分型、オーバーサンプリング型等の種々の方式のものがあるが、精度・速度・コストのバランスが良いことから、汎用品には、逐次比較型のA/Dコンバータが採用されている。
【0004】
従来技術の逐次比較型のA/Dコンバータを説明すると、図12のブロック図に示すように、コンパレータと、逐次比較レジスタと、制御回路と、D/A変換回路とを有しており、D/A変換回路は逐次比較レジスタの値を参照し、基準電圧Vrefから比較電圧DAを生成し、コンパレータに出力するように接続されており、コンパレータは変換対象である入力電圧Ainを入力された比較電圧DAと比較し、その比較結果を逐次比較レジスタに出力するように構成されている。
【0005】
逐次比較レジスタの値は、入力されるコンパレータの比較結果に応じて変更され、D/A変換回路は、変更後の逐次比較レジスタの値によって比較電圧DAを設定し、コンパレータが、入力電圧Ainと設定された比較電圧DAとの比較を行うように構成されており、このような、コンパレータの比較と、D/A変換回路の設定とが繰り返し行われると、入力電圧Ainを所望精度のディジタル電圧データに変換することが可能となる。
【0006】
上述のような構成のA/Dコンバータを用い、1個のコンパレータで入力電圧AinをMビットのディジタル電圧データに変換する方法を説明する。
先ず、制御回路はSTART信号によって動作を開始し、以下の各処理が行われる。
【0007】
(1) 逐次レジスタを初期化する(以下、「逐次比較レジスタ」を「レジスタ」と略す)。
(2) レジスタの最上位ビットBmに“1”を格納する。
(3) レジスタの値に基いて、1個の比較電圧DAを設定する。このときのレジスタの値は、最上位ビットBmだけが“1”であるので、比較電圧DAは1/2Vrefに設定される。
(4) 入力電圧Ainを比較電圧DAと比較し、比較結果を求める。
(5) 比較結果が1、即ち、入力電圧Ainが比較電圧DA以上である場合には、レジスタの値の最上位ビットBmは1のままとする。比較結果が0、即ち、入力電圧Ainが比較電圧DAよりも小さい場合には、レジスタの値の最上位ビットBmを0とする。
(6) レジスタの2番目のビットBm-1に“1”を格納する。その結果、レジスタの値は、“1100……0”又は“0100……0”となる。
(7) そのレジスタの内容に基いて2回目の比較電圧DAを設定する。
レジスタの値が“1100……0”の場合、比較電圧DAは3/4Vrefに設定され、“0100……0”の場合、比較電圧DAは1/4Vrefに設定される。
(8) 入力電圧Ainを設定された比較電圧DAと比較し、比較結果を求める。
(9) その比較結果に基づき、上記(5)の処理の如く、2番目のビットBm-1を決定する。
(10) レジスタの3番目のビットBm-2に“1”を格納し、(7)以降の処理と同様の処理を繰り返し行う。
【0008】
このような処理を繰り返すことにより、入力電圧Ainのディジタル電圧データを示すレジスタの値は、1ビットずつ精度が高くなる。最後のビットB1の処理が終了し、Mビットのレジスタ値が決定されると制御回路はEND信号を出力し、そのレジスタの値が、Mビット精度のディジタル電圧データとして取り出され、A/Dコンバート処理は終了する。
従って、逐次比較型A/Dコンバータでは、コンパレータや比較電圧設定回路は少数でも、高精度のディジタル電圧データを得ることが可能となっている。
【0009】
ところで、逐次比較型のA/Dコンバータでは、ディジタル電圧データの精度分だけ比較動作を繰り返し行う必要がある。上述の例では、コンパレータが1個でMビットのディジタル電圧データを求めているので、M回の比較動作が必要となっている。
【0010】
この場合、比較電圧DAの設定回数もM回行われるが、比較電圧DAは、比較結果に基づいて設定されるため、比較結果が1回でも誤っていた場合には、それ以後設定される比較電圧は全て誤まったものとなってしまう。従って、比較ミスがあった場合のディジタル電圧データは、入力電圧の値を正しく現していないものとなってしまう。
【0011】
そのような比較ミスのうちには、比較電圧DAに含まれる誤差電圧やコンパレータの誤動作に起因するものがあるが、それらによるものばかりでなく、比較動作を繰り返し行っている間に、入力電圧Ainの電圧値が変動してしまうことに起因する場合もある。
【0012】
入力電圧Ainは、A/Dコンバータの前段に設けられたサンプルホールド回路から供給されるのが普通であるが、そのサンプルホールド回路の動作状態によっては、図13の符号A'inで示すグラフのような振動が観察されることが知られている。
【0013】
そこで従来技術では、入力電圧Ainのサンプルホールドが行われた後、振動が充分減衰する時刻T0までA/Dコンバータを待機させ、入力電圧Ainが安定してから比較動作を開始するようにしていた。
【0014】
しかし、コンパレータ内には寄生容量が存在するため、コンパレータの2つの入力端子は、その寄生容量によって接続されてしまっている。そのようなコンパレータの一方の入力端子に入力される比較電圧DAは、比較動作を行う度に電圧値が変更させられるため、その比較電圧DAの変化が、他方の入力端子に影響を与えると、振動が充分減衰した後でも比較電圧DAの設定の影響を受け、他方の入力端子に接続されている入力電圧Ainが変動し、比較ミスが生じてしまう場合がある。
【0015】
ところで、比較電圧DAの電圧値は、比較動作の開始直後では大きく変動するため(例えば、1回目と2回目の比較電圧の変化量は1/4Vrefの大きさである。)、その影響を受ける入力電圧Ainも、比較動作開始直後の変動量が大きくなる。上述のように、入力電圧Ainの振動が減衰した後であっても、比較動作を開始した直後には比較ミスが発生しやすくなる。
【0016】
そこで従来技術でも対策が採られており、比較電圧DAを設定する際、その比較電圧DAに対して所定電圧値を加算した上限電圧と、減算した下限電圧とを設定し、入力電圧Ainと比較電圧DAとの比較結果を求めた後、入力電圧Ainを上限電圧及び下限電圧と順次比較し、各電圧の比較結果の間に矛盾がないかどうか検証するようにしていた。
【0017】
しかしながら比較電圧DAの変化は設定される度に小さくなり、M回の比較動作の終了近くでは、比較電圧DAの変化は微小なものとなっている(例えば、9回目と10回目の比較電圧の変化量は1/1024Vrefである)。
【0018】
従って、入力電圧Ainの振動も徐々に小さくなるため、上限電圧と下限電圧とを、比較動作開始初期の入力電圧Ainの大きな変動に対応できるように設定すると、比較電圧DAの微小な変動による比較ミスは検出できなくなり、得られたディジタル電圧データに、微小誤差が含まれる場合が発生し、問題視されている。
【0019】
また、このような従来技術では、余分な待機時間を必要としたり、比較ミスを検出した場合には比較をやり直す等、いずれも変換時間が長くなり、近年の高速動作を要求されるA/Dコンバータには不適当である。
【0020】
【発明が解決しようとする課題】
本発明は、上記従来技術の不都合を解決するために創作されたものであり、その目的は、入力電圧Ainを正確にディジタル電圧データに変換できる技術を提供することにある。
また、短い変換時間で正しいディジタル電圧データを得られる技術を提供することにある。
【0021】
【課題を解決するための手段】
上記目的を達成するため、請求項1記載の発明は、入力アナログ電圧を入力アナログ電圧の範囲内の比較電圧と逐次比較してディジタルデータをdビットずつ順次に決定するA/Dコンバータであって、上記ディジタルデータを決定する動作が、決定ビットであるdビットを含めたディジタルデータを所定値に設定する第1の段階と、ディジタルデータに基づいて夫々値の異なる2d+1個以上の比較電圧を生成する第2の段階と、入力アナログ電圧と上記比較電圧を比較する第3の段階と、上記比較結果が正常の場合には、上記比較電圧のうち2d−1個の比較結果に基づいて決定ビットであるdビットの値を決定する第4の段階と、上記比較結果が異常の場合には、上記比較結果に基づいて前回の決定ビットの値を修正すると共に今回の決定ビットであるdビットの値を決定する第5の段階と、ディジタルデータの全てのビットが決定されたか否かを判定する第6の段階と、ディジタルデータの全てのビットが決定されている場合には、その決定されたディジタルデータを出力する第7の段階と、ディジタルデータの全てのビットが決定されていない場合には、決定ビットをdビット下位ビット側にシフトする第8の段階と、を有し、ディジタルデータの全てのビットの値が決定されるまで上記第2の段階以降の処理を繰り返すA/Dコンバータである。
【0022】
請求項2に記載の発明は、請求項1に記載のA/Dコンバータであって、上記第2の段階において生成される2d+1個以上の各比較電圧間の電圧差が、処理が繰り返される毎に小さくなるA/Dコンバータである。
【0023】
請求項3に記載の発明は、請求項1に記載のA/Dコンバータであって、上記第2の段階において生成される2d+1個以上の各比較電圧間の電圧差が、処理が繰り返される毎に2d分の1になるA/Dコンバータである。
【0024】
請求項4に記載の発明は、請求項1乃至3の何れかに記載のA/Dコンバータであって、上記第2の段階において生成される2d+1個以上の各比較電圧間の電圧差が、夫々等しいA/Dコンバータである。
請求項5に記載の発明は、請求項1に記載のA/Dコンバータであって、上記第2の段階において生成される比較電圧が2 d +1個であり、2 d +1個の各比較電圧間の電圧差が処理が繰り返される毎に2 d 分の1になり、2 d +1個の各比較電圧間の電圧差が夫々等しく、上記dが1であるA/Dコンバータである。
【0025】
上述の本発明の構成によれば、A/D変換の対象である入力アナログ電圧を、コンパレータを用いて、予め設定された複数の比較電圧と比較し、その比較結果からディジタル値を求めるので、その比較結果に基いて、比較電圧の電圧値の設定と比較とを繰り返し行うと、入力電圧をディジタル値からディジタル電圧データに変換することができる。
【0026】
そのディジタル値がdビット(dは正数)の場合、複数の比較電圧のうちの2d−1個の比較電圧の中の2d−3個をディジタル値を求める際の算出用の比較電圧として用い、残りの2個の比較電圧を、比較結果が正常であるか異常であるかを判断するための判断用の比較電圧として用いることができる。
【0027】
判断用の比較電圧は、算出用の比較電圧が設けられている範囲の上下に少なくとも2個以上必要であり、普通は偶数個である。
【0028】
入力アナログ電圧を、そのような比較電圧と比較した比較結果が異常である場合は、算出用の比較電圧から求めたディジタル値の修正を行い、正しいディジタル電圧データが得られるようにした。従って、入力アナログ電圧の振動がある場合でも、待機時間を設ける必要がなくなる。
【0029】
このようなA/D変換について、比較電圧を設定しなおす際に複数の比較電圧間の電圧差を小さくするようにしたので、比較電圧を設定しなおす度にその電圧差が小さくなる。従って、電圧差は、比較開始の初期には大きく、比較終了の頃には小さくなるので、判断用の比較電圧が、最初は大きく、後では小さくなる入力アナログ電圧の変動に追随できるようになる。
【0030】
そのように比較電圧を設定する際、各比較電圧のうち隣り合う比較電圧間の電圧差を同じにするようにしておくと、比較結果の評価が容易になるばかりでなく、比較結果が異常であった場合の、正常な状態への回復が容易になる。
【0031】
ディジタル値がdビットである場合、比較電圧間の電圧差は、電圧値を設定される度に2d分の1にされるので、比較結果の評価が一層容易になり、また、異常があった場合に、比較をやり直さなくても、異常な比較がなかった場合と同じ状態に復帰させ易い。
【0032】
比較結果が異常であった場合の復帰方法については、判断用の比較電圧の比較結果から真の入力アナログ電圧の値を推定して行う。
【0033】
このような算出用の比較電圧と、判断用の比較電圧との関係は、判断用の比較電圧が設定される電圧値は、算出用の比較電圧が設定されている範囲の上下に位置させればよく、d=2で、算出用の比較電圧が1個、判断用の比較電圧が2個の場合について図11(a)を用いて説明する。
【0034】
図11(a)の符号DA2は、その算出用の比較電圧を表しており、符号Wで比較電圧間の電圧差を表すものとすると、2個の判断用の比較電圧DA1、DA3(DA1<DA2、DA2<DA3)が、算出用の比較電圧DA2を中心として、±Wの電圧のところに設定された場合を示している。
【0035】
この例では、判断用の比較電圧DA1、DA3の最初の電圧値は、入力アナログ電圧がとり得る最小電圧値(=0)と最大電圧値(=Vref)に設定しておく。最初の電圧差Wは1/2Vrefである。
【0036】
比較動作を行う度に電圧差Wを1/2にし、また、算出用の比較電圧DA2を設定し直す度に、電圧差Wの中央の電圧であって、入力アナログ電圧Ainに近づく方向に設定するようにすると、入力アナログ電圧Ainに変動がなく、比較ミスがない場合は、入力アナログ電圧Ainは、算出用の比較電圧DA2を中心とした±Wの範囲(2Wの範囲)内に必ず納まる。従って、判断用の比較電圧DA1、DA3を用いない場合であっても、入力アナログ電圧がその範囲内にある限り、正確なディジタル電圧データに変換することが可能となる。
【0037】
しかし、入力アナログ電圧Ainが算出用の比較電圧DA2±Wの範囲にあるかないかは、判断用の比較電圧DA1、DA3の比較結果がないと判断できない。
【0038】
入力アナログ電圧Ainが、DA2±Wの範囲にないことを示していた場合には、比較ミスが生じたことが分かる。
【0039】
この場合、入力アナログ電圧Ainの変動は徐々に小さくなることが分かっているため、比較ミスがあった場合でも、入力アナログ電圧Ainの真の値は、比較ミスがあった際の入力アナログ電圧Ainの電圧値から電圧差W以上は離れていないと推定できる。従って、比較ミスがあった場合でも、
DA1−W < Ain < DA1
又は、
DA3 < Ain < DA3+W
のいずれかである。この、各々の電圧範囲を許容誤差範囲とすると、次回の算出用の比較電圧DA2は、いずれか適切な方の筺誤差範囲の中心に位置するように設定すれば、いずれは比較結果は正常なものになる。
【0040】
同図(b)は、算出用の比較電圧を複数設定し、判断用の比較電圧を上下に2個ずつ設定した場合であるが、算出用の比較電圧の個数をm個とすると、入力アナログ電圧Ainを各比較電圧と比較したときに、比較結果が正常になり、修正を行わなくても正しいディジタル電圧データが得られるのは、各算出用の比較電圧が作る幅(m+1)×Wの範囲に入力アナログ電圧Ainが位置しているときである。
【0041】
その範囲外に入力アナログ電圧Ainが位置していた場合には、比較結果は異常となるが、その場合でも、ディジタル値と各比較電圧の電圧値を修正できる許容誤差範囲は、幅(m+1)×Wの範囲の上下の合計4×Wの範囲である(判断用の比較電圧が上下2個の場合)。
【0042】
比較結果が異常であった場合、次回の中心となる算出用の比較電圧を、許容誤差範囲の4×各Wの範囲内の、適切ないずれか1つ範囲の中心に位置させれば、比較ミスを修正することができる。
【0043】
【発明の実施の形態】
本発明のA/Dコンバート方法を以下に説明する。
図1の符号2は、本発明の一実施形態のA/Dコンバータを示すブロック図である。このA/Dコンバータ2は、START信号の入力で動作を開始するコントローラ1と、複数の単位コンパレータを内蔵したコンパレータ3と、レジスタ(逐次比較レジスタ)内蔵の演算回路であるエラーコレクタ5と、そのレジスタの値を保持する出力ラッチ6と、比較電圧設定回路であるD/A変換回路8とを有している。
【0044】
コンパレータ3には入力端子4が設けられており、前段の図示しないサンプルホールド回路がアナログ電圧をサンプリングし、入力電圧Ainとして、その入力端子4に出力するように構成されている。他方、出力ラッチ6には端子71〜7nが並列に設けられており、入力電圧AinのA/Dコンバート結果であるレジスタの値は、出力ラッチ6を介して各端子71〜7nから1ビットずつ並列に出力されるように構成されている。
【0045】
D/A変換回路8には2つの基準電圧VB、VT(VB < VT)が入力されており、その基準電圧VB、VTは、D/A変換回路8内に設けられた図示しない抵抗ラダー間に印加され、分圧されるように構成されている。抵抗ラダーには、図示しないスイッチ素子が接続されており、D/A変換回路8はそのスイッチ素子を制御し、基準電圧VB、VT間の差電圧を分圧して作られた電圧のうち、エラーコレクタ5からの信号に従った値の電圧を取り出して、3個の比較電圧DA1〜DA3(DA1<DA2<DA3)として個別に出力できるように構成されている。
【0046】
各比較電圧DA1〜DA3は、コンパレータ3内に設けられた単位コンパレータ3a〜3cにそれぞれ入力されており、各単位コンパレータ3a〜3cは、入力端子4から入力された入力電圧Ainを、各比較電圧DA1〜DA3とそれぞれ比較し、その結果を、比較結果A、B、Cとして、エラーコレクタ5に出力するように構成されている。
【0047】
この例では、比較電圧DA1〜DA3のうち、中心の比較電圧DA2が算出用の比較電圧として用いられ、ディジタル値が算出される。両端の比較電圧DA1、DA3が判断用の比較電圧として用いられ、これらの比較結果DA1、DA3を用いて比較結果が正常であるか異常であるかが判断される。エラーコレクタ5内のレジスタは、後記するように、比較結果が正常であれば、所定位置の1ビットが順次ディジタル値として決定され、全ビットが決定されると、出力ラッチ6を介して、レジスタの値が、入力電圧Ainのディジタル電圧データへの変換結果として出力される。
【0048】
なお、コントローラ1には、クロックジェネレーターや制御回路が内蔵されており、クロック信号CLKや各種のコントロール信号CONを他の回路に出力するように構成されており、各回路はクロック信号CLKに従ったタイミングで動作している。
【0049】
このA/Dコンバータ2の動作を図2のフローチャートに示す。算出用の比較電圧DA2と、判断用の比較電圧DA1、DA3を用い、入力電圧Ainを4ビットのディジタル電圧データに変換する場合について説明する。
【0050】
いま、基準電圧Vrefを、
Vref = VT−VB
と定めるものとし、簡単にするために、VBはゼロVであるものとする(Vref =VT)。
【0051】
ステップS1では、コントローラ1がエラーコレクタ5の他、A/Dコンバータ2内の回路に対して初期化信号を出力し、各部を初期化する。エラーコレクタ5内の4ビットのレジスタは“0000”にセットされる。
【0052】
このA/Dコンバータ2では、各比較電圧DA1〜DA3間の電圧差は等しくなるように設定されており、その電圧差を「比較電圧差」と呼ぶものとすると、ステップS1では、比較電圧差は最初に1/2Vrefに設定される。
【0053】
エラーコレクタ5内のレジスタの値のうち、比較結果から算出されたディジタル値に決定すべきビットの位置を、「決定ビット位置」と称するものとし、また、決定ビット位置はレジスタ内の最上位のビット位置から最下位のビット位置に向けて1ビットずつ決定されるものとする。ステップS2において、決定ビット位置を最上位ビットにセットする。
【0054】
ステップS3では、レジスタの決定ビット位置(ここでは最上位ビット)の値を“1”にする。
【0055】
ステップS4では、レジスタの値に基いて、算出用の比較電圧DA2が設定される。
【0056】
このA/Dコンバータ2では、4ビットのレジスタの値、
“0001”、“0010”、“0011”、……“1111”
に対し、電圧値が、予め、
1/16Vref、2/16Vref、3/16Vref、……、15/16Vref
と、一対一に対応させられており、ここではレジスタの内容が、“1000”であるから、算出用の比較電圧DA2は、D/A変換回路8内で、その電圧値に対応する8/16Vref(=1/2Vref)に設定される。即ち、
DA2 = 1/2Vref
となる。
【0057】
次いで、ステップS5にて、判断用の比較電圧DA1、DA3の電圧値が、中心となる算出用の比較電圧DA2に対して比較電圧差(=1/2Vref)分だけ増減した電圧値に設定される。結局、各比較電圧DA1〜DA3は、
DA3 = 2/2Vref
DA2 = 1/2Vref
DA1 = 0/2Vref
に設定され、その電圧値がD/A変換回路8から出力され、各単位コンパレータ3a〜3cに入力される。
【0058】
図3に、算出用の比較電圧DA2を○のプロットで、判断用の比較電圧DA1、DA3を□のプロットで示す。今回の比較電圧DA1〜DA3の設定は、最初であり、図3の1stの位置である。尚、本例では比較電圧DA2と比較電圧DA1、DA3とを夫々別のステップ(S4,S5)にて設定しているが、同一のステップで設定してもよい。
【0059】
ステップS6では、各単位コンパレータ3a〜3cが入力電圧Ainを各比較電圧DA1〜DA3と比較し、その結果を、最初の比較結果A1、B1、C1としてエラーコレクタ5に出力する。
【0060】
この例では、各比較結果A1、B1、C1は、入力電圧Ainが各比較電圧DA1〜DA3よりも大きい場合に、それぞれ“1”とされ、小さい場合に“0”とされるものとする。
【0061】
ステップS7では、今回の算出用の比較電圧DA2の出力結果B2の値を、決定ビット位置(ここでは最上位ビット)の値として仮に決定する。
【0062】
次に、ステップS8では、比較結果が正常であるか異常であるか判断される。判断結果が正常であれば、ステップS8からステップS9に移行する。他方、異常と判断された場合には、ステップS20に移行する。入力電圧Ainは必ずVBとVTの間の電位にあるものとし、最初の比較では比較ミスは生じないものとすると、最初の比較結果は必ず正常となり、必ずステップS9に移行する。
【0063】
ステップS9では、仮に決定した決定ビット位置の値をそのまま正式に決定し、レジスタの値を確定させる。尚、上述したステップS7の処理は必ずしも必要ではなく、このステップS9の処理のみでも良い。
【0064】
次に、ステップS10では、レジスタの値が全て決定されたか否か判断し、決定されていないビットがある場合はステップS11に移行し、全部決定されている場合はステップS15に移行する。ここでは最上位ビットしか決定されていないので、ステップS15には移行せず、ステップS11に移行する。
【0065】
ステップS11では、決定ビット位置を下位ビット側にシフトさせる。このA/Dコンバータ2は、レジスタの値を1ビットずつ決定するのであるから、決定ビット位置は最上位ビットから下位ビット側に1ビットシフトし、2ビット目の位置にされる。
【0066】
次いで、ステップS12にて、今回の比較電圧差を2d分の1にして次回の比較電圧差を設定する。この実施例では、dは1であり、比較電圧差は1/2にされるので、次回の比較電圧差は1/4Vrefになる。
【0067】
次いで、処理はステップS3に戻される。このステップS3では、決定ビット位置(最上位から2ビット目)のレジスタの値が“1”にされる。
【0068】
ステップS4では、レジスタの値に基づいて算出用の比較電圧DA2の値を設定する。
【0069】
先ず、最上位ビットの値が“1”である場合を説明すると、ステップS3で2ビット目の値は“1”にされるので、レジスタの値は“1100”となる。“1100”に対応する電圧値は3/4Vrefであり、ステップS4で、算出用の比較電圧DA2は、
DA2 = 3/4Vref
に設定される。
【0070】
他方、比較電圧差Wは1/4Vrefであり、ステップS5で、判断用の比較電圧DA1、DA3が、
DA3 = 4/4Vref
DA1 = 2/4Vref
に設定される。それら比較電圧DA1〜DA3を図3の2ndの位置に示した。
【0071】
次に、最上位ビットが“0”である場合を説明すると、この場合も2ビット目の値は“1”にされているので、レジスタの値は“0100”となる。“0100”に対応する電圧値は、1/4Vref、比較電圧差は1/4Vrefであり、各比較電圧DA1〜DA3は、
DA3 = 2/4Vref
DA2 = 1/4Vref
DA1 = 0/4Vref
に設定される。
【0072】
いずれにしろ、次のステップS6では、単位コンパレータ3a〜3cが、入力電圧Ainを各比較電圧DA1〜DA3とそれぞれ比較し、その結果を、2回目の比較結果A2、B2、C2として出力する。
【0073】
ステップS7では、比較結果B2の値が決定ビット位置(最上位から2番目の位置)の値として仮に決定される。
【0074】
次のステップS8では、比較結果の正常性を判断する。入力電圧Ainが、今回の比較電圧DA1〜DA3の範囲内にあれば正常であると判断し、ステップS9に移行する。
【0075】
他方、今回(2回目)の比較結果A2が“0”、又は比較結果C2が“1”となっていた場合には、入力電圧Ainは今回の比較電圧DA1〜DA3の範囲内になく、比較結果は異常と判断し、ステップS20の修正ルーチンに移行する。
【0076】
ここでは、比較結果は正常であり、ステップS8からステップS9に移行したものとする。ステップS9で、決定ビット位置(2番目のビット位置)の値をそのまま正式に決定する。
【0077】
次いで、ステップS10に移行し、終了か否かを判断する。ここでは終了ではないのでステップS11に移行する。ステップS11で決定ビット位置を1ビットだけ下位側にシフトさせ、3ビット目の位置にする。比較電圧差を半分にし(1/8Vref)、処理をステップS3に戻す。
【0078】
ステップS3では、レジスタの決定ビット位置(3ビット目)の値を“1”にする。
上位2ビットの値が“11”の場合、レジスタの値は“1110”となり、ステップS4で、算出用の比較電圧DA2が、そのレジスタの値に対応する電圧7/8Vrefに設定される。即ち、
DA2 = 7/8Vref
となる。
【0079】
次いで、ステップS5で、判断用の比較電圧DA1、DA3は、算出用の比較電圧DA2の値に対し、比較電圧差(=1/8Vref)が増減された電圧値に設定される。結局、各比較電圧DA1〜DA3は、
DA3 = 8/8Vref
DA2 = 7/8Vref
DA1 = 6/8Vref
に設定される。
【0080】
他方、上位2ビットの値が“10”の場合、3ビット目の値を“1”にすると、レジスタの値は“1010”となり、各比較電圧DA1〜DA3は、
DA3 = 6/8Vref
DA2 = 5/8Vref
DA1 = 4/8Vref
と設定される。
【0081】
上位2ビットの値が“01”の場合や“00”の場合も同様であり、レジスタの値はそれぞれ“0110”、“0010”となる。“0110”の場合は、
DA3 = 4/8Vref
DA2 = 3/8Vref
DA1 = 2/8Vref
と設定される。“0010”の場合は、
DA3 = 2/8Vref
DA2 = 1/8Vref
DA1 = 0/8Vref
と設定される。
【0082】
各比較電圧DA1〜DA3がいずれの値に設定されるにしろ、次のステップS5にて、単位コンパレータ3a〜3cは入力電圧Ainを、設定された比較電圧DA1〜DA3と比較し、3回目の比較結果A3、B3、C3を出力する。それらのうち、比較結果B3をレジスタの決定ビット位置(3ビット目)の値として決定する。
【0083】
このように、比較結果Bを用いてレジスタの値は1ビットずつ決定され、最下位ビット(4ビット目)の値が正式に決定されるとステップS10からステップS15に移行する。コントローラがEND信号を外部に出力したところで、そのレジスタの内容が出力ラッチ6を介してディジタル電圧データとして取り出され、変換処理は終了する。
【0084】
以上は比較結果が正常と判断された場合について説明したが、今度は、ステップS8において、比較結果が異常と判断され、ステップS20の修正ルーチンに移行する場合の処理について説明する。
【0085】
この修正ルーチンは、最上位ビット以外の位置のビットを修正するために用いられるものであり、この修正ルーチンに移行したときは、入力電圧Ainが比較電圧DA3〜DA1の範囲を逸脱していた場合であるから、
【0086】
Ain < DA1 又は DA3 < Ain
となっていた場合であり、比較結果Aが“0”(この場合は、比較結果A〜Cが全て“0”となる)であるか、比較結果Cが“1”(この場合は、比較結果A〜Cが全て“1”となる)である場合である。
【0087】
比較結果Aが“0”の場合、入力電圧Ainの真の値は、
DA1−W < Ain < DA1
の範囲にあるものと推定し、次回の比較電圧DA1〜DA3の範囲を、上記DA1−W〜DA1の範囲に設定し、処理を行う。
【0088】
他方、比較結果Cが“1”の場合、入力電圧Ainの真の値は、
DA3 < Ain < DA3+W
の範囲にあるものと推定し、次回の比較電圧DA1〜DA3の範囲を、上記DA3〜DA3+Wの範囲に設定し、処理を行う。
【0089】
次回の比較電圧DA1〜DA3の範囲を上述したように設定するためには、比較結果Aが“0”の場合、ステップS20において、前回正式に決定したビット位置の値から“1”を減算し、ステップS21において今回の決定ビット位置の値を“1”にすることでレジスタの値を修正する。他方、比較結果Cが“1”の場合、ステップS20において、前回正式に決定したビット位置の値に“1”を加算し、ステップS21において今回の決定ビット位置の値を“0”にすることでレジスタの値を修正する。
【0090】
具体例を示して説明すると、図3の実線で示すように、入力電圧Ainの真の値が、
12/16Vref < Ain <13/16Vref
であるのに、2回目の比較のとき(図3の2nd)、
Ain <12/16Vref
となったものとすると、2回目の比較のときに、
DA2 < Ain
とすべきところを、
Ain < DA2
としてしまったことになる。
【0091】
3回目の比較(図3の3st)では、比較電圧DA1〜DA3は、
DA3 = 6/8Vref
DA2 = 5/8Vref
DA1 = 4/8Vref
として設定されており、入力電圧Ainとの比較を行うと、
DA1 < DA2 < DA3 < Ain
となるので、3回目の比較結果A3、B3、C3は全て“1”となってしまう。
【0092】
比較結果C3が“1”であれば、ステップS8で比較結果は異常と判断されるので、ステップS20に移行する。このとき、レジスタの値は“1010”となっているが、このステップS20で、前回(2nd)正式に決定されたビット位置の値に“1”を加算するので、レジスタの値は“1110”になる。
【0093】
次いで、ステップS21で、今回(3st)の決定ビット位置の値を“0”にすると、レジスタの値は“1100”に修正され、次いで、処理はステップS10に戻る。
【0094】
ステップS11、S12で、決定ビット位置がシフトされ、また比較電圧差がVref/16にされ、処理がステップS3に戻ると、決定ビット位置の4ビット目が1にされ、レジスタの値は“1101”になる。ステップS4では、そのレジスタの値に基いて、中心となる比較電圧DA2が、
DA2 = 13/16Vref
と設定され、次いで、ステップS5で、
DA3 = 14/16Vref
DA1 = 12/16Vref
と設定されると、
DA1 < Ain < DA2 < DA3
となる。以上の処理によって、入力電圧Ainの真の値が、比較電圧DA1〜DA3の範囲内に納められる。
【0095】
次に、他の比較ミスの処理工程を具体的に説明する。図3の破線で示すように、入力電圧Ainが、
8/16Vref < Ain < 9/16Vref
であるのに、2回目の比較のとき(図3の2nd)、
Ain < 8/16Vref
となり、2回目の比較のときに、
DA1 < Ain
とすべきところを、
Ain < DA1
としてしまったものとする。
【0096】
ステップS8で比較結果は異常であると判断され、ステップS20に移行すると、2回目(2nd)の比較の際に“1100”となっていたレジスタの値は、ステップS20、S21において“0100”と修正される(桁上がりによるオーバーフローがある)。その後、ステップS10、S11、S12を経て、処理がステップS3に戻ったところでレジスタの値は“0110”にされ、その後、ステップS12、S3、S4、S5で、3回目の比較電圧DA1〜DA3が、
DA3 = 8/16Vref
DA2 = 6/16Vref
DA1 = 4/16Vref
に設定される。
【0097】
しかしながら、入力電圧Ainは、設定されたいずれの比較電圧DA1、DA2、DA3よりも高いので、3回目(3st)の比較を行ったとき、比較結果A3、B3、C3は全て“1”となり、この3回目の比較も比較ミスとなる。従って、ステップS8で比較結果は異常であると判断され、ステップS20に移行する。このときのレジスタの値は“0110”であるが、ステップS20、S21を経て、“1000”に修正される。
【0098】
その後、ステップS10、S11、S12、S3〜S5で、4回目の比較電圧DA1〜DA3が、
DA3 = 10/16Vref
DA2 = 9/16Vref
DA1 = 8/16Vref
と設定されると、入力電圧Ainは、4回目に設定された比較電圧DA1〜DA3の範囲内に納められる。
【0099】
以上説明したように、この実施例では、算出用の比較電圧DA2の比較結果(1又は0)をレジスタ決定ビット位置の値として用い、1回の比較で入力電圧Ainが1ビットずつ決定され、ディジタル電圧データの精度が1ビットずつ向上することになるが、途中で比較ミスがあった場合でも、比較回数を増やすことなく正しいディジタル電圧データを求めることができる。
【0100】
次に、本発明の他の実施形態のA/Dコンバータを説明する。前述のA/Dコンバータ2はディジタル電圧データを1ビットずつ決定することで、その精度を1ビットずつ高めるものであったが、図4の符号12に示したA/Dコンバータは、2ビットずつ決定するものである。
【0101】
このA/Dコンバータ12は、前述のA/Dコンバータ2と同様の構成であり、コンパレータ13に接続された入力端子14には、図示しない前段のサンプルホールド回路が接続されており、そのサンプルホールド回路はアナログ電圧をサンプリングし、入力電圧Ainとして、入力端子14に出力するように構成されている。他方、出力ラッチ16には、端子171〜17nが並列に設けられており、入力電圧AinをA/D変換した結果であるディジタル電圧データは、エラーコレクタ15内のレジスタの値として、各端子171〜17nから、出力ラッチ16を介して1ビットずつ並列に出力されるように構成されている。
【0102】
D/A変換回路18に入力された基準電圧VT、VB(VT>VB)は、D/A変換回路18内に設けられた抵抗ラダーによって分圧されており、このA/Dコンバータ12でも、所望電圧値の比較電圧が得られるように構成されている。
【0103】
コンパレータ13内には、5個の単位コンパレータ13a〜13eが設けられており、各単位コンパレータ13a〜13eに対し、D/A変換回路18から、5個の比較電圧DA1〜DA5(DA1 < DA2 < DA3 < DA4 < DA5)が個別に出力されるように構成されている。
【0104】
各単位コンパレータ13a〜13eには、入力端子14からの入力電圧Ainも入力されており、各単位コンパレータ13a〜13eは、その入力電圧Ainを各比較電圧DA1〜DA5とそれぞれ比較し、その結果を比較結果A、B、C、D、Eとしてエラーコレクタ15に出力するように構成されている。
【0105】
エラーコレクタ15内にはレジスタが設けられており、後記するように、入力された比較結果A〜Eのうち、比較結果B、C、Dに基いて、下記表、
【0106】
【表1】
【0107】
のディジタル値を生成し、そのディジタル値によってレジスタ内の値を順次2ビットずつ決定する。
全ビットが決定されると、そのレジスタの値が、ディジタル電圧データとして出力ラッチ16を介して、端子171〜17nから出力される。
【0108】
このADコンバーター12の動作を説明する。最大と最小の比較電圧DA1、DA5を判断用の比較電圧として用い、3個の比較電圧DA2〜DA4を算出用の比較電圧として用い、1回の比較動作で2ビットの変換を行い、入力電圧Ainを8ビットのディジタル電圧データに変換する場合について説明する。
【0109】
この例でも、基準電圧Vrefを、
Vref = VT−VB
と定めるものとし、ここでもVBはゼロVであるものとする(Vref=VT)。また、レジスタ内の値は、最上位のビット位置から順次下位ビットに向けて2ビットずつ決定するものとする。
【0110】
処理手順は図2に示したフローチャートと同様であり、ステップS1では、コントローラ11がエラーコレクタ15の他、他の回路に対して初期化信号を出力し、各部を初期化する。このとき、エラーコレクタ15内の8ビットのレジスタは“00000000”にセットされ、最初の比較電圧差Wは1/4Vrefにセットされる。
【0111】
ステップS2において、決定ビット位置は最上位のビットと2番目のビットの合計2ビットにセットされる。
【0112】
ステップS3では、レジスタの決定ビット位置の値を“10”にする(レジスタの値は“10000000”になる)。
【0113】
このA/Dコンバータ12でも、レジスタの値によって、電圧値が1個定まるように構成されており、レジスタの値、“00000001”、“00000010”、“00000011”、……“11111111”のそれぞれに対して、電圧値は、1/256Vref、2/256Vref、3/256Vref、……、255/256Vref となるようにされている。
【0114】
ステップS4では、レジスタの内容と比較電圧差Wとから、算出用の比較電圧DA2〜DA4の電圧値を設定する。
【0115】
いま、レジスタの内容が、“10000000”であり、中心となる算出用の比較電圧DA3は、そのレジスタの値に対応する128/256Vref(=1/2Vref)に設定される。比較電圧差は1/4Vrefであり、算出用の比較電圧DA2、DA4は、レジスタの値に対応する電圧値に対し、比較電圧幅分だけ増減した電圧値に設定される。結局、各比較電圧DA2〜DA4は、
DA4 = 3/4Vref
DA3 = 2/4Vref
DA2 = 1/4Vref
と設定される。
【0116】
次いで、ステップS5にて、レジスタの値と比較電圧差とから、判断用の比較電圧DA1、DA5が、それぞれ比較電圧DA1〜DA3の範囲の比較電圧幅分だけ外
【0117】
DA5 = 4/4Vref
DA1 = 0/4Vref
と設定される。結局、各比較電圧DA1〜DA5は、
DA5 = 4/4Vref
DA4 = 3/4Vref
DA3 = 2/4Vref
DA2 = 1/4Vref
DA1 = 0/4Vref
と設定される。
【0118】
ステップS6では、各単位コンパレータ13a〜13eが入力電圧Ainを各比較電圧DA1〜DA5とそれぞれ比較し、1回目の比較結果A1、B1、C1、D1、E1を求める。
【0119】
この実施の形態においても、各比較結果A、B、C、D、Eは、入力電圧Ainが大きい場合に“1”に、小さい場合に“0”にされるものとする。
【0120】
ステップS7では、算出用の比較電圧DA2〜DA4の比較結果B、C、Dの値と上述した表1に示したテーブルを用いて2ビットのディジタル値を生成し、これを決定ビット位置(ここでは最上位の2ビット)の値として仮に決定する。
【0121】
次に、ステップS8では、比較結果A〜Eが正常であるか異常であるかを判断する。正常な場合には、ステップS8からステップS9に移行する。他方、異常であると判断した場合にはステップS20に移行する。
【0122】
入力電圧Ainは必ずVBとVTの間の電位にあるものとし、最初の比較結果は正常であり、ステップS9に移行するものとする。
【0123】
ステップS9では、仮に決定した決定ビット位置の値を正式に決定する。ステップS20の修正ルーチンを経ていないので、ステップS7で仮に決定された値がそのまま正式に決定される。
【0124】
次に、ステップS10では、レジスタの値が全て決定されたか否か判断する。ここでは、最上位の2ビットしか決定されていないのでステップS11に移行し、決定ビット位置を2ビットだけ下位側にシフトさせ、決定ビット位置を3ビット目と4ビット目の2ビットにする。
【0125】
次いで、ステップS12にて、比較電圧差を2d分の1にする。この実施例では、ディジタル電圧データが2ビットずつ決定されるので、dは2である。従って、比較電圧差は、ステップS12を経る毎に1/4にされる。今回、比較電圧差Wは、1/16Vrefになる。
【0126】
次いで、処理はステップS3に戻される。このステップS3では、決定ビット位置(最上位から3及び4ビット目)のレジスタの値を“10”にする。
【0127】
ステップS4、S5では、レジスタの値と比較電圧差Wとから、各比較電圧DA1〜DA5を設定する。
【0128】
いま、レジスタの最上位の2ビットが“10”であるものとすると、ステップS3で3ビット目及び4ビット目の値が“10”にされると、レジスタの値は“10100000”になる。中心の算出用の比較電圧DA3は、その値に対応する電圧値(DA3 = 160/256Vref = 10/16Vref)に設定され、他の比較電圧DA1、DA2、DA4、DA5は、レジスタの値と比較電圧差(=1/16Vref)とから設定され、結局、各比較電圧DA1〜DA5は、
DA5 = 12/16Vref
DA4 = 11/16Vref
DA3 = 10/16Vref
DA2 = 9/16Vref
DA1 = 8/16Vref
に設定される。
【0129】
他方、最上位の2ビットが“01”である場合には、レジスタの値は“01100000”(対応する電圧値は6/16Vref)となり、各比較電圧DA1〜DA5は、
DA5 = 8/16Vref
DA4 = 7/16Vref
DA3 = 6/16Vref
DA2 = 5/16Vref
DA1 = 4/16Vref
と設定される。
【0130】
各比較電圧DA1〜DA5がいずれの電圧値に設定されるにしろ、次のステップS6では、単位コンパレータ13a〜13eは、入力電圧Ainを設定された比較電圧DA1〜DA5とそれぞれ比較し、その結果を2回目の比較結果A2、B2、C2、D2、E2として出力する。そして、ステップS7で、比較結果B2、C2、D2と表1とから2ビットのディジタル値を求め、これをレジスタの決定ビット位置(3番目と4番目の2ビット)の値として仮に決定する。
【0131】
次のステップS8では、比較結果の正常性を判断し、入力電圧Ainが、今回の比較電圧DA1〜DA5の範囲内にあり、比較結果が正常である場合にはステップS9に移行し、異常である場合にはステップ20に移行する。
【0132】
異常と判断される場合は、比較結果A〜Eのうち、判断用の比較電圧DA1の比較結果Aが“0”(この場合、A〜Eは全て“0”)であるか、又は判断用の比較電圧DA5の比較結果Eが“1”(この場合、A〜Eは全て“1”)のときである。
【0133】
ここでは、比較結果が正常であり、ステップS8からステップS9に移行したものとする。
【0134】
このステップS9において、決定ビット位置の値を正式に決定し、次いで、ステップS10に移行し、終了か否かを判断する。今回は終了ではないのでステップS11に移行する。このステップS11で決定ビット位置を下位ビット側にシフトさせ、5ビット目と6ビット目にする。また、比較電圧差を前回の1/4の1/64Vrefにし、処理をステップS3に戻す。
【0135】
ステップS3では、エラーコレクタ15内の決定ビット位置の2ビットの値を“10”にする。
【0136】
例えば、最上位ビットと2ビット目の2ビットの値が“10”、3ビット目と4ビット目の2ビットの値が“11”である場合、レジスタの値は、“10111000”となる。ステップS4、S5では、中心となる算出用の比較電圧DA3が、その“10111000”に対応する電圧値(=46/64Vref)に設定され、そのレジスタの値と比較電圧差から、結局、各比較電圧DA1〜DA5は、
DA5 = 48/64Vref
DA4 = 47/64Vref
DA3 = 46/64Vref
DA2 = 45/64Vref
DA1 = 44/64Vref
と設定される。
【0137】
他方、最上位ビットと2ビット目の2ビットの値が“10”であり、3ビット目と4ビット目の値が“10”であれば、レジスタの値は“10101000”になり、その値に対応する電圧値は、43/64Vrefであるから、結局、各比較電圧DA1〜DA5は、
DA5 = 45/64Vref
DA4 = 44/64Vref
DA3 = 43/64Vref
DA2 = 42/64Vref
DA1 = 41/64Vref
と設定される。
【0138】
最上位ビットと2ビット目の2ビットの値が“01”の場合も同様に、ステップS5でレジスタの値と比較電圧差Wから、各比較電圧DA1〜DA5が設定される。このように各比較電圧DA1〜DA5が設定されると、次のステップS6において、単位コンパレータ13a〜13eによって、入力電圧Ainが設定された比較電圧DA1〜DA5と比較され、3回目の比較結果A3、B3、C3、D3、E3が求められ、比較結果B3、C3、D3と表1によりディジタル値が生成され、レジスタの決定ビット位置の2ビットの値がそのディジタル値に仮に決定される。
【0139】
以上説明したように、3つの算出用の比較電圧DA2〜DA4を用い、レジスタの値は2ビットずつ決定される。最下位の2ビット(7ビット目及び8ビット目のビット)が正式に決定されるとステップS10で終了と判断され、処理はステップS15に移行し、そのレジスタの内容は出力ラッチ16を介してディジタル電圧データとして出力され、変換処理は終了する。
【0140】
次に、ステップS8において比較結果が異常である判断され、ステップS20に移行した場合の処理について説明する。
【0141】
このステップ20の修正ルーチンは最上位の2ビット以外の位置のビットを修正する際に用いられるものであり、比較結果が異常な場合、今回の比較電圧DA1、DA5と今回の比較電圧幅Wとから、真の入力電圧Ainは下記範囲、
DA1−W < Ain < DA1 (比較結果Aが“0”の場合)
DA5 < Ain < DA5+W (比較結果Cが“1”の場合)
にあるものと推定し、次回の比較電圧DA1〜DA5の範囲を、上記DA1−W〜DA1、又はDA5〜DA5+Wの範囲に設定する。
【0142】
この修正方法を、図5、及び図5の部分拡大図である図6〜図9を用い、入力電圧の比較ミスを、Ain1〜Ain4の4つの入力電圧の場合に分けて具体的に説明する。
【0143】
入力電圧Ain1〜Ain4は、それぞれ1回目の比較(1st)のときはDA3〜DA4の範囲内にあり、正常な比較結果が得られたが、2回目の比較のときに各入力電圧Ain1〜Ain4が真の値よりも小さくなり、2回目の比較電圧DA1〜DA4に対し、正常である場合には、
であるのに対し、
のような比較結果が得られてしまったものとする。
【0144】
上記入力電圧Ain1〜Ain4のうち、入力電圧Ain2〜Ain4については、2回目の比較のときには比較結果は正常であるので、その比較結果に基づいて設定された3回目の比較電圧DA1〜DA5は、図5中の▲1▼〜▲3▼の位置にある。
【0145】
他方、入力電圧Ain1については、2回目の比較のとき比較結果Aが“0”(A〜Eは全て“0”)となり、比較結果が異常と判断され、3回目に設定される比較電圧は、図5中の▲1▼の位置になる(3回目の比較電圧のうち、最大の比較電圧DA5が2回目の最小の比較電圧DA1と一致する)。各入力電圧Ain1〜Ain4について、3、4回目の比較電圧DA1〜DA5の推移を図6〜図9に拡大して示す。
【0146】
3回目の比較の際には入力電圧Ain1〜Ain4は、真の電圧値に復帰しているので、3回目の比較電圧DA1〜DA5と比較した場合、各入力電圧Ain1〜Ain4の比較結果は、全てについて比較結果Eが“1”になり、3回目の比較結果は異常と判断される(入力電圧Ain1については、2回連続して比較結果が異常と判断される)。
【0147】
比較結果Eが“1”なので、4回目に設定される比較電圧DA1〜DA5は、それらのうちの最小の比較電圧DA1が、3回目の比較電圧のうちの最大の比較電圧DA5と一致するように設定される。すると、各入力電圧Ain1〜Ain4について、4回目の比較結果は正常なものとなり、かくて全ての入力電圧Ain1〜Ain4について、2回目(2nd)に生じた比較ミスの修正が完了する。
【0148】
以上説明したように、この実施の形態では中心の3つの算出用の比較電圧DA2〜DA4によって比較電圧差Wの領域を4つ作り、ディジタル電圧データを2ビットずつ決定している。
【0149】
その2ビットの決定の際には、外側の2つの比較電圧DA1、DA5は用いられず、冗長なものとなっているが、判断用の比較電圧DA1、DA5は、比較結果が正常であるか異常であるかの判断に用いられ、入力電圧Ainの振動等による比較結果が異常であると判断された場合には、上述したように、比較結果のミスにより決定されたレジスタの値を修正できるようにされている。
【0150】
なお、上述の修正を行うためには、具体的には、ステップ、S20、S21にて次のような処理を行う。
【0151】
比較結果Aが“0”(Ain < DA1)であった場合、ステップS20では、前回の決定ビット位置の2ビットの値から“01”を減算し(桁下がりする場合がある)、ステップS21で、今回の決定ビット位置の2ビットの値を“11”にする。
【0152】
他方、比較結果Aが“0”(DA5 < Ain)であった場合、ステップS20では、前回の決定ビット位置の2ビットの値に“01”を加算し(桁上がるする場合がある)、ステップS21で、今回の決定ビット位置の2ビットの値を“00”にする。
【0153】
このように、レジスタの値が修正されるとその後の比較電圧DA1〜DA5の設定は正しく行われ、正確なディジタル電圧データが得られる。
【0154】
なお、図5は、入力電圧Ainが2回目の比較の際に一時的に低下してしまった場合であるが、一時的に増加した場合も、同様に正しいディジタル電圧データが得られる。その場合の各比較電圧DA1〜DA5の推移を図10に示しておく。
【0155】
以上説明した実施の形態では、算出用の比較電圧によってディジタル電圧データを求める際、判断用の比較電圧を2個設定して比較ミスを修正するようにしたが、判断用の比較電圧を4個以上設定してもよいことは言うまでもない。但し、算出用と判断用の比較電圧を複数配置する場合でも、算出用の比較電圧は奇数個、判断用の比較電圧は偶数個とし、算出用の比較電圧の範囲の上下に同数ずつ配置するのが便利である。また、本例ではディジタル電圧データを2ビットずつ決定しているが、これを2以上の複数個、例えば4ビットずつ決定する構成としてもよい。
【0156】
なお、以上説明した入力電圧と比較電圧との大小関係に於いて、
入力電圧Ain < 比較電圧DA
の場合であるか、
比較電圧DA < 入力電圧Ain
の場合であるかしか記載せず、
比較電圧DA = 入力電圧Ain
の場合分については言及しなかったが、比較電圧DAと入力電圧Ainとの大小関係は、A/Dコンバータの実用上、必ず成立するものとして説明した。
【0157】
【発明の効果】
所定制度のディジタル電圧データを求める際、2d−1個の算出用の比較電圧を用い、その比較結果からdビットのディジタル値を求めて入力電圧のディジタル化を行うので、A/D変換が早く終了する。その場合、D/A変換回路やコンパレータを高速化したり、回路規模を大きくする必要がない。
【0158】
比較ミスがあった場合でも、容易に正しい値に修正することができる。その際、比較をやり直さなくて済むので、速度が低下することはない。
【0159】
一般に、コンパレータの精度やD/A変換回路の精度を高めるのは容易であるので、回路規模を大きくしなくても比較回数を増やすだけで正確な多ビットのディジタル電圧データを得ることが可能となる。
【図面の簡単な説明】
【図1】 本発明に係る第1例のA/Dコンバータのブロック図
【図2】 そのA/Dコンバータの動作を説明するためのフローチャート
【図3】 そのA/Dコンバータの比較電圧の推移を説明するための図
【図4】 本発明に係る第2例のA/Dコンバータのブロック図
【図5】 そのA/Dコンバータの比較電圧の推移の一例を説明するための図
【図6】 図6の入力電圧Ain1の推移を説明するための拡大図
【図7】 図6の入力電圧Ain2の推移を説明するための拡大図
【図8】 図6の入力電圧Ain3の推移を説明するための拡大図
【図9】 図6の入力電圧Ain4の推移を説明するための拡大図
【図10】 本発明に係る第2例のA/Dコンバータの比較電圧の推移の他の例を説明するための図
【図11】(a)、(b):比較範囲とディジタル電圧データを求める範囲と許容誤差範囲とを説明するための図
【図12】 従来技術のA/Dコンバータを説明するためのブロック図
【図13】 入力電圧の変動を説明するためのグラフ
【符号の説明】
2、12……A/Dコンバータ 3、13……コンパレータ 5、15……演算回路(エラーコレクタ) 8、18……比較電圧設定回路(D/A変換回路) Ain……入力電圧 DA1〜DA5……比較電圧
Claims (5)
- 入力アナログ電圧を入力アナログ電圧の範囲内の比較電圧と逐次比較してディジタルデータをdビットずつ順次に決定するA/Dコンバータであって、
上記ディジタルデータを決定する動作が、
決定ビットであるdビットを含めたディジタルデータを所定値に設定する第1の段階と、
ディジタルデータに基づいて夫々値の異なる2d+1個以上の比較電圧を生成する第2の段階と、
入力アナログ電圧と上記比較電圧を比較する第3の段階と、
上記比較結果が正常の場合には、上記比較電圧のうち2d−1個の比較結果に基づいて決定ビットであるdビットの値を決定する第4の段階と、
上記比較結果が異常の場合には、上記比較結果に基づいて前回の決定ビットの値を修正すると共に今回の決定ビットであるdビットの値を決定する第5の段階と、
ディジタルデータの全てのビットが決定されたか否かを判定する第6の段階と、
ディジタルデータの全てのビットが決定されている場合には、その決定されたディジタルデータを出力する第7の段階と、
ディジタルデータの全てのビットが決定されていない場合には、決定ビットをdビット下位ビット側にシフトする第8の段階と、
を有し、ディジタルデータの全てのビットの値が決定されるまで上記第2の段階以降の処理を繰り返すA/Dコンバータ。 - 上記第2の段階において生成される2d+1個以上の各比較電圧間の電圧差が、処理が繰り返される毎に小さくなる請求項1に記載のA/Dコンバータ。
- 上記第2の段階において生成される2d+1個以上の各比較電圧間の電圧差が、処理が繰り返される毎に2d分の1になる請求項1に記載のA/Dコンバータ。
- 上記第2の段階において生成される2d+1個以上の各比較電圧間の電圧差が、夫々等しい請求項1乃至3の何れかに記載のA/Dコンバータ。
- 上記第2の段階において生成される比較電圧が2 d +1個であり、2 d +1個の各比較電圧間の電圧差が処理が繰り返される毎に2 d 分の1になり、2 d +1個の各比較電圧間の電圧差が夫々等しく、上記dが1である請求項1に記載のA/Dコンバータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02099897A JP3805850B2 (ja) | 1997-01-20 | 1997-01-20 | A/dコンバータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02099897A JP3805850B2 (ja) | 1997-01-20 | 1997-01-20 | A/dコンバータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10209870A JPH10209870A (ja) | 1998-08-07 |
JP3805850B2 true JP3805850B2 (ja) | 2006-08-09 |
Family
ID=12042792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02099897A Expired - Fee Related JP3805850B2 (ja) | 1997-01-20 | 1997-01-20 | A/dコンバータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3805850B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4308841B2 (ja) | 2006-11-08 | 2009-08-05 | 株式会社半導体理工学研究センター | アナログ−デジタル変換器 |
JP4932619B2 (ja) * | 2007-07-03 | 2012-05-16 | ルネサスエレクトロニクス株式会社 | A/dコンバータ |
JP2010063055A (ja) | 2008-09-08 | 2010-03-18 | Sony Corp | 逐次比較型a/d変換器、逐次比較型a/d変換器の制御方法、固体撮像装置および撮像装置 |
JP5263268B2 (ja) * | 2010-11-10 | 2013-08-14 | ソニー株式会社 | 逐次比較型a/d変換器および固体撮像装置 |
JP2012227623A (ja) * | 2011-04-15 | 2012-11-15 | Toyota Motor Corp | A/dコンバータ、マイコン、故障判定方法 |
JP5657490B2 (ja) * | 2011-08-29 | 2015-01-21 | 株式会社東芝 | 逐次比較型ad変換器および無線受信機 |
JP6102521B2 (ja) * | 2013-05-29 | 2017-03-29 | 株式会社ソシオネクスト | Sarアナログ・デジタル変換方法およびsarアナログ・デジタル変換回路 |
JP6736871B2 (ja) * | 2015-12-03 | 2020-08-05 | セイコーエプソン株式会社 | 回路装置、発振器、電子機器及び移動体 |
-
1997
- 1997-01-20 JP JP02099897A patent/JP3805850B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10209870A (ja) | 1998-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5072221A (en) | Error limiting analog to digital converter | |
US7986253B2 (en) | Method and apparatus for digital error correction for binary successive approximation ADC | |
US7605738B2 (en) | A-D converter and A-D convert method | |
JP2697406B2 (ja) | 多重クロック・サイクルを持つサブレンジ型アナログ・デジタル変換器 | |
US9800255B2 (en) | Method and circuit for testing successive approximation ADC | |
US7773012B2 (en) | A/D converter | |
JP2003283336A (ja) | A/d変換回路 | |
KR0139508B1 (ko) | 세미플래쉬형 아날로그/디지탈 변환기 및 변환 방법 | |
US5617091A (en) | Resistance ladder, D-A converter, and A-D converter | |
JP3805850B2 (ja) | A/dコンバータ | |
US6590518B1 (en) | Apparatus and method for an improved subranging ADC architecture using ladder-flip bussing | |
US6420983B1 (en) | On-line offset cancellation in flash A/D with interpolating comparator array | |
EP0214831A2 (en) | Analog-to-digital converter and method of analog-to-digital conversion | |
JP4999955B2 (ja) | アナログ−デジタル変換器の動作試験方法、アナログ−デジタル変換器およびアナログ−デジタル変換器の動作試験装置 | |
US6163291A (en) | Successive approximation analog to digital converter with bit error correction | |
JP3607735B2 (ja) | 逐次比較アナログ−デジタルコンバータの容量性ミスマッチにより生ずるミスシングコード用のデジタル修正方法及び装置 | |
JPH08330961A (ja) | A/d変換器 | |
US20230147156A1 (en) | Semiconductor device, analog-to-digital converter and analog-to-digital converting method | |
JPH118557A (ja) | A/d変換器 | |
EP4125218A1 (en) | Analogue-to-digital converter circuitry | |
JP5209393B2 (ja) | Ad変換装置及びad変換方法 | |
JP2735076B2 (ja) | アナログ/ディジタル変換器の試験方法 | |
JP3437370B2 (ja) | アナログ・ディジタル変換器 | |
KR100287878B1 (ko) | 아날로그/디지탈 컨버터 | |
JP3206295B2 (ja) | アナログ/デジタル変換器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060410 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060410 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060502 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060511 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100519 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100519 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110519 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120519 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130519 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130519 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |