ADCが8または16ではなく10ビットを使用するのはなぜですか?


28

ArduinoにあるようなほとんどのADC が8または16ビットではなく10ビットの解像度を提供するのはなぜですか?

特に統合されたデータサイズでは、標準のデータサイズと一致しないのは奇妙に思えます。


2
懸念事項はデータ幅ではありません。必要な解像度とコストの可能性が高い。
-richieqianle

「標準のデータサイズ」と一致するのはなぜですか?
user253751

回答:


40

SAR(連続近似)ADCを拡張して16ビットを変換しても大きな技術的な問題はありませんが、問題はアナログフロントエンドのノイズフロアが見え始めることです。これは、ADCコードが飛び跳ねるのを見て、顧客がパニックになる傾向があり、数十マイクロボルトの偏差を見ていることを常に認識しているわけではありません。

5.00 Vのリファレンス電圧と10ビットADCを想定すると、LSBは4.88 mV(5 V×2 -10)の電圧を表します。リファレンスが5.00 Vの16ビットADCの場合、LSB電圧は76 µVです。

しかし、デジタルシステムの電源は正確に5.00 Vではなく、通常4.75 V〜5.25 Vの範囲で指定されています。マイクロコントローラー内でスイッチングトランジェントイベントが発生するたびに、電源を引き起こす電流の小さなパルスがあります。痙攣する電圧。LSBが約5 mVの場合、かろうじて見ることができるかもしれませんが、76 µVレベルでは、このノイズが見えないことは困難です。

実際、12ビットADCを超えると、デジタル電源を使用する代わりに、アナログ電圧リファレンスが必要になります。そのため、さらにコストがかかります。最良の結果を得るには、この電圧リファレンスは、実際には独自の電力線を備えた別個のチップである必要があり、理想的には、ホット/ノイズの多いデジタル回路から離れている必要があります。

16ビットADCで安定した読み値が得られるようにするには、非常クリーンな基準電圧と熱制御が必要であり、できれば高速スイッチングデジタル信号から遠ざけるようにしてください...したがって、16ビットSARをマイクロコントローラと同じチップは、実際にこれらの余分なビットを持つ目的を無効にします。これらの余分なビットのランダムノイズを測定するだけです。

高解像度ADCを使用する顧客アプリケーションがあります。私が働いている会社はこれらの多くを作っています。自動テスト機器(ATE)、医療超音波、およびその他の特定の特殊なタイプの顧客は、場合によっては18ビットまたは24ビットの高解像度ADCを使用します。

高分解能ADCの製造テストには時間がかかります(したがって、費用がかかります)。この種のパフォーマンスを必要とするお客様は、多くの最新のマイクロコントローラーに組み込まれている安価なSARタイプではなく、外部スタンドアロンADCにプレミアムを支払います。

次に、レーダーやデジタルサンプリングオシロスコープなどの高速アプリケーションがあり、100 MHz以上のレートでサンプリングする必要があります。これらの速度では、8ビットの意味のあるビットを取得できます。


1
ADCでの私の最初の経験は正反対でした。最下位ビットが少し変動していないことに驚いた。
ジョンドヴォルザーク

低周波数信号またはDC信号を測定しようとすると、直感に反して、すべての入力信号の最下位ビットを変動させるのに十分なアナログノイズを備えたシステムを使用するほうが実際に優れています。ノイズは平均化によって低減できますが、ADCが1つの値に固定されている場合、平均化をいくら行っても結果は改善されません。
ピーターグリーン

1
最新のテクノロジーを使用すると、数十gspsのレートで8つの重要なビットを購入できます。:)
oakad

12

解像度とコストの間のトレードオフ。

8ビットは2 8 = 256の組み合わせを提供し、そのうちの0は1であり、0〜255をデジタル値として残しています。これは、多くのアプリケーションにとって十分ではありません。すべての余分なビットは解像度を2倍にし、10ビットはほとんどのプロジェクトに十分な1024ステップを提供します。産業用システムでは、解像度をさらに向上させるために12ビットを使用する場合があります。

高分解能ADCは、より厳しい許容誤差を必要とし、製造コストが高くなります。


カメラには数百万個の14ビットADCがありませんか?
ハーゲンフォンアイゼン

7
@HagenvonEitzen:いいえ。カメラにはピクセルごとに1つのADCはありませんが、ピクセルを1つずつ読み取ります。(ただし、センサー全体を高速化するために複数のADCが存在する場合があります)。
sweber

1
通常、カメラはラインで読み取るため、数千個のADCがあります。高増幅状況(暗い環境での高ISO)では、アンプ/ ADCペアの個々の変動を画像全体に線の形で見ることができます。
マーク

@Markそして、そのラインスキャンの別の効果として、高速モーションのオブジェクトの画像はローリングシャッター効果を与えることができます
JAB

4

多くの良い有効なポイントがすでに作成されています。私は長年にわたって8、10、12、および16ビットADCを広範囲に使用しましたが、今日では4または5マイクロ秒の変換時間で16ビットを達成することはかなり簡単です(より良いものが利用可能です、私は実行可能なものに固執しますほとんどの人が使用するために)、スタンドアロンのチップで。ただし、これには、薄膜抵抗器や高度に特殊化されたさまざまなアナログ設計手法を使用することが多い精密なラダーネットワークが含まれています。(ほとんどの場合、高精度ADCの回路のどこかに高性能バイポーラトランジスタが必要ですが、最新のマイクロコントローラーはすべてCMOSであるため、優れたアナログ精度とCMOSロジックを組み合わせたものを作成するための多くの追加の製造ステップがあります。 )優れたADCは、ほとんどのマイクロコントローラーよりも高価です!作るのはそれほど簡単ではありませんが、

たとえば、ADS7509の前身であるTI ADS8509を考えてみましょう。それほど高速ではありませんが、大規模で重要なプロジェクトの多くの場所で使用しています。

http://www.ti.com/lit/ds/symlink/ads8509.pdf

今日の標準ではかなり平凡です。しかし、その内部設計機能は、マイクロコントローラーの安価な製造プロセスと互換性がありません。また、ほとんどのマイクロコントローラーよりも高い15.72ドル以上の費用がかかります。私はそれらを裸の半導体ダイの形で使用し、ハーメチック金属缶ハイブリッドに組み込まれ、慎重に設計されたサポート回路を使用し、実際には1 LSB ppのノイズをわずかに超えました。予算を含むリソースがあります。しかし、マイクロコントローラの内部や周辺でこのような低ノイズが発生することは決してありません。

少なくとも1人が説明したように、主な問題は、デジタル電源レールのノイズがADCに直接影響することです。これで、ピンが提供されている適切な外部電圧リファレンスを使用して、それを回避できますが、グランドでも同じことができるようにする必要があります。また、これらのピンは、デジタル電源とグランドの数百mV以内に制限する必要があります。そうしないと、問題が発生します。さらに、もちろん、ロジックからの内部ノイズカップリング、ロジックからの複雑な方法でのクロック周波数での状態の変化、さらに悪いことに、I / Oピンからのノイズの一部は、数十mAを駆動およびスイッチングする場合がありますそれらを制限までロードしました。ノイズ、ノイズ、その他のノイズ...

私が引用した部分(および、より安く、より高速な、または別のもののためのGoogle、コストと柔軟性のトレードオフ)はSPIインターフェースを備えているため、マイクロコントローラーの外部で、独自のローカルグランドプレーン、フィルタリングなどで簡単に使用できます。 、注意して、それは本当にあなたに16ビットを与えるでしょう。

以前は、12ビットADCから約10を超えるノイズのないビットを取得することは非常に困難でしたが、デジタルロジックに近いなどの汚れた環境にあり、これが主にプロセッサチップ内のオンボードADCが使用されている理由です多かれ少なかれその解像度で立ち往生し、おそらく永遠になります。しかし、TIには32ビットの外部チップがあります。データシートやコストを見ていません...

絶対精度を犠牲にできる場合(つまり、DCオフセットと時間と温度によるドリフトは言うまでもなく、スケールファクターが5%以上出力される場合がありますが、線形性は優れています)、オーディオグレードのADCが適しています。それらは少なくとも16ビットであり、大衆市場向けに設計されているため、しばしば良い値ですが、DC信号を+/- 0.1%に測定しなければならない精密機器で使用することを期待しないでください。

一度にすべてを手に入れることはできません。それはすべて何が最も重要なのかという問題です。精度、ノイズ、長期ドリフト、速度、コスト、電力、インターフェースタイプ(シリアルまたはパラレル)など。また、複数のチャネルを多重化する場合があるため、多くのシグマデルタADCを排除する高速ステップ応答時間が必要です。それ以外の場合、非常に優れたプロパティがいくつかあります。

ADCを選択するとき。Googleは、いつものようにあなたの友達です。TI、Linear、Nationalおよびその他のさまざまな半導体メーカーからの記事とアプリケーションノートがたくさんあります。データシートに記載されていないことに常に注意し、競合他社が強調しているパラメーターを確認してください。

しかし、すべてをマイクロコントローラチップで使用したい場合は、プロジェクトで10ビット(おそらく9使用可能、LSBノイズ)以上を使用しないでください。また、ご使用のチップで許可されている場合は、個別のアナログ基準と接地を計画してください。そうすれば、時間を無駄にすることはありません。


3

8ビットADCは、0.49%のステップのために使用するのが恐ろしいです-私はそれを十分に見ました。ホビーエレクトロニクス向けに設計されているArduinoは、4倍のステップを使用しているため、0.1%に近く、一般的なオペアンプまたはトランジスタセンサー回路から予想される達成可能なS / N比に近い値です。それよりも良いのは、ホビイスト級の家庭用電子機器に無駄になり、それよりも悪いことは、あまりにもステッピーで恐ろしいことです。

16ビットADCは市販されていますが、安定に時間がかかり、ハムやノイズが移動しているため、より良い測定が得られず、速度が遅くなります。


2
ホビーエレクトロニクス向けに設計されているArduinosは、atmel uCのオンチップadcで使用可能なadcビットの数とは関係ありません。趣味での使用に適した深さかもしれませんが、多くの専門的な非アルドゥイノアプリケーションに適したサイズになるように設計されています
Loganf

2

ADCが変換を行うと、連続アナログ信号にデジタル(量子化)値が提供されます。変換時点でデジタル値はアナログ値と正確に一致しないため、この差は加法性ノイズと見なすことができます。ADCの分解能が高いほど、アナログ値からデジタル値が近くなります。つまり、ADCのビットを増やすことで、信号対量子化ノイズ比(SQNR)を改善します。したがって、10ビットADCは8ビットADCよりも優れています(約12dB)。

16ビットA / Dを使用すると、SQNRの点で優れています。ただし、それらはより高価です。多くのアプリケーションでは、10ビットADCが必要なSQNRを十分に提供します。


1

一般的なルールとして、量子化ステップがシステムの(アナログ)ノイズフロアよりも少し低くなるように、カバーのビット数を指定します。

より多くのビットを使用するため、ノイズフロアのさらに下に量子化ステップを設定すると、全体的なノイズパフォーマンスはほとんど改善されませんが、シリコンを多く使用すると、変換時間が長くなるか、コンバーターの内部が高速に動作する必要があります(したがって、ノイズが増えます)

使用するビット数が少ないため、ノイズフロアよりも高い量子化ステップを使用することは一般に良くありません。これは、アナログ回路のパフォーマンスを浪費していることを意味し、場合によっては、平均化によって除去できない系統誤差を作成する可能性があります(実際、設計者は、量子化による系統誤差を回避するために、意図的にシステムにノイズを追加します)。

8ビットと16ビットの違いは巨大です。前者は、ノイズ性能がかなり低いシステムであっても大きすぎる量子化ステップになります。後者は、非常に慎重なアナログ設計がないシステムでは無駄になります。したがって、当然ながらマイクロコントローラーはその中間のどこかになります。

人々はしばしば「量子化ノイズ」について話しますが、「量子化ノイズ」の概念は状況によって破壊される現実の単純化されたモデルであることを覚えておくことが重要です。


0

ADCの最も一般的な使用法は、おそらく音声処理分野(VoIP、CD音楽など)です。音楽は16ビットを必要とするため、ここでは興味がありません。しかし、VoIPが低ビットADC市場を牽引しています。VoIPは通常、12ビットの入力信号から8ビットの圧縮PCMコードを生成するコンパンディングを使用します。圧縮ステップへの入力には、より多くのビットが必要です-通常は12、時には10で十分な場合があります(常に最下位の2ビットを偽造できます)。

その結果、8ビットADCの需要は非常に低いですが、高ビットADCの需要は高いため、安価に入手できます。Arduinoは、安価でユビキタスなコンポーネントを使用する可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.