(57)【特許請求の範囲】
【請求項１】
２ｍ個のｎビットの第一ＤＡコンバータと、
１個のｎビットの第二ＤＡコンバータと、
上流側から入力されるｎ＋ｍビットの入力データに基づいて、前記第一、第二ＤＡコンバータに入力するｎビットの中間データを生成するデータ生成手段と、
前記第一、第二ＤＡコンバータからの出力を加算する演算器と、
を備え、
前記データ生成手段は、第一ＤＡコンバータの中間データとして入力データの上位ｎビットデータに補正値を付加したデータを、第二ＤＡコンバータの中間データとして０に補正値を付加したデータを、それぞれ生成し、
前記補正値は、入力データの下位ｍビットデータに基づいて各ＤＡコンバータごとに設定される０以上の数値であって、その総和が前記入力データの下位ｍビットデータが示す値に等しくなるように設定される数値であり、入力データの上位ｎビットデータが最大値の場合、前記第一ＤＡコンバータの補正値が０、第二ＤＡコンバータの補正値が入力データの下位ｍビットデータが示す値であり、入力データの上位ｎビットデータが最大値未満の場合、前記下位ｍビットデータが示す値の個数の第一ＤＡコンバータの補正値が１、他のＤＡコンバータの補正値が０である、ことを特徴とするＤＡ変換装置。
【請求項２】
２ｍ個のｎビットの第一ＤＡコンバータと、
１個のｎビットの第二ＤＡコンバータと、
上流側から入力されるｎ＋ｍビットの入力データに基づいて、前記第一、第二ＤＡコンバータに入力するｎビットの中間データを生成するデータ生成手段と、
前記第一、第二ＤＡコンバータからの出力を加算する演算器と、
を備え、
前記データ生成手段は、第一ＤＡコンバータの中間データとして入力データの上位ｎビットデータを、第二ＤＡコンバータの中間データとして入力データの下位ｍビットデータを、それぞれ生成する、
ことを特徴とするＤＡ変換装置。
【請求項３】
２ｍ＋１個以上のｎビットのＤＡコンバータと、
上流側から入力されるｎ＋ｍビットの入力データに基づいて、前記ＤＡコンバータに入力するｎビットの中間データを生成するデータ生成手段と、
前記ＤＡコンバータからの出力を加算する演算器と、
を備え、
前記データ生成手段は、２ｍ個のＤＡコンバータの中間データとして前記入力データの上位ｎビットデータに補正値を付加したデータを生成し、他のＤＡコンバータの中間データとして補正値を示すデータを生成し、
前記補正値は、入力データの下位ｍビットデータに基づいて各ＤＡコンバータごとに設定される０以上の数値であって、その総和が前記入力データの下位ｍビットデータが示す値に等しくなるように設定される数値であり、入力データの上位ｎビットデータが最大値の場合、２ｍ個のＤＡコンバータの補正値が０、他のＤＡコンバータの補正値が入力データの下位ｍビットデータが示す値であり、入力データの上位ｎビットデータが最大値未満の場合、入力データの下位ｍビットデータが示す値の個数のＤＡコンバータの補正値が１、他のＤＡコンバータの補正値が０である、
ことを特徴とするＤＡ変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータをアナログデータに変換するＤＡ変換装置に関し、特に複数のＤＡコンバータから構成されるＤＡ変換装置に関する。
【背景技術】
【０００２】
従来より、複数のＤＡコンバータを組み合わせて、ＤＡコンバータ単体がもつ分解能以上の分解能をもったＤＡ変換装置を構築するビット拡張の技術が知られている。たとえば、特許文献１には、（ｍ＋ｎ）ビットのデジタルデータのうち上位ｍビットが入力される第１のＤＡコンバータと、前記でジタルデータのうち下位ｎビットが入力される第２のＤＡコンバータと、を設けるとともに、各ＤＡコンバータからの出力を、重み付け加算するビット拡張技術が開示されている。かかる技術によれば、ｎビットのＤＡコンバータで、ｎ＋ｍビットのデータを取り扱うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１６２３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、こうした従来のビット拡張技術では、抵抗器などのアナログ素子を用いて各ＤＡコンバータからの出力値（アナログ信号）を重み付け処理する必要がある。かかる、アナログ素子を用いて、アナログ信号の重み付け処理を精度よく行なうことは非常に困難であった。そして、結果として、ＤＡ変換装置の変換精度が低くなるという問題があった。
【０００５】
そこで、本発明では、より高精度でビット拡張ができるＤＡ変換装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のＤＡ変換装置は、２ｍ個のｎビットの第一ＤＡコンバータと、１個のｎビットの第二ＤＡコンバータと、上流側から入力されるｎ＋ｍビットの入力データに基づいて、前記第一、第二ＤＡコンバータに入力するｎビットの中間データを生成するデータ生成手段と、前記第一、第二ＤＡコンバータからの出力を加算する演算器と、を備え、前記データ生成手段は、第一ＤＡコンバータの中間データとして入力データの上位ｎビットデータに補正値を付加したデータを、第二ＤＡコンバータの中間データとして０に補正値を付加したデータを、それぞれ生成し、前記補正値は、入力データの下位ｍビットデータに基づいて各ＤＡコンバータごとに設定される０以上の数値であって、その総和が前記入力データの下位ｍビットデータが示す値に等しくなるように設定される数値であり、入力データの上位ｎビットデータが最大値の場合、前記第一ＤＡコンバータの補正値が０、第二ＤＡコンバータの補正値が入力データの下位ｍビットデータが示す値であり、入力データの上位ｎビットデータが最大値未満の場合、前記下位ｍビットデータが示す値の個数の第一ＤＡコンバータの補正値が１、他のＤＡコンバータの補正値が０であることを特徴とする。
【０００９】
他の本発明であるＤＡ変換装置は、２ｍ個のｎビットの第一ＤＡコンバータと、１個のｎビットの第二ＤＡコンバータと、上流側から入力されるｎ＋ｍビットの入力データに基づいて、前記第一、第二ＤＡコンバータに入力するｎビットの中間データを生成するデータ生成手段と、前記第一、第二ＤＡコンバータからの出力を加算する演算器と、を備え、前記データ生成手段は、第一ＤＡコンバータの中間データとして入力データの上位ｎビットデータを、第二ＤＡコンバータの中間データとして入力データの下位ｍビットデータを、それぞれ生成する、ことを特徴とする。
【００１０】
他の本発明であるＤＡ変換装置は、２ｍ＋１個以上のｎビットのＤＡコンバータと、上流側から入力されるｎ＋ｍビットの入力データに基づいて、前記ＤＡコンバータに入力するｎビットの中間データを生成するデータ生成手段と、前記ＤＡコンバータからの出力を加算する演算器と、を備え、前記データ生成手段は、２ｍ個のＤＡコンバータの中間データとして前記入力データの上位ｎビットデータに補正値を付加したデータを生成し、他のＤＡコンバータの中間データとして補正値を示すデータを生成し、前記補正値は、入力データの下位ｍビットデータに基づいて各ＤＡコンバータごとに設定される０以上の数値であって、その総和が前記入力データの下位ｍビットデータが示す値に等しくなるように設定される数値であり、入力データの上位ｎビットデータが最大値の場合、２ｍ個のＤＡコンバータの補正値が０、他のＤＡコンバータの補正値が入力データの下位ｍビットデータが示す値であり、入力データの上位ｎビットデータが最大値未満の場合、入力データの下位ｍビットデータが示す値の個数のＤＡコンバータの補正値が１、他のＤＡコンバータの補正値が０である、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、アナログ素子による重み付け演算などを行なう必要がないため、より高精度でビット拡張ができる。
【図面の簡単な説明】
【００１２】
【図１】第一実施形態であるＤＡ変換装置の概略構成図である。
【図２】第一実施形態における中間データ生成のパターンの一例を示す図である。
【図３】第一実施形態における中間データ生成のパターンの一例を示す図である。
【図４】第二実施形態であるＤＡ変換装置の概略構成図である。
【図５】第二実施形態における中間データ生成のパターンの一例を示す図である。
【図６】第二実施形態における中間データ生成のパターンの一例を示す図である。
【図７】第三実施形態における中間データ生成のパターンの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態において図面を参照して説明する。なお、以下の説明において、アルファベット“ｂ”以降の数値は２進数表記の数値を、アルファベットｄ以降の数値は１０進数表記の数値を、それぞれ示している。たとえば、「ｂ１０１」とは２進数の「１０１」、１０進数の「５」を意味しており、「ｄ１０」とは１０進数の１０、２進数の「１０１０」を意味している。
【００１４】
図１は、本発明の実施形態であるＤＡ変換装置１０の概略構成図である。このＤＡ変換装置１０は、複数のＤＡコンバータ１４と、当該ＤＡコンバータ１４に入力する中間データを生成するデータプロセッサ１２、および、ＤＡコンバータ１４からの出力値を加算する演算器１６を備えている。
【００１５】
複数のＤＡコンバータ１４は、いずれも同じ構成を有しており、ｎビットの分解能を有している。本実施形態では、このｎビットのＤＡコンバータ１４で、（ｎ＋ｍ）ビットデータの取り扱いを可能にする（換言すればｍビット拡張する）ために、ｎビットのＤＡコンバータ１４を２ｍ個設けている。演算器１６は、この２ｍ個のＤＡコンバータ１４からの出力を加算し、２ｍで割る。なお、ｎ≧ｍである。
【００１６】
データプロセッサ１２は、上位回路から出力された（ｎ＋ｍ）ビットの入力データに基づいて、各ＤＡコンバータ１４に入力するｎビットの中間データを生成し、出力するデータ生成手段として機能する。このデータプロセッサ１２が予め規定されたパターンにしたがって中間データを生成し、各ＤＡコンバータ１４に入力することで、分解能が低いＤＡコンバータ１４でも、高い分解能で入力信号をＤＡ変換できる。以下、これについて詳説する。
【００１７】
データプロセッサ１２を介することなく、直接、（ｎ＋ｍ）ビットの入力データを、ｎビットのＤＡコンバータ１４に入力すると、ＤＡコンバータ１４は、上位ｎビットデータしか認識せず、下位ｍビットデータが示す値が抜け落ちることになる。例えば、３ビットのＤＡコンバータに、入力データとしてｂ０１００を入力する場合、および、ｂ０１０１を入力する場合を考える。この場合、入力データがｂ０１００、ｂ０１０１のいずれであったとしても、ＤＡコンバータは、これらの入力データを同じｂ０１０の信号として取り扱うことになる。その結果、最終的に得られる出力も同じ値となる。つまり、入力段階には異なる値として取り扱われていたデータが、出力段階には同じデータになってしまい、結果として分解能が低下していた。
【００１８】
この問題を解決するために、従来、（ｎ＋ｍ）ビットの入力データのうち、上位ｎビットを第一のＤＡコンバータに、下位ｍビットを第二のＤＡコンバータに入力し、各ＤＡコンバータからの出力を重み付け加算して、ビット拡張する技術があった。しかし、かかるビット拡張技術において、出力信号の精度を高く維持するためには、各ＤＡコンバータからの出力の重み付け演算を高精度で行う必要があった。しかし、アナログ信号であるＤＡコンバータの出力信号を、精度よく重み付け演算することは非常に困難であった。
【００１９】
本実施形態では、こうした問題を解決し、簡易な構成で精度よくビット拡張するために、ＤＡコンバータ１４を２ｍ個設けている。そして、この複数のＤＡコンバータ１４に入力する中間データとして、入力データの上位ｎビットデータに、補正値を付加したデータを生成し、各ＤＡコンバータ１４に入力している。ここで、補正値は、入力データの下位ｍビットデータに基づいて各ＤＡコンバータ１４ごとに設定される０以上の数値であって、その総和が入力データの下位ｍビットデータが示す値に等しくなるように設定される数値である。例えば、５ビットの入力データをｂ０１０１０を、３ビット分解能をもつ４つのＤＡコンバータ（ＤＡＣ１〜ＤＡＣ４）で取り扱う場合を考える。この場合、ＤＡＣ１〜ＤＡＣ４の中間データは、入力データの上位３ビットデータｂ０１０に、補正値を付加した値となる。そして、ＤＡＣ１〜ＤＡＣ４の補正値をそれぞれｅ１〜ｅ４とした場合、ｅ１〜ｅ４の総和は、入力データの下位ｍビットデータが示す値ｂ１０（ｄ２）に等しくなるように（ｅ１＋ｅ２＋ｅ３＋ｅ４＝ｂ１０（ｄ２）となるように）設定する。
【００２０】
より具体的に説明すると、本実施形態では、補正値として０または１を用いており、入力データの下位ｍビットデータが示す値の個数のＤＡコンバータ１４の補正値を１とし、他のＤＡコンバータ１４の補正値を０として、中間データを生成する。例えば、５ビットの入力データを３ビット分解能を持つ４つのＤＡコンバータ、ＤＡＣ１〜ＤＡＣ４で取り扱う場合、すなわち、ｎ＝３、ｍ＝２の場合を考える。この場合において、入力データがｂ０１０１０のとき（下位２ビットデータ（ｍビットデータ）がｂ１０（ｄ２）のとき）、ＤＡＣ１〜ＤＡＣ４の中間データのうち二つは、入力データの上位３ビットデータ（ｎビットデータ）のｂ０１０に、残りの二つは、上位３ビットデータｂ０１０に補正値ｂ１を付加したｂ０１１とする。また、入力データがｂ０１０１１のとき（下位２ビットデータがｂ１１（ｄ３）のとき）、ＤＡＣ１〜ＤＡＣ４の中間データのうち一つは、入力データの上位３ビットデータｂ０１０に、残りの三つは、上位３ビットデータｂ０１０に補正値ｂ１を付加したｂ０１１とする。
【００２１】
本実施形態では、この２ｍ個のＤＡコンバータ１４からの出力を演算器１６で加算している。ここで、補正値の総和を入力データの下位ｍビットデータが示す値に等しくさせた場合、２ｍ個のＤＡコンバータ１４からの出力値の加算値Ｓは、Ｓ＝［（上位ｎビットデータ）×２ｍ＋（下位ｍビットデータ）］となる。ここで、２ｍ倍とは、すなわち、２進数の数値を、ｍ個左シフトさせることを意味している。したがって、［（上位ｎビットデータ）×２ｍ＋（下位ｍビットデータ）］とは、すなわち、（ｎ＋ｍ）ビットの入力データと同じデータが算出されることを意味している。そして、その結果、ｎビットのＤＡコンバータ１４でも、ｎ＋ｍビットの分解能のデータを出力することが可能となる。また、本実施形態では、各ＤＡコンバータ１４からの出力（アナログ信号）に対して、誤差が生じやすい重み付けなどの処理を施していない。そのため、出力値の精度を高く維持することができる。なお、本実施形態では、この加算値Ｓを、適正なレベルにするために、２ｍで割っているが、この除算は、適宜、省略してもよい。
【００２２】
次に、本実施形態のビット拡張の具体例を、具体的数値を挙げて説明する。まず、３ビットのＤＡコンバータ１４で、４ビットの入力データを取り扱う場合を考える。この場合、ｎ＝３、ｍ＝１となり、ＤＡコンバータ１４は２１＝２個設けられることになる。
【００２３】
図２は、この場合における中間データ生成のパターンを示す表である。この図２に示すように、本実施形態において、データプロセッサ１２は、入力データの下位１ビット（ｍビット）がｂ０の場合は、ＤＡＣ１の中間データおよびＤＡＣ２の中間データとして、入力データの上位３ビットデータ（ｎビットデータ）を、そのまま用いる。すなわち、補正値を０としている。
【００２４】
一方、入力データの下位１ビットがｂ１の場合は、ＤＡＣ１の中間データとして、入力データの上位３ビットデータに補正値ｂ１を付加した値を用い（補正値はｂ１）、ＤＡＣ２の中間データは、入力データの上位３ビットデータ（ｎビットデータ）を用いる（補正値は０）。
【００２５】
かかる生成のパターンに従った場合に、最終的に演算器１６から出力される値を考える。入力データがｂ０１００の場合、（ＤＡＣ１の中間データ、ＤＡＣ２の中間データ）は、（ｂ０１０，ｂ０１０）となる。その結果、ＤＡＣ１，ＤＡＣ２からは、ｂ０１０相当のアナログ信号が出力される。演算器１６は、この二つの信号を加算する。その結果、演算器１６からは（ｂ０１０＋ｂ０１０）／２＝ｂ１００／２＝ｂ０１００相当の値が出力される。
【００２６】
一方、入力データがｂ０１０１の場合、ＤＡＣ１，ＤＡＣ２の中間データは、（ｂ０１０＋ｂ００１，ｂ０１０）＝（ｂ０１１，ｂ０１０）となる。この場合、演算器１６からは、（ｂ０１１＋ｂ０１０）／２＝ｂ１０１／２＝ｂ０１０１相当の値が出力される。
【００２７】
つまり、データプロセッサ１２が介在しない従来技術では、同じ値に変換されていた入力データｂ０１００とｂ０１０１が、本実施形態によれば、適切に階調付けられた異なる値のアナログデータとして出力されることになる。
【００２８】
次に、３ビットのＤＡコンバータ１４で、５ビットの入力データを取り扱う場合を考える。この場合、ｎ＝３、ｍ＝２となり、ＤＡコンバータ１４は２２＝４個設けられることになる。図３は、この場合における中間データ生成のパターンを示す表である。この図３に示すように、本実施形態において、データプロセッサ１２は、入力データの下位２ビット（ｍビット）がｂ００の場合は、ＤＡＣ１〜ＤＡＣ４すべての中間データとして、入力データの上位３ビットデータ（ｎビットデータ）を、そのまま用いる（すなわち補正値は０）。また、下位２ビットがｂ０１の場合はＤＡＣ１の中間データとして、上位３ビットデータにｂ０１を付加した値を用い（補正値は１）、他のＤＡＣ２〜ＤＡＣ４の中間データとして、入力データの上位３ビットデータをそのまま用いる（補正値は０）。さらに、下位２ビットがｂ１０の場合はＤＡＣ１、ＤＡＣ２の中間データとして、上位３ビットデータにｂ０１を付加した値を、下位２ビットがｂ１１の場合はＤＡＣ１〜ＤＡＣ３の中間データとして、上位３ビットデータにｂ０１を付加した値を、用いる。
【００２９】
この生成パターンに従った場合に、演算器１６から出力される値を考える。入力データがｂ０１０００の場合には、ＤＡＣ１〜ＤＡＣ４の中間データは、（ｂ０１０，ｂ０１０，ｂ０１０，ｂ０１０）となり、演算器１６から出力される信号は、（ｂ０１０＋ｂ０１０＋ｂ０１０＋ｂ０１０）／４＝ｂ１０００／４＝ｂ０１０００となる。
【００３０】
また、同様に、入力データがｂ０１００１の場合、中間データは（ｂ０１１，ｂ０１０，ｂ０１０，ｂ０１０）となり、演算器１６から出力される信号は、（ｂ０１１＋ｂ０１０＋ｂ０１０＋ｂ０１０）／４＝ｂ１００１／４＝ｂ０１００１となる。
【００３１】
また、入力データがｂ０１０１０の場合、中間データは（ｂ０１１，ｂ０１１，ｂ０１０，ｂ０１０）となり、演算器１６から出力される信号は、（ｂ０１１＋ｂ０１０＋ｂ０１０＋ｂ０１０）／４＝ｂ１００１／４＝ｂ０１０１０となる。
【００３２】
さらに、入力データがｂ０１０１１の場合、中間データは（ｂ０１１，ｂ０１１，ｂ０１１，ｂ０１０）となり、演算器１６から出力される信号は、（ｂ０１１＋ｂ０１０＋ｂ０１０＋ｂ０１０）／４＝ｂ１０１１／４＝ｂ０１０１１となる。
【００３３】
ここで、ｂ０１０００〜０１０１１は、上位ｎビットデータをそのままＤＡコンバータ１４に入力していた従来技術では、同じ値、ｂ０１０として出力されるデータである。本実施形態によれば、かかるデータも、適切に階調付けられた互いに異なる値として出力することが可能である。そして、これにより、出力データの分解能をより高めることができる。
【００３４】
なお、上述の例では、中間データを生成するために、補正値として、０または１のみを用いている。しかし、各ＤＡコンバータ１４に付加される補正値の総和が、下位ｍビットデータが示す値になるのであれば、補正値は、他の値であってもよい。
【００３５】
例えば、入力データがｂ０１０１１の場合（下位ｍビットデータがｂ１１（ｄ３）の場合）において、ＤＡＣ１に適用される補正値をｂ１１（ｄ３）、他のＤＡＣに適用される補正値を０としてもよい。この場合、ＤＡＣ１〜ＤＡＣ４の中間データは、（ｂ０１０＋ｂ０１１，ｂ０１０，ｂ０１０，ｂ０１０）＝（ｂ１０１，ｂ０１０，ｂ０１０，ｂ０１０）となる。この場合でも、最終的に演算器１６から出力される信号は、（ｂ１０１＋ｂ０１０＋ｂ０１０＋ｂ０１０）／４＝ｂ１０１１／４＝ｂ０１０１１となる。
【００３６】
また、別の形態として、入力データがｂ０１０１１の場合に、ＤＡＣ１に適用される補正値をｂ１０（ｄ２）、ＤＡＣ２に適用される補正値をｂ０１（ｄ１）、他のＤＡＣに適用される補正値を０としてもよい。この場合、ＤＡＣ１〜ＤＡＣ４の中間データは、（ｂ０１０＋ｂ０１０，ｂ０１０＋ｂ００１，ｂ０１０，ｂ０１０）＝（ｂ１００，ｂ０１１，ｂ０１０，ｂ０１０）となる。この場合でも、最終的に演算器１６から出力される信号は、（ｂ１００＋ｂ０１１＋ｂ０１０＋ｂ０１０）／４＝ｂ１０１１／４＝ｂ０１０１１となる。
【００３７】
つまり、上位ｎビットデータの他に付加される補正値の総和が、下位ｍビットデータが示す値と等しくなるように中間データを生成すれば、図２、図３で説明した場合と同様に、出力データの分解能を高めることができる。
【００３８】
次に、第二実施形態について図４を参照して説明する。図４は、第二実施形態におけるＤＡ変換装置１０の概略構成図である。このＤＡ変換装置１０では、２ｍ個のＤＡコンバータ１４に加えて、さらに、別の１個のＤＡコンバータ２０を設けている点で上述の実施形態と異なる。以下では、２ｍ個のＤＡコンバータと追加の１個のＤＡコンバータとを区別する場合には、前者を「第一ＤＡコンバータ１４」、後者を「第二ＤＡコンバータ２０」と呼ぶ。
【００３９】
第二ＤＡコンバータ２０は、入力データの上位ｎビットデータが最大値を取った場合の問題を解決するために設けられている。すなわち、上述した第一実施形態では、第一ＤＡコンバータ１４には、上位ｎビットデータ、あるいは、上位ｎビットデータに補正値ｂ１が付加された値が入力される。ここで、上位ｎビットデータが最大値をとった場合には、新たに補正値ｂ１を付加することはできない。
【００４０】
例えば、ｎ＝３、ｍ＝１において、入力データがｂ１１１１の場合を考える。この場合、下位ｍビットデータはｂ１であるため、図２に示した中間データ生成のパターンに従えば、ＤＡＣ１には、上位３ビットデータｂ１１１にｂ１を付加した値を入力する必要がある。しかし、入力データがｂ１１１１の場合、上位３ビットデータｂ１１１は、既に最大値であるため、さらに、補正値ｂ１を付加することはできない。その結果、入力データがｂ１１１１の場合、ＤＡＣ１，ＤＡＣ２の中間データは、いずれも、ｂ１１１となる。これは、入力データがｂ１１１０の場合と同じである。つまり、第一実施形態では、入力データがｂ１１１１、ｂ１１１０のいずれであっても、得られる出力値は同じになる。同様に、ｎ＝３、ｍ＝２の場合は、入力データがｂ１１１０１、ｂ１１１１０、ｂ１１１１１のいずれであっても、得られる出力値は同じになる。つまり、第一実施形態では、最大値近傍において、データ分解能が低下するという問題があった。
【００４１】
本実施形態では、この問題を解決するために、２ｍ＋１個目のＤＡコンバータ、すなわち、第二ＤＡコンバータ２０を追加している。第一ＤＡコンバータ１４の中間データとして入力データの上位ｎビットデータに補正値を付加したデータを、第二ＤＡコンバータ２０の中間データとして０データに補正値を付加したデータを、生成している。補正値は、その総和が、下位ｍビットデータが示す値と等しくなるような数値である。本実施形態では、入力データの上位ｎビットデータが最大値の場合、第一ＤＡコンバータ１４の補正値は０、第二ＤＡコンバータ２０の補正値は入力データの下位ｍビットデータとしている。また、入力データの上位ｎビットデータが最大値未満の場合、下位ｍビットデータが示す値の個数の第一ＤＡコンバータ１４の補正値を１とし、他のＤＡコンバータ１４，２０の補正値を０として、中間データを生成している。
【００４２】
図５は、本実施形態において、ｎ＝３、ｍ＝１の場合における中間データ生成のパターンを示す図である。このテーブルに示すように、入力データの上位３ビットが最大値ｂ１１１未満の場合は、図３の場合と同じパターンで、中間データが生成される。すなわち、下位１ビットがｂ１の場合には、上位ｎビットデータに補正値ｂ１を付加したデータをＤＡＣ１の中間データとして生成する。その他の場合は、入力データの上位ｎビットデータを、ＤＡＣ１，２の中間データとして生成する。また、第二ＤＡコンバータ２０（ＤＡＣ３）の中間データは、入力データの値に関わらず、ｂ０００とする。換言すれば、入力データの上位３ビットが最大値未満の場合、第二ＤＡコンバータの中間データとして、０データに、補正値０が付加された値が生成される。
【００４３】
一方、入力データの上位３ビットが最大値ｂ１１１となった場合を考える。この場合には、上位ｎビットデータを第一ＤＡコンバータ１４（ＤＡＣ１，ＤＡＣ２）の中間データとして（補正値は０）、下位１ビットの値を第二ＤＡコンバータ２０（ＤＡＣ３）の中間データとして生成する。すなわち、入力データがｂ１１１０の場合はｂ０００を、入力データがｂ１１１１の場合はｂ００１を、ＤＡＣ３の中間データとする。
【００４４】
かかる構成とした場合において演算器１６から出力される値を考える。入力データがｂ１１１０の場合は、ＤＡＣ１〜ＤＡＣ３の中間データは、（ｂ１１１，ｂ１１１，ｂ０００）となる。この場合、演算器１６からは、（ｂ１１１＋ｂ１１１＋ｂ０００）／２＝ｂ１１１０相当の信号が出力されることになる。
【００４５】
また、入力データがｂ１１１１の場合は、ＤＡＣ１〜ＤＡＣ３の中間データは、（ｂ１１１，ｂ１１１，ｂ００１）となる。この場合、演算器１６からは、（ｂ１１１＋ｂ１１１＋ｂ００１）／２＝ｂ１１１１相当の信号が出力されることになる。
【００４６】
つまり、第一実施形態では同じ値に変換されるｂ１１１０、ｂ１１１１を、本実施形態によれば、適切に階調付けられた異なる値に変換できる。そして、これにより、最大値近傍においても、高い分解能を得ることができる。
【００４７】
同様に、ｎ＝３，ｍ＝２の場合についても説明する。図６は、ｎ＝３、ｍ＝２の場合における中間データ生成のパターンを示す図である。この図６に示すように、入力データの上位３ビットがｂ１１１未満の場合は、上述の実施形態と同じルールで、中間データが生成される。すなわち、入力データの下位２ビットがｂ０１の場合はＤＡＣ１に、下位２ビットがｂ１０の場合はＤＡＣ１，ＤＡＣ２に、下位２ビットがｂ１１の場合はＤＡＣ１〜ＤＡＣ３に、（上位ｎビットデータ＋ｂ００１）のデータが入力され、他のＤＡＣには、上位ｎビットデータが入力される。
【００４８】
一方、上位３ビットが最大値ｂ１１１となった場合には、第一ＤＡコンバータ１４（ＤＡＣ１〜ＤＡＣ４）には上位３ビットデータ（ｎビットデータ）が、第二ＤＡコンバータ２０（ＤＡＣ５）には下位２ビットデータ（ｍビットデータ）が入力される。すなわち、ＤＡＣ５の中間データは、入力データがｂ１１１００の場合はｂ０００、ｂ１１１０１の場合はｂ００１、ｂ１１１１０の場合はｂ０１０、ｂ１１１１１の場合はｂ０１１となる。
【００４９】
かかる構成とした場合において演算器１６から出力される値を考える。入力データがｂ１１１００の場合は、ＤＡＣ１〜ＤＡＣ４にはｂ１１１が、ＤＡＣ５にはｂ０００が入力される。演算器１６からは、（ｂ１１１＋ｂ１１１＋ｂ１１１＋ｂ１１１＋ｂ０００）／４＝（ｂ１１１００＋ｂ０００００）／４＝ｂ１１１００相当の信号が出力されることになる。
【００５０】
入力データがｂ１１１０１の場合は、ＤＡＣ１〜ＤＡＣ４にはｂ１１１が、ＤＡＣ５にはｂ００１が入力される。演算器１６からは、（ｂ１１１００＋ｂ００１）／４＝ｂ１１１０１相当の信号が出力されることになる。
【００５１】
入力データがｂ１１１１０の場合は、ＤＡＣ１〜ＤＡＣ４にはｂ１１１が、ＤＡＣ５にはｂ０１０が入力される。演算器１６からは、（ｂ１１１００＋ｂ０１０）／４＝ｂ１１１１０相当の信号が出力されることになる。
【００５２】
入力データがｂ１１１１１の場合は、ＤＡＣ１〜ＤＡＣ４にはｂ１１１が、ＤＡＣ５にはｂ０１１が入力される。演算器１６からは、（ｂ１１１００＋ｂ０１１）／４＝ｂ１１１１１相当の信号が出力されることになる。
【００５３】
つまり、第二ＤＡコンバータ２０を設けた本実施形態によれば、上述の実施形態では同じ値に変換されるｂ１１１００〜ｂ１１１１１を、適切に階調付けられた異なる値に変換することができる。
【００５４】
なお、上述の例では、第一ＤＡコンバータ１４の中間データ生成に用いられる補正値として０または１のみを用いている。しかし、各ＤＡコンバータ１４に付加される補正値の総和が、下位ｍビットデータが示す値になるのであれば、補正値は、他の値であってもよい。したがって、例えば、ｎ＝３，ｍ＝２、入力データがｂ０１０１１の場合において、ＤＡＣ１に適用される補正値をｂ１１（ｄ３）、他のＤＡＣに適用される補正値を０としてもよい。また、別の形態として、ＤＡＣ１に適用される補正値をｂ１０（ｄ２）、ＤＡＣ２に適用される補正値をｂ０１（ｄ１）、他のＤＡＣに適用される補正値を０のようにしてもよい。
【００５５】
また、本実施形態では、第二ＤＡコンバータ２０を１個のみとしているが、複数設けてもよい。この場合であっても、全てのＤＡコンバータに適用される補正値の総和が、下位ｍビットデータが示す値に等しくなるように、補正値を設定すればよい。
【００５６】
次に、第三実施形態について、図７を参照して説明する。第三実施形態における物理的構成は、第二実施形態と同様である。すなわち、本実施形態では、２ｍ個の第一ＤＡコンバータ１４と１個の第二ＤＡコンバータ２０を有しており、演算器１６は、これら２ｍ＋１個のＤＡコンバータ１４からの出力を加算し、２ｍで割る。
【００５７】
本実施形態では、第一、第二ＤＡコンバータ１４，２０に入力する中間データの生成パターンを、第二実施形態と異ならせている。これについて図７を参照して説明する。
【００５８】
図７は、本実施形態においてｎ＝３，ｍ＝２の場合における中間データ生成のパターンを示す図である。この図７に示すとおり、本実施形態では、入力データの上位ｎビットデータの値に関わらず、常に、第一ＤＡコンバータ１４の中間データとして上位ｎビットデータを、第二ＤＡコンバータ２０の中間データとして下位ｍビットデータを、用いている。
【００５９】
例えば、入力データがｂ０１０００の場合、第一ＤＡコンバータ１４（ＤＡＣ１〜ＤＡＣ４）にはｂ０１０が、第二ＤＡコンバータ２０（ＤＡＣ５）にはｂ０００が、中間データとして入力される。また、入力データがｂ０１００１の場合、第一ＤＡコンバータ１４（ＤＡＣ１〜ＤＡＣ４）にはｂ０１０が、第二ＤＡコンバータ２０（ＤＡＣ５）にはｂ００１が、中間データとして入力される。
【００６０】
かかる構成とした場合において演算器１６から出力される値を考える。入力データがｂ０１０００の場合は、ＤＡＣ１〜ＤＡＣ５の中間データは、（ｂ０１０，ｂ０１０，ｂ０１０，ｂ０１０，ｂ０００）であり、演算器１６からは（ｂ０１０×４＋ｂ０００）／４＝（ｂ０１０００＋ｂ０００）／４＝ｂ０１０００が出力される。
【００６１】
また、入力データがｂ０１００１の場合は、ＤＡＣ１〜ＤＡＣ５の中間データは、（ｂ０１０，ｂ０１０，ｂ０１０，ｂ０１０，ｂ００１）であり、演算器１６からは（ｂ０１０００＋ｂ００１）／４＝ｂ０１００１が出力される。
【００６２】
また、入力データがｂ０１０１０の場合は、ＤＡＣ１〜ＤＡＣ５の中間データは、（ｂ０１０，ｂ０１０，ｂ０１０，ｂ０１０，ｂ０１０）であり、演算器１６からは（ｂ０１０００＋ｂ０１０）／４＝ｂ０１０１０が出力される。
【００６３】
また、入力データがｂ０１０１１の場合は、ＤＡＣ１〜ＤＡＣ５の中間データは、（ｂ０１０，ｂ０１０，ｂ０１０，ｂ０１０，ｂ０１１）であり、演算器１６からは（ｂ０１０００＋ｂ０１０）／４＝ｂ０１０１１が出力される。
【００６４】
つまり、本実施形態でも、ＤＡコンバータ１４のビット数以上のデータが取り扱い可能となる。また、アナログ信号の重み付け処理などが不要であるため、より高精度でビット拡張ができる。
【００６５】
なお、本実施形態においても、第二ＤＡコンバータ２０を複数設けてもよい。第二ＤＡコンバータ２０を複数設けた場合には、この複数の第二ＤＡコンバータ２０の中間データの総和が、下位ｍビットデータが示す値に等しくなるように設定する。
【００６６】
また、これまで説明した構成は、いずれも一例であり、ＤＡコンバータが２ｍ個以上設けられており、これらＤＡコンバータに適用される補正値の総和が前記入力データの下位ｍビットデータが示す値に等しくなるように設定されており、２ｍ個のＤＡコンバータの中間データが（上位ｎビットデータ＋補正値）、他のＤＡコンバータの中間データが（補正値）となるのであれば、他の構成でもよい。
【００６７】
そして、こうした構成を採用すれば、アナログ素子による重み付け演算などが行なう必要がないため、より高精度でビット拡張ができる。
【符号の説明】
【００６８】
１０  ＤＡ変換装置、１２，２０  ＤＡコンバータ、１６  演算器。
【図１】
0006043052.tif 000002
【図２】
0006043052.tif 000003
【図３】
0006043052.tif 000004
【図４】
0006043052.tif 000005
【図５】
0006043052.tif 000006
【図６】
0006043052.tif 000007
【図７】
0006043052.tif 000008