Warum haben Mikrocontroller im Allgemeinen keine On-Chip-DACs?


44

In dieser Antwort habe ich gelesen, dass Mikrocontroller normalerweise keine DACs haben, während sie ADCs haben. Warum ist das so?

Bearbeiten
Ich schätze , dass die Widerstände wie in einem R-2R - DAC ist teuer in Bezug auf Immobilien (Danke Mike, für Ihre Antwort) zu integrieren, aber ich dachte , Schaltstrom DACs sehr klein gemacht werden können , da sie nur eine Handvoll von Transistoren benötigen.


+1 das ist eine wirklich gute frage. Ich habe mich das auch gefragt.
Sybreon

Ich muss 2 Spannungen mit A / Ds messen und dann 2 D / A-Signale gleichzeitig erzeugen. Dies dient zur gleichzeitigen Steuerung des Stroms durch 2 Transistoren. Das Rauschen und die Nichtlinearität der einpoligen oder zweipoligen gefilterten PWM-Verfahren sind ein echtes Problem. Manchmal möchten Sie "zurück zum analogen". Sieht nach der Cypress-Lösung für mich aus. Der ganze Grund, warum man sich in erster Linie für ein Mikro entscheidet, besteht darin, die Anzahl der Teile zu verringern. Das Hinzufügen von D / A-Gegenständen wie Außenbord besiegt das aus dem Tor.

Antworten:


30

Erstens haben einige Mikrocontroller D / A-Wandler. Diese sind jedoch weitaus seltener als A / D-Wandler.

Hauptgrund ist neben den technischen Fragen die Marktnachfrage. Denk darüber nach. Welche Art von Bewerbung würde eine echte D / A erfordern? Es ist ziemlich selten, dass ein Mikro ein angemessen schnelles analoges Signal erzeugen soll, es sei denn, es geht um die Signalverarbeitung. Der Hauptmarkt dafür ist jedoch Audio, und das erfordert viel mehr Auflösung, als Sie mit dem gleichen Prozess erstellen können, der für die Herstellung des digitalen Mikrocontrollers verwendet wurde. Daher werden für Audio ohnehin externe A / Ds und D / As verwendet. DSPs, die für solche Anwendungen vorgesehen sind, verfügen über integrierte Kommunikationshardware, um mit solchen externen Geräten wie I2S zu kommunizieren.

Andernfalls besteht die Strategie für normale Steuerungsanwendungen darin, bereits zu Beginn des Prozesses auf digital umzusteigen und die Dinge dann digital zu halten. Dies spricht für A / Ds, aber D / As sind nutzlos, da Sie nicht auf Analog zurückgreifen möchten.

Dinge, die Mikrocontroller normalerweise steuern, werden mit PWM (PulseWidth Modulation) gesteuert. Schaltnetzteile und Class-D-Audio arbeiten von Natur aus mit Impulsen. Die Motorsteuerung, die Magnetsteuerung usw. erfolgen aus Effizienzgründen mit Impulsen. Sie möchten, dass das Durchgangselement entweder vollständig ein- oder ausgeschaltet ist, da ein idealer Schalter keine Leistung abführen kann. In großen Systemen oder wo die Eingangsleistung knapp oder teuer ist (wie der Batteriebetrieb), ist die Effizienz von Schaltsystemen wichtig. In vielen mittelgroßen Fällen ist die insgesamt verbrauchte Energie nicht das Problem, aber die Verschwendung von Energie als Wärme ist loszuwerden. Ein Schaltkreis mit einer Verlustleistung von 1 W anstelle von 10 W kostet in elektronischen Bauteilen möglicherweise etwas mehr als der lineare Schaltkreis mit 10 W, ist jedoch insgesamt erheblich billiger, da Sie keinen Kühlkörper mit der entsprechenden Größe und dem entsprechenden Gewicht benötigen.

Beachten Sie, dass PWM-Ausgänge, die in Mikrocontrollern häufig verwendet werden, für die Erzeugung von analogen Signalen verwendet werden können, wenn diese in Ausnahmefällen benötigt werden. Die Tiefpassfilterung eines PWM-Ausgangs ist die einfachste und schönste Möglichkeit, ein analoges Signal von einem Mikro zu erzeugen, sofern Sie ein Produkt mit ausreichender Auflösung und Geschwindigkeit haben. Gefilterte PWM-Ausgänge sind schön monoton und sehr linear, und der Kompromiss zwischen Auflösung und Geschwindigkeit kann nützlich sein.

Hatten Sie spezielle Wünsche, für die ein Mikro einen D / A-Wandler hätte? Möglicherweise kann dies mit tiefpassgefiltertem PWM gelöst werden oder es wird ohnehin ein externer D / A für eine höhere Auflösung * Geschwindigkeit benötigt. Die Lücke zwischen gefiltertem PWM und externem ist ziemlich eng, und die Art von Anwendungen, die tatsächlich ein solches Signal benötigen, ist ebenfalls eng.


Neben Audio ist ein Arbitrary Function Generator (ARB) die einzige Anwendung, die ich mir vorstellen kann, wenn Sie PWM nicht verwenden können.
Stevenvh

Der einzige Punkt, an dem mir ein DAC nützlich erscheint, wenn hohe Auflösung UND hohe Geschwindigkeit gewünscht werden. Ein PWM hat aufgrund seines Zählers oder Timers eine begrenzte Auflösung, und bei einer bestimmten Aktualisierungsgeschwindigkeit ist eine Referenz mit sehr hoher Geschwindigkeit erforderlich.
Hans

Der andere Ort ist nützlich, wenn Sie eine Abgleichspannung für einen zufällig versetzten Analogsensor benötigen.
Rocketmagnet

1
@Rocket: Trim-Offsets haben eine sehr geringe Bandbreite, daher eignet sich eine tiefpassgefilterte PWM gut für sie. Das erfordert nicht viel zusätzliche Teile, da Sie normalerweise ohnehin den gesamten Ausgabebereich für eine Trimmeinstellung verschieben und dämpfen möchten.
Olin Lathrop

1
Ich bin mir nicht sicher, wie repräsentativ andere µc-Hersteller sind, aber ungefähr 10% der PIC-µcs haben integrierte D / A's. Ich glaube, sie sind alle 10-Bit. 16 PICs (hauptsächlich in den PIC24- und dsPIC33-Familien, aber ein paar PIC16s) haben zwei D / A.
Tcrosley

12

DACs sind im Siliziumbereich relativ teuer. Weitaus weniger Anwendungen benötigen einen analogen Ausgang als einen Eingang, und die DAC-Funktionalität, die für einen großen Teil der Anwendungen benötigt wird, kann mit PWM und einer geringen Menge an externer Filterung kostengünstiger erzielt werden.


6

Zwei weitere Punkte, die noch nicht erwähnt wurden:

  • Es gibt viele Fälle, in denen ein Teil in der Lage sein muss, die Spannungen an vielen Stiften zu messen, jedoch nicht gleichzeitig. Es ist möglich, einen einzelnen ADC zusammen mit einem Pass-Gate pro Pin zu verwenden, um dies zu erreichen. Im Gegensatz dazu benötigen die meisten Teile, die mehrere DAC-Ausgänge benötigen, diese gleichzeitig.

  • Die Schaltung, die einen ADC mit der Außenwelt verbindet, muss in der Lage sein, nur genügend Strom zu übertragen, um eine absichtliche oder parasitäre Kapazität in der Eingangsschaltung des ADC zu laden oder zu entladen. Das ist nicht nur eine ziemlich kleine Strommenge, sondern im Wesentlichen unabhängig von der Anwendung. Der zusätzliche Bereich, der für die Handhabung für "Worst-Case" -Stromanforderungen erforderlich ist, wäre vernachlässigbar im Vergleich zu dem, was für etwas erforderlich wäre, das unter günstigen Anwendungsbedingungen funktionieren könnte. Im Gegensatz dazu stellen unterschiedliche DAC-Anwendungen unterschiedliche Anforderungen an die Strombeschaffung oder -senkung, und die zur Bewältigung dieser Anforderungen erforderliche Chipfläche würde erheblich variieren. Es wäre sinnvoll, 20% der eigenen Chipfläche für ein paar DACs auszugeben, die genau den Anforderungen einer Anwendung entsprechen.

Übrigens besteht eine Technik, die ich nicht oft gesehen habe, darin, einen DAC mit einem PWM zu kombinieren. Wenn Sie einen R / 2R-DAC verwenden, können Sie ganz einfach einen zusätzlichen Eingang hinzufügen, dessen Gewicht mit dem des LSB identisch ist (z. B. würde ein DAC mit 3 + 1 Eingängen eine Gewichtung von 1/2, 1/4, 1/8 und haben 1/8). Wenn Sie einen 8-Bit-DAC verwenden und ein PWM-Signal hinzufügen, erhalten Sie möglicherweise ein 12-Bit-Ergebnis mit 1/128 des Rauschens eines 12-Bit-PWM, jedoch zu geringeren Kosten als bei Verwendung eines 12-Bit-DAC mit vergleichbarer Linearität.


1

Wie Olin sagte, haben einige MCUs DACs. Schauen Sie sich die Cypress PSoC3 und PSoC5 an. Sie enthalten bis zu zwei DACs. Diese können in analogen Abtastanwendungen, die vor der Verstärkung eine Abgleichspannung erfordern, äußerst nützlich sein.

Zum Beispiel haben wir einen zur Messung der Ausgänge von Drucksensoren verwendet. Jeder Drucksensorchip hat einen zufälligen Spannungsversatz. Wenn die MCU zurückgesetzt wird, setzt sie die DAC-Spannung auf etwas weniger als die Ausgabe des Sensors. Dann verstärkt sich die Differenz zwischen diesen Spannungen.

Es ist großartig, ADC, DAC, Opamps und MCU in einem Chip zu haben.


1
Informationen zu Ihrer Verwendung des DAC mit Drucksensor, an dem Sie die Offset-Spannung angelegt haben. Natürlich kenne ich die Details Ihrer Schaltung nicht. Aber wäre es nicht einfacher, den Offset im uC-Speicher aufzuzeichnen und die Korrektur digital in der Firmware anzuwenden?
Nick Alexeev

@NickAlexeevit ist möglicherweise nicht das Beste, da Sie auf diese Weise einen Bruchteil der Reichweite des ADC verschwenden und die Genauigkeit verringern.
Clabacchio

Genau. Wenn Sie eine Verstärkung (x50) anwenden möchten, müssen Sie die niedrigste Differenzspannung bei null Druck haben.
Rocketmagnet

0

Inzwischen gibt es eine Reihe von Mikrocontroller-Familien, die DACs enthalten (zusätzlich zu den oben aufgeführten Cypress PSOC und PIC):

  • Analog Devices ADuC70xx
  • Atmel AVR XMEGA (einige Teile)
  • Infineon XMC4100 / XMC4200
  • NXP Kinetis-Serie, andere
  • Renesas H8, R8, andere
  • Silicon Labs
  • STMicroelectronics einige der STM32-Serie
  • TI, einige der MSP430-Serie, auch einige C2000-Serie
  • Zilog (mit Z8 Prozessor)

Suche in Digikey Produktverzeichnis> Integrierte Schaltungen (ICs)> Eingebettet - Mikrocontroller gibt eine Liste mit einer der Spalten mit der Bezeichnung "Datenkonverter".

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.