(57)【要約】全ての可能なサーモメータコードの組み合せに対して、エンコーダ出力の誤差を最小にすることが可能なエンコーダ回路及びＡ／Ｄ変換器を提供することを目的とする。この目的を達成するために、エンコーダ回路は、サーモメータコードを入力としてサーモメータコードにおける１つ又は複数の“０”と“１”の境界位置に対応する１つ又は複数のエンコード値が分布する範囲の中心値をエンコード値として出力するよう論理構成される。
2004086628.tif 000002
【特許請求の範囲】
【請求項１】
サーモメータコードを入力として該サーモメータコードにおける１つ又は複数の“０”と“１”の境界位置に対応する１つ又は複数のエンコード値が分布する範囲の中心値をエンコード値として出力するよう論理構成されたことを特徴とするエンコーダ回路。
【請求項２】
該中心値が２つ存在する場合には大きい方の中心値又は小さい方の中心値の何れか一方をエンコード値として出力するよう論理構成されたことを特徴とする請求項１記載のエンコーダ回路。
【請求項３】
複数の比較器により入力アナログ電位を複数の基準電位と比較することでサーモメータコードを出力する比較器群と、
該比較器群から出力される該サーモメータコードにおける１つ又は複数の“０”と“１”の境界位置に対応する１つ又は複数のエンコード値が分布する範囲の中心値をエンコード値として出力するよう論理構成されたエンコーダ回路を含むことを特徴とするＡ／Ｄ変換回路。
【請求項４】
入力アナログ電位と複数の基準電位をサンプルして保持するサンプル・ホールド回路と、
該サンプル・ホールド回路の出力に基づいて、複数の比較器により該入力アナログ電位を該複数の基準電位と比較することでサーモメータコードを出力する第１の比較器群と、
該第１の比較器群から出力される該サーモメータコードにおける１つ又は複数の“０”と“１”の境界位置に対応する１つ又は複数のエンコード値が分布する範囲の中心値をエンコード値として出力するよう論理構成された第１のエンコーダ回路と、
該サンプル・ホールド回路の出力を選択するスイッチ回路と、該第１のエンコーダ回路の出力により該スイッチ回路を制御するスイッチ制御回路と、
該スイッチ回路により選択された該サンプル・ホールド回路の出力間の電圧を補間する補間回路と、
該補間回路の出力に基づいてサーモメータコードを出力する第２の比較器群と、
該第２の比較器群から出力される該サーモメータコードにおける１つ又は複数の“０”と“１”の境界位置に対応する１つ又は複数のエンコード値が分布する範囲の中心値をエンコード値として出力するよう論理構成された第２のエンコーダ回路
を含むことを特徴とするＡ／Ｄ変換回路。
【請求項５】
該補間回路は補外機能を備え、該第２のエンコーダ回路は補外値に対応するエンコード値を出力するよう論理構成されることを特徴とする請求項４記載のＡ／Ｄ変換回路。
【請求項６】
サーモメータコードを入力として該サーモメータコードにおける“０”の個数及び“１”の個数の何れか一方をエンコード値として出力するよう論理構成されたことを特徴とするエンコーダ回路。
【請求項７】
複数の比較器により入力アナログ電位を複数の基準電位と比較することでサーモメータコードを出力する比較器群と、
該比較器群から出力される該サーモメータコードにおける“０”の個数及び“１”の個数の何れか一方をエンコード値として出力するよう論理構成されたエンコーダ回路
を含むことを特徴とするＡ／Ｄ変換回路。
【請求項８】
入力アナログ電位と複数の基準電位をサンプルして保持するサンプル・ホールド回路と、
該サンプル・ホールド回路の出力に基づいて、複数の比較器により該入力アナログ電位を該複数の基準電位と比較することでサーモメータコードを出力する第１の比較器群と、
該第１の比較器群から出力される該サーモメータコードにおける“０”の個数及び“１”の個数の何れか一方をエンコード値として出力するよう論理構成された第１のエンコーダ回路と、
該サンプル・ホールド回路の出力を選択するスイッチ回路と、
該第１のエンコーダ回路の出力により該スイッチ回路を制御するスイッチ制御回路と、
該スイッチ回路により選択された該サンプル・ホールド回路の出力間の電圧を補間する補間回路と、
該補間回路の出力に基づいてサーモメータコードを出力する第２の比較器群と、
該第２の比較器群から出力される該サーモメータコードにおける“１”の個数をエンコード値として出力するよう論理構成された第２のエンコーダ回路
を含むことを特徴とするＡ／Ｄ変換回路。
【請求項９】
該補間回路は補外機能を備え、該第２のエンコーダ回路は補外値に対応するエンコード値を出力するよう論理構成されることを特徴とする請求項８記載のＡ／Ｄ変換回路。
【発明の詳細な説明】
【技術分野】  本発明は、一般にＡ／Ｄ変換器等に用いられるエンコーダ回路に関し、詳しくはサーモメータコードをバイナリコードに変換するエンコーダ回路に関する。
【背景技術】  デジタル信号処理技術の発達と共に、Ａ／Ｄ変換器には高分解能化及び高精度化が要求されている。これらの要求を満たすためには、Ａ／Ｄ変換時における誤差の発生を低減することが必要である。
一般にＡ／Ｄ変換器では、入力アナログ電位を複数の比較回路に入力し、それら複数の比較回路によって対応する参照電位と入力電位とを比較する。この参照電位は低い電位から高い電位まで等間隔で割り当てられており、比較器群の出力は、“０・・・０  ０  ０  １  １  １  ・・・１”のように、下位の比較器出力は“１”であり、下位から上位へ向かう途中の比較器以降の出力は“０”となる。このようなコードは、サーモメータ（温度計）コードと呼ばれる。
例えば、サーモメータコードの隣接するビット間の排他的論理和をとることにより、“０”／“１”の境界部にのみ“１”を抽出する。その検出信号を、後続のスイッチマトリクスや増幅器によってバイナリコードに変換することができる。
しかしながらＡ／Ｄ変換器においては、各比較器が有する固有のオフセットのばらつき、高周波で比較器を動作させた場合のクロツク信号の遅延差、ノイズによる信号揺らぎの影響等によって、“０・・・０  ０  １  ０  １  １  ・・・１”のように、本来１箇所であるべき“０”／“１”の境界が２箇所以上発生することがある。このような場合、“０”／“１”の境界を検出してエンコードするような単純なエンコーダ回路では対応できずに、本来の正しいパイナリコードとはかけ離れたコードが生成されてしまう。
このようなサーモメータコードエラーが発生した場合でも、Ａ／Ｄ変換誤差が大きくならないよう設計されたエンコーダ回路が提案されている（特許文献１）。このエンコーダ回路では、サーモメータコードの隣接するビット間で排他的論理和をとるので、“０・・・０  ０  １  ０  １  １  ・・・１”のようなエラーコードが入力された場合には、“０”／“１”の境界として排他的論理和出力の連続３ビットが“１”となる。次に、複数の“１”ビットのうち中央の“１”が境界として有効になるように、スイッチマトリクスで重み付けする。最後に、重み付けされた信号を増幅器により増幅することで“０”／“１”を判定する。これにより、本来の正しいパイナリコードに近いコードが得られるように、エラー訂正することができる。
また特許文献２には、サーモメータコードをエンコードするための２分探索変換方法が開示されている。この方法では、中央に位置するビットを境にサーモメータコードを２分割し、中央に位置するビットの“０”／“１”によって２分割したコード中のどの位置に境界があるのかを探索していく。また特許文献３及び特許文献４には、ブール代数によって表現されるサーモメータ／バイナリ変換式に従った変換方法が開示されている。
図１は、３ビットからなるサーモメータコードを上記従来のエンコーダ回路に入力した場合の出力値を示す。ここで、サーモメータコードの３ビットについて、エラーの場合に発生し得る全ての“０”／“１”組み合せを含めて、全体で８つのパターンを示している。
誤りのあるサーモメータが入力された場合、“０”／“１”境界が２つ以上存在するので、何れの境界を正しい境界として扱うかによって、出力エンコード値は異なってくる。例えば、図１に示すケース６の場合であれば、異常なサーモメータコード［０，１，０］は、正しくは［０，１，１］となるべきであったのか、又は［０，０，１］となるべきであったのか、［０，０，０］となるべきであったのか判別できない。このように“０”／“１”境界が２っ以上存在する場合、正しいエンコード値としては複数の値があり得る。これを図１において「エンコーダ出力として取りうる値」として示している。また［エンコーダ出力として取りうる値」が複数存在する場合に、最大値と最小値との差を「距離」として示している。
ケース１、５、７、及び８は、正常なサーモメータコードが入力された場合である。この場合には、何れの従来例も正しいエンコーダ出力を生成する。
ケース３及び６は、入力サーモメータコードが異常であり、エンコーダ出力として３つの候補が考えられる場合である。このときの「距離」は２となる。例えばケース３では、サーモメータコードのビット２とビット３とが異常なパターンを構成している場合である。この入力が正常なサーモメータコードとなるためには、サーモメータコードのビット２とビット３とは［１，０］ではなく、［１，１］又は［０，１］か、「０，０］であるべきだと考えられる。この時、候補として挙げられるエンコーダの出力値はそれぞれ３、２、１である。
従って、ケース３のサーモメータコードが入力された場合、エンコーダの出力値と全ての取り得る出力値との距離を平均的に最小にするためには、取り得るエンコーダの出力値３、２、１の中央値として、エンコーダの出力値を２とするのが好ましい。ケース６の場合も同様に、エンコーダの出力値を１とするのが好ましい。このようにして求められる最適なエンコーダ出力値を［変換誤差を最小にするためにエンコーダ出力として取るべき値」として図１に示している。
またケース２及び４は、エンコーダ出力として４パターンの候補が考えられる場合、すなわち「距離」が３の場合である。例えばケース２では、サーモメータコードのビット１、ビット２、及びビット３が異常なパターンを構成している場合である。この入力が正常なサーモメータコードとなるためには、サーモメータコードは［１，１，０］ではなく、［１，１，１］、［０，１，１］、［０，０，１］、［０，０，０］の何れかであるべきだと考えられる。この時、候補として挙げられるエンコーダの出力値はそれぞれ３、２、１、０である。
従って、ケース２のサーモメータコードが入力された場合、エンコーダの出力値と全ての取り得る出力値との距離を平均的に最小にするためには、取り得るエンコーダの出力値３、２、１、０の中央値として、エンコーダの出力値を２又は１とするのが好ましい。ケース４の場合も同様に、エンコーダの出力値を２又は１とするのが好ましい。
図１において「従来例」として示すのは、特許文献１に記載のエンコーダの出力であり、「他の従来例」として示すのは、特許文献２乃至４に記載のエンコーダの出力である。図１に示されるように、「従来例」においては、ケースによっては出力が不定“Ｘ”となる場合がある。また「他の従来例」においては、エンコーダ出力が「エンコーダ出力として取るべき値」とは異なる場合が多い。
このように従来例のエンコーダ回路は、全ての可能なサーモメータコードの組み合せを考慮していないため、エラーが発生した場合にエンコーダ出力の誤差を常に最小にすることができない。
以上を鑑みて、本発明は、全ての可能なサーモメータコードの組み合せに対して、エンコーダ出力の誤差を最小にすることが可能なエンコーダ回路及びＡ／Ｄ変換器を提供することを目的とする。
【特許文献１】  特開平７−９５０８９号公報
【特許文献２】  特開平８−３６４６６号公報
【特許文献３】  特開平１１−１０３２５３号公報
【特許文献４】  特開２０００−１３４１０３号公報
【発明の開示】
本発明によるエンコーダ回路は、サーモメータコードを入力として該サーモメータコードにおける１つ又は複数の“０”と“１”の境界位置に対応する１つ又は複数のエンコード値が分布する範囲の中心値をエンコード値として出力するよう論理構成されたことを特徴とする。
上記エンコーダ回路は、正常なサーモメータコードに対しては“０”／“１”境界の位置に対応するエンコード値を出力し、異常なサーモメータコードの場合には、複数の“０”／“１”境界の位置に対応する複数のエンコード値の分布範囲の中心値を正規のエンコード値として出力するように論理構成される。従って、全ての可能なサーモメータ入力パターンに対応でき、如何なる入力パターンに対しても出力が不定状態になることはなく、エンコード出力値の誤差を常に最小にすることができる。
また本発明における別の側面によれば、エンコーダ回路は、サーモメータコードにおける“１”（又は“０”）の個数をエンコード出力とすることを特徴とする。
また本発明におけるＡ／Ｄ変換器は、複数の比較器により入力アナログ電位を複数の基準電位と比較することでサーモメータコードを出力する比較器群と、該比較器群から出力されるサーモメータコードをエンコードする上記エンコーダ回路を含むことを特徴とする。
【図面の簡単な説明】  図１は、３ビットからなるサーモメータコードを従来のエンコーダ回路に入力した場合の出力値を示す図である。
図２は、本発明によるエンコーダ回路の第１の実施例の構成の一例を示す図である。
図３は、図２の第１の実施例のエンコーダ回路について入出力の真理値表を示す図である。
図４は、本発明によるエンコーダ回路の第２の実施例の構成の一例を示す図である。
図５は、図４の第２の実施例のエンコーダ回路について入出力の真理値表を示す図である。
図６は、本発明によるＡ／Ｄ変換回路の第１の実施例を示す図である。
図７は、本発明によるＡ／Ｄ変換回路の第２の実施例を示す図である。
図８は、本発明によるＡ／Ｄ変換回路の第３の実施例を示す図である。
図９は、本発明の原理に基づく補外を考慮したエンコーダ回路の真理値表を示す図である。
【発明を実施するための最良の形態】  以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
本発明におけるエンコーダ回路は、比較器群等から出力されるサーモメータコードの“０”／“１”境界の位置に対応するエンコード値を出力し、且つ“０”／“１”境界が複数含まれている場合は、それらの境界の位置に対応する複数のエンコード値の分布範囲の中心値を正規のエンコード値とするように設計された論理回路である。
本発明におけるエンコーダ回路は、全ての可能なサーモメータ入力パターンを考慮して論理設計されるので、如何なる入力パターンに対しても出力が不定状態になることはない。また異常なサーモメータコードの場合には、複数の“０”／“１”境界の位置に対応する複数のエンコード値の分布範囲の中心値を正規のエンコード値とするので、エンコード出力値の誤差を最小にすることができる。
図２は、本発明によるエンコーダ回路の第１の実施例の構成の一例を示す図である。
図２のエンコーダ回路１０は、３ビットのサーモメータコードをバイナリ値に変換して出力する回路である。説明の便宜上、入力サーモメータコードが３ビットである場合について示すが、本発明は入力サーモメータコードのビット数について限定されるものではなく、複数のビットからなるサーモメータコードであれば、何ビットから構成されてもよい。
図２のエンコーダ回路１０は、ＥＸＮＯＲ（ＥＸＯＲ回路の出力反転）回路１１、ＡＮＤ回路１２及び１３、ＮＯＲ回路１４、ＯＲ回路１５及び１６、及びインバータ１７を含む。入力信号ＴＨＭｌ〜ＴＨＭ３は、入力サーモメータコードのビット１〜ビット３に対応する。出力Ｄ０及びＤ１は、サーモメータコードをバイナリコードに変換したエンコーダ出力である。
図２に示される複数の論理ゲートによって、１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力する論理回路が実現されている。なお図２のエンコーダ回路１０においては、中心値が２つある場合には、大きい方の中心値を出力するよう構成されている。これは大きい方の中心値である必要はなく、小さい方の中心値を出力するように構成してもよい。大きい方又は小さい方の何れか一方が他方より好ましい理由はまない。
図３は、図２の第１の実施例のエンコーダ回路１０について入出力の真理値表を示す図である。
図３の真理値表には、入力サーモメータコードを構成する３ビットについて、８つの全ての“０”／“１”の組み合せを示し、その８つの組み合せについて図２のエンコーダ回路１０の出力を示している。また図１の場合と同様に、「変換誤差を最小にするためにエンコーダ出力として取るべき値」を示し、この値とエンコーダ回路１０の出力値との差を［サーモメータ／バイナリ変換誤差」として示している。
例えばケース３の場合、“０”／“１”の境界は、ビット１の位置及びビット３の位置に存在する。それら２つの“０”／“１”境界の位置に対応する２つのエンコーダ出力は、１及び３である。従って、これら２つのエンコーダ出力の分布範囲［１−３］の中心値として、エンコーダ回路１０の出力は２となる。
またケース２の場合については、“０”／“１”の境界は、ビット０の位置及びビット３の位置に存在する。ここで、ビット０の位置が境界であるとの判断は、“０”であるビット１の下にある仮想的なビット０が“１”であるとの考えによる。これにより、全てゼロのパターン［０，０，０］の時にビット０の位置を境界とすることと整合が取れる。またビット３の位置が境界であるとの判断は、“１”であるビット３の上にある仮想的なビット４が“０”であるとの考えによる。これにより、全て“１”のパターン［１，１，１］の時にビット３の位置を境界とすることと整合が取れる。上記２つの“０”／“１”境界の位置に対応する２つのエンコーダ出力は、０及び３である。これら２つのエンコーダ出力の分布範囲［０−３］の中心値は１又は２であるが、本例では大きい方の中心値を選択してエンコーダ回路１０の出力を２とする。
またケース４の場合については、“０”／“１”の境界は、ビット０の位置及びビット３の位置に存在する。それら２つの“０”／“１”境界の位置に対応する２つのエンコーダ出力は、０及び３である。従って、これら２つのエンコーダ出力の分布範囲［０−３］の中心値は１又は２であるが、本例では大きい方の中心値を選択してエンコーダ回路１０の出力を２とする。
このように第１の実施例においては、１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力する論理回路を単純な構成で実現している。このエンコーダ回路は、従来の回路構成ではサーモメータ／バイナリ変換誤差（エンコーダ出力誤差）が大きかった場合においても、誤差を最小限に抑えることが可能である。
図４は、本発明によるエンコーダ回路の第２の実施例の構成の一例を示す図である。説明の便宜上、入力サーモメータコードが３ビットである場合について示すが、複数のビットからなるサーモメータコードであれば、何ビットから構成されてもよい。
図４のエンコーダ回路１０Ａは、ＮＯＲ回路２１及び２２、ＥＸＮＯＲ（ＥＸＯＲ回路の出力反転）回路２３及び２４、ＡＮＤ回路２５、ＯＲ回路２６、及びインバータ２７を含む。これらの論理ゲートによって、１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力する論理回路が実現されている。
図５は、図４の第２の実施例のエンコーダ回路１０Ａについて入出力の真理値表を示す図である。
図５の真理値表には、サーモメータコードの“１”の個数をカウントした値を記載している。図５から分かるように、サーモメータコードの“１”の個数は、「変換誤差を最小にするためにエンコーダ出力として取るべき値」の条件を満足している。図４のエンコーダ回路１０Ａは、サーモメータコードの“１”の個数を出力するように論理設計されており、これにより１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力する論理回路を実現している。
なおサーモメータコードの“１”の個数が分布範囲の中心値と一致するのは、サーモメータコードが３ビットの場合に特有の現象であり、４ビット以上の場合には当てはまらない。しかし“１”の個数をカウントすることは、サーモメータコードの“０”と“１”をそれぞれ左右に固まるように移動させることによって、仮想的に“０”／“１”境界を１つに定めていることを意味している。サーモメータコードが４ビット以上の場合であっても、“１”の個数をカウントすることで境界を１つに定めることにより、エンコード値を１つの出力値として決定させることができる。
このように第２の実施例においては、サーモメータコードの“１”の個数を出力とする論理回路を単純な構成で実現している。このエンコーダ回路は、従来の回路構成ではサーモメータ／バイナリ変換誤差（エンコーダ出力誤差）が大きかった場合においても、誤差を最小限に抑えることができる。
図６は、本発明によるＡ／Ｄ変換回路の第１の実施例を示す図である。
図６のＡ／Ｄ変換回路３０は、エンコーダ回路１０と比較器群３１を含む。エンコーダ回路１０は図２に示されるが、代わりに図４に示されるエンコーダ回路１０Ａを用いてもよい。比較器群３１は、比較器４１乃至４３を含む。比較器４１乃至４３は、入力アナログ電位ＶＩＮを受け取ると共に、それぞれ対応する基準電位ＶＲＦ１乃至ＶＲＦ３を受け取る。各比較器４１乃至４３は、入力アナログ電位ＶＩＮを対応する基準電位と比較して、その比較結果をサーモメータコードＴＨＭ１乃至ＴＨＭ３として出力する。
エンコーダ回路１０は、比較器群３１から供給されるサーモメータコードＴＨＭ１乃至ＴＨＭ３をエンコードして、バイナリコードＤ０及びＤ１として出力する。この際、エンコーダ回路１０は、１つ又は複数の“０”／“１”″境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力するよう構成されており、異常なサーモメータコード出力エンコード値の誤差を最小限に抑えることが可能である。即ち、比較器４１乃至４３のオフセットやノイズによる信号揺らぎ等、サーモメータコードに異常が発生する要因があったとしても、誤差を最小限にするようにＡ／Ｄ変換結果を得ることができる。
図７は、本発明によるＡ／Ｄ変換回路の第２の実施例を示す図である。
図７のＡ／Ｄ変換回路５０は、サンプル・ホールド回路５１及び５９、スイッチ回路５２、補間回路５３、スイッチ制御回路５４、比較器群５５、エンコーダ回路５６、比較器群５７、及びエンコーダ回路５８を含む。サンプル・ホールド回路５１は、入力電圧を所定のタイミングでサンプルしその後ホールドする個々のサンプル・ホールド回路６１乃至６３を含む。スイッチ回路５２は、スイッチ制御回路５４により制御されるスイッチ６４乃至６７を含む。補間回路５３は、スイッチ回路５２により選択されたサンプル電圧を増幅するための差動増幅器６８及び６９、及び同電圧を補間するための抵抗ラダーを含む。
比較器群５５及び５７は比較器群３１と同一の構成でよく、エンコーダ回路５６及び５８はエンコーダ回路１０又は１０Ａと同一の構成でよい。比較器群５５及びエンコーダ回路５６からなるＡ／Ｄ変換部分が、入力アナログ電位ＶＩＮをＡ／Ｄ変換した結果の上位２ビットＤＯ１及びＤＯ２を出力し、比較器群５７及びエンコーダ回路５８からなるＡ／Ｄ変換部分が、Ａ／Ｄ変換結果の下位２ビットＤＯ３及びＤＯ４を出力する。
まずサンプル・ホールド回路５１が、基準電位ＶＲＦ１乃至ＶＲＦ３と入力アナログ電位ＶＩＮとをサンプルして保持する。保持された基準電位ＶＲＦ１乃至ＶＲＦ３と入力アナログ電位ＶＩＮとの大小を比較器群５５により比較し、エラー訂正可能な本発明のエンコーダ回路５６を用いて上位のパイナリ信号ＤＯ１及びＤＯ２を得る。
このバイナリ信号ＤＯ１及びＤＯ２に応答して、スイッチ制御回路５４がスイッチ回路５２のスイッチ群を制御する。比較器群５５からスイッチ制御回路５４への制御信号が生成される間、サンプル・ホールド回路５９はサンプル・ホールド回路５１のホールド電圧をサンプルする。スイッチ制御回路５４の信号が出力されるタイミングで、サンプル・ホールド回路５９がホールド電圧を出力するように構成することによって、“０”／“１”境界に対応する２組のアナログ信号がサンプル・ホールド回路５１から補間回路５３に伝達される。例えば、ＶＲＦ１とＶＲＦ２の間にＶＩＮが位置する場合には、ＶＲＦ１とＶＩＮを差動増幅器６８に接続するようにスイッチ６４及び６５が制御されると共に、ＶＲＦ２とＶＩＮを差動増幅器６９に接続するようにスイッチ６６及び６７が制御される。
補間回路５３は、選択された２組のアナログ信号を増幅した後に、４等分に分圧する。上記例のように、下位２ビット（４階調）を得る場合には、ＶＲＦ１とＶＲＦ２の間を４等分する。分圧された電圧は、比較器群５７に供給されて、比較動作が実行される。この比較結果を示すサーモメータコードを、エラー訂正可能な本発明のエンコーダ回路５８を用いてエンコードすることで、下位のパイナリ信号ＤＯ３及びＤＯ４を得る。
図８は、本発明によるＡ／Ｄ変換回路の第３の実施例を示す図である。図８において、図７と同一の構成要素は同一の番号により参照し、その説明は省略する。
図８のＡ／Ｄ変換回路７０は、サンプル・ホールド回路７１及び７７、スイッチ回路７２、補間・補外回路７３、スイッチ制御回路７４、比較器群５５、エンコーダ回路５６、比較器群７５、及びエンコーダ回路７６を含む。サンプル・ホールド回路７１は、入力電圧を所定のタイミングでサンプルしその後ホールドする個々のサンプル・ホールド回路８１乃至８５を含む。スイッチ回路７２は、スイッチ制御回路７４により制御されるスイッチ９１乃至９８を含む。補間回路７３は、スイッチ回路７２により選択されたサンプル電圧を増幅するための差動増幅器１０１乃至１０４、及び同電圧を補間・補外するための抵抗ラダーを含む。各差動増幅器の出力間を４Ｒの抵抗で分圧した構成となっている。
図８のＡ／Ｄ変換回路７０がバイナリコードを生成するための各回路の動作は、図７のＡ／Ｄ変換回路５０の各回路の動作と基本的な部分については同様である。但し第８のＡ／Ｄ変換回路７０においては、異常なサーモメータコードが生成され誤った上位ビットＤＯ１及びＤＯ２が生成された場合であっても、正しいエンコード出力が得られるように構成されている。この目的のために、補間・補外回路７３には補外機能が設けられ、またエンコーダ回路７６は補外を考慮した構成となっている。
以下の説明において、ＶＲＦ１＜ＶＩＮ＜ＶＲＦ２であり、且つＶＲＦ２の近傍にＶＩＮがある状態であるとする。この場合、サンプル・ホールド回路７１の出力電圧の正負、及び比較器群５５の比較結果は、
（Ｖｓ４，Ｖｓ３，Ｖｓ２，Ｖｓ１，Ｖｓ０）＝（−，−，−，＋，＋）
（Ｖｃ１３，Ｖｃ１２，Ｖｃ１１）＝（−，−，＋）
となる。従って、比較器群５５の出力サーモメータコードは００１となる。この場合、エンコーダ回路５６のエンコード出力は１０進数で表現すれば１となり、２進数（ＤＯ１，ＤＯ２）で表現すれば０１である。
このエンコーダ回路５６の出力に基づいて、スイッチ制御回路７４がスイッチ回路７２を制御し、補間・補外回路７３への入力は以下のようになる。
（Ｖｉ４，Ｖｉ３，Ｖｉ２，Ｖｉ１）＝（Ｖｓ３，Ｖｓ２，Ｖｓ１，Ｖｓ０）＝（−，−，＋，＋）
このように、正常動作の場合に中央にある２つの差動増幅器１０２及び１０３の入力Ｖｉ２及びＶｉ３が、プラスマイナスの境界に一致するように、スイッチ制御回路７４によりスイッチ回路７２が制御される。
この例の場合、ＶＲＦ２とＶＲＦ１との間でＶＲＦ２の近傍にＶＩＮがあると仮定しているので、
（Ｖｃ２４，Ｖｃ２３，Ｖｃ２２，Ｖｃ２１，Ｖｃ２０）＝（−，＋，＋，＋，＋）
となる。
図９は、本発明の原理に基づく補外を考慮したエンコーダ回路７６の真理値表を示す図である。図９を参照して、上記の例の場合はケース２に対応し、エンコーダ回路７６の出力は１０進数で表現すれば３であり、２進数で表現すれば０１１となる。
従って、多段型Ａ／Ｄ変換器７０の出力としては、０１００＋００１１＝０１１１を得る。
以上の説明は、サーモメータコードが正常に得られた場合に対応する。以下に、サーモメータコードが以上であった場合を説明する。
上記同様に、サンプル・ホールド回路７１の出力電圧の正負、及び比較器群５５の比較結果は、
（Ｖｓ４，Ｖｓ３，Ｖｓ２，Ｖｓ１，Ｖｓ０）＝（−，−，−，＋，＋）
（Ｖｃ１３，Ｖｃ１２，Ｖｃ１１）＝（−，−，＋）
であるが、比較器群５５の出力サーモメータコードが００１でなく１０１となった場合を想定する。図３の真理値表から分かるように、エンコーダ回路５６のエンコード出力は１０進数で表現すれば２となり、２進数（ＤＯ１，ＤＯ２）で表現すれば１０である。
このエンコーダ回路５６の出力に基づいて、スイッチ制御回路７４がスイッチ回路７２を制御し、補間・補外回路７３への入力は以下のようになる。
（Ｖｉ４，Ｖｉ３，Ｖｉ２，Ｖｉ１）＝（Ｖｓ４，Ｖｓ３，Ｖｓ２，Ｖｓ１）＝（−，−，−，＋）
即ち、２進数１０に基づいてスイッチ制御したために、前述の正常動作時（２進数０１のバイナリコードの場合）よりも、１つ上位に位置する４つの電位が接続されることになる。
この場合、Ｖｉ３及びＶｉ２が共に“−”であるので、
（Ｖｃ２４，Ｖｃ２３，Ｖｃ２２，Ｖｃ２１，Ｖｃ２０）：（−，−，−，−，−）
となる。図９を参照して、上記の例の場合はケース１０に対応し、エンコーダ回路７６の出力は１０進数で表現すれば“−１”であり、２進数で表現すれば１１１（補数表現で−１）となる。
従って、多段型Ａ／Ｄ変換器７０の出力としては０１００−０００１＝０１１１を得ることができる。このように、異常なサーモメータコードが生成された場合であっても、多段型Ａ／Ｄ変換器７０においては、補外機能によって誤差を補正することができる。±１補正することができる補外回路を用いてエラー補正ができるのは、サーモメータ／バイナリ変換誤差を最小（±１以内）にする本発明によるエンコーダ回路を用いているためである。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図１】
2004086628.tif 000003
【図２】
2004086628.tif 000004
【図３】
2004086628.tif 000005
【図４】
2004086628.tif 000006
【図５】
2004086628.tif 000007
【図６】
2004086628.tif 000008
【図７】
2004086628.tif 000009
2004086628.tif 000010
【図９】
2004086628.tif 000011
【手続補正書】
【提出日】平成18年3月13日(2006.3.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーモメータコードである複数のビットデータを入力し、前記サーモメータコードに対応するエンコード値を出力するエンコーダ回路であって、
前記複数のビットデータのうち“０”と“１”の境界位置について、対応する複数のエンコード値候補の中心値をエンコード値として出力するように前記ビットデータを論理演算するエンコーダ回路。
【請求項２】
該中心値が２つ存在する場合には大きい方の中心値又は小さい方の中心値の何れか一方をエンコード値として出力するよう論理構成されたことを特徴とする請求項１記載のエンコーダ回路。
【請求項３】
複数の比較器により入力アナログ電位を複数の基準電位と比較することでサーモメータコードを出力する比較器群と、
該比較器群から出力される該サーモメータコードである複数のビットデータを入力し、前記サーモメータコードに対応するエンコード値を出力するエンコーダ回路を含むＡ／Ｄ変換回路であって、
前記エンコーダ回路は、前記複数のビットデータのうち“０”と“１”の境界位置について、対応する複数のエンコード値候補の中心値をエンコード値として出力するように前記ビットデータを論理演算することを特徴とするＡ／Ｄ変換回路。
【請求項４】
入力アナログ電位と複数の基準電位をサンプルして保持するサンプル・ホールド回路と、
該サンプル・ホールド回路の出力に基づいて、複数の比較器により該入力アナログ電位を該複数の基準電位と比較することでサーモメータコードを出力する第１の比較器群と、
該第１の比較器群から出力される該サーモメータコードである複数のビットデータを入力し、前記サーモメータコードに対応するエンコード値を出力する第１のエンコーダ回路と、
該サンプル・ホールド回路の出力を選択するスイッチ回路と、
該第１のエンコーダ回路の出力により該スイッチ回路を制御するスイッチ制御回路と、
該スイッチ回路により選択された該サンプル・ホールド回路の出力間の電圧を補間する補間回路と、
該補間回路の出力に基づいてサーモメータコードを出力する第２の比較器群と、
該第２の比較器群から出力される該サーモメータコードである複数のビットデータを入力し、前記サーモメータコードに対応するエンコード値を出力する第２のエンコーダ回路
を含むＡ／Ｄ変換回路であって、
前記第１のエンコーダ回路及び前記第２のエンコーダ回路は、入力される前記複数のビットデータのうち“０”と“１”の境界位置について、対応する複数のエンコード値候補の中心値をエンコード値として出力するように前記ビットデータを論理演算する
ことを特徴とするＡ／Ｄ変換回路。  
【請求項５】
該補間回路は補外機能を備え、該第２のエンコーダ回路は補外値に対応するエンコード値を出力するよう論理構成されることを特徴とする請求項４記載のＡ／Ｄ変換回路。
【請求項６】
ビット数が４以上のサーモメータコードを入力として該サーモメータコードにおける１つ又は複数の“０”と“１”の境界位置に対応する１つ又は複数のエンコード値が分布する範囲の中心値をエンコード値として出力するよう論理構成されたことを特徴とするエンコーダ回路。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にＡ／Ｄ変換器等に用いられるエンコーダ回路に関し、詳しくはサーモメータコードをバイナリコードに変換するエンコーダ回路に関する。
【背景技術】
【０００２】
デジタル信号処理技術の発達と共に、Ａ／Ｄ変換器には高分解能化及び高精度化が要求されている。これらの要求を満たすためには、Ａ／Ｄ変換時における誤差の発生を低減することが必要である。
【０００３】
一般にＡ／Ｄ変換器では、入力アナログ電位を複数の比較回路に入力し、それら複数の比較回路によって対応する参照電位と入力電位とを比較する。この参照電位は低い電位から高い電位まで等間隔で割り当てられており、比較器群の出力は、“０・・・０
０ ０ １ １ １・・・１”のように、下位の比較器出力は“１”であり、下位から上位へ向かう途中の比較器以降の出力は“０”となる。このようなコードは、サーモメータ(温度計)コードと呼ばれる。
【０００４】
例えば、サーモメータコードの隣接するビット間の排他的論理和をとることにより、“０”／“１”の境界部にのみ“１”を抽出する。その検出信号を、後続のスイッチマトリクスや増幅器によってバイナリコードに変換することができる。
【０００５】
しかしながらＡ／Ｄ変換器においては、各比較器が有する固有のオフセットのばらつき、高周波で比較器を動作させた場合のクロック信号の遅延差、ノイズによる信号揺らぎの影響等によって、“０・・・０
０ １ ０ １ １ ・・・１”のように、本来１箇所であるべき“０”／“１”の境界が２箇所以上発生することがある。このような場合、“０”／“１”の境界を検出してエンコードするような単純なエンコーダ回路では対応できずに、本来の正しいバイナリコードとはかけ離れたコードが生成されてしまう。
【０００６】
このようなサーモメータコードエラーが発生した場合でも、Ａ／Ｄ変換誤差が大きくならないよう設計されたエンコーダ回路が提案されている（特許文献１）。  このエンコーダ回路では、サーモメータコードの隣接するビット間で排他的論理和をとるので、“０・・・０
０ １ ０ １ １ ・・・１”のようなエラーコードが入力された場合には、“０”／“１”の境界として排他的論理和出力の連続３ビットが“１”となる。次に、複数の“１”ビットのうち中央の“１”が境界として有効になるように、スイッチマトリクスで重み付けする。最後に、重み付けされた信号を増幅器により増幅することで“０”／“１”を判定する。これにより、本来の正しいバイナリコードに近いコードが得られるように、エラー訂正することができる。
【０００７】
また特許文献２には、サーモメータコードをエンコードするための２分探索変換方法が開示されている。この方法では、中央に位置するビットを境にサーモメータコードを２分割し、中央に位置するビットの“０”／“１”によって２分割したコード中のどの位置に境界があるのかを探索していく。また特許文献３及び特許文献４には、ブール代数によって表現されるサーモメータ／バイナリ変換式に従った変換方法が開示されている。
【０００８】
図1は、３ビットからなるサーモメータコードを上記従来のエンコーダ回路に入力した場合の出力値を示す。ここで、サーモメータコードの３ビットについて、エラーの場合に発生し得る全ての“０”／“１”組み合せを含めて、全体で８つのパターンを示している。
【０００９】
誤りのあるサーモメータが入力された場合、“０”／“１”境界が２つ以上存在するので、何れの境界を正しい境界として扱うかによって、出力エンコード値は異なってくる。例えば、図１に示すケース６の場合であれば、異常なサーモメータコード［０，１，０］は、正しくは［０，１，１］となるべきであったのか、又は［０，０，１］となるべきであったのか、［０，０，０］となるべきであったのか判別できない。このように“０”／“１”境界が２つ以上存在する場合、正しいエンコード値としては複数の値があり得る。これを図1において「エンコーダ出力として取りうる値」として示している。また「エンコーダ出力として取りうる値」が複数存在する場合に、最大値と最小値との差を「距離」として示している。
【００１０】
ケース１、５、７、及び８は、正常なサーモメータコードが入力された場合である。この場合には、何れの従来例も正しいエンコーダ出力を生成する。
【００１１】
ケース３及び６は、入力サーモメータコードが異常であり、エンコーダ出力として３つの候補が考えられる場合である。このときの「距離」は２となる。例えばケース３では、サーモメータコードのビット２とビット３とが異常なパターンを構成している場合である。この入力が正常なサーモメータコードとなるためには、サーモメータコードのビット２とビット３とは［１,０］ではなく、［１,１］又は［０,１］か、［０,０］であるべきだと考えられる。この時、候補として挙げられるエンコーダの出力値はそれぞれ３、２、１である。
【００１２】
従って、ケース３のサーモメータコードが入力された場合、エンコーダの出力値と全ての取り得る出力値との距離を平均的に最小にするためには、取り得るエンコーダの出力値３、２、１の中央値として、エンコーダの出力値を２とするのが好ましい。ケース６の場合も同様に、エンコーダの出力値を1とするのが好ましい。このようにして求められる最適なエンコーダ出力値を「変換誤差を最小にするためにエンコーダ出力として取るべき値」として図１に示している。
【００１３】
またケース２及び４は、エンコーダ出力として４パターンの候補が考えられる場合、すなわち「距離」が３の場合である。例えばケース２では、サーモメータコードのビット１、ビット２、及びビット３が異常なパターンを構成している場合である。この入力が正常なサーモメータコードとなるためには、サーモメータコードは［１,１,０］ではなく、［１,１,１］、［０,１,１］、［０,０,１］、［０,０,０］の何れかであるべきだと考えられる。この時、候補として挙げられるエンコーダの出力値はそれぞれ３、２、１、０である。
【００１４】
従って、ケース２のサーモメータコードが入力された場合、エンコーダの出力値と全ての取り得る出力値との距離を平均的に最小にするためには、取り得るエンコーダの出力値３、２、１、０の中央値として、エンコーダの出力値を２又は１とするのが好ましい。ケース４の場合も同様に、エンコーダの出力値を２又は1とするのが好ましい。
【００１５】
図１において「従来例」として示すのは、特許文献１に記載のエンコーダの出力であり、「他の従来例」として示すのは、特許文献２乃至４に記載のエンコーダの出力である。図１に示されるように、「従来例」においては、ケースによっては出力が不定“Ｘ”となる場合がある。また「他の従来例」においては、エンコーダ出力が「エンコーダ出力として取るべき値」とは異なる場合が多い。
【００１６】
このように従来例のエンコーダ回路は、全ての可能なサーモメータコードの組み合せを考慮していないため、エラーが発生した場合にエンコーダ出力の誤差を常に最小にすることができない。
【特許文献１】特開平７−９５０８９号公報
【特許文献２】特開平８−３６４６６号公報
【特許文献３】特開平１１−１０３２５３号公報
【特許文献４】特開２０００−１３４１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
以上を鑑みて、本発明は、全ての可能なサーモメータコードの組み合せに対して、エンコーダ出力の誤差を最小にすることが可能なエンコーダ回路及びＡ／Ｄ変換器を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明によるエンコーダ回路は、サーモメータコードである複数のビットデータを入力し、前記サーモメータコードに対応するエンコード値を出力するエンコーダ回路であって、前記複数のビットデータのうち“０”と“１”の境界位置について、対応する複数のエンコード値候補の中心値をエンコード値として出力するように前記ビットデータを論理演算することを特徴とする。
【発明の効果】
【００１９】
上記エンコーダ回路は、正常なサーモメータコードに対しては“０”／“１”境界の位置に対応するエンコード値を出力し、異常なサーモメータコードの場合には、複数の“０”／“１”境界の位置に対応する複数のエンコード値の分布範囲の中心値を正規のエンコード値として出力するように論理構成される。従って、全ての可能なサーモメータ入力パターンに対応でき、如何なる入力パターンに対しても出力が不定状態になることはなく、エンコード出力値の誤差を常に最小にすることができる。
【００２０】
また本発明における別の側面によれば、エンコーダ回路は、サーモメータコードにおける“１”(又は“０”)の個数をエンコード出力とすることを特徴とする。
【００２１】
また本発明におけるＡ／Ｄ変換器は、複数の比較器により入力アナログ電位を複数の基準電位と比較することでサーモメータコードを出力する比較器群と、該比較器群から出力されるサーモメータコードをエンコードする上記エンコーダ回路を含むことを特徴とする。
【発明を実施するための最良の形態】
【００２２】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００２３】
本発明におけるエンコーダ回路は、比較器群等から出力されるサーモメータコードの“０”／“１”境界の位置に対応するエンコード値を出力し、且つ“０”／“１”境界が複数含まれている場合は、それらの境界の位置に対応する複数のエンコード値の分布範囲の中心値を正規のエンコード値とするように設計された論理回路である。
【００２４】
本発明におけるエンコーダ回路は、全ての可能なサーモメータ入力パターンを考慮して論理設計されるので、如何なる入力パターンに対しても出力が不定状態になることはない。また異常なサーモメータコードの場合には、複数の“０”／“１”境界の位置に対応する複数のエンコード値の分布範囲の中心値を正規のエンコード値とするので、エンコード出力値の誤差を最小にすることができる。
【００２５】
図２は、本発明によるエンコーダ回路の第１の実施例の構成の一例を示す図である。
【００２６】
図２のエンコーダ回路１０は、３ビットのサーモメータコードをバイナリ値に変換して出力する回路である。説明の便宜上、入力サーモメータコードが３ビットである場合について示すが、本発明は入力サーモメータコードのビット数について限定されるものではなく、複数のビットからなるサーモメータコードであれば、何ビットから構成されてもよい。
【００２７】
図２のエンコーダ回路１０は、ＥＸＮＯＲ（ＥＸＯＲ回路の出力反転）回路１１、ＡＮＤ回路１２及び１３、ＮＯＲ回路１４、ＯＲ回路１５及び１６、及びインバータ１７を含む。入力信号ＴＨＭ１〜ＴＨＭ３は、入力サーモメータコードのビット１〜ビット３に対応する。出力Ｄ０及びＤ１は、サーモメータコードをバイナリコードに変換したエンコーダ出力である。
【００２８】
図２に示される複数の論理ゲートによって、１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力する論理回路が実現されている。なお図２のエンコーダ回路１０においては、中心値が２つある場合には、大きい方の中心値を出力するよう構成されている。これは大きい方の中心値である必要はなく、小さい方の中心値を出力するように構成してもよい。大きい方又は小さい方の何れか一方が他方より好ましい理由はない。
【００２９】
図３は、図２の第１の実施例のエンコーダ回路１０について入出力の真理値表を示す図である。
【００３０】
図３の真理値表には、入力サーモメータコードを構成する３ビットについて、８つの全ての“０”／“１”の組み合せを示し、その８つの組み合せについて図２のエンコーダ回路１０の出力を示している。また図１の場合と同様に、「変換誤差を最小にするためにエンコーダ出力として取るべき値」を示し、この値とエンコーダ回路１０の出力値との差を「サーモメータ／バイナリ変換誤差」として示している。
【００３１】
例えばケース３の場合、“０”／“１”の境界は、ビット１の位置及びビット３の位置に存在する。それら２つの“０”／“１”境界の位置に対応する２つのエンコーダ出力は、１及び３である。従って、これら２つのエンコーダ出力の分布範囲［１−３］の中心値として、エンコーダ回路１０の出力は２となる。
【００３２】
またケース２の場合については、“０”／“１”の境界は、ビット０の位置及びビット３の位置に存在する。ここで、ビット０の位置が境界であるとの判断は、“０”であるビット１の下にある仮想的なビット０が“１”であるとの考えによる。これにより、全てゼロのパターン［０，０，０］の時にビット０の位置を境界とすることと整合が取れる。またビット３の位置が境界であるとの判断は、“１”であるビット３の上にある仮想的なビット４が“０”であるとの考えによる。これにより、全て“１”のパターン［１，１，１］の時にビット３の位置を境界とすることと整合が取れる。上記２つの“０”／“１”境界の位置に対応する２つのエンコーダ出力は、０及び３である。これら２つのエンコーダ出力の分布範囲［０−３］の中心値は１又は２であるが、本例では大きい方の中心値を選択してエンコーダ回路１０の出力を２とする。
【００３３】
またケース４の場合については、“０”／“１”の境界は、ビット０の位置及びビット３の位置に存在する。それら２つの“０”／“１”境界の位置に対応する２つのエンコーダ出力は、０及び３である。従って、これら２つのエンコーダ出力の分布範囲［０−３］の中心値は１又は２であるが、本例では大きい方の中心値を選択してエンコーダ回路１０の出力を２とする。
【００３４】
このように第１の実施例においては、１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力する論理回路を単純な構成で実現している。このエンコーダ回路は、従来の回路構成ではサーモメータ／バイナリ変換誤差（エンコーダ出力誤差）が大きかった場合においても、誤差を最小限に抑えることが可能である。
【００３５】
図４は、本発明によるエンコーダ回路の第２の実施例の構成の一例を示す図である。説明の便宜上、入力サーモメータコードが３ビットである場合について示すが、複数のビットからなるサーモメータコードであれば、何ビットから構成されてもよい。
【００３６】
図４のエンコーダ回路１０Ａは、ＮＯＲ回路２１及び２２、ＥＸＮＯＲ（ＥＸＯＲ回路の出力反転）回路２３及び２４、ＡＮＤ回路２５、ＯＲ回路２６、及びインバータ２７を含む。これらの論理ゲートによって、１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力する論理回路が実現されている。
【００３７】
図５は、図４の第２の実施例のエンコーダ回路１０Ａについて入出力の真理値表を示す図である。
【００３８】
図５の真理値表には、サーモメータコードの“１”の個数をカウントした値を記載している。図５から分かるように、サーモメータコードの“１”の個数は、「変換誤差を最小にするためにエンコーダ出力として取るべき値」の条件を満足している。図４のエンコーダ回路１０Ａは、サーモメータコードの“１”の個数を出力するように論理設計されており、これにより１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力する論理回路を実現している。
【００３９】
なおサーモメータコードの“１”の個数が分布範囲の中心値と一致するのは、サーモメータコードが３ビットの場合に特有の現象であり、４ビット以上の場合には当てはまらない。しかし“１”の個数をカウントすることは、サーモメータコードの“０”と“１”をそれぞれ左右に固まるように移動させることによって、仮想的に“０”／“１”境界を1つに定めていることを意味している。サーモメータコードが４ビット以上の場合であっても、“１”の個数をカウントすることで境界を１つに定めることにより、エンコード値を１つの出力値として決定させることができる。
【００４０】
このように第２の実施例においては、サーモメータコードの“１”の個数を出力とする論理回路を単純な構成で実現している。このエンコーダ回路は、従来の回路構成ではサーモメータ／バイナリ変換誤差（エンコーダ出力誤差）が大きかった場合においても、誤差を最小限に抑えることができる。
【００４１】
図６は、本発明によるＡ／Ｄ変換回路の第１の実施例を示す図である。
【００４２】
図６のＡ／Ｄ変換回路３０は、エンコーダ回路１０と比較器群３１を含む。エンコーダ回路１０は図２に示されるが、代わりに図４に示されるエンコーダ回路１０Ａを用いてもよい。比較器群３１は、比較器４１乃至４３を含む。比較器４１乃至４３は、入力アナログ電位ＶＩＮを受け取ると共に、それぞれ対応する基準電位ＶＲＦ１乃至ＶＲＦ３を受け取る。各比較器４１乃至４３は、入力アナログ電位ＶＩＮを対応する基準電位と比較して、その比較結果をサーモメータコードＴＨＭ１乃至ＴＨＭ３として出力する。
【００４３】
エンコーダ回路１０は、比較器群３１から供給されるサーモメータコードＴＨＭ１乃至ＴＨＭ３をエンコードして、バイナリコードＤ０及びＤ１として出力する。この際、エンコーダ回路１０は、１つ又は複数の“０”／“１”境界について対応するエンコード値の分布範囲の中心値を正規のエンコード値として出力するよう構成されており、異常なサーモメータコード出力エンコード値の誤差を最小限に抑えることが可能である。即ち、比較器４１乃至４３のオフセットやノイズによる信号揺らぎ等、サーモメータコードに異常が発生する要因があったとしても、誤差を最小限にするようにＡ／Ｄ変換結果を得ることができる。
【００４４】
図７は、本発明によるＡ／Ｄ変換回路の第２の実施例を示す図である。
【００４５】
図７のＡ／Ｄ変換回路５０は、サンプル・ホールド回路５１及び５９、スイッチ回路５２、補間回路５３、スイッチ制御回路５４、比較器群５５、エンコーダ回路５６、比較器群５７、及びエンコーダ回路５８を含む。サンプル・ホールド回路５１は、入力電圧を所定のタイミングでサンプルしその後ホールドする個々のサンプル・ホールド回路６１乃至６３を含む。スイッチ回路５２は、スイッチ制御回路５４により制御されるスイッチ６４乃至６７を含む。補間回路５３は、スイッチ回路５２により選択されたサンプル電圧を増幅するための差動増幅器６８及び６９、及び同電圧を補間するための抵抗ラダーを含む。
【００４６】
比較器群５５及び５７は比較器群３１と同一の構成でよく、エンコーダ回路５６及び５８はエンコーダ回路１０又は１０Ａと同一の構成でよい。比較器群５５及びエンコーダ回路５６からなるＡ／Ｄ変換部分が、入力アナログ電位ＶＩＮをＡ／Ｄ変換した結果の上位２ビットＤＯ１及びＤＯ２を出力し、比較器群５７及びエンコーダ回路５８からなるＡ／Ｄ変換部分が、Ａ／Ｄ変換結果の下位２ビットＤＯ３及びＤＯ４を出力する。
【００４７】
まずサンプル・ホールド回路５１が、基準電位ＶＲＦ１乃至ＶＲＦ３と入力アナログ電位ＶＩＮとをサンプルして保持する。保持された基準電位ＶＲＦ１乃至ＶＲＦ３と入力アナログ電位ＶＩＮとの大小を比較器群５５により比較し、エラー訂正可能な本発明のエンコーダ回路５６を用いて上位のバイナリ信号ＤＯ１及びＤＯ２を得る。
【００４８】
このバイナリ信号ＤＯ１及びＤＯ２に応答して、スイッチ制御回路５４がスイッチ回路５２のスイッチ群を制御する。比較器群５５からスイッチ制御回路５４への制御信号が生成される間、サンプル・ホールド回路５９はサンプル・ホールド回路５１のホールド電圧をサンプルする。スイッチ制御回路５４の信号が出力されるタイミングで、サンプル・ホールド回路５９がホールド電圧を出力するように構成することによって、“０”／“１”境界に対応する２組のアナログ信号がサンプル・ホールド回路５１から補間回路５３に伝達される。例えば、ＶＲＦ１とＶＲＦ２の間にＶＩＮが位置する場合には、ＶＲＦ１とＶＩＮを差動増幅器６８に接続するようにスイッチ６４及び６５が制御されると共に、ＶＲＦ２とＶＩＮを差動増幅器６９に接続するようにスイッチ６６及び６７が制御される。
【００４９】
補間回路５３は、選択された２組のアナログ信号を増幅した後に、４等分に分圧する。上記例のように、下位２ビット（４階調）を得る場合には、ＶＲＦ１とＶＲＦ２の間を４等分する。分圧された電圧は、比較器群５７に供給されて、比較動作が実行される。この比較結果を示すサーモメータコードを、エラー訂正可能な本発明のエンコーダ回路５８を用いてエンコードすることで、下位のバイナリ信号ＤＯ３及びＤＯ４を得る。
【００５０】
図８は、本発明によるＡ／Ｄ変換回路の第３の実施例を示す図である。図８において、図７と同一の構成要素は同一の番号により参照し、その説明は省略する。
【００５１】
図８のＡ／Ｄ変換回路７０は、サンプル・ホールド回路７１及び７７、スイッチ回路７２、補間・補外回路７３、スイッチ制御回路７４、比較器群５５、エンコーダ回路５６、比較器群７５、及びエンコーダ回路７６を含む。サンプル・ホールド回路７１は、入力電圧を所定のタイミングでサンプルしその後ホールドする個々のサンプル・ホールド回路８１乃至８５を含む。スイッチ回路７２は、スイッチ制御回路７４により制御されるスイッチ９１乃至９８を含む。補間回路７３は、スイッチ回路７２により選択されたサンプル電圧を増幅するための差動増幅器１０１乃至１０４、及び同電圧を補間・補外するための抵抗ラダーを含む。各差動増幅器の出力間を４Ｒの抵抗で分圧した構成となっている。
【００５２】
図８のＡ／Ｄ変換回路７０がバイナリコードを生成するための各回路の動作は、図７のＡ／Ｄ変換回路５０の各回路の動作と基本的な部分については同様である。但し第８のＡ／Ｄ変換回路７０においては、異常なサーモメータコードが生成され誤った上位ビットＤＯ１及びＤＯ２が生成された場合であっても、正しいエンコード出力が得られるように構成されている。この目的のために、補間・補外回路７３には補外機能が設けられ、またエンコーダ回路７６は補外を考慮した構成となっている。
【００５３】
以下の説明において、ＶＲＦ１ ＜ ＶＩＮ ＜ ＶＲＦ２であり、且つＶＲＦ２の近傍にＶＩＮがある状態であるとする。この場合、サンプル・ホールド回路７１の出力電圧の正負、及び比較器群５５の比較結果は、
(Vs4,Vs3,Vs2,Vs1,Vs0)
= (−,−,−,＋,＋)
(Vc13,Vc12,Vc11)
= (−,−,＋)
となる。従って、比較器群５５の出力サーモメータコードは００１となる。この場合、エンコーダ回路５６のエンコード出力は１０進数で表現すれば１となり、２進数（ＤＯ１，ＤＯ２）で表現すれば０１である。
【００５４】
このエンコーダ回路５６の出力に基づいて、スイッチ制御回路７４がスイッチ回路７２を制御し、補間・補外回路７３への入力は以下のようになる。
【００５５】
(Vi4,Vi3,Vi2,Vi1)
= (Vs3,Vs2,Vs1,Vs0) = (−,−,＋,＋)
このように、正常動作の場合に中央にある２つの差動増幅器１０２及び１０３の入力Vi2及びVi3が、プラスマイナスの境界に一致するように、スイッチ制御回路７４によりスイッチ回路７２が制御される。
【００５６】
この例の場合、ＶＲＦ２とＶＲＦ１との間でＶＲＦ２の近傍にＶＩＮがあると仮定しているので、
(Vc24,Vc23,Vc22,Vc21,Vc20)
= (−,＋,＋,＋,＋)
となる。
【００５７】
図９は、本発明の原理に基づく補外を考慮したエンコーダ回路７６の真理値表を示す図である。図９を参照して、上記の例の場合はケース２に対応し、エンコーダ回路７６の出力は１０進数で表現すれば３であり、２進数で表現すれば０１１となる。
【００５８】
従って、多段型Ａ／Ｄ変換器７０の出力としては、０１００＋００１１＝０１１１を得る。
【００５９】
以上の説明は、サーモメータコードが正常に得られた場合に対応する。以下に、サーモメータコードが以上であった場合を説明する。
【００６０】
上記同様に、サンプル・ホールド回路７１の出力電圧の正負、及び比較器群５５の比較結果は、
(Vs4,Vs3,Vs2,Vs1,Vs0)
= (−,−,−,＋,＋)
(Vc13,Vc12,Vc11)
= (−,−,＋)
であるが、比較器群５５の出力サーモメータコードが００１でなく１０１となった場合を想定する。図３の真理値表から分かるように、エンコーダ回路５６のエンコード出力は１０進数で表現すれば２となり、２進数（ＤＯ１，ＤＯ２）で表現すれば１０である。
【００６１】
このエンコーダ回路５６の出力に基づいて、スイッチ制御回路７４がスイッチ回路７２を制御し、補間・補外回路７３への入力は以下のようになる。
【００６２】
(Vi4,Vi3,Vi2,Vi1)
= (Vs4,Vs3,Vs2,Vs1) = (−,−,−,＋)
即ち、２進数１０に基づいてスイッチ制御したために、前述の正常動作時(２進数０１のバイナリコードの場合)よりも、１つ上位に位置する４つの電位が接続されることになる。
【００６３】
この場合、Vi3及びVi2が共に“−”であるので、
(Vc24,Vc23,Vc22,Vc21,Vc20)
= (−,−,−,−,−)
となる。図９を参照して、上記の例の場合はケース１０に対応し、エンコーダ回路７６の出力は１０進数で表現すれば“−１”であり、２進数で表現すれば１１１（補数表現で−１）となる。
【００６４】
従って、多段型Ａ／Ｄ変換器７０の出力としては０１００−０００１＝０１１１を得ることができる。このように、異常なサーモメータコードが生成された場合であっても、多段型Ａ／Ｄ変換器７０においては、補外機能によって誤差を補正することができる。±１補正することができる補外回路を用いてエラー補正ができるのは、サーモメータ／バイナリ変換誤差を最小（±１以内）にする本発明によるエンコーダ回路を用いているためである。
【００６５】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００６６】
【図１】図１は、３ビットからなるサーモメータコードを従来のエンコーダ回路に入力した場合の出力値を示す図である。
【図２】図２は、本発明によるエンコーダ回路の第１の実施例の構成の一例を示す図である。
【図３】図３は、図２の第１の実施例のエンコーダ回路について入出力の真理値表を示す図である。
【図４】図４は、本発明によるエンコーダ回路の第２の実施例の構成の一例を示す図である。
【図５】図５は、図４の第２の実施例のエンコーダ回路について入出力の真理値表を示す図である。
【図６】図６は、本発明によるＡ／Ｄ変換回路の第１の実施例を示す図である。
【図７】図７は、本発明によるＡ／Ｄ変換回路の第２の実施例を示す図である。
【図８】図８は、本発明によるＡ／Ｄ変換回路の第３の実施例を示す図である。
【図９】図９は、本発明の原理に基づく補外を考慮したエンコーダ回路の真理値表を示す図である。
【符号の説明】
【００６７】
１０  エンコーダ回路
【国際調査報告】
2004086628.tif 000012
2004086628.tif 000013