• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ADCとDACについて他)

ADCとDACについて他

このQ&Aのポイント
  • ADCとDACについて知りたいことがあります。具体的には、ADコンバーターの原理や変換内容、REFや分解能について詳しく知りたいです。また、DAコンバーターの原理と計算方法についても教えていただきたいです。
  • オーバーシュートやアンダーシュートが起こる場合の対策について知りたいです。具体的には、ダンピング抵抗や終端抵抗、コンデンサーの役割について教えていただきたいです。また、この問題について特定の名前があるのか知りたいです。
  • 質問文章全体の内容を要約すると、ADCとDACについて知りたいことがあります。ADコンバーターとDAコンバーターの原理や変換内容、またオーバーシュートやアンダーシュートに起因する問題とそれに対する対策について詳しく教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • tance
  • ベストアンサー率57% (402/704)
回答No.3

tanceです。 >4回しか比較しないのに1/16刻みつまり16回比較?という矛盾が生じます。 4回比較すると電圧はFSの1/16の細かさで知ることができます。16回比較 ではないので、そこのところをしっかり理解してください。 説明を楽にするために4ビットではなく3ビットにしてみましょう。 3回比較して2^3=8分の1の細かさでAD変換できることを示します。 AD変換結果がb0,b1,b2という3つのデジタル信号で出てくるとします。 b0をLSBとして話しを進めます。 1回目の比較で、b2=1,b1=0,b0=0 としてみて、大小を判断すると 入力VがFS/2より高いか低いかが判ります。 もし、低かったら:b2=0が確定します。 高かったら:b2=1です。 ここでは高かったとしてみます。 次に、b2=1,b1=1,b0=0 として大小比較をします。これにより入力Vが  3/4FSより高いか低いかが判ります。すでに1/2FSより大きいことが  判っているわけですから、入力Vが1/2FS~3/4FSの間にあるか、または  3/4FS~FS の間にあるかが判ったことになります。  ここでは入力Vが1/2FS~3/4FSの間にあったとしてみます。  つまり、b2=1, b1=0 まで確定したことになります。  (2回の比較で4分類されています) さらに、b2=1,b1=0,b0=0 として大小比較をします。これにより入力Vが  5/8FSより高いか低いかが判ります。すでに1/2FS~3/4FSの間にある  ことが判っていますので、今回の大小比較で入力Vは 1/2FS~5/8FS  の間にあるか、5/8FS~3/4FSの間にあるかが判ります。  分数がわかりにくいですので、判りやすく分母を8に統一すると  4/8FS~5/8FSか、または 5/8FS~6/8FSかが判ったことになります。  つまり8分類されました。3回の比較で2^3=8とおりの電圧クラスに  分類されたことになります。 同様に16ビットだと16回の比較で65536通りに分類できます。 お解りのように、入力が誤差無く確定されたわけではなく、ある範囲に あることが判るだけなんです。でも、十分に細かく分類できれば、その 範囲も極めて狭いので精度良く計ったことになる訳です。 基準電圧との関係は、あくまで内部のD/Aコンバータが作り出すアナログ 値の元として関係しています。 先にR-2Rラダー型のD/Aコンバータを勉強すると理解が早いかもしれ ません。

fg5_sinnyo
質問者

お礼

分解能4ビットで精度1/16という意味がよく分かりました。 非常に理解しやすく大変感謝申し上げます。 ところで、ご提示下さったpdfファイルを読んでR-2Rラダー型D/Aコンバータの仕組みを理解しました。 ということはA/D変換と基準電圧との関係は、おっしゃる通りD/Aコンバータが作り出すアナログ値の計算に用いられる、すなわち、基準電圧が狂っていると、例えば1回目の比較で使用する0.5Vという値が0.4995Vなどになって、分解能が上がれば上がるほどデジタル値に変換された値に狂いが生じてくるということでしょうか? 上記記述が正しければ、私の中で完全に納得できます。 D/A変換のややこしい計算は完全には理解できなかったのですが、 数学の公式を導き出すような感じでしたので、理論的にそうなるのだということで納得しました。 もし、上記の理解に間違いがあればご指摘下さい。 これほど分かりやすくご説明いただけるとは思っていなかったので、 誠に感謝申し上げます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • tance
  • ベストアンサー率57% (402/704)
回答No.4

tanceです。 >基準電圧が狂っていると、例えば1回目の比較で使用する0.5Vという値が 0.4995Vなどになって、分解能が上がれば上がるほどデジタル値に変換された 値に狂いが生じてくるということでしょうか? そうですね。分解能が上がると狂いが増えるかというと、表現が微妙と なりますが、基準電圧が狂うと、AD変換したデジタル値も同じ率で 狂います。分解能が低いと目立たないだけです。 でもこれは表現のことで、おそらく理解しておられるものと思います。 DAのR-2Rはそんなに難しい式をいじくるほどのものではありません。 各段で、合成抵抗が2Rになるので2Rと2Rで、それまでの電圧が1/2に なるというだけのものです。全くよくできた回路です。3ビットくらいで いろいろなデジタル値に対して出力電圧の計算をしてみると、なるほど としっかり理解できると思います。(計算といっても算数です) 基準電圧の狂いを発見するにはやはり精度をチェックするしかありま せん。0とFSだけチェックすれば良いと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • tance
  • ベストアンサー率57% (402/704)
回答No.2

tanceです。 考え方は全部合っていますよ。 MSB=1で内部D/A出力がFS/2というのは、未知の入力に対して、その値が フルスケールの半分より上か下か、を最初に調べるのは自然ではないで しょうか。(FS:フルスケールの意) 小学生のときにやったつまらないゲームがあります。子供Aが1から10 までの数を頭に思い浮かべ、子供Bがそれを何回かの質問で当てるのですが 子供Aは子供Bが提示した数字より大きいか小さいかしか答えてはいけま せん。1ですか?2ですか?3ですか?と聞く子もいますが、頭の 良い子はまず5ですか?と聞き、その答えによって次の提示数字を選び ます。これと同じことと考えてください。 また、全ビットが1のときにフルスケールになるのが自然です。 (そうでない設計のA/Dもありますが)だとすると、MSBだけが1で他が 全部0のときはFSの半分になる、と考えても良いです。 蛇足ですが、デジタル信号というのは実は1ビットのA/Dコンバータ(?) であると言えます。0.5より上なら1、下なら0 というわけですから。

fg5_sinnyo
質問者

補足

だいぶAD変換が分かってはきたのですが、実は難しい不良の修理というのが基準電圧ICのずれなんです。 つまり、ADコンバーターへのREFに5Vが来ないといけないところが、 例えば4.95Vくらいしか来てなくてこの基準電圧ICを交換すると直るというものなのです。 それで、 http://oshiete1.goo.ne.jp/qa2714426.html にとてもよい回答があったので参考にしたのですが、少し分からないのでもうちょっと質問させて下さい。 今回の話の中には基準電圧のことが全く出てきていないのですが、上記のリンクの質問の中には「実際のAD変換器は、この基準電圧のm/n倍の電圧を内部で作って、これと入力信号と比較することで、入力電圧を求めるということをやっています。」とあります。 今回の話に基準電圧を介在させるとどのような説明になりますか? また「例えば16bit分解能のAD変換器はnの値が2^16=65536あって、V×mの数値をV×m/65536刻みの精度で読めるということになります。」とありますが、「今回4bitの分解能なのでV×1V/2^4=V×1V/16刻みの精度で読める」と言い換えると4回しか比較しないのに1/16刻みつまり16回比較?という矛盾が生じます。m=FSという考え方が間違っていますか? 話が奥深いところにまで言及していますが、この不良の話を会議の場で発表することになると思うので(恐らく11月以降ですが)完全に納得いくところまで理解したいと考えております。 ご協力よろしくお願い申し上げます。

全文を見る
すると、全ての回答が全文表示されます。
  • tance
  • ベストアンサー率57% (402/704)
回答No.1

ADコンバータにはいろいろな種類があります。 ○逐次比較型(AD7894はこれです) ○積分型 ○フラッシュ型 ○ΔΣ型(Σデルタというメーカもある) ○パイプライン型(これは正式名称ではない?) ○その他 逐次比較型の動作をかいつまんで言うと、 ADコンバータの中にDAコンバータが入っていて、入力とそのDA出力 電圧の大小を常に比較しています。そして、この2つの電圧が一致する ようにDAコンバータをコントロールしています。 つまり、DAがあるデジタル値によってドライブされて、あるアナログ値 を出力している状態で、そのアナログ値が入力電圧と同じだったら、 DAに与えているデジタル値がそのまま入力をデジタル変換したものに ほかならないわけです。 大小比較は、あるビットを1にしてみて大きすぎれば0にして、さらに 下のビットを1にして、・・・という具合に全ビットを決定して 行きます。 AD7894はシリアル出力なので、デジタル信号出力は1本しかありません。 他のパラレル出力式のICでは多数本のデジタル信号が同時に出ていて bit0, bit1, ・・bit13 などと名前がついています。しかし、これらの デジタル信号にはその「重みづけ」の重い信号と軽い信号があるので 一番重い信号にMSB(Most Significant Bit)と明記し、一番軽い信号に LSB(Less Significant Bit)と明記しています。メーカやICの品種に よってはbit0がLSBのものとMSBのものがあるので注意が必要です。 DAコンバータにもいろいろな種類があります。 ○R-2Rラダー式 ○電流加算式 ○その他 これは回路図を描かないと説明しづらいので下記を参照してください。 http://practice.ed.sie.dendai.ac.jp/micom/ADDA.pdf オーバーシュート等による誤動作に名前があるか、という質問ですが、 ドンピシャリの名前はなさそうに思います。強いて言えば、 「シグナル・インテグリティ」、とか「信号終端」といったところが キーワードかもしれません。

fg5_sinnyo
質問者

お礼

ご回答誠にありがとうございます。 逐次比較型について調べてみると http://techon.nikkeibp.co.jp/article/WORD/20061113/123485/ に良い例が載っていました。 ここで分からないのが、 「MSBを1に設定すると,1Vの半分である0.5VがD-A変換器から出力され」 というところです。 MSBを1にするとなぜその半分である0.5VがD-A変換器から出力されるのでしょうか? その次は0.5Vの半分である0.25Vを足した0.75Vってなってますが、これを4ビット続けると、 1回目:0.5Vと比較 2回目:0.5V+0.25V=0.75Vと比較 3回目:0.5V+0.25V+0.125V=0.875Vと比較 4回目:0.5V+0.25V+0.125V+0.0625V=0.9375Vと比較 で終わりということでしょうか? 分解能が4ビットしかないので0.9375V以上1V未満はすべて同じデジタル値となる。 仮に24ビットなどの高精度にすれば0.999Vと0.998Vも異なるデジタル値として検出できる。 という認識で合っていますか? とはいうものの、MSBを1にした後の1回目の比較では分解能に関係なく フルスケール電圧の半分の値と比較するということなのかがよく分かりません。 DA変換の方は教えて頂いたpdfファイルを熟読後、分からないところがあれば再度質問したいと思います。 以上よろしくお願い申し上げます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • d/Aコンバータ(ad5445)ゲインの増加について質問

                   5V             GND Vdd|              | ーーーーー|        20kΩ  Rfb    |ーーーーーーーー|        | |          | D/A   |  ̄      62KΩ コンバータ| ─c        |         | |         |         | |  ____     | Iout1  |ーーー|- |_|___0~20v出したい  Iout2  |ーーー|+ | ____| |  -- Vr|     |   ↑ ef|    ーー  オペアンプ   |   GND       |   15KΩ   |   |   Vin このような回路でデジタル信号をアナログ信号に変換、増幅したいと思っているのですが、 1.Vinの値がわかりません。ここは5vでよいのでしょうか? 2.この接続であってるのでしょうか? d/AコンバータはAD5445を使用 オペアンプはJRCの3404AD デジタル信号は11bit 回路的にはAD5445のデータシートの18Pにあるゲインの増加になります。

  • AD変換する方法が分かりません

    真空計の出力端子にアナログ出力端子があります。そのアナログ信号をAD変換してFPGAに取り込み、真空計と同じ真空値をFPGA側にも表示させたいのです。 第1歩として、アナログ信号をAD変換させる方法が分かりません。 デジタル側は8bitで出力させたいです。 AD変換としてPICを使うべきか、それともAD変換専用の半導体を使えば良いかわかりません。 AD変換専用の半導体素子は、何を使えば宜しいでしょうか? 教えて下さい。

  • 矩形波の変化直前のオーバーシュート

    spiceなどの回路シミュレーションで、 矩形波の電圧変化の直前にオーバーシュート、アンダーシュートが出る事がありますが、 この理由がわかる方教えて頂けませんか? (絵が汚くてすみません)

  • オーバーシュートによるロジックの動作

    高周波伝送において 整合がずれて反射により過度のオーバーシュートが発生している場合 この信号によりロジックの誤動作はあるものでしょうか?当然ハイレベルで スレッショルドを超えるアンダーシュートはLOになると思いますが、オーバーシュートが大きすぎてic動作エラーとかってあるのでしょうか?ちなみにロジックはLVです。

  • DAコンバーターについて教えてください。

    DAコンバーターについて教えてください。 デジタルアナログに変換する回路について教えてください。 ネット上 http://www-nh.scphys.kyoto-u.ac.jp/~enyo/kougi/elec/node51.htmlで見ると抵抗のスイッチで分圧して出力にアナログが出力されると説明が ありますが、自分にはデジタルの信号(ここでは直流電圧)を入れて出てくるのはデジタルだと おもうのですが、なぜこの回路でアナログ(交流)が出力されるのかわかりません。 どなたかおしえてくださらないでしょうか?

  • アナログ入力変化の検出回路

    アナログ入力の変化を検出できる回路はないでしょうか? 具体的に可変抵抗10kΩの分圧(手動操作)をADコンで取り込むのですが入力が一定でない為現在は一定時間ごとにAD変換を行っています。(1秒10~50回)この方法では電力消費が大きくなってしまうのではないかと思います。そこでアナログ入力が変化を検出しその時だけAD変換を行うようにしたいのですが何かいい回路は無いでしょうか? 変化の上下の識別は必要ないですが変化はデジタルで拾うようにしたいと思っています。オペアンプの微分回路で検出できそうな感じはしたのですがこれではデジタルで上手く取れないのでは?・・と何かいい方法がありましたらよろしくお願いします。

  • ADコンバーター

    デルタシグマ型のADコンバーターが広く使われてるそうです 基本構成の回路でコンパレーターから出た1ビットデジタルデータはデシメーション回路というブロック図に入っています その出力がAD変換された16ビットのデーターが出ていますが、このデシメーション回路とはどんなディジタル回路なのでしょうか? 単純にカウンターで1ビットデーターを数えるだけではダメのようです。

  • 矩形波の変化直前のオーバーシュート

    spiceなどのCMOS回路シミュレーションで、 矩形波の電圧変化の直前にオーバーシュート、アンダーシュートが出る事がありますが、 この理由がわかる方教えて頂けませんか? 簡単なインバータのイメージを記します。(絵が汚くてすみません) トランジスタに寄生CRはつきますが、意図的なLなどはつけていません。

  • オーバーシュート/アンダーシュートについて

    高速のバスラインにオーバーシュート、アンダーシュートの対策として ダンピング抵抗を入れる事をよく聞きます。 データバスやアドレスバスに入れているは見受けられますが、その他のライン はどうしたら良いのか困惑しています。 どのような思想で設計したら良いのか、アドバイス又は経験のある方ご教示をお願いします。

  • 電流ロガーの製作

    電流値を測って記録するロガーを作りたいのですが、自作できるか、どこかの会社に作ってもらうか、考えてます。 抵抗をかませて、電圧をADコンバータでデジタル値を吐きだしてもらう回路になろうかと存じますが、 電流のレンジが0.1nA~1mAと広いので、ADが10ビットだと到底足りません。そこで抵抗を変えなければならないのですが、自動的に変える機構がないとロガーとしては使えません。 どうしたものでしょう。 自作できそうかそうか、あるいは、こんな小回りの良い会社があるよ、という情報がありましたら、教えてください。 よろしくお願い致します。