マイクロコントローラに一般的にオンチップDACがないのはなぜですか?


44

ではこの回答私は、彼らがADCを持っていないしながら、マイクロコントローラは通常、DACを持っていないことを読みました。何故ですか?

編集
R-2R DACのように抵抗を統合することは、不動産の観点からは高価であることに感謝します(答えてくれたMikeに感謝します)。


+1それは本当に良い質問です。私も同じように思った。
-sybreon

A / Dで2つの電圧を測定し、2つのD / A信号を同時に生成する必要があります。これは、2つのトランジスタを同時に流れる電流を制御するためです。単極または二極フィルターPWM方式のノイズと非線形性は、実際の問題です。「アナログに戻る」ことを望む場合があります。私にとってサイプレスのソリューションのように見えます。そもそもマイクロを使用する理由は、部品点数を減らすためです。船外D / Aのようなものを追加すると、ゲートからそれが無効になります。

回答:


30

最初に、一部のマイクロコントローラーにはD / Aコンバーターがあります。ただし、これらはA / Dコンバーターよりもはるかに一般的ではありません。

技術的な問題は別として、主な理由は市場の需要です。考えてみてください。実際のD / Aを必要とするのはどのようなアプリケーションですか?ポイントが信号処理でない限り、マイクロに適度に高速のアナログ信号を生成させることは非常にまれです。ただし、その主な市場はオーディオであり、デジタルマイクロコントローラーの製造に使用されるのと同じプロセスで構築できるよりもはるかに高い解像度が必要です。とにかく、オーディオは外部A / DとD / Asを使用します。このようなアプリケーション向けのDSPには、I2Sなどの外部デバイスと通信するための通信ハードウェアが組み込まれています。

それ以外の場合、通常の制御アプリケーションの場合、戦略はプロセスの早い段階でデジタルに変換し、その後物事をデジタルに保つことです。これはA / Dを主張しますが、アナログに戻りたくないのでD / Aは役に立ちません。

マイクロコントローラーが通常制御するものは、PWM(PulseWidth Modulation)で制御されます。スイッチング電源とクラスDオーディオは、本質的にパルスで動作します。モーター制御、ソレノイド制御などはすべて、効率化のためにパルスで行われます。理想的なスイッチでは電力を消費できないため、パス要素を完全にオンまたは完全にオフにする必要があります。大規模なシステムまたは入力電力が少ないか高価な場合(バッテリ動作など)、スイッチングシステムの効率が重要です。多くの場合、使用される総電力は問題ではありませんが、熱のように無駄な電力を取り除きます。10 Wの代わりに1 Wを消費するスイッチング回路は、10 W線形回路よりも電子部品のコストが少し高くなる場合がありますが、関連するサイズと重量のヒートシンクが必要ないため、全体的にはるかに安価です。

マイクロコントローラで非常に一般的なPWM出力を使用して、異常な場合にアナログ信号を生成できることに注意してください。PWM出力のローパスフィルタリングは、十分な解像度*速度の製品がある限り、マイクロからアナログ信号を作成する最も簡単で優れた方法です。フィルター処理されたPWM出力は、単調で線形性が高く、解像度と速度のトレードオフが役立ちます。

マイクロにD / Aコンバーターを搭載したいという具体的なことはありますか?可能性としては、これはローパスフィルターされたPWMで解決できるか、いずれにしても高解像度*速度のために外部D / Aが必要になる可能性があります。フィルタリングされたPWMと外部のギャップは非常に狭く、実際にそのような信号を必要とするアプリケーションのタイプも狭いです。


オーディオとは別に、任意関数発生器(ARB)は、PWMを使用できない場所について考えることができる唯一のアプリケーションです。
-stevenvh

高解像度が必要で、高速の場合にDACが役立つと思われる唯一のポイント。PWMは、カウンタまたはタイマーのために解像度が制限されており、特定の更新速度では非常に高速なリファレンスが必要です。
ハンス

他の便利な場所は、ランダムオフセットアナログセンサーにトリム電圧が必要な場合です。
Rocketmagnet

1
@Rocket:トリムオフセットは帯域幅が非常に低いため、ローパスフィルター処理されたPWMがうまく機能します。通常、トリム調整のために出力範囲全体をシフトおよび減衰するため、余分な部品はあまり必要ありません。
オリンラスロップ

1
他のµcメーカーをどの程度代表しているのかはわかりませんが、PIC µcの約10%にオンボードD / Aがあり、それらはすべて10ビットであると思います。16個のPIC(主にPIC24およびdsPIC33ファミリにありますが、いくつかのPIC16)には2つのD / Aがあります。
tcrosley

12

DACはシリコン領域では比較的高価です。入力よりもアナログ出力を必要とするアプリケーションははるかに少なく、大部分のアプリケーションに必要なDAC機能は、PWMと少量の外部フィルタリングを使用して、より安価に実現できます。


6

まだ言及されていない、さらに2つの問題:

  • 部品が多くのピンの電圧を測定する必要があるが、同時に測定する必要がない場合が多くあります。これを達成するために、ピンごとに1つのパスゲートとともに単一のADCを使用することが可能です。対照的に、複数のDAC出力を必要とするほとんどの部品は、それらを同時に必要とします。

  • ADCを外界に接続する回路は、ADCの入力回路の意図的または寄生容量を充電または放電するのに十分な電流のみを転送できなければなりません。それは、ごくわずかな電流であるだけでなく、アプリケーションから本質的に独立しています。「最悪の」電流処理要件を処理するために必要な余分な領域は、良好なアプリケーション環境で機能するものに必要なものと比較して無視できます。対照的に、DACアプリケーションごとに異なる電流ソースまたはシンク要件があり、それらの要件を処理するために必要なチップ領域の量は大きく異なります。アプリケーションの要件に正確に適合するいくつかのDACにチップ面積の20%を費やすのが賢明でしょう。

ちなみに、私があまり使用したことのないテクニックの1つは、DACとPWMを組み合わせることです。R / 2R DACを使用する場合、LSBと同じ重みを持つ追加の入力を簡単に追加できます(たとえば、3 + 1入力DACの重みは1 / 2、1 / 4、1 / 8、および1/8)。8ビットDACを使用してPWM信号を追加すると、12ビットPWMの1/128のノイズで12ビットの結果が得られますが、同等の直線性の12ビットDACを使用するよりも低コストです。


1

Olinが言ったように、一部のMCUにはDACがあります。サイプレスPSoC3およびPSoC5をご覧ください。最大2つのDACが含まれています。これらは、増幅前にトリム電圧を必要とするアナログセンシングアプリケーションで非常に役立ちます。

たとえば、圧力センサーの出力を測定するために使用しました。各圧力センサーチップには、ランダムな電圧オフセットがあります。MCUがリセットされると、DAC電圧がセンサーの出力よりもわずかに低く設定されます。次に、これらの電圧の差を増幅します。

ADC、DAC、オペアンプ、MCUをすべて1つのチップに収めることができるのは素晴らしいことです。


1
オフセット電圧を印加した圧力センサー付きDACの使用について。もちろん、私はあなたの回路の詳細を知りません。しかし、uCメモリにオフセットを記録し、ファームウェアにデジタルで修正を適用する方が簡単ではないでしょうか?
ニックアレキセフ

@NickAlexeevitは最良の方法ではないかもしれません。そのようにすると、ADCの範囲の一部を浪費し、精度が低下するためです。
クラバッキオ

まさに。増幅(x50)を適用する場合は、圧力ゼロで最低の差動電圧が必要です。
Rocketmagnet

0

2017年にこれを再検討すると、DAC(上記のサイプレスPSOCおよびPICに加えて)を含む多くのマイクロコントローラーファミリがあります。

  • Analog Devices ADuC70xx
  • Atmel AVR XMEGA(一部)
  • インフィニオンXMC4100 / XMC4200
  • NXP Kinetisシリーズ、その他
  • ルネサスH8、R8、その他
  • Silicon Labs
  • STMicroelectronics STM32シリーズの一部
  • TI、MSP430シリーズの一部、C2000シリーズの一部
  • Zilog(Z8プロセッサーを搭載)

Digikey Product Index> Integrated Circuits(ICs)> Embedded-Microcontrollersで検索すると、リストが表示され、列の1つに「Data Converters」というラベルが付けられます。

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