JP3756638B2 - エンコーダ、エンコード信号の誤り訂正方法、a/d変換器、及びa/d変換器の試験方法 - Google Patents

エンコーダ、エンコード信号の誤り訂正方法、a/d変換器、及びa/d変換器の試験方法 Download PDF

Info

Publication number
JP3756638B2
JP3756638B2 JP24137697A JP24137697A JP3756638B2 JP 3756638 B2 JP3756638 B2 JP 3756638B2 JP 24137697 A JP24137697 A JP 24137697A JP 24137697 A JP24137697 A JP 24137697A JP 3756638 B2 JP3756638 B2 JP 3756638B2
Authority
JP
Japan
Prior art keywords
code
error
gray
gray code
signal
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
Application number
JP24137697A
Other languages
English (en)
Other versions
JPH1188174A (ja
Inventor
三六 塚本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP24137697A priority Critical patent/JP3756638B2/ja
Priority to US09/034,219 priority patent/US6298459B1/en
Priority to TW087103654A priority patent/TW418569B/zh
Priority to KR10-1998-0011145A priority patent/KR100458187B1/ko
Publication of JPH1188174A publication Critical patent/JPH1188174A/ja
Priority to KR1020000071457A priority patent/KR100337750B1/ko
Priority to KR1020000071458A priority patent/KR100419491B1/ko
Priority to US09/906,816 priority patent/US6653956B2/en
Application granted granted Critical
Publication of JP3756638B2 publication Critical patent/JP3756638B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Analogue/Digital Conversion (AREA)
  • Error Detection And Correction (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、特に高速で動作するA/D変換器に使用されるエンコーダに関するものである。
【0002】
近年、A/D変換器は種々の電子機器に使用され、そのA/D変換速度の向上が益々要請されている。高速動作に有利な並列型及び直並列型A/D変換器は、主にアナログ入力信号とアナログ基準電圧とを比較する複数のコンパレータと、そのコンパレータの出力信号を複数ビットのデジタル信号に変換するエンコーダとから構成される。そして、A/D変換速度の高速化及びA/D変換精度の向上を図るために、エンコーダの動作速度の高速化及び動作精度の向上を図る必要がある。
【0003】
【従来の技術】
A/D変換器の一種類である並列型あるいは直並列型A/D変換器は、そのA/D変換速度において、他の形式のA/D変換器に対し優れている。一般的な並列型A/D変換器は、コンパレータ部と、そのコンパレータの出力信号の論理境界を検出する論理境界検出部と、エンコーダ部とから構成される。エンコーダ部には、Wired ORによるROM形式の回路が広く採用されている。
【0004】
図39は、並列型A/D変換器の第一の従来例として、5ビットのデジタル出力信号を出力する並列型A/D変換器を示す。
高電位側基準電圧VRHと、低電位側基準電圧VRLとの間には、32本の抵抗Rが直列に接続されている。前記抵抗Rは、両端に位置する抵抗の抵抗値がその他の抵抗の抵抗値の1/2に設定されている。
【0005】
前記各抵抗R間は、31個のコンパレータCM1〜CM31の一方の入力端子にそれぞれ接続されている。従って、各コンパレータCM1〜CM31には、前記基準電圧VRH,VRLを前記抵抗Rで抵抗分割した基準電圧VR1〜VR31 がそれぞれ入力される。
【0006】
前記コンパレータCM1〜CM31の他方の入力端子にはアナログ入力信号Ainがそれぞれ入力される。各コンパレータCM1〜CM31は、制御回路(図示しない)から出力される制御信号に基づいて、それぞれ前記基準電圧VR1〜VR31 と、アナログ入力信号Ainとを比較する。
【0007】
そして、各コンパレータCM1〜CM31は、アナログ入力信号Ainの電位が基準電圧VR1〜VR31 より低いとき、Hレベルの出力信号S1〜S31と、Lレベルの出力信号・バーS1〜バーS31を出力する。
【0008】
また、アナログ入力信号Ainの電位が基準電圧VR1〜VR31 より高いとき、Lレベルの出力信号S1〜S31と、Hレベルの出力信号・バーS1〜バーS31を出力する。
【0009】
従って、例えばアナログ入力信号Ainの電位が基準電圧VR4より高く、基準電圧VR5より低いと、コンパレータCM1〜CM4は出力信号S1〜S4がLレベル、出力信号・バーS1〜バーS4がHレベルとなるサーモメータコードを出力する。また、コンパレータCM5〜CM31は出力信号S5〜S31がHレベル、出力信号・バーS5〜バーS31がLレベルとなるサーモメータコードを出力する。このようなコンパレータCM1〜CM31及び抵抗Rにより、コンパレータ部1が構成される。
【0010】
前記コンパレータCM1〜CM31の出力信号S1,バーS1〜S31,バーS31は、アドレスデコーダとして動作する32個のNOR回路DE0〜DE31に入力される。
【0011】
すなわち、前記コンパレータCM1〜CM31の出力信号S1〜S31は、NOR回路DE1〜DE31の一方の入力端子に入力され、コンパレータCM1〜CM31の出力信号・バーS1〜バーS31は、NOR回路DE0〜DE30の他方の入力端子に入力される。また、NOR回路DE0,DE31の一方の入力端子は、グランドGNDに接続される。
【0012】
このような構成により、各NOR回路DE0〜DE31は入力信号がともにLレベルとなると、Hレベルの信号を出力し、Hレベルの信号を出力するNOR回路は、前記コンパレータCM1〜CM31の動作によりいずれか一つとなり、論理境界検出部2が構成される。
【0013】
前記NOR回路DE0〜DE31の出力信号は、ROMで構成されるエンコード部3aのワード線WL0〜WL31に出力される。前記エンコード部3aには5ビットのデジタル出力信号B0〜B4に対応して、5本のビット線BL0〜BL4が配設される。
【0014】
そして、各ワード線WL0〜WL31とビット線BL0〜BL4との間の所定位置には、バイナリーコードによる出力信号B0〜B4を出力するためのROMセル4がそれぞれ接続されている。前記ROMセル4は、図40に示すようにNチャネルMOSトランジスタで構成され、そのトランジスタのゲートは前記ワード線WLに接続され、ドレインは前記ビット線BLに接続され、ソースはグランドGNDに接続される。
【0015】
前記ビット線BL0〜BL4はそれぞれスイッチ回路SW0〜SW4を介して電源VDDに接続され、同スイッチ回路SW0〜SW4が閉路されると、各ビット線BL0〜BL4がプリチャージされる。なお、スイッチ回路SW0〜SW4はPチャネルMOSトランジスタで構成される。
【0016】
そして、前記スイッチ回路SW0〜SW4が開路された後に、いずれかのワード線がHレベルとなると、当該ワード線に接続されたROMセル4がオンされ、当該ROMセル4に接続されたビット線がLレベルとなる。
【0017】
従って、例えばワード線WL0がHレベルとなると、デジタル出力信号B0〜B4は「00000」となり、ワード線WL2がHレベルとなると、デジタル出力信号B0〜B4は「01000」となる。
【0018】
上記のようなA/D変換器では、エンコード部3aにはプリチャージ動作を必要とするROM形式の回路が使用されているが、コンパレータ部1の動作速度はエンコード部3aの動作速度より遅い。従って、変換速度を決定するのは、エンコード部3aではなくコンパレータ部1であるため、このようなエンコード部3aが採用されている。
【0019】
このようなA/D変換器では、コンパレータ部1の出力信号は正常時には論理境界が1個所しかないサーモメータコードが出力されるか、あるいはすべて同一論理となる。
【0020】
ところが、サーモメータコードにバブルエラーが発生することがある。確率的に最も多く発生するバブルエラーは、コンパレータCM1〜CM31の出力信号バーS1〜バーS31において、「・・11101000・・」のように1つの出力論理が反転するものである。このようなバブルエラーがNOR回路DE0〜DE31に入力されると、二本のワード線が同時にHレベルとなり、正常な出力信号B0〜B4が出力されない。
【0021】
特に、バイナリーコードの出力信号B0〜B4を出力するように構成されたエンコード部3aでは、上記バブルエラーにより出力信号B0〜B4に大きな誤差が生じることがある。すなわち、上記バブルエラーにより図41に示すワード線WL14,WL16とが同時にHレベルとなると、出力信号B0〜B4はオール0となってしまい、ワード線WL14だけがHレベルとなる場合あるいはワード線WL15だけがHレベルとなる場合の出力信号B0〜B4に比して大きな誤差が発生する。
【0022】
そこで、このような不具合を解決するために、論理境界検出部2を図42に示す構成としたA/D変換器が提案されている。このA/D変換器は論理境界検出部2を構成するNOR回路DE0〜DE31を3入力構成とし、n番目のNOR回路をNOR回路DEnとすれば、NOR回路DEnにはコンパレータCMnの出力信号Snと、その上位のコンパレータCM(n+1),CM(n+2)の出力信号・バーS(n+1),バーS(n+2)を入力するように構成したものである。
【0023】
このような構成により、上記のようにサーモメータコードに異なる論理が1つ挟まれたようなバブルエラーが発生した場合には、バブルエラー部分を論理境界と判定することが防止され、いずれか一本のワード線WLだけがHレベルとなって、出力信号B0〜B4として正常値あるいは正常値に近い値が出力される。
【0024】
ところが、上記のようにNOR回路DE0〜DE31を3入力構成としても、コンパレータCM1〜CM31の出力信号バーS1〜バーS31において、例えば「・・111001000・・」あるいは「・・111011000・・」のように、出力論理が2つ以上離れて反転するバブルエラーが発生した場合には、2本のワード線を隔てた2本のワード線が同時にHレベルとなることがある。
【0025】
そして、例えば図41に示すワード線WL14,WL17が同時にHレベルとなると、出力信号B0〜B4がオール0となり、ワード線WL14〜WL17のいずれかがHレベルとなる場合の出力信号B0〜B4に比して大きな誤差が発生する。
【0026】
このような不具合を解決するために、図43に示すように、バイナリーコードに代えてグレーコード(交番2進信号)を出力可能としたエンコード部3bを備えたA/D変換器が提案されている。
【0027】
前記エンコード部3bは、バイナリーコードの出力信号B0〜B4を出力する前記エンコード部3aとはROMセル4の位置が異なり、いずれか一本のワード線WLがHレベルとなることにより、5ビットのグレーコードの出力信号G0〜G4を出力する。前記サーモメータコードを10進数(Decimal)として認識した場合、そのサーモメータコードに対するバイナリーコード(Binary)の出力信号B0〜B4と、グレーコード(Gray)の出力信号G0〜G4との対照関係を図47に示す。そして、出力信号G0〜G4はグレーコードをバイナリーコードに変換する変換回路を介して次段の回路に出力される。
【0028】
上記のようなA/D変換器では、コンパレータ部1からバブルエラーが出力されて、論理境界検出部2により、図44において例えばワード線WL14,WL17が同時にHレベルとなっても、エンコード部3bの出力信号G0〜G4はワード線WL14のみがHレベルとなった場合と同一となる。従って、ワード線WL15あるいはワード線WL16がHレベルとなる場合が最も確からしい値であったとしても、前記バイナリーコードのエンコード部3aのように大きな誤差が生じた出力信号を出力することはない。
【0029】
このように3入力のNOR回路で構成される論理境界検出部2と、グレーコードの出力信号G0〜G4を出力するエンコード部3bを備えたA/D変換器では、コンパレータ部1の出力信号に上記のようなバブルエラーが発生したとしても、図50〜図52に示すように、デジタル出力信号に発生する誤差を抑制することが可能となる。
【0030】
図50は、サーモメータコードの出力論理が1つ離れて反転するタイプb1のバブルエラー「・11101000・・」が、2入力のNOR回路で構成される論理境界検出部2に入力され、その論理境界検出部2aの出力信号を前記エンコード部3bでグレーコードに変換した場合の動作を示し、横軸は正常なサーモメータコードの10進値であり、縦軸はエンコーダ部3bから出力されるグレーコードの出力信号を10進数に置換した値である。
【0031】
図51は、サーモメータコードの出力論理が2つ離れて反転するタイプb2Hのバブルエラー「・111001000・・」が、3入力のNOR回路で構成される論理境界検出部2に入力され、その論理境界検出部2の出力信号を前記エンコーダ3bでグレーコードに変換した場合の動作を示し、横軸は正常なサーモメータコードの10進値であり、縦軸はエンコーダ部3bから出力されるグレーコードの出力信号を10進数に置換した値である。
【0032】
図52は、サーモメータコードの「1」の出力論理が論理境界から2つ離れて「0」に反転するタイプb2Lのバブルエラー「・111011000・・」が、3入力のNOR回路で構成される論理境界検出部2に入力され、その論理境界検出部2の出力信号を前記エンコーダ3bでグレーコードに変換した場合の動作を示し、横軸は正常なサーモメータコードの10進値であり、縦軸はエンコード部3bから出力されるグレーコードの出力信号を10進数に置換した値である。
【0033】
上記のように、グレーコードを出力するエンコード部は、バイナリーコードを出力するエンコード部に比して誤差を抑制することができるので、グレーコードをバイナリーコードに変換する変換回路が必要となるにも関わらず、広く使用されている。しかし、依然として最も確からしいと考えられる値に対して誤差が生じている。
【0034】
これを解決するために、コンパレータ部から出力されるサーモメータコードに多数決回路による論理処理を施すようにしたA/D変換器が提案されているが、多数決回路の搭載がA/D変換器の回路規模を増大させてしまう。そのため、回路規模の増大を抑制するために、多数決回路をアナログ回路で構成することが提案されている。(J.van de Valburg and R.J.van de Plassche "An 8-bit 650-MHz folding ADC,"IEEE Journal of Solid-State Circuits, vol.27,pp.1662-1666,Dec.1992)
しかし、このような多数決回路でも、上記タイプb2H、タイプb2Lに示すような出力論理が2つ離れて反転するバブルエラーに対しては、十分な効果を挙げられていない。
【0035】
また、サーモメータコードの論理境界検出部に変則デコード論理を設定して、バブルエラーが発生しても最も確からしいデジタル出力信号を出力するようにしたもの(C.W.Mangelsdorf,"A 400-MHz Input Flash Converter with Error Correction"Journal of Solid-State Circuits, vol.25,pp.184-191,Feb.1990)、あるいはサーモメータコードの隣接する出力間にて行っていた論理境界検出を上位ビットと下位ビットとに2分割して行うもの(Y.Gendai et al.,"An 8b 500-MHzADC,"Digest of International Solid-State Circuit Conference, TPM 10.5,pp.172-173,Feb.1991 )、また論理境界検出部において、サーモメータコードの論理比較を1つおきに行うことによりバブルエラーの発生を抑制するもの(A.Matsuzawa et al.,"An 8b 600-MHz Flash A/D with mutistage deplex gray coding ,"Symp.VLSI Circ. Dig. Tech.Papers,pp.113-114,May.1991)等が提案されている。
【0036】
上記A/D変換器は、いずれもサーモメータコードに発生したバブルエラーを論理境界検出部で排除あるいは訂正するものである。
これに対して、バブルエラーをエンコーダ部で訂正する構成としたものでは、PチャネルMOSトランジスタで構成したエンコーダと、NチャネルMOSトランジスタで構成したエンコーダの出力信号の平均をとるようにしたツインエンコーダ型があるが、エンコーダの回路規模が2倍となる(M.Ito et al.,"A 10bit 20MS/s 3V Supply CMOS AD Converter ,"1994 Journal of Solid-State Circuits, vol.25,pp.184-191,Feb.1990 )。
【0037】
また、グレーコードをバイナリーコードに変換するための変換回路の論理段数を削減するために、Quasiグレーコードを出力するエンコーダを採用することにより、エンコーダとしての動作速度を向上させるようにしたもの(Y.Akazawa,"A 400MSPS 8b Flash A/D Conversion LSI,"ISSCC Digest of Tecnical Papers,pp.98-99,Feb.1987 )がある。
【0038】
【発明が解決しようとする課題】
上記のように、並列型A/D変換器のエンコード部は、いずれもWiredOR回路によるROM形式で構成される。この構成では、1サイクルの動作毎にプリチャージ動作が必要となり、そのプリチャージ動作は1サイクルの動作時間のほぼ半分の時間を要する。従って、エンコード部の動作速度の向上を図る上で障害となっている。
【0039】
また、エンコード部にはサーモメータコードに発生するバブルエラーによる誤差を訂正する機能がないため、バブルエラーの訂正は主に論理境界検出部で訂正されている。しかし、このような構成では誤差の程度の少ないグレーコードを出力するエンコード部を使用しても、バブルエラーによる出力信号の誤差を完全に除去することはできないという問題点がある。
【0040】
また、上記ツインエンコーダ型では、バブルエラーをエンコード部で訂正する構成であるが、エンコード部の回路規模が2倍となるという問題点がある。
この発明の目的は、入力されるサーモメータコードに含まれるバブルエラーの訂正機能を備え、かつ動作速度を向上させ得るエンコーダを提供することにある。
【0041】
【課題を解決するための手段】
図1は本発明の請求項1の原理説明図である。すなわち、エンコード部101は、サーモメータコードeの論理境界を検出することにより、グレーコードGのデジタル信号を生成する。グレー・バイナリー変換部104は、前記エンコード部101から出力されるグレーコードGをバイナリーコードBのデジタル信号に変換する。前記エンコード部101には、グレーコードGの2つのビットの値が特定の関係にあるか否かを検出することにより、該グレーコードGに含まれるエラーコードを検出するエラー検出部102と、前記エラー検出部102で検出されたエラーコードを訂正するエラー訂正部103とが備えられる。
【0042】
請求項2では、前記エンコード部は、前記サーモメータコードの論理境界を検出する多数の論理境界検出回路と、前記論理境界検出回路とビット線との間に介在されて、該論理境界検出回路の出力信号に基づいてビット線からグレーコードを出力する多数のROMセルとを備える。前記グレーコードの下位ビットを出力するビット線を複数の分解ビット線で構成し、前記各ROMセルを各分解ビット線に周期的に接続することにより、当該分解ビット線から出力される分解グレーコードのいずれかと、他のビットのグレーコードとの間に、常に前記特定の関係が設定されるようにし、前記エラー検出部は、前記分解ビット線から出力される分解グレーコードと他のビットのグレーコードとが、前記特定の関係を満足するか否かを検出する。
【0043】
請求項3では、前記論理境界検出回路は、1つおきのサーモメータコードを3つ以上入力する論理ゲートで構成した。
請求項4では、前記エンコード部は、前記グレーコードの最下位ビットを出力するビット線として、対象論理側の分解グレーコードを周期的に交互に出力する2本の分解ビット線と、非対象論理側の分解グレーコードを周期的に交互に出力する2本の分解ビット線とを備え、前記分解ビット線はいずれか1つのビット線とその他のビット線とから相補信号を出力する第一のエンコード部と、下位から2ビット目のグレーコードを出力するビット線として、対象論理側と非対象論理側の分解グレーコードを出力する2本の分解ビット線を備え、該分解ビット線から相補信号を出力する第二のエンコード部と、下位から2ビット目のグレーコードをシフトして下位から3ビット目のバイナリーコードの相補信号に相当する信号を出力する2本の分解ビット線を備えた第三のエンコード部とを備える。
【0044】
請求項5では、相補信号を出力する前記分解ビット線には、一方の分解ビット線の出力信号に基づいて、他方の分解ビット線をプリチャージするプリチャージ回路を接続した。
【0045】
請求項6では、前記プリチャージ回路は、前記分解ビット線にそれぞれプリチャージトランジスタを介してプリチャージ電源を供給し、相補信号を出力する分解ビット線のうち、Lレベルの信号を出力する一方の分解ビット線の出力信号で、他方の分解ビット線に接続されたプリチャージトランジスタをオンさせて当該分解ビット線をプリチャージする。
【0046】
請求項7では、前記プリチャージ回路は、前記分解ビット線にそれぞれプリチャージトランジスタを介してプリチャージ電源を供給し、相補信号を出力する分解ビット線のうちの一方の分解ビット線の出力信号に基づいて、前記プリチャージトランジスタをカレントミラー動作させて、Lレベルを出力しない分解ビット線をプリチャージする。
【0047】
請求項8では、前記プリチャージ回路には、相補信号を出力する前記分解ビット線の電位差を一定値以内とするクランプ回路を備えた。
請求項9では、前記クランプ回路は、複数のダイオード若しくはダイオード接続したMOSトランジスタで構成した。
【0048】
請求項10では、前記エンコード部は、グレーコードの下位ビットを前記分解グレーコードとして生成し、前記グレー・バイナリー変換部は、前記分解グレーコードと、前記エラー検出部の検出信号との論理処理に基づいて、エラーコードの訂正と同時に全ビットのバイナリーコードを生成する。
【0049】
請求項11では、前記グレー・バイナリー変換部は、前記分解グレーコードのうち、上下3ビットの範囲内の分解グレーコードを論理処理して、バイナリーコードを生成する。
【0050】
請求項12では、前記エンコーダ部の分解ビット線は、最上位以外の少なくとも1ビット以上の分解グレーコードに換えて分解バイナリーコードを出力する。
請求項13では、前記エンコーダ部の分解ビット線は、最上位以外の少なくとも1ビット以上の分解グレーコードに換えて分解バイナリーコードを出力し、前記エラー検出部は、前記分解バイナリーコードと分解グレーコードとが特定の関係を満足するか否かに基づいてエラーコードを検出する。
【0053】
請求項14では、それぞれ異なる電圧の基準電圧が入力され、該基準電圧とアナログ入力電圧とを比較して、サーモメータコードを出力する多数のコンパレータと、前記サーモメータコードの論理境界を検出した論理境界検出信号を出力する論理境界検出部と、前記論理境界検出信号に基づいてROMセルを動作させることにより、該ROMセルに接続したビット線からデジタル信号を出力するエンコーダとを備えたA/D変換器で、前記エンコーダは、前記論理境界検出部の出力信号に基づいて、グレーコードを生成するエンコード部と、前記エンコード部から出力されるグレーコードをバイナリーコードに変換するグレー・バイナリー変換部とを備え、前記エンコーダ部は、グレーコードの2つのビットの値が特定の関係にあるか否かを検出することによりエラーコードを検出するエラー検出部と、前記エラー検出部で検出されたエラーコードを訂正するエラー訂正部とを備えた。
【0054】
請求項15では、サーモメータコードの論理境界を検出することにより、グレーコードのデジタル信号を生成し、グレーコードの2つのビットの値が特定の関係にあるか否かを検出することにより、該グレーコードに含まれるエラーコードを検出し、該エラーコードをあらかじめ設定されたエラーコード処理に基づいて訂正する。
【0055】
請求項16では、前記グレーコードのデジタル信号は、1つおきで、かつ3つ以上のサーモメータコードの論理境界を検出することにより生成する。
請求項17では、前記グレーコードの下位ビットの論理対象側の出力信号を複数の系統に分解し、分解した下位ビットと上位ビットとの値が特定の関係にあるか否かを検出する。
【0056】
請求項18では、前記グレーコードの下位ビットの非論理対象側の出力信号を複数の系統に分解し、分解した下位ビットと上位ビットとの値が特定の関係にあるか否かを検出する。
【0057】
請求項19では、サーモメータコードの論理境界を検出することにより、グレーコードのデジタル信号を生成し、グレーコードの2つのビットの値に特定の関係が設定されるように、前記グレーコードの下位ビットを論理対象側の表コードと非論理対象側の裏コードとに分割し、さらに前記表コード及び裏コードをそれぞれ複数の系統に分割し、前記各表コード及び裏コードと上位ビットとが特定の関係にあるか否かを検出することにより、該グレーコードに含まれるエラーコードを検出し、該エラーコードを訂正する。
【0063】
請求項20では、サーモメータコードの論理境界を検出することによりグレーコードのデジタル信号を生成し、前記グレーコードの2つのビットの値が特定の関係にあるか否かを検出することによりエラー信号を生成し、該エラー信号に基づいてサーモメータコードにエラーが含まれているか否かを検出する。
【0064】
【発明の実施の形態】
(第一の実施の形態)
まず、本発明のエンコーダにおけるエラー訂正の原理について説明する。
【0065】
図47は、10進値(Decimal)が5ビットのバイナリーコードB0〜B4及びグレーコードG0〜G4に正常に変換された場合のコード値を示す。
グレーコードG0〜G4は、例えば図45に示すグレーコードによるビット独立デコード方式エンコーダで、10進値としてのサーモメータコードをグレーコード形式で論理境界検出を行うことにより生成される。なお、図45に示すROMセルCEの具体的構成は、図46に示すものであり、サーモメータコードは下位から順に「1」となる。
【0066】
グレーコードG0〜G4は、G0が最下位ビット、G4が最上位ビットであり、隣り合う10進値に対応するコードでは、いずれか1ビットの信号のみが反転する交番2進符号となる。B0〜B4は、G0〜G4に対応するバイナリーコードであり、B0が最下位ビット、B4が最上位ビットである。
【0067】
G0〜G4は、図45に示す通常のエンコーダでは、それぞれ1本ずつのビット線BL0〜BL4によるWired OR回路から出力されるため、例えばG0とG1との組み合わせでは、「00」「10」「01」「11」のすべての組み合わせが存在するため、G0とG1との少なくともいずれかが誤データであったとしても、組み合わせからエラーの有無を検出することはできない。
【0068】
そこで、G0はビット線BL0に接続された9個のROMセルCEの出力信号のOR論理をとって生成されているので、G0を9個のROMセルCEの出力信号Z1〜Z8に分解する。
【0069】
同様に、G1,G2についても分解すると、G1=Y1+Y2+Y3+Y4、G2=X1+X2となる。なお、W1=G3、V1=G4である。
このとき、X1とZ2との関係に着目すると、Z2=1のとき、X1=1となる。従って、Z2=1のとき、X1=0であれば、エラーが検出され、バブルエラーを含むサーモメータコードで、エンコーダが動作していることになる。
【0070】
同様に、Z3=1のとき、X1=1となり、Z4=1のとき、W1=1となり、Z5=1のとき、W1=V1=1となり、Z6=1のとき、X2=W1=V1=1となり、Z7=1のとき、X2=V1=1となり、Z8=1のとき、V1=1となり、これらの条件を満足しないとき、サーモメータコードにバブルエラーが存在することが検出可能である。
【0071】
一方、例えば10進値「3」「4」に対応するコードでは、Z1〜Z8が同時に「0」となり、このような部分では、上記のような特定の関係を見出すことはできない。すなわち、Z1〜Z8が「1」という対象論理側であるとき、上記特定の関係を見出すことができるが、Z1〜Z8が「0」という非対象論理側であるとき、上記特定の関係を見出すことができない。
【0072】
そこで、上記のような原理を非対象論理側を含めて、10進値の全域にわたって展開するために、前記Z1〜Z8を表コードとしたとき、Z1〜Z8の裏コードP1〜P7を設定する。
【0073】
前記P1〜P7は、図45に示すように、最下位ビットのビット線BL0に接続された各ROMセルCE間にそれぞれ接続されたROMセルCEbから出力されるコードである。従って、裏コードP1〜P7は最下位ビットのビット線BL0に接続された各ROMセルCEでは検出されないサーモメータコードの論理境界をROMセルCEbで検出したコードとなる。
【0074】
上記のような裏コードにより、P1=1のとき、Y1=1となり、P2=1のとき、X1=1となり、P3=1のとき、Y2,W1=1となり、P4=1のとき、W1=1となり、P5=1のとき、Y3,W1,V1=1となり、P6=1のとき、X2,V2=1となり、P7=1のとき、Y4,V1=1となる。
【0075】
上記のような表コード及び裏コードを設定することにより、サーモメータコードの全域にわたって、サーモメータコードにバブルエラーが含まれるか否かが検出可能となる。
【0076】
図48は、各10進値に対応するサーモメータコードに、「・・110100・・」すなわち前記タイプb1のバブルエラーがそれぞれ含まれる場合の各コードの値を示す。図中、網掛け部分は前記グレーコードの表コードのみによりエラーとして検出可能な部分である。訂正前Dout は、エラー未訂正のエンコーダ出力を10進値に置換したものである。
【0077】
この網掛け部分を反転させると、検出されたエラーは最も確からしい値に訂正され、訂正後のエンコーダの出力を図53に示す。図53において、横軸はA/D変換器に入力されたアナログ値を示し、縦軸はエンコーダ出力をアナログ値に変換したものである。
【0078】
図49は、図48に示すコードについて、表コード及び裏コードを用いてエラー検出を行い、エラーとして検出された網掛け部分を反転させた訂正後のコードを示す。この結果、訂正後のグレイコードは最も確からしい値に訂正され、図37に示す正常なグレイコードと一致する。図54は、図49に示す訂正後のコードに基づくエンコーダの出力を示す。
【0079】
次に、上記のような原理に基づいて、サーモメータコードに含まれるバブルエラーの訂正機能を備えたエンコーダについて説明する。
図2は、前記従来例と同様なコンパレータ部から出力されるサーモメータコードe1〜e31の入力に基づいて、5ビットのバイナリーコードのデジタル信号B0Z〜B4Zを生成して出力するエンコーダの概略構成を示す。
【0080】
このエンコーダは、サーモメータコードe1〜e31に基づいて、5ビットのグレーコードを生成する第一〜第四のエンコード部11〜14と、生成されたグレーコードに基づいて、サーモメータコードe1〜e31中のバブルエラーの有無を検出して、バブルエラーが存在するときはエラー信号を出力するエラー信号生成部15と、前記エラー信号に基づいてグレーコード中のエラーを訂正するエラー訂正部16と、訂正されたグレーコードからバイナリーコードを生成するグレー・バイナリー変換部17とから構成される。
【0081】
前記第一のエンコード部11の具体的構成を図3に示す。17個の論理境界検出回路18a〜18qは3つの入力端子IB,IA,IXを備えている。各論理境界検出回路18a〜18pの入力端子IAには、前記サーモメータコードe1〜e31のうち、奇数番のサーモメータコードe1,e3・・・e31がそれぞれ入力される。また、最上位の論理境界検出回路18qの入力端子IA,IBにはグランドGNDレベルが供給される。
【0082】
前記各論理境界検出回路18b〜18qの入力端子IXには、奇数番のサーモメータコードe1,e3・・・e31がそれぞれ入力されている。また、最下位の論理境界検出回路18aの入力端子IXには、電源Vccが供給される。
【0083】
前記論理境界検出回路18a〜18pの具体的構成を図10に示す。入力端子IB,IAは、NOR回路19の入力端子に接続される。入力端子IXは、インバータ回路20の入力端子に入力され、そのインバータ回路20の出力端子が前記NOR回路19に接続される。
【0084】
このような論理境界検出回路18b〜18qでは、入力端子IB,IAの入力レベルがLレベル、入力端子IXの入力レベルがHレベルとなったときに限り、、出力信号OがHレベルとなる。
【0085】
前記論理境界検出回路18a〜18qの出力信号Oは、それぞれROMセル21a〜21qの端子Aに入力され、そのROMセル21a〜21qの端子Cは、ビット線BL0a〜BL0Xbのいずれかに接続され、端子BはグランドGNDに接続される。
【0086】
前記ROMセル21a〜21qは、図11に示すように、NチャネルMOSトランジスタCTで構成され、端子Aはゲートに接続され、端子Cはドレインに接続され、端子Bはソースに接続される。
【0087】
従って、前記論理境界検出回路18a〜18qの出力信号OがHレベルとなると、当該出力信号Oが入力されるROMセル21a〜21qのNチャネルMOSトランジスタCTがオンされ、当該ROMセル21a〜21qが接続されたビット線BL0a,BL0b,BL0Xa,BL0Xbから出力されるグレーコードg0a,g0b,g0Xa,g0XbがグランドGNDレベルとなる。
【0088】
前記ビット線BL0aには、前記ROMセル21aを最下位として、4つおきのROMセル21e,21i,21m,21qが接続される。前記ビット線BL0bには、前記ROMセル21cを最下位として、4つおきのROMセル21g,21k,21oが接続される。
【0089】
前記ビット線BL0Xaには、前記ROMセル21bを最下位として、4つおきのROMセル21f,21j,21nが接続される。前記ビット線BL0Xbには、前記ROMセル21dを最下位として、4つおきのROMセル21h,21l,21pが接続される。
【0090】
前記第二のエンコード部12の具体的構成を図4に示す。9個の論理境界検出回路22a〜22iは、前記論理境界検出回路18a〜18qと同一構成である。
【0091】
各論理境界検出回路22a〜22hの入力端子IAには、前記サーモメータコードe1〜e31のうち、偶数番のサーモメータコードe2,e6,e10,e14,e18,e22,e26,e30がそれぞれ入力される。また、最上位の論理境界検出回路22iの入力端子IA,IBにはグランドGNDレベルが供給される。
【0092】
前記各論理境界検出回路22a〜22gの入力端子IBには、偶数番のサーモメータコードe4,e8,e12,e16,e20,e24,e28がそれぞれ入力されている。
【0093】
前記論理境界検出回路22bの入力端子IXには、サーモメータコードe2,e4のNOR論理の反転信号、すなわちOR論理が入力される。同様に、論理境界検出回路22c〜22hの入力端子IXには、サーモメータコードe6,e8、e10,e12、e14,e16、e18,e20、e22,e24、e26,e28のOR論理がそれぞれ入力される。
【0094】
また、論理境界検出回路22aの入力端子IXには電源Vccが入力され、論理境界検出回路22iの入力端子IXには、サーモメータコードe30が入力される。
【0095】
前記論理境界検出回路22a〜22iの出力信号Oは、それぞれROMセル23a〜23iの端子Aに入力され、そのROMセル23a〜23iの端子Cは、ビット線BL1〜BL1Xのいずれかに接続され、端子BはグランドGNDに接続される。
【0096】
ROMセル23a〜23iは、前記ROMセル21a〜21qと同様に構成される。
従って、前記論理境界検出回路22a〜22iの出力信号OがHレベルとなると、当該出力信号Oが入力されるROMセル23a〜23iのNチャネルMOSトランジスタCTがオンされ、当該ROMセルROMセル23a〜23iが接続されたビット線BL1〜BL1Xから出力されるグレーコード信号g1,g1XがグランドGNDレベルとなる。
【0097】
前記ビット線BL1には、前記ROMセル23aを最下位として、1つおきのROMセル23c,23e,23g,23iが接続される。前記ビット線BL1Xには、前記ROMセル23bを最下位として、1つおきのROMセル23d,23f,23hが接続される。
【0098】
前記第三のエンコード部13の具体的構成を図5に示す。8個の論理境界検出回路24a〜24hは、前記論理境界検出回路18a〜18qと同一構成である。
【0099】
各論理境界検出回路24a〜24gの入力端子IAには、前記サーモメータコードe1〜e31のうち、偶数番のサーモメータコードe4,e8,e12,e16,e20,e24,e28がそれぞれ入力される。また、最上位の論理境界検出回路24hの入力端子IA,IBにはグランドGNDレベルが供給される。
【0100】
前記各論理境界検出回路24a〜22gの入力端子IBには、偶数番のサーモメータコードe6,e10,e14,e18,e22,e26,e30がそれぞれ入力されている。
【0101】
前記論理境界検出回路24bの入力端子IXには、サーモメータコードe4,e6のNOR論理の反転信号、すなわちOR論理が入力される。同様に、論理境界検出回路24c〜24hの入力端子IXには、サーモメータコードe8,e10、e12,e14、e16,e18、e20,e22、e24,e26、e28,e30のOR論理がそれぞれ入力される。また、論理境界検出回路24aの入力端子IXには電源Vccが入力される。
【0102】
前記論理境界検出回路24a〜24hの出力信号Oは、出力信号ga〜ghとして出力されるとともに、それぞれROMセル25a〜25hの端子Aに入力される。前記ROMセル25a〜25hの端子Cは、ビット線BL2a〜BL2bのいずれかに接続され、端子BはグランドGNDに接続される。
【0103】
ROMセル25a〜25hは、前記ROMセル21a〜21qと同様に構成される。
従って、前記論理境界検出回路24a〜24hの出力信号OがHレベルとなると、当該出力信号Oが入力されるROMセル25a〜25hのNチャネルMOSトランジスタCTがオンされ、当該ROMセル25a〜25hが接続されたビット線BL2a〜BL2bから出力されるバイナリーコード信号g2a,g2bがグランドGNDレベルとなる。
【0104】
前記ビット線BL2aには、前記ROMセル25aを最下位として、1つおきのROMセル25c,25e,25gが接続される。前記ビット線BL2aには、前記ROMセル25bを最下位として、1つおきのROMセル25d,25f,25hが接続される。
【0105】
前記第四のエンコーダ部14を図6に従って説明する。前記ビット線BL0Xa,BL0Xbの出力信号g0Xa,g0XbはNAND回路27aに入力され、そのNAND回路27aの出力信号がインバータ回路28aで反転されて、グレーコードg0Xが生成される。
【0106】
前記ビット線BL0a,BL0bの出力信号g0a,g0bはNAND回路27bに入力され、そのNAND回路27bの出力信号がインバータ回路28bで反転されて、グレーコードg0が生成される。
【0107】
前記論理境界検出回路24b,24cの出力信号gb,gcは、NOR回路26aに入力され、前記論理境界検出回路24f,24gの出力信号gf,ggは、NOR回路26bに入力される。前記NOR回路26a,26bの出力信号は、NAND回路27cに入力され、そのNAND回路27cからグレーコードg2が出力される。
【0108】
前記論理境界検出回路24c,24dの出力信号gc,gdは、NOR回路26cに入力され、前記論理境界検出回路24e,24fの出力信号ge,gfは、NOR回路26dに入力され、前記論理境界検出回路24g,24hの出力信号gg,ghは、NOR回路26eに入力される。
【0109】
前記NOR回路26cの出力信号は、NAND回路27dに入力され、前記NOR回路26dの出力信号は、NAND回路27d,27eに入力され、前記NOR回路26eの出力信号は前記NAND回路27eに入力される。
【0110】
そして、前記NAND回路27dからグレーコードg3が出力され、前記NAND回路27eからグレーコードg4が出力される。
前記エラー信号生成部15の具体的構成を図7に従って説明する。前記ビット線BL1の出力信号g1は、NAND回路29aに入力され、前記ビット線BL0aの出力信号g0aは、インバータ回路28cで反転されて、NAND回路29aに入力される。
【0111】
前記ビット線BL1Xの出力信号g1Xは、NAND回路29bに入力され、前記ビット線BL0bの出力信号g0bは、インバータ回路28dで反転されて、NAND回路29bに入力される。
【0112】
前記NAND回路29aの出力信号ER1A及び前記NAND回路29bの出力信号ER1AはNAND回路29eに入力され、同NAND回路29eからエラー信号er1が出力される。
【0113】
前記ビット線BL2aの出力信号g2aは、NAND回路29cに入力され、前記ビット線BL0Xaの出力信号g0Xaは、インバータ回路28eで反転されて、NAND回路29cに入力される。
【0114】
前記ビット線BL2bの出力信号g2bは、NAND回路29dに入力され、前記ビット線BL0Xbの出力信号g0Xbは、インバータ回路28fで反転されて、NAND回路29dに入力される。
【0115】
前記NAND回路29cの出力信号ER2A及び前記NAND回路29dの出力信号ER2BはNAND回路29fに入力され、同NAND回路29fからエラー信号er2が出力される。
【0116】
前記エラー信号er1,er2は、前記エラー訂正部16に出力されるとともに、図2に示すように、エラー信号生成部15に設けられた出力端子から外部へ出力される。
【0117】
前記エラー訂正部16の具体的構成を図8に従って説明する。前記エラー信号er2及び前記信号g1Xは、NAND回路30aに入力され、前記グレーコードg2は、インバータ回路33aで反転されて、NAND回路30aに入力される。
【0118】
前記NAND回路30aの出力信号及び前記グレーコードg4は、EOR回路32aに入力され、同EOR回路32aの出力信号はインバータ回路33cで反転されて訂正グレーコードg4Zとして出力される。
【0119】
前記エラー信号er2、前記信号g1X及び前記グレーコードg2は、NAND回路30bに入力される。
前記NAND回路30bの出力信号及び前記グレーコードg3は、EOR回路32bに入力され、同EOR回路32bの出力信号はインバータ回路33dで反転されて訂正グレーコードg3Zとして出力される。
【0120】
前記エラー信号er2及び前記グレーコードg1は、NAND回路30cに入力される。
前記NAND回路30cの出力信号及び前記グレーコードg2は、EOR回路32cに入力され、同EOR回路32cの出力信号はインバータ回路33eで反転されて訂正グレーコードg2Zとして出力される。
【0121】
前記エラー信号er1は、インバータ回路33bで反転されてEOR回路32dに入力され、同EOR回路32dには前記グレーコード信号g1が入力される。
【0122】
前記EOR回路32dの出力信号はインバータ回路33fで反転されて訂正グレーコードg1Zとして出力される。
前記エラー信号er2,er1は、NOR回路31に入力され、同NOR回路31の出力信号及び前記グレーコード信号g0はEOR回路32eに入力される。前記EOR回路32eの出力信号はインバータ回路33gで反転されて訂正グレーコードg0Zとして出力される。
【0123】
前記グレー・バイナリー変換回路17の具体的構成を図9に示す。前記訂正グレーコードg4Zは、EOR回路35aに入力されるとともに、2段のインバータ回路34a,34bを介してバイナリーコードB4Zとして出力される。
【0124】
前記訂正グレーコードg3Zは、前記EOR回路35aに入力され、同EOR回路35aの出力信号は、バイナリーコードB3Zとして出力されるとともに、EOR回路35bに入力される。
【0125】
前記訂正グレーコードg2Zは、前記EOR回路35bに入力され、同EOR回路35bの出力信号は、バイナリーコードB2Zとして出力されるとともに、EOR回路35cに入力される。
【0126】
前記訂正グレーコードg1Zは、前記EOR回路35cに入力され、同EOR回路35cの出力信号は、バイナリーコードB1Zとして出力されるとともに、EOR回路35dに入力される。
【0127】
前記訂正グレーコードg0Zは、前記EOR回路35dに入力され、同EOR回路35dの出力信号は、バイナリーコードB0Zとして出力される。
上記グレー・バイナリー変換回路17は、グレーコードをバイナリーコードに変換する回路として一般的に使用されるものである。
【0128】
前記ビット線BL1,BL1X間には、図12、図14に示すプリチャージ回路36,37のいずれかが接続される。なお、BL2a,BL2b間にも同様なプリチャージ回路が接続される。
【0129】
前記プリチャージ回路36は、一対のPチャネルMOSトランジスタTrp1 ,Trp2 のソースが電源Vccに接続され、同トランジスタTrp1 ,Trp2 のゲートは、互いのドレインに接続される。
【0130】
前記トランジスタTrp1 のドレインと電源Vssとの間には、複数のNチャネルMOSトランジスタTrnが並列に接続され、各トランジスタTrnのゲートには、前記ROMセルを介して前記ビット線BL1を制御する論理境界検出回路23a,23c,23e,23g,23iの出力信号がゲート信号V1としてそれぞれ入力される。
【0131】
前記トランジスタTrp2 のドレインと電源Vssとの間には、複数のNチャネルMOSトランジスタTrnx が並列に接続され、各トランジスタTrnx のゲートには、前記ROMセルを介して前記ビット線BL1Xを制御する論理境界検出回路23b,23d,23f,23hの出力信号がゲート信号V1Xとしてそれぞれ入力される。
【0132】
また、前記トランジスタTrp1 のドレインがビット線BL1に接続され、前記トランジスタTrp2 のドレインがビット線BL1Xに接続される。
このように構成されたプリチャージ回路36では、図13に示すように、例えばトランジスタTrn1 のゲート信号V1のいずれかがHレベルとなってトランジスタTrn1 のいずれかがオンされるとともに、トランジスタTrnx のゲート信号V1XがすべてLレベルとなると、トランジスタTrp1 がオフされるとともに、トランジスタTrp2 がオンされる。すると、ビット線BL1がLレベルとなるとともにビット線BL1XがHレベルとなり、ビット線BL1Xが電源Vccレベルにプリチャージされる。
【0133】
また、トランジスタTrnx のゲート信号V1XのいずれかがHレベルとなってトランジスタTrnxのいずれかがオンされるとともに、トランジスタTrnのゲート信号V1がすべてLレベルとなると、トランジスタTrp1 がオンされるとともに、トランジスタTrp2 がオフされる。すると、ビット線BL1がHレベルとなるとともにビット線BL1XがLレベルとなり、ビット線BL1が電源Vccレベルにプリチャージされる。
【0134】
図14に示すプリチャージ回路37では、トランジスタTrp1 ,Trp2 のゲートが互いに接続されるとともに、トランジスタTrp1 のドレインに接続されている点が前記プリチャージ回路36と相違する。
【0135】
このプリチャージ回路37は、前記プリチャージ回路36ではビット線BL1,BL1Xの一方が立ち下がった後に、他方がプリチャージされるのに対し、図15に示すように、ビット線BL1,BL1Xの一方の立ち下がりと同時に他方がプリチャージされるので、プリチャージ動作の応答速度が速くなる。
【0136】
前記第一のエンコード部11のビット線BL0a,BL0b,BL0Xa,BL0Xbには、図16に示すプリチャージ回路38a〜38dがそれぞれ接続される。
【0137】
前記プリチャージ回路38aは、ビット線BL0aと電源Vccとの間に並列に接続される3つのPチャネルMOSトランジスタで構成され、各トランジスタのゲートには、前記グレーコードg0b,g0Xa,g0Xbがそれぞれ入力される。
【0138】
前記グレーコードg0aがLレベルとならないときは、グレーコードg0b,g0Xa,g0XbのいずれかがLレベルとなるため、ビット線BL0aが電源Vccレベルにプリチャージされる。
【0139】
前記プリチャージ回路38bは、ビット線BL0bと電源Vccとの間に並列に接続される3つのPチャネルMOSトランジスタで構成され、各トランジスタのゲートには、前記グレーコードg0a,g0Xa,g0Xbがそれぞれ入力される。
【0140】
前記グレーコードg0bがLレベルとならないときは、グレーコードg0a,g0Xa,g0XbのいずれかがLレベルとなるため、ビット線BL0bが電源Vccレベルにプリチャージされる。
【0141】
前記プリチャージ回路38cは、ビット線BL0Xaと電源Vccとの間に並列に接続される3つのPチャネルMOSトランジスタで構成され、各トランジスタのゲートには、前記グレーコードg0a,g0b,g0Xbがそれぞれ入力される。
【0142】
前記グレーコードg0XaがLレベルとならないときは、グレーコードg0a,g0b,g0XbのいずれかがLレベルとなるため、ビット線BL0Xaが電源Vccレベルにプリチャージされる。
【0143】
前記プリチャージ回路38dは、ビット線BL0Xbと電源Vccとの間に並列に接続される3つのPチャネルMOSトランジスタで構成され、各トランジスタのゲートには、前記グレーコードg0a,g0b,g0Xaがそれぞれ入力される。
【0144】
前記グレーコードg0XbがLレベルとならないときは、グレーコードg0a,g0b,g0XaのいずれかがLレベルとなるため、ビット線BL0Xbが電源Vccレベルにプリチャージされる。
【0145】
次に、上記のように構成されたエンコーダの動作を説明する。
第一のエンコード部11は、サーモメータコードe1〜e31から5ビットのグレーコードg0〜g4を生成する際に、最下位のグレーコードg0を生成するためのグレーコードg0a,g0b,g0Xa,g0Xbをビット独立デコード方式で生成するものである。
【0146】
論理境界検出回路18a〜18qには、奇数番のサーモメータコードe1〜e31が下位から順に3つずつ入力される。このような論理境界検出回路18a〜18qに正常なサーモメータコードe1〜e31が入力されたとき、第一のエンコード部11のビット線BL0a,BL0b,BL0Xa,BL0Xbから図17に示すようなグレーコードg0a,g0b,g0Xa,g0Xbが出力される。
【0147】
グレーコードg0aは、図47に示す信号Z1,Z3,Z5,Z7のOR論理をとった信号に相当し、グレーコードg0bは、図47に示す信号Z2,Z4,Z6,Z8のOR論理をとった信号に相当する。
【0148】
グレーコードg0Xaは、グレーコードg0aに対する裏コードであり、図47に示す信号P1,P3,P5,P7のOR論理をとったものに相当する。グレーコードg0Xbは、グレーコードg0bに対する裏コードであり、図47に示す信号P2,P4,P6のOR論理をとったものに相当する。
【0149】
そして、グレーコードg0a,g0b,g0Xa,g0Xbは、サーモメータコードe1〜e31に基づいて、いずれか一つがLレベルとなる。
上記のような論理は、論理境界検出回路18a〜18qで駆動されるROMセル21a〜21qをビット線BL0a,BL0Xa,BL0b,BL0Xbに順次接続することにより生成される。すなわち、各ビット線BL0a,BL0Xa,BL0b,BL0Xbには、4つおきの論理境界検出回路がROMセルを介して接続され、各ビット線BL0a,BL0Xa,BL0b,BL0Xbに順次接続される4つの論理境界検出回路を1周期とすれば、各ビット線BL0a,BL0Xa,BL0b,BL0Xbに論理境界検出回路18a〜18qが1周期間隔で接続される。
【0150】
第一のエンコード部11に、「・・110100・・」すなわち前記b1タイプのバブルエラーを含むサーモメータコードe1〜e31が入力されると、図18に示すように、グレーコードg0a,g0b,g0Xa,g0Xbには、そのバブルエラーに起因するエラーが含まれる。
【0151】
また、第一のエンコード部11に、「・・1100100・・」すなわち前記b2Hタイプのバブルエラーを含むサーモメータコードe1〜e31が入力されると、論理境界検出回路18a〜18qには奇数番のサーモメータコードe1〜e31が下位から順に3つずつ入力されているので、図19に示すように、グレーコードg0a,g0b,g0Xa,g0Xbは、前記b1タイプのバブルエラーの場合と同様なエラーを含む信号に訂正される。
【0152】
また、第一のエンコード部11に、「・・1101100・・」すなわち前記b2Lタイプのバブルエラーを含むサーモメータコードe1〜e31が入力されると、図20に示すように、グレーコードg0a,g0b,g0Xa,g0Xbは、図17に示すバブルエラーを含まないサーモメータコードe1〜e31によるグレーコードg0a,g0b,g0Xa,g0Xbと等しくなるように訂正される。
【0153】
なお、グレーコードg0a,g0b,g0Xa,g0Xbは、上記いずれの場合にもいずれか1つがLレベルとなり、他はHレベルとなる。従って、ビット線BL0a,BL0Xa,BL0b,BL0Xbのうち、Lレベルのグレーコードを出力しないビット線は、前記プリチャージ回路38a〜38dの動作により、上記エンコード動作と並行して電源Vccにプリチャージされる。
【0154】
前記第二のエンコード部12は、サーモメータコードe1〜e31から5ビットのグレーコードg0〜g4を生成する際に、下位から2番目のグレーコードg1と、その相補信号であるg1Xを、ビット独立デコード方式で生成するものである。
【0155】
論理境界検出回路22a〜22iには、偶数番のサーモメータコードe2〜e30に基づく信号が下位から順に3つずつ入力される。このような論理境界検出回路22a〜22iに正常なサーモメータコードe2〜e30が入力されたとき、第二のエンコーダ12のビット線BL1,BL1Xから図17に示すようなグレーコードg1,g1Xが出力される。
【0156】
グレーコードg1は、図47に示すグレーコードG1に相当し、グレーコードg1Xは、グレーコードg1の裏コードとなり、互いに相補関係となる。
上記のような論理は、論理境界検出回路22a〜22iで駆動されるROMセル23a〜23iをビット線BL1,BL1Xに交互に接続することにより生成される。すなわち、各ビット線BL1,BL1Xには、1つおきの論理境界検出回路がROMセルを介して接続され、各ビット線BL1,BL1Xに交互に接続される2つの論理境界検出回路を1周期とすれば、各ビット線BL1,BL1Xに論理境界検出回路22a〜22iが1周期間隔で接続される。
【0157】
第二のエンコード部12に、「・・110100・・」すなわち前記b1タイプのバブルエラーを含むサーモメータコードe2〜e30が入力されると、図18に示すように、グレーコードg1,g1Xには、そのバブルエラーに起因するエラーが含まれる。
【0158】
また、第二のエンコード部12に、「・・1100100・・」すなわち前記b2Hタイプのバブルエラーを含むサーモメータコードe2〜e30が入力されると、論理境界検出回路22a〜22iには偶数番のサーモメータコードe2〜e30に基づく信号が下位から順に3つずつ入力されているので、図19に示すように、グレーコードg1,g1Xは、前記b1タイプのバブルエラーの場合と同様なエラーを含む信号に訂正される。
【0159】
また、第二のエンコード部12に、「・・1101100・・」すなわち前記b2Lタイプのバブルエラーを含むサーモメータコードe2〜e30が入力されると、図20に示すように、グレーコードg1,g1Xは、図17に示すバブルエラーを含まないサーモメータコードe2〜e30によるグレーコードg1,g1Xと等しくなるように訂正される。
【0160】
なお、グレーコードg1,g1Xは、上記いずれの場合にも相補信号となる。従って、ビット線BL1,BL1Xのうち、Lレベルのグレーコードを出力しないビット線は、前記プリチャージ回路36あるいはプリチャージ回路37の動作により、上記エンコード動作と並行して電源Vccレベルにプリチャージされる。
【0161】
前記第三のエンコード部13は、サーモメータコードe1〜e31から5ビットのグレーコードg0〜g4を生成する際に、下位から3番目〜5番目のグレーコードg2〜g4を生成するための論理境界検出信号ga〜ghと、バイナリーコードg2a,g2bをビット独立デコード方式で生成するものである。
【0162】
論理境界検出回路24a〜24hには、偶数番のサーモメータコードe4〜e30に基づく信号が下位から順に3つずつ入力される。このような論理境界検出回路24a〜24hに正常なサーモメータコードe4〜e30が入力されたとき、第三のエンコード部13のビット線BL2a,BL2bから図17に示すようなバイナリーコードg2a,g2bが出力される。
【0163】
バイナリーコードg2a,g2bは、互いに相補関係にあり、図47において前記グレーコードg1,g1Xを10進値において2つ上位側へシフトさせた値となる。すなわち、g2aはバイナリーコードB2に相当する。
【0164】
上記のような論理は、論理境界検出回路24a〜24hで駆動されるROMセル25a〜25hをビット線BL2a,BL2bに交互に接続することにより生成される。すなわち、各ビット線BL2a,BL2bには、1つおきの論理境界検出回路がROMセルを介して接続され、各ビット線BL2a,BL2bに交互に接続される2つの論理境界検出回路を1周期とすれば、各ビット線BL2a,BL2bに論理境界検出回路24a〜24hが1周期間隔で接続される。
【0165】
また、各論理境界検出回路24a〜24hから論理境界検出信号ga〜ghが出力される。
第三のエンコード部13に、「・・110100・・」すなわち前記b1タイプのバブルエラーを含むサーモメータコードe4〜e30が入力されると、図18に示すように、バイナリーコードg2a,g2bには、そのバブルエラーに起因するエラーが含まれる。
【0166】
また、第三のエンコード部13に、「・・1100100・・」すなわち前記b2Hタイプのバブルエラーを含むサーモメータコードe4〜e30が入力されると、論理境界検出回路24a〜24hには偶数番のサーモメータコードe4〜e30に基づく信号が下位から順に3つずつ入力されているので、図19に示すように、バイナリーコードg2a,g2bは、前記b1タイプのバブルエラーの場合と同様なエラーを含む信号に訂正される。
【0167】
また、第三のエンコード部13に、「・・1101100・・」すなわち前記b2Lタイプのバブルエラーを含むサーモメータコードe4〜e30が入力されると、図20に示すように、バイナリーコードg2a,g2bは、図17に示すバブルエラーを含まないサーモメータコードe4〜e30によるバイナリーコードg2a,g2bと等しくなるように訂正される。
【0168】
なお、バイナリーコードg2a,g2bは、上記いずれの場合にも相補信号となる。従って、ビット線BL2a,BL2bのうち、Lレベルのバイナリーコードを出力しないビット線は、前記プリチャージ回路36あるいはプリチャージ回路37の動作により、上記エンコード動作と並行して電源Vccレベルにプリチャージされる。
【0169】
前記第四のエンコード部14は、前記グレーコード信号g0a,g0b,g0Xa,g0Xbの論理処理に基づいて、最下位のグレーコードg0,g0Xとを生成し、前記論理境界検出信号gb〜ghの論理処理に基づいて、下位から3番目〜5番目のグレーコードg2〜g4を生成する論理回路である。
【0170】
このような第四のエンコード部14に、正常なサーモメータコードe1〜e31による正常なグレーコード信号g0a,g0b,g0Xa,g0Xb及び論理境界検出信号gb〜ghが入力されると、図17に示すように、エラーを含まないグレーコードg0,g2〜g4が生成される。なお、下位から2番目のグレーコードg1は、前記第二のエンコード部12で生成されている。
【0171】
第四のエンコード部14に、「・・110100・・」すなわち前記b1タイプのバブルエラーに基づくエラーを含むグレーコード信号g0a,g0b,g0Xa,g0Xb及び論理境界検出信号gb〜ghが入力されると、図18に示すように、グレーコードg0〜g4にはそのバブルエラーに起因するエラーが含まれる。
【0172】
また、第四のエンコード部13に、「・・1100100・・」すなわち前記b2Hタイプのバブルエラーに基づくエラーを含むグレーコード信号g0a,g0b,g0Xa,g0Xb及び論理境界検出信号gb〜ghが入力されると、図19に示すように、グレーコードg0〜g4は前記b1タイプのバブルエラーの場合と同様なエラーを含む信号となる。
【0173】
また、第四のエンコード部14に、「・・1101100・・」すなわち前記b2Lタイプのバブルエラーに基づくエラーを含むグレーコード信号g0a,g0b,g0Xa,g0Xb及び論理境界検出信号gb〜ghが入力されると、図20に示すように、グレーコードg0〜g4はエラーを含まない信号となり、図17と同様となる。
【0174】
前記エラー信号生成部15は、前記グレーコード信号g0a,g0b,g0Xa,g0Xb,g1,g1X及びバイナリーコードg2a,g2bを、図47に示す各グレーコードの関係を満足するか否かを検出する回路であり、満足しない場合には、Hレベルのエラー信号er1,er2を出力する。
【0175】
すなわち、NAND回路29aでは正常なグレーコードg1,g0aが入力されているとき、図17に示すように、グレーコードg0aがLレベルのとき、グレーコードg1はLレベルとなるので、出力信号ER1Aは必ずHレベルとなる。
【0176】
NAND回路29bでは正常なグレーコードg1X,g0bが入力されているとき、グレーコードg0bがLレベルのとき、グレーコードg1XはLレベルとなるので、出力信号ER1Bは必ずHレベルとなる。
【0177】
従って、正常なグレーコードg1,g1X,g0a,g0bが入力されているときは、NAND回路29a,29bの出力信号ER1A,ER1BはともにHレベルとなり、NAND回路29eから出力されるエラー信号er1はLレベルとなる。
【0178】
同様に、NAND回路29cでは、正常なバイナリーコードg2aとグレーコードg0Xaが入力されているとき、グレーコードg0XaがLレベルのとき、バイナリーコードg2aはLレベルとなるので、出力信号ER2Aは必ずHレベルとなる。
【0179】
NAND回路29dでは、正常なバイナリーコードg2bとグレーコードg0Xbが入力されているとき、グレーコードg0XbがLレベルのとき、バイナリーコードg2bはLレベルとなるので、出力信号ER2bは必ずHレベルとなる。
【0180】
従って、正常なグレーコードg2a,g2b,g0Xa,g0Xbが入力されているときは、NAND回路29c,29dの出力信号ER2A,ER2BはともにHレベルとなり、NAND回路29fから出力されるエラー信号er2はLレベルとなる。
一方、図18及び図19に示すように、グレーコード信号g0a,g0b,g0Xa,g0Xb,g1,g1X及びバイナリーコードg2a,g2bにエラーが含まれる場合には、上記のような正常時の条件が満足できなくなって、NAND回路29a〜29dの出力信号ER1A〜ER2BがLレベルとなることがあり、この場合にはエラー信号er1,er2がHレベルとなる。
【0181】
図8に示す前記エラー訂正部16は、前記エラー信号er1,er2に基づいて、エラーを含んだグレーコードg0〜g4を確からしい値に訂正するように動作する。その訂正動作は、前記訂正原理で示したように、グレーコードg0〜g4のうちエラーが検出されたコードを反転させるものである。
【0182】
すなわち、図18及び図19に示すように、グレーコードg4がエラーを出力しているとき、エラー信号er2及びグレーコード信号g1XはHレベル、グレーコード信号g2はLレベルとなり、NAND回路30aの出力信号はLレベルとなる。すると、EOR回路32a及びインバータ回路33cの動作により、グレーコードg4が反転された訂正グレーコードg4Zが出力される。
【0183】
また、エラー信号er2、グレーコード信号g1X,g2が上記以外の場合には、グレーコードg4は正常であり、NAND回路30aの出力信号はHレベルとなるため、訂正グレーコードg4Zはグレーコードg4と同相となる。
【0184】
グレーコードg3がエラーを出力しているとき、エラー信号er2及びグレーコード信号g1X、g2はHレベルとなり、NAND回路30aの出力信号はLレベルとなる。すると、EOR回路32b及びインバータ回路33dの動作により、グレーコードg3が反転された訂正グレーコードg3Zが出力される。
【0185】
また、エラー信号er2、グレーコード信号g1X,g2が上記以外の場合には、グレーコードg3は正常であり、NAND回路30bの出力信号はHレベルとなるため、訂正グレーコードg3Zはグレーコードg3と同相となる。
【0186】
グレーコードg2がエラーを出力しているとき、エラー信号er2及びグレーコード信号g1はHレベルとなり、NAND回路30cの出力信号はLレベルとなる。すると、EOR回路32c及びインバータ回路33eの動作により、グレーコードg2が反転された訂正グレーコードg2Zが出力される。
【0187】
また、エラー信号er2、グレーコード信号g1が上記以外の場合には、グレーコードg2は正常であり、NAND回路30cの出力信号はHレベルとなるため、訂正グレーコードg2Zはグレーコードg2と同相となる。
【0188】
グレーコードg1がエラーを出力しているとき、エラー信号er1はHレベルとなり、インバータ回路33bの出力信号はLレベルとなる。すると、EOR回路32d及びインバータ回路33fの動作により、グレーコードg1が反転された訂正グレーコードg1Zが出力される。
【0189】
また、エラー信号er2がLレベルの場合には、グレーコードg1は正常であり、インバータ回路33bの出力信号はHレベルとなるため、訂正グレーコードg1Zはグレーコードg1と同相となる。
【0190】
グレーコードg0がエラーを出力しているとき、エラー信号er1,er2の少なくともいずれかはHレベルとなり、NOR回路31の出力信号はLレベルとなる。すると、EOR回路32e及びインバータ回路33gの動作により、グレーコードg0が反転された訂正グレーコードg0Zが出力される。
【0191】
また、エラー信号er1,er2がともにLレベルの場合には、グレーコードg0は正常であり、NOR回路31の出力信号はHレベルとなるため、訂正グレーコードg0Zはグレーコードg0と同相となる。
【0192】
図9に示す前記グレー・バイナリー変換部17は、訂正グレーコードg4ZをバイナリーコードB4Zとして出力し、訂正グレーコードg4Z,g3ZのEOR論理をバイナリーコードB3Zとして出力し、バイナリーコードB3Zと訂正グレーコードg2ZとのEOR論理をバイナリーコードB2Zとして出力し、バイナリーコードB2Zと、訂正グレーコードg1ZとのEOR論理をバイナリーコードB1Zとして出力し、バイナリーコードB1Zと、訂正グレーコードg0ZとのEOR論理をバイナリーコードB0Zとして出力する。
【0193】
このような動作により、訂正グレーコードg0Z〜g4ZがバイナリーコードB0Z〜B4Zに変換される。
上記のように構成されたエンコーダでは、次に示す作用効果を得ることができる。
(1)入力されるサーモメータコードe1〜e31にb1タイプ、b2Hタイプあるいはb2Lタイプのバブルエラーが含まれていても、そのバブルエラーを訂正したバイナリーコードB0Z〜B4Zを生成することができる。
(2)第一のエンコード部11を構成する論理境界検出回路は、インバータ回路とNOR回路とからなる3入力回路で構成され、サーモメータコードe1〜e31のうち奇数番のサーモメータコードが入力されるので、b1タイプのバブルエラーは訂正せず、b2Hタイプのバブルエラーはb1タイプのバブルエラーが入力された場合と同等となるように訂正することができ、b2Lタイプのバブルエラーを確からしい値に訂正することができる。
(3)第二及び第三のエンコード部12を構成する論理境界検出回路は、インバータ回路とNOR回路とからなる3入力回路で構成され、サーモメータコードe1〜e31のうち偶数番のサーモメータコードと、そのサーモメータコードのOR論理が入力されるので、b1タイプのバブルエラーは訂正せず、b2Hタイプのバブルエラーはb1タイプのバブルエラーが入力された場合と同等となるように訂正することができ、b2Lタイプのバブルエラーを確からしい値に訂正することができる。
(4)第一のエンコード部11では、論理境界検出回路18a〜18qの出力信号に基づいて動作するROMセル21a〜21qをビット線BL0a,BL0b,BL0Xa,BL0Xbに順次接続することにより、最下位のグレーコードg0を分解した表コードg0a,g0bと、その裏コードg0Xa,g0Xbとを生成することができる。
(5)第二のエンコード部12では、論理境界検出回路22a〜22iの出力信号に基づいて動作するROMセル23a〜23iをビット線BL1,BL1Xに順次接続することにより、下位から2番目のグレーコードg1と、その裏コードg1Xとを生成することができる。
(6)第三のエンコード部13では、論理境界検出回路24a〜24hの出力信号に基づいて動作するROMセル23a〜23iをビット線BL1,BL1Xに順次接続することにより、下位から2番目のグレーコードg1と、その裏コードg1Xとを10進値において2つ上位側へシフトさせた信号、すなわちバイナリーコードB2と同等の信号を生成することができる。また、各論理境界検出回路24a〜24hから論理境界検出信号ga〜ghを出力することができる。
(7)第四のエンコード部14では、第三のエンコード部13で生成された論理境界検出信号gb〜ghを論理処理することにより下位から3番目から5番目のグレーコードg2〜g4を生成することができる。また、第一のエンコード部11で生成されたグレーコードg0a,g0b,g0Xa,g0Xbを論理処理することにより、最下位のグレーコードg0を生成することができる。
(8)エラー信号生成部15では、第一〜第三のエンコード部11,12,13の出力信号を論理処理することにより、図47に示すエラー検出原理に基づいてエラー検出を行い、エラーが存在するときにはHレベルのエラー信号er1,er2を生成することができる。
(9)エラー訂正部16では、前記エラー信号er1,er2と、グレーコード信号g1,g1X,g2とに基づいて、タイプb1のエラーを含むグレーコードg0〜g4に訂正を施して、訂正グレーコードg0Z〜g4Zを生成することができる。
(10)グレー・バイナリー変換部17では、訂正グレーコードg0Z〜g4ZをバイナリーコードB0Z〜B4Zに変換することができる。
(11)第一のエンコード部11の4本のビット線BL0a,BL0b,BL0Xa,BL0Xbには、プリチャージ回路38a〜38dが接続されて、いずれか一本のビット線から出力されるLレベルのグレーコードにより、他の3本のビット線が電源Vccレベルにプリチャージされる。従って、サーモメータコードe1〜e31をグレーコードg0a,g0b,g0Xa,g0Xbにエンコードする動作と並行してビット線のプリチャージ動作を行うことができる。
(12)第二及び第三のエンコード部12,13の各ビット線BL1,BL1X、BL2a,BL2bにはプリチャージ回路36,37のいずれかが接続されて、一方のビット線から出力されるLレベルの信号に基づいて、他方のビット線がプリチャージされる。従って、サーモメータコードe2〜e30をグレーコードg1,g1X及びバイナリーコードg2a,g2bにエンコードする動作と並行してビット線のプリチャージ動作を行うことができる。
(13)サーモメータコードのエンコード動作と、ビット線のプリチャージ動作とを並行して行うことができるので、エンコード動作の1サイクル中にプリチャージのための時間を設定する必要がない。従って、エンコード動作の高速化を図ることができる。
(14)第一のエンコード部11では、ビット線が4本に分割され、各ビット線にそれぞれ同数のROMセルが接続されるので、各ビット線に接続されるROMセルの数が少なくなる。従って、各ROMセルに対する負荷を軽減することができるので、エンコード動作を高速化することができる。また、図42,43に示すエンコード部とは異なり、上記実施の形態では各論理境界検出回路にそれぞれ一つずつのROMセルが接続されるため、各論理境界検出回路の負荷が一定となる。従って、各論理境界検出回路の負荷条件の差に基づくエラーの発生を防止することができる。
(15)図45に示す通常のグレーコード方式のエンコーダに比して、上記実施の形態では、グレーコードg0a,g0b,g1の裏コードを設定するために、論理境界検出回路及びROMセルの数が増大するが、通常のグレーコード方式のエンコーダは直接バイナリーコードを出力するエンコーダに比して論理境界検出回路及びROMセルの数が削減されているので、上記実施の形態のエンコーダは、直接バイナリーコードを出力するエンコーダより素子数及び回路面積を増大させるものではない。
(16)エラー信号生成部15で生成されたエラー信号er1,er2が、エラー信号出力端子から外部へ出力される。そして、このA/D変換器の動作試験を行う際に、このエラー信号er1,er2を試験装置で検出することにより、サーモメータコードe1〜e31にエラーが発生しているか否かを容易に検出することができる。
【0194】
従来のA/D変換器の動作試験では、バイナリーコードのデジタル出力信号に基づいて、サーモメータコードのエラーの有無を検出している。すなわち、サーモメータコードのエラーによるデジタル出力信号のリニアリティあるいはS/N比の悪化を、周波数成分のスペクトラムを求める高速フーリエ変換処理等を行って検出することにより、デジタル出力信号からサーモメータコードのエラーを検出している。
【0195】
従って、本実施の形態では、従来のような高速フーリエ変換処理等の複雑な処理を行うことなく、A/D変換器の動作試験を行うことができるので、試験コストを低減することができる。
(第二の実施の形態)
図21は、この発明を具体化したエンコーダの第二の実施の形態を示す。この実施の形態は、第一〜第四のエンコード部41〜44と、エラー信号生成部45と、グレー・バイナリー変換部46とから構成される。
【0196】
前記第一〜第三のエンコード部41〜43及びエラー信号生成部45は、前記第一の実施の形態と同様な構成であるので、その説明を省略する。図23に示す前記第四のエンコード部44は、第三のエンコード部43から出力される論理境界検出信号gb,gc,gf,ggをNOR回路47a,47b及びNAND回路48で論理処理することにより、グレーコードg2を生成するものであり、前記第一の実施の形態の第四のエンコード部14でグレーコードg2を生成する回路と同様である。
【0197】
グレー・バイナリー変換部46は、前記第一の実施の形態のエラー訂正部16と、グレー・バイナリー変換部17との機能を併せ持つものであり、前記第一〜第四のエンコード部41〜44及びエラー信号生成部45で生成された信号に基づいて、バイナリーコードB0Z〜B4Zを生成するものである。
【0198】
図22に示すように、グレーコードg2はインバータ回路49aで反転されてNAND回路50aに入力され、そのNAND回路50aにはグレーコードg1X、エラー信号er2が入力される。前記NAND回路50aの出力信号はEOR回路52aに入力される。
【0199】
前記論理境界検出信号gf,geは、NOR回路51aに入力され、前記論理境界検出信号gh,ggは、NOR回路51bに入力され、前記論理境界検出信号gd,gcは、NOR回路51cに入力される。
【0200】
前記NOR回路51a,51bの出力信号は、NAND回路50bに入力され、そのNAND回路50bの出力信号は前記EOR回路52aに入力される。そして、前記EOR回路52aの出力信号がインバータ回路49bで反転されて、バイナリーコードB4Zとして出力される。NAND回路50a,50bは、エラーを訂正したバイナリーコードB4Zを生成するためのバイナリーコードを出力する。
【0201】
前記NOR回路51b,51cの出力信号は、NAND回路50cに入力され、そのNAND回路50cの出力信号はEOR回路52bに入力される。
グレーコードg1X及びエラー信号er2は、NAND回路50dに入力され、そのNAND回路50dの出力信号は前記EOR回路52bに入力される。そして、前記EOR回路52bの出力信号がインバータ回路49cで反転されて、バイナリーコードB3Zとして出力される。
【0202】
NAND回路50c,50dは、エラーを訂正したバイナリーコードB3Zを生成するためのバイナリーコードを出力する。
前記第三のエンコード部43で生成されるバイナリーコードg2aは、EOR回路52cに入力され、前記エラー信号er2はインバータ回路49dで反転されて、EOR回路52cに入力される。
【0203】
前記EOR回路52cの出力信号はインバータ回路49fで反転されて、バイナリーコードB2Zとして出力されるとともに、EOR回路52eに入力される。
【0204】
前記グレーコードg1は、EOR回路52dに入力され、前記エラー信号er1はインバータ回路49eで反転されて、EOR回路52dに入力される。前記EOR回路52dの出力信号は、インバータ回路49gで反転されて前記EOR回路52eに入力される。そして、前記EOR回路52eからバイナリーコードB1Zが出力される。
【0205】
インバータ回路49f,49gの出力信号は、バイナリーコードB1Zを生成するためのバイナリーコードを出力する。
前記第一のエンコード部41で生成されるグレーコードg0a,g0bは、NAND回路50eに入力され、そのNAND回路50eの出力信号がEOR回路52gに入力される。
【0206】
前記バイナリーコードg2a及びグレーコードg1はEOR回路52fに入力され、そのEOR回路52fの出力信号がインバータ回路49hで反転されて前記EOR回路52gに入力される。そして、前記EOR回路52gからバイナリーコードB0Zが出力される。
【0207】
NAND回路50e及びインバータ回路49hは、バイナリーコードB0Zを生成するためのバイナリーコードを出力する。
また、グレーコードg0b,g0a,g0Xa,g0Xb,g1及びバイナリーコードg2aに基づいて、インバータ回路49i,49j、NOR回路51d〜51i及びNAND回路50fの論理処理に基づいて、バイナリーコードB0が出力される。このバイナリーコードB0は、第一〜第三のエンコード部41〜43で生成された信号にバブルエラーに基づくエラーが含まれていても、そのエラーが訂正されない。
【0208】
次に、上記のように構成されたエンコーダの動作を説明する。前記第一〜第四のエンコード部41〜44は、前記第一の実施の形態の第一〜第四のエンコード部11〜14の動作と同様に、図26に示すようにタイプb2Hのバブルエラーを含むサーモメータコードe1〜e31が入力されると、図25に示すタイプb1のバブルエラーが入力されたときと同等の信号を出力し、図27に示すようにタイプb2Lのバブルエラーを含むサーモメータコードe1〜e31が入力されると、そのエラーを完全に訂正した信号を出力し、図25に示すようにタイプb1のバブルエラーを含むサーモメータコードe1〜e31が入力されると、そのエラーを含む信号を出力する。
【0209】
また、エラー信号生成部45では第一の実施の形態のエラー信号生成部15と同様なエラー信号er1,er2を生成する。
グレー・バイナリー変換部46では、論理境界検出信号gf,ge,gh,ggに基づくNOR回路51a,51b及びNAND回路50bの論理処理により、バイナリーコードが生成される。図24に示すように、入力されるサーモメータコードe1〜e31にバブルエラーが含まれていないときには、エラー信号er2がLレベルとなるため、NAND回路50aの出力信号はHレベルとなる。すると、NAND回路50bの出力信号と同相の信号がバイナリーコードB4Zとして出力される。
【0210】
また、図22及び図25に示すように、エラー信号er2がHレベルとなって、グレーコードg2がLレベル、グレーコードg1XがHレベルとなったとき、NAND回路50bの出力信号が反転されて、バイナリーコードB4Zとして出力される。グレーコードg2,g1X及びエラー信号er2が上記条件以外では、NAND回路50bの出力信号と同相の信号がバイナリーコードB4Zとして出力される。
【0211】
論理境界検出信号gh,gg,gd,gcに基づくNOR回路51b,51c及びNAND回路50cの論理処理により、バイナリーコードが生成され、エラー信号er2がLレベルであれば、NAND回路50cの出力信号と同相の信号がバイナリーコードB3Zとして出力される。
【0212】
また、図22及び図25に示すように、エラー信号er2及びグレーコードg1XがともにHレベルとなると、NAND回路50cの出力信号が反転されて、バイナリーコードB3Zとして出力される。
【0213】
バイナリーコードB2Zは、エラー信号er2がLレベルのとき、バイナリコードg2aと同相の信号が出力され、エラー信号er2がHレベルのとき、バイナリコードg2aの反転信号となる。
【0214】
バイナリーコードB1Zは、バイナリーコードB2ZがHレベルであって、エラー信号er1がLレベルのとき、グレーコードg1の反転信号となり、エラー信号er1がHレベルのとき、グレーコードg1と同相の信号となる。また、バイナリーコードB2ZがLレベルであって、エラー信号er1がLレベルのとき、グレーコードg1のと同相信号となり、エラー信号er1がHレベルのとき、グレーコードg1の反転信号となる。
【0215】
バイナリーコードB0Zは、グレーコードg1及びバイナリーコードg2aがともにHレベル、あるいはともにLレベルであるとき、グレーコードg0a,g0bがともにHレベルとなるとHレベルとなり、グレーコードg0a,g0bの少なくともいずれかがLレベルとなると、Lレベルとなる。
【0216】
また、グレーコードg1及びバイナリーコードg2aの一方がHレベル、他方がLレベルであるとき、グレーコードg0a,g0bがともにHレベルとなるとLレベルとなり、グレーコードg0a,g0bの少なくともいずれかがLレベルとなると、Hレベルとなる。
【0217】
上記のような動作により、図24〜図27に示すように、サーモメータコードe1〜e31にバブルエラーが含まれていても、エラーが訂正されたバイナリーコードB0Z〜B4Zが出力される。
【0218】
前記第二及び第三のエンコード部42,43のビット線BL1,BL1X及びビット線BL2a,BL2bには、図28に示すプリチャージ回路53が接続される。
【0219】
前記プリチャージ回路53は、前記プリチャージ回路36にNチャネルMOSトランジスタ54〜57を付加した構成である。前記トランジスタ54のドレイン及びゲートは、ビット線BL1に接続され、前記トランジスタ55のドレイン及びゲートは、ビット線BL1Xに接続される。
【0220】
前記トランジスタ57のソースはビット線BL1に接続され、前記トランジスタ55のソースはビット線BL1Xに接続される。
前記トランジスタ54,56のソースと、前記トランジスタ55,57のドレインとは互いに接続されるとともに、トランジスタ55,57のゲートに接続される。
【0221】
このようなプリチャージ回路53では、その動作により例えばビット線BL1がHレベル、ビット線BL1XがLレベルとなると、トランジスタ54,55がオンされ、トランジスタ56,57がオフされる。このとき、各トランジスタ54,55はドレインとゲートとが接続されているので、ダイオードとして動作し、ビット線BL1,BL1Xの電位差は、トランジスタ54,55のしきい値分にクランプされる。
【0222】
また、ビット線BL1がLレベル、ビット線BL1XがHレベルとなると、トランジスタ54,55がオフされ、トランジスタ56,57がオンされる。このとき、各トランジスタ56,57はドレインとゲートとが接続されているので、ダイオードとして動作し、ビット線BL1,BL1Xの電位差は、トランジスタ56,57のしきい値分にクランプされる。
【0223】
なお、上記プリチャージ回路53は、前記第一の実施の形態の第二及び第三のエンコード部12,13のビット線のプリチャージ回路として使用することもできる。
【0224】
上記のように構成されたエンコーダでは、第一の実施の形態のエンコーダで得られる作用効果に加えて、次に示す作用効果を得ることができる。
(1)第一の実施の形態で生成した訂正グレーコードG0Z〜G4Zを生成することなく、第一〜第四のエンコード部41〜44で生成された信号に基づいて、エラー訂正と並行して、バイナリーコードB0Z〜B4Zを生成することができる。従って、図9に示すようなグレー・バイナリー変換回路17を必要とすることなく、バイナリーコードB0Z〜B4Zを生成することができるので、回路規模を縮小することができる。
(2)図9に示すグレー・バイナリー変換部17では、バイナリーコードB0Z〜B4Zの下位ビットほど論理回路の段数が増大して出力速度が遅くなり、最下位ビットの出力速度により、エンコーダの動作速度が決定されるが、この実施の形態では、上記グレー・バイナリー変換部17を使用することなく、バイナリーコードB0Z〜B4Zを生成することができるので、エンコーダの動作速度を高速化することができる。
(3)グレーバイナリー変換部46は、第一〜第四のエンコード部41〜44で生成される分解グレーコード及び分解バイナリーコードのうち、3ビット以内の分解グレーコード及び分解バイナリーコードに基づいて、バイナリーコードB0Z〜B4Zを生成することができる。従って、上位のバイナリーコードの生成と並行して下位のバイナリーコードを生成することができるので、エンコーダの動作速度を高速化することができる。
(4)プリチャージ回路53でプリチャージされるビット線の振幅は、NチャネルMOSトランジスタ2個分のしきい値以下にクランプされるので、ROMセルによるビット線電位の引き下げ速度を向上させることができる。従って、エンコーダの動作速度を向上させることができる。
【0225】
なお、ビット線のクランプレベルは、ダイオード接続するNチャネルMOSトランジスタの段数を変更することにより調整可能である。また、NチャネルMOSトランジスタに換えて、PNジャンクションダイオードを使用してもよい。
(第三の実施の形態)
この実施の形態は、前記第一の実施の形態のエラー訂正動作をプログラムに基づいて動作するコンピュータを使用して行うようにしたものであり、便宜的に3ビットのバイナリーコードのデジタル信号B0Z〜B3Zを生成するエンコーダとして説明する。
【0226】
図29は、この実施の形態のエンコーダの概要を示す。エンコード部61には、サーモメータコードe1〜e7が入力される。前記エンコード部61は、そのサーモメータコードe1〜e7に基づいて、3ビットのグレーコードのデジタル信号G0〜G2を生成して出力する。前記エンコード部61は、例えば図43あるいは図45に示すエンコーダを3ビット構成としたものであり、サーモメータコードe1〜e7に含まれるバブルエラーを訂正する機能を持たない。
【0227】
前記エンコード部61から出力されるグレーコードG0〜G3は、コンピュータにてなる演算処理部62に入力される。前記演算処理部62には、処理プログラムを格納したプログラム格納部63が接続されている。
【0228】
そして、演算処理部62は処理プログラムに基づいて動作して、前記グレーコードG0〜G3の下位ビットを分解する分解グレーコード生成手段と、分解された下位ビットと上位ビットとが特定の関係にあるか否かを判定することにより、生成されたグレーコードにエラーが存在するか否かを検出するエラー検出手段と、検出されたエラーを訂正するエラー訂正手段と、訂正されたグレーコードをバイナリーコードのデジタル信号B0〜B2として出力するグレー・バイナリー変換手段として動作する。
【0229】
前記演算処理部62は、プログラム格納部63に格納されたプログラムに基づいて、以下のような動作のいずれかでエラー訂正動作を行う。
<第一の動作>
図30〜図32は、前記演算処理部62の第一の動作を示す。演算処理部62にエンコード部61からグレーコードG0〜G2が入力されると、演算処理部62は最下位のグレーコードG0を前記第一の実施の形態と同様な表コードの分解グレーコードg0a,g0bに分解する(ステップ1)。
【0230】
プログラム格納部63には、図31に示すように、正常なグレーコードG0〜G2のうち、最下位のグレーコードG0を分解グレーコードg0a,g0bに分解した場合の各コード及びそのグレーコードに対応するバイナリーコードがあらかじめ格納されている。
【0231】
また、図31において分解グレーコードg0bが「1」となるときは、グレーコードG2は必ず「0」となり、分解グレーコードg0aが「1」となるときは、グレーコードG2は必ず「1」となるため、この条件を満足するか否かでエラーの有無が検出可能となる。
【0232】
正常なグレーコードG0〜G2が入力されていると、図32に示す正常時の分解グレーコードg0a,g0bと、グレーコードG1,G2が得られる。
次いで、演算処理部62は分解グレーコードg0a,g0bと、グレーコードG2とに基づいてエラー信号を生成する(ステップ2)。このエラー信号生成処理は、エラー信号Ea,Ebを次式で算出するものである。
Ea=g0a×G2バー
Eb=g0b×G2
{×はAND論理を示す}
すなわち、エラー信号Eaは分解グレーコードg0aが「1」のときの同g0a,G2バーのAND論理をとった信号であり、エラー信号Ebは分解グレーコードg0bが「1」のときの同g0b,G2のAND論理をとった信号である。
【0233】
そして、各グレーコードが正常であれば、エラー信号Ea,Ebはいずれも「0」となり、エラーが存在すれば、エラー信号Ea,Ebの一方が「1」となる。
【0234】
次いで、演算処理部62はエラー信号Ea,Ebの少なくともいずれかが「1」であるか否かによりエラーの有無を判定する(ステップ3)。
エラー信号Ea,Ebがともに「0」であって、エラー無しと判定すると、演算処理部62は入力されたグレーコードG0〜G2を訂正グレーコードg0Z〜g2Zとする(ステップ4)。
【0235】
次いで、演算処理部62は訂正グレーコードg0Z〜g2Zにグレー・バイナリー変換を施し、訂正バイナリーコードB0Z〜B2Zを生成して(ステップ5)、エラー訂正動作を終了する。このグレー・バイナリー変換は、第一の実施の形態において図9に示す論理回路で行った論理処理を演算処理部62で行う。
【0236】
一方、ステップ3においてエラー信号Ea,Ebの少なくともいずれかが「1」となって、エラー有りと判定されると、演算処理部62はエラービットの訂正を行う(ステップ6)。
【0237】
この訂正動作は、図32に示すようにエラー信号Ea,Ebが「1」となったグレーコードg0a,g0b,G2に次式で示す処理を施して、訂正グレーコードg0Z,g2Zを生成する。
g2Z=(Ea+Eb)@G2
g0Z=(Ea+Eb)@(g0a+g0b)
{+はOR論理、@はEOR論理を示す}
すなわち、エラー信号Ea,Ebの少なくともいずれかが「1」であれば、G2が反転されてg2Zが生成されるとともに、「1」となったg0a若しくはg0bが反転されてg0Zが生成される。言い換えれば、エラーとなった各ビットの双方が反転されて、訂正グレーコードg0Z,g2Zが生成される。
【0238】
次いで、グレーコードG1はそのまま訂正グレーコードg1Zとされて、訂正グレーコードg0Z〜g2Zが生成され、グレー・バイナリー変換が行われて、訂正バイナリーコードB0Z〜B2Zが生成される(ステップ4,5)。
【0239】
このような動作により、図32に示すように訂正バイナリーコードB0Z〜B2Zは、未訂正グレーコードG0〜G2に基づいて生成される未訂正バイナリーコードB0〜B2に比して、より確からしい値となる。
<第二の動作>
図33〜図35は、前記演算処理部62の第二の動作を示す。演算処理部62にエンコード部61からグレーコードG0〜G2が入力されると、演算処理部62は最下位のグレーコードG0を前記第一の実施の形態と同様な裏コードの分解グレーコードg0Xa,g0Xbに分解する(ステップ11)。
【0240】
プログラム格納部63には、図34に示すように、正常なグレーコードG0〜G2のうち、最下位のグレーコードG0を分解グレーコードg0Xa,g0Xbに分解した場合の各コード及びそのグレーコードに対応するバイナリーコードがあらかじめ格納されている。
【0241】
また、図34において分解グレーコードg0Xaが「1」となるときは、グレーコードG1は必ず「0」となり、分解グレーコードg0Xbが「1」となるときは、グレーコードG1は必ず「1」となるため、この条件を満足するか否かでエラーの有無が検出可能となる。
【0242】
正常なグレーコードG0〜G2が入力されていると、図35に示す正常時の分解グレーコードg0Xa,g0Xbと、グレーコードG1,G2が得られる。
次いで、演算処理部62は分解グレーコードg0Xa,g0XbとグレーコードG1とに基づいてエラー信号の生成処理を行う(ステップ12)。このエラー信号生成処理は、エラー信号EXa,EXbを次式で算出するものである。
EXa=g0Xa×G1
EXb=g0Xb×G1バー
{×はAND論理を示す}
すなわち、エラー信号EXaは分解グレーコードg0Xaが「1」のときの同g0Xa,G1のAND論理をとった信号であり、エラー信号EXbは分解グレーコードg0Xbが「1」のときの同g0Xb,G1バーのAND論理をとった信号である。
【0243】
そして、各グレーコードが正常であれば、エラー信号EXa,EXbはいずれも「0」となり、エラーが存在すれば、エラー信号EXa,EXbの一方が「1」となる。
【0244】
次いで、演算処理部62はエラー信号EXa,EXbの少なくともいずれかが「1」であるか否かによりエラーの有無を判定する(ステップ13)。
エラー信号EXa,EXbがともに「0」であって、エラー無しと判定すると、演算処理部62は入力されたグレーコードG0〜G2を訂正グレーコードg0Z〜g2Zとする(ステップ14)。
【0245】
次いで、演算処理部62は訂正グレーコードg0Z〜g2Zにグレー・バイナリー変換を施し、訂正バイナリーコードB0Z〜B2Zを生成して(ステップ15)、エラー訂正動作を終了する。
【0246】
一方、ステップ13においてエラー信号EXa,EXbの少なくともいずれかが「1」となって、エラー有りと判定されると、演算処理部62はエラービットの訂正を行う(ステップ16)。
【0247】
この訂正動作は、図35に示すようにエラー信号EXa,EXbが「1」となったグレーコードg0Xa,g0Xb,G1に次式で示す処理を施して、訂正グレーコードg0Z,g1Zを生成する。
g1Z=(EXa+EXb)@G1
g0Z=[(EXa+EXb)@(g0Xa+g0Xb)]バー
{+はOR論理、@はEOR論理、バーは反転論理を示す}すなわち、エラー信号EXa,EXbの少なくともいずれかが「1」であれば、G1が反転されてg1Zが生成されるとともに、「1」となったg0Xa若しくはg0Xbが反転されてg0Zが生成される。言い換えれば、エラーとなった各ビットの双方が反転されて、訂正グレーコードg0Z,g1Zが生成される。
【0248】
次いで、グレーコードG2はそのまま訂正グレーコードg2Zとされて、訂正グレーコードg0Z〜g2Zが生成され、グレー・バイナリー変換が行われて、訂正バイナリーコードB0Z〜B2Zが生成される(ステップ14,15)。
【0249】
このような動作により、図35に示すように、訂正バイナリーコードB0Z〜B2Zは、未訂正グレーコードG0〜G2に基づいて生成される未訂正バイナリーコードB0〜B2に比して、より確からしい値となる。
<第三の動作>
図36〜図38は、前記演算処理部62の第三の動作を示す。演算処理部62にエンコード部61からグレーコードG0〜G2が入力されると、演算処理部62は最下位のグレーコードG0を前記第一の実施の形態と同様な表コード及び裏コードの分解グレーコードg0a,g0b,g0Xa,g0Xbに分解する(ステップ21)。
【0250】
プログラム格納部63には、図37に示すように、正常なグレーコードG0〜G2のうち、最下位のグレーコードG0を分解グレーコードg0a,g0b,g0Xa,g0Xbに分解した場合の各コード及びそのグレーコードに対応するバイナリーコードがあらかじめ格納されている。
【0251】
また、図37において分解グレーコードg0bが「1」となるときは、グレーコードG2は必ず「0」となり、分解グレーコードg0aが「1」となるときは、グレーコードG2は必ず「1」となり、分解グレーコードg0Xaが「1」となるときは、グレーコードG1は必ず「0」となり、分解グレーコードg0Xbが「1」となるときは、グレーコードG1は必ず「1」となるため、この条件を満足するか否かでエラーの有無が検出可能となる。
【0252】
正常なグレーコードG0〜G2が入力されていると、図38に示す正常時の分解グレーコードg0a,g0b,g0Xa,g0Xbと、グレーコードG1,G2が得られる。
【0253】
次いで、演算処理部62は分解グレーコードg0Xa,g0Xb、グレーコードG1,G2に基づいてエラー信号を生成する(ステップ22)。このエラー信号生成処理は、エラー信号Er,ErXを次式で算出するものである。
Er=(g0a×G2バー)+(g0b×G2=1)
ErX=(g0Xa×G1)+(g0Xb×G1バー)
{×はAND論理、+はOR論理、バーは反転論理を示す}
各グレーコードが正常であれば、エラー信号Er,ErXはいずれも「0」となり、エラーが存在すれば、エラー信号Er,ErXの一方が「1」となる。
【0254】
次いで、演算処理部62はエラー信号Er,ErXの少なくともいずれかが「1」であるか否かによりエラーの有無を判定する(ステップ23)。
エラー信号Er,ErXがともに「0」であって、エラー無しと判定すると、演算処理部62は入力されたグレーコードG0〜G2を訂正グレーコードg0Z〜g2Zとする(ステップ14)。
【0255】
次いで、演算処理部62は訂正グレーコードg0Z〜g2Zにグレー・バイナリー変換を施し、訂正バイナリーコードB0Z〜B2Zを生成して(ステップ25)、エラー訂正動作を終了する。
【0256】
一方、ステップ23においてエラー信号Er,ErXの少なくともいずれかが「1」となって、エラー有りと判定されると、演算処理部62はエラービットの訂正を行う(ステップ26)。
【0257】
この訂正動作は、図38に示すようにエラー信号Er,ErXが「1」となった分解グレーコードg0a,g0b,g0Xa,g0Xbと、グレーコードG1,G2に次式で示す処理を施して、訂正グレーコードg0Z〜g2Zを生成する。
g2Z=(Er@G2)バー
g1Z=(ErX@G1)バー
g0Z=(Er+ErX)@(g0a+g0b)
{+はOR論理、@はEOR論理、バーは反転論理を示す}
すなわち、エラーとなった各ビットの双方が反転されて、訂正グレーコードg0Z〜g2Zが生成される。
【0258】
次いで、訂正グレーコードg0Z〜g2Zにグレー・バイナリー変換が施されて、訂正バイナリーコードB0Z〜B2Zが生成される(ステップ24,25)。
【0259】
このような動作により、図38に示すように、訂正バイナリーコードB0Z〜B2Zは、未訂正グレーコードG0〜G2に基づいて生成される未訂正バイナリーコードB0〜B2に比して、より確からしい値となり、前記第一及び第二の動作に基づく訂正バイナリーコードB0Z〜B2Zに比して、より確からしい値となる。
【0260】
以上のように動作するエンコーダでは、入力されるサーモメータコードに含まれるバブルエラーを訂正したバイナリーコードを、プログラム格納部63に格納されたプログラムに基づいて動作する演算処理部62で高速に生成することができる。
【0261】
【発明の効果】
以上詳述したように、この発明は入力されるサーモメータコードに含まれるバブルエラーの訂正機能を備え、かつ動作速度を向上させ得るエンコーダを提供することができる。
【図面の簡単な説明】
【図1】 本発明の原理説明図である。
【図2】 第一の実施の形態を示すブロック図である。
【図3】 第一のエンコード部を示す回路図である。
【図4】 第二のエンコード部を示す回路図である。
【図5】 第三のエンコード部を示す回路図である。
【図6】 第四のエンコード部を示す回路図である。
【図7】 エラー信号生成部を示す回路図である。
【図8】 エラー訂正部を示す回路図である。
【図9】 グレー・バイナリー変換部を示す回路図である。
【図10】論理境界検出回路を示す回路図である。
【図11】ROMセルを示す回路図である。
【図12】プリチャージ回路を示す回路図である。
【図13】図12のプリチャージ回路の動作を示す波形図である。
【図14】プリチャージ回路を示す回路図である。
【図15】図14のプリチャージ回路の動作を示す波形図である。
【図16】プリチャージ回路を示す回路図である。
【図17】第一の実施の形態の動作(バブルエラー無し)を示す波形図である。
【図18】b1タイプのバブルエラーが入力された場合の動作を示す波形図である。
【図19】b2Hタイプのバブルエラーが入力された場合の動作を示す波形図である。
【図20】b2Lタイプのバブルエラーが入力された場合の動作を示す波形図である。
【図21】第二の実施の形態を示すブロック図である。
【図22】グレー・バイナリー変換部を示す回路図である。
【図23】第四のエンコード部を示す回路図である。
【図24】第二の実施の形態の動作(バブルエラー無し)を示す波形図である。
【図25】b1タイプのバブルエラーが入力された場合の動作を示す波形図である。
【図26】b2Hタイプのバブルエラーが入力された場合の動作を示す波形図である。
【図27】b2Lタイプのバブルエラーが入力された場合の動作を示す波形図である。
【図28】プリチャージ回路を示す回路図である。
【図29】第三の実施の形態のエンコーダを示すブロック図である。
【図30】第三の実施の形態の第一の動作を示すフローチャート図である。
【図31】第一の動作の分解グレーコードを示す説明図である。
【図32】第一の動作の過程で生成されるコードを示す説明図である。
【図33】第三の実施の形態の第二の動作を示すフローチャート図である。
【図34】第二の動作の分解グレーコードを示す説明図である。
【図35】第二の動作の過程で生成されるコードを示す説明図である。
【図36】第三の実施の形態の第三の動作を示すフローチャート図である。
【図37】第三の動作の分解グレーコードを示す説明図である。
【図38】第三の動作の過程で生成されるコードを示す説明図である。
【図39】従来例を示す回路図である。
【図40】ROMセルを示す回路図である。
【図41】エンコード部内のROMセルの接続を示す説明図である。
【図42】従来例を示す回路図である。
【図43】従来例を示す回路図である。
【図44】エンコード部内のROMセルの接続を示す説明図である。
【図45】グレーコードを出力するエンコーダを示す回路図である。
【図46】図45の論理境界検出回路及びROMセルを示す回路図である。
【図47】グレーコードとバイナリーコードの関係を示す説明図である。
【図48】b1タイプのバブルエラーを含むサーモメータコードをエンコードした場合のグレーコードとバイナリーコードの関係を示す説明図である。
【図49】エラーを訂正した場合のグレーコードとバイナリーコードの関係を示す説明図である。
【図50】b1タイプのバブルエラーを含むサーモメータコードをグレーコード方式でエンコードした場合の入出力値を示す説明図である。
【図51】b2Hタイプのバブルエラーを含むサーモメータコードをグレーコード方式でエンコードした場合の入出力値を示す説明図である。
【図52】b2Lタイプのバブルエラーを含むサーモメータコードをグレーコード方式でエンコードした場合の入出力値を示す説明図である。
【図53】b1タイプのバブルエラーを含むサーモメータコードをグレーコードの表コードのみで訂正した場合の入出力値を示す説明図である。
【図54】b1タイプのバブルエラーを含むサーモメータコードをグレーコードの表コード及び裏コードを使用して訂正した場合の入出力値を示す説明図である。
【符号の説明】
101 エンコード部
102 エラー検出部
103 エラー訂正部
104 グレー・バイナリー変換部
e サーモメータコード
G グレーコード
B バイナリーコード

Claims (22)

  1. サーモメータコードの論理境界を検出することにより、グレーコードのデジタル信号を生成するエンコード部と、
    前記エンコード部から出力されるグレーコードをバイナリーコードのデジタル信号に変換するグレー・バイナリー変換部と
    を備えたエンコーダであって、
    前記エンコード部には、
    グレーコードの2つのビットの値が特定の関係にあるか否かを検出することにより、該グレーコードに含まれるエラーコードを検出するエラー検出部と、
    前記エラー検出部で検出されたエラーコードを訂正するエラー訂正部と
    を備えたことを特徴とするエンコーダ。
  2. 前記エンコード部は、
    前記サーモメータコードの論理境界を検出する多数の論理境界検出回路と、
    前記論理境界検出回路とビット線との間に介在されて、該論理境界検出回路の出力信号に基づいてビット線からグレーコードを出力する多数のROMセルと
    を備え、
    前記グレーコードの下位ビットを出力するビット線を複数の分解ビット線で構成し、前記各ROMセルを各分解ビット線に周期的に接続することにより、当該分解ビット線から出力される分解グレーコードのいずれかと、他のビットのグレーコードとの間に、常に前記特定の関係が設定されるようにし、
    前記エラー検出部は、前記分解ビット線から出力される分解グレーコードと他のビットのグレーコードとが、前記特定の関係を満足するか否かを検出することを特徴とする請求項1記載のエンコーダ。
  3. 前記論理境界検出回路は、
    1つおきのサーモメータコードを3つ以上入力する論理ゲートで構成したことを特徴とする請求項2記載のエンコーダ。
  4. 前記エンコード部は、
    前記グレーコードの最下位ビットを出力するビット線として、対象論理側の分解グレーコードを周期的に交互に出力する2本の分解ビット線と、非対象論理側の分解グレーコードを周期的に交互に出力する2本の分解ビット線とを備え、前記分解ビット線はいずれか1つのビット線とその他のビット線とから相補信号を出力する第一のエンコード部と、
    下位から2ビット目のグレーコードを出力するビット線として、対象論理側と非対象論理側の分解グレーコードを出力する2本の分解ビット線を備え、該分解ビット線から相補信号を出力する第二のエンコード部と、
    下位から2ビット目のグレーコードをシフトして下位から3ビット目のバイナリーコードの相補信号に相当する信号を出力する2本の分解ビット線を備えた第三のエンコード部と
    を備えたことを特徴とする請求項2記載のエンコーダ。
  5. 相補信号を出力する前記分解ビット線には、一方の分解ビット線の出力信号に基づいて、他方の分解ビット線をプリチャージするプリチャージ回路を接続したことを特徴とする請求項2乃至4のいずれかに記載のエンコーダ。
  6. 前記プリチャージ回路は、前記分解ビット線にそれぞれプリチャージトランジスタを介してプリチャージ電源を供給し、相補信号を出力する分解ビット線のうち、Lレベルの信号を出力する一方の分解ビット線の出力信号で、他方の分解ビット線に接続されたプリチャージトランジスタをオンさせて当該分解ビット線をプリチャージすることを特徴とする請求項5記載のエンコーダ。
  7. 前記プリチャージ回路は、前記分解ビット線にそれぞれプリチャージトランジスタを介してプリチャージ電源を供給し、相補信号を出力する分解ビット線のうちの一方の分解ビット線の出力信号に基づいて、前記プリチャージトランジスタをカレントミラー動作させて、Lレベルを出力しない分解ビット線をプリチャージすることを特徴とする請求項5記載のエンコーダ。
  8. 前記プリチャージ回路には、相補信号を出力する前記分解ビット線の電位差を一定値以内とするクランプ回路を備えたことを特徴とする請求項5記載のエンコーダ。
  9. 前記クランプ回路は、複数のダイオード若しくはダイオード接続したMOSトランジスタで構成したことを特徴とする請求項8記載のエンコーダ。
  10. 前記エンコード部は、グレーコードの下位ビットを前記分解グレーコードとして生成し、
    前記グレー・バイナリー変換部は、前記分解グレーコードと、前記エラー検出部の検出信号との論理処理に基づいて、エラーコードの訂正と同時に全ビットのバイナリーコードを生成することを特徴とする請求項2記載のエンコーダ。
  11. 前記グレー・バイナリー変換部は、前記分解グレーコードのうち、上下3ビットの範囲内の分解グレーコードを論理処理して、バイナリーコードを生成することを特徴とする請求項10記載のエンコーダ。
  12. 前記エンコーダ部の分解ビット線は、最上位以外の少なくとも1ビット以上の分解グレーコードに換えて分解バイナリーコードを出力することを特徴とする請求項2記載のエンコーダ。
  13. 前記エンコーダ部の分解ビット線は、最上位以外の少なくとも1ビット以上の分解グレーコードに換えて分解バイナリーコードを出力し、
    前記エラー検出部は、前記分解バイナリーコードと分解グレーコードとが特定の関係を満足するか否かに基づいてエラーコードを検出することを特徴とする請求項2記載のエンコーダ。
  14. それぞれ異なる電圧の基準電圧が入力され、該基準電圧とアナログ入力電圧とを比較して、サーモメータコードを出力する多数のコンパレータと、
    前記サーモメータコードの論理境界を検出した論理境界検出信号を出力する論理境界検出部と、
    前記論理境界検出信号に基づいてROMセルを動作させることにより、該ROMセルに接続したビット線からデジタル信号を出力するエンコーダと
    を備えたA/D変換器であって、
    前記エンコーダは、
    前記論理境界検出部の出力信号に基づいて、グレーコードを生成するエンコード部と、
    前記エンコード部から出力されるグレーコードをバイナリーコードに変換するグレー・バイナリー変換部と
    を備え、
    前記エンコーダ部は、
    グレーコードの2つのビットの値が特定の関係にあるか否かを検出することによりエラーコードを検出するエラー検出部と、
    前記エラー検出部で検出されたエラーコードを訂正するエラー訂正部と
    を備えたことを特徴とするA/D変換器。
  15. サーモメータコードの論理境界を検出することにより、グレーコードのデジタル信号を生成し、グレーコードの2つのビットの値が特定の関係にあるか否かを検出することにより、該グレーコードに含まれるエラーコードを検出し、該エラーコードをあらかじめ設定されたエラーコード処理に基づいて訂正することを特徴とするエンコード信号の誤り訂正方法。
  16. 前記グレーコードのデジタル信号は、1つおきで、かつ3つ以上のサーモメータコードの論理境界を検出することにより生成することを特徴とする請求項15記載のエンコード信号の誤り訂正方法。
  17. 前記グレーコードの下位ビットの論理対象側の出力信号を複数の系統に分解し、分解した下位ビットと上位ビットとの値が特定の関係にあるか否かを検出す ることを特徴とする請求項15記載のエンコード信号の誤り訂正方法。
  18. 前記グレーコードの下位ビットの非論理対象側の出力信号を複数の系統に分解し、分解した下位ビットと上位ビットとの値が特定の関係にあるか否かを検出することを特徴とする請求項15記載のエンコード信号の誤り訂正方法。
  19. サーモメータコードの論理境界を検出することにより、グレーコードのデジタル信号を生成し、グレーコードの2つのビットの値に特定の関係が設定されるように、前記グレーコードの下位ビットを論理対象側の表コードと非論理対象側の裏コードとに分割し、さらに前記表コード及び裏コードをそれぞれ複数の系統に分割し、前記各表コード及び裏コードと上位ビットとが特定の関係にあるか否かを検出することにより、該グレーコードに含まれるエラーコードを検出し、該エラーコードを訂正することを特徴とするエンコード信号の誤り訂正方法。
  20. サーモメータコードの論理境界を検出することによりグレーコードのデジタル信号を生成し、前記グレーコードの2つのビットの値が特定の関係にあるか否かを検出することによりエラー信号を生成し、該エラー信号に基づいてサーモメータコードにエラーが含まれているか否かを検出することを特徴とするA/D変換器の試験方法。
  21. サーモメータコードの論理境界を検出することにより、グレーコードのデジタル信号を生成するエンコード部と、
    前記エンコード部から出力されるグレーコードをバイナリーコードのデジタル信号に変換するグレー・バイナリー変換部と
    を備えたエンコーダであって、
    前記エンコード部には、
    グレーコードの2つのビットを論理演算することにより、該グレーコードに含まれるエラーコードを検出するエラー検出部と、
    前記エラー検出部で検出されたエラーコードを訂正するエラー訂正部と
    を備えたことを特徴とするエンコーダ。
  22. サーモメータコードの論理境界を検出することにより、グレーコードのデジタル信号を生成し、グレーコードの2つのビットを論理演算することにより該グレーコードに含まれるエラーコードを検出し、該エラーコードを訂正することを特徴とするエンコード信号の誤り訂正方法。
JP24137697A 1997-07-18 1997-09-05 エンコーダ、エンコード信号の誤り訂正方法、a/d変換器、及びa/d変換器の試験方法 Expired - Fee Related JP3756638B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP24137697A JP3756638B2 (ja) 1997-07-18 1997-09-05 エンコーダ、エンコード信号の誤り訂正方法、a/d変換器、及びa/d変換器の試験方法
US09/034,219 US6298459B1 (en) 1997-07-18 1998-03-04 Analog to digital converter with encoder circuit and testing method therefor
TW087103654A TW418569B (en) 1997-07-18 1998-03-12 Analog to digital converter with encoder circuit and testing method thereof
KR10-1998-0011145A KR100458187B1 (ko) 1997-07-18 1998-03-31 부호화기와그부호화기를구비한반도체소자및a/d변환기,그레이-이진부호변환방법및장치
KR1020000071457A KR100337750B1 (ko) 1997-07-18 2000-11-29 오류 정정 방법
KR1020000071458A KR100419491B1 (ko) 1997-07-18 2000-11-29 A/d 변환기의 시험 방법 및 그 방법을 사용하는 반도체 소자
US09/906,816 US6653956B2 (en) 1997-07-18 2001-07-18 Analog to digital converter with encoder circuit and testing method therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-193688 1997-07-18
JP19368897 1997-07-18
JP24137697A JP3756638B2 (ja) 1997-07-18 1997-09-05 エンコーダ、エンコード信号の誤り訂正方法、a/d変換器、及びa/d変換器の試験方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005341847A Division JP4188965B2 (ja) 1997-07-18 2005-11-28 グレー・バイナリー変換装置及びグレー・バイナリー変換方法

Publications (2)

Publication Number Publication Date
JPH1188174A JPH1188174A (ja) 1999-03-30
JP3756638B2 true JP3756638B2 (ja) 2006-03-15

Family

ID=26508022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24137697A Expired - Fee Related JP3756638B2 (ja) 1997-07-18 1997-09-05 エンコーダ、エンコード信号の誤り訂正方法、a/d変換器、及びa/d変換器の試験方法

Country Status (1)

Country Link
JP (1) JP3756638B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100691347B1 (ko) 2005-07-08 2007-03-12 삼성전자주식회사 버블 에러 제거 장치와 이를 구비하는 아날로그 디지털변환기 및 버블 에러 제거 방법
KR100896853B1 (ko) 2006-12-28 2009-05-12 동부일렉트로닉스 주식회사 시스템 클럭을 이용한 코드변환장치
GB0702575D0 (en) 2007-02-09 2007-03-21 Texas Instruments Ltd Grey code to sign and magnitude converter
JP2009177446A (ja) * 2008-01-24 2009-08-06 Oki Semiconductor Co Ltd パイプライン型アナログ・デジタル変換器
JP5146340B2 (ja) * 2009-01-30 2013-02-20 富士通セミコンダクター株式会社 A/d変換器
US8547257B2 (en) * 2011-10-26 2013-10-01 Texas Instruments Incorporated Digital error correction in an analog-to-digital converter
JP6506144B2 (ja) 2015-09-09 2019-04-24 ラピスセミコンダクタ株式会社 半導体装置
WO2018229590A1 (ja) * 2017-06-16 2018-12-20 株式会社半導体エネルギー研究所 半導体装置、半導体ウェハ、電子機器、及び動作方法
CN115112156B (zh) * 2022-06-02 2023-11-17 杭州水表有限公司 一种识别数字轮角位置的光电编码方法及装置

Also Published As

Publication number Publication date
JPH1188174A (ja) 1999-03-30

Similar Documents

Publication Publication Date Title
KR100458187B1 (ko) 부호화기와그부호화기를구비한반도체소자및a/d변환기,그레이-이진부호변환방법및장치
KR101394640B1 (ko) 인코드 회로 및 아날로그-디지털 변환기
JP4639153B2 (ja) ディジタル・アナログ変換器
JP3756638B2 (ja) エンコーダ、エンコード信号の誤り訂正方法、a/d変換器、及びa/d変換器の試験方法
JP3103657B2 (ja) 電圧保持回路及び容量結合網を有するa/d変換器
US7375669B2 (en) Digital/analog converter
JPH0884077A (ja) アナログ/デジタル変換装置
US6590518B1 (en) Apparatus and method for an improved subranging ADC architecture using ladder-flip bussing
JPH05145419A (ja) 2進データ発生回路およびa/d変換器
JP2000341124A (ja) アナログ/ディジタル変換器
JP4188965B2 (ja) グレー・バイナリー変換装置及びグレー・バイナリー変換方法
US6703951B2 (en) Analog to digital converter with encoder circuit and testing method therefor
JPH08293795A (ja) エンコーダ及びa/d変換器及び半導体集積回路装置
US8258992B2 (en) Analog-to-digital converter
JP2014107769A (ja) サブレンジング型a/d変換器
JP2000134103A (ja) サーモメトリック−バイナリコード変換方法および回路、それに使用されるエンコーダ素子回路
JP3221131B2 (ja) アナログ/ディジタル変換回路
JP3157778B2 (ja) エンコーダ及びa/d変換器
JP2721450B2 (ja) アナログ−デジタル変換回路
JP2778059B2 (ja) Ad変換回路
JP2778058B2 (ja) Ad変換回路
JPH0697832A (ja) 符号変換回路およびそれを備えたa/d変換器
JP3221135B2 (ja) アナログ/ディジタル変換回路
JPH098662A (ja) 符号化回路およびそれを備えたa/d変換器
JP2778057B2 (ja) Ad変換回路

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040319

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040319

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051128

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: 20051220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051222

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090106

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100106

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110106

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110106

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120106

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120106

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130106

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140106

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees