Integrierte D/A-WandlerPreiswerter DIY-D/A-Wandler mit hybrider Topologie
Ein Gastbeitrag von
Prof. Martin Junker
6 min Lesedauer
Der Beitrag stellt eine Idee vor, wie durch die Kombination eines R2R-Netzwerks mit einer PWM ein D/A-Wandler mit 12 Bit aufgebaut werden kann. Durch einfache Korrekturen des Digitalwertes vor der Ausgabe lässt sich dabei die Genauigkeit auf ein der Auflösung angemessenes Maß anheben.
Bild 1: Tiefpassfilter 2. Ordnung zur Glättung einer mittels Timer erzeugten PWM, links passiv, rechts aktiv.
(Bild: Hochschule Mannheim)
Integrierte A/D-Wandler findet man bei Mikrocontrollern in allen Preisklassen, während integrierte D/A-Wandler nur in wenigen Derivaten, die am oberen Ende der Preisskala angesiedelt sind, existieren. Allerdings trägt praktisch jeder Mikrocontroller das Potential in sich, mithilfe eines Timers, eine PWM zu erzeugen.
PWM mit Tiefpassfilter
Ein nachgeschalteter Tiefpassfilter entfernt die PWM-Frequenz und ihre Harmonischen und am Aus¬gang steht eine analoge Ausgangsspannung zur Verfügung. In manchen Fällen enthalt das Zielsystem der PWM ein Tiefpassfilter intrinsisch, so dass kein separater Tiefpassfilter benötigt wird. Dies ist z.B. bei der Helligkeitssteuerung von Hintergrundbeleuchtungen der Fall, wo die Trägheit des mensch¬lichen Auges eine Tiefpassfilterung bewirkt.
Bei der Erzeugung einer PWM begrenzen drei Faktoren die erreichbare Genauigkeit:
Die Unsicherheit der Versorgungsspannung des Mikrocontrollers.
Die Unsicherheit von High- und Low-Pegeln des Mikrocontroller-Anschlusses, der die PWM ausgibt.
Die Welligkeit der Ausgangsspannung durch die rechteckförmige PWM, die durch Tiefpassfilterung nur in Grenzen reduziert werden kann.
Auflösungen von mehr als 8 Bit werden deshalb in der Regel nicht mithilfe einer PWM erzeugt.
R2R-Netzwerk als D/A-Wandler
Eine ebenfalls sehr preiswerte Alternative zur Erzeugung einer PWM ist ein R2R-Netzwerk. In Bild 2 ist der Anschluss eines R2R-Netzwerkes mit einer Auflösung von 8 Bit an den Port eines Mikrocontrollers dargestellt. An einem Ende des Netzwerkes befindet sich der Ausgang und der höchstwertige Eingangs-Px.7. Es folgen sieben weitere Eingänge, bevor am unteren Ende noch ein weiterer Widerstand mit dem Wert 2R herausgeführt ist, der üblicherweise auf Masse gelegt wird.
Aufgrund des hohen Widerstands wird einem R2R-Netzwerk meist ein Operationsverstärker nachge¬schaltet, dessen primäre Aufgabe darin besteht, die erzeugte Spannung mit einem niedrigen Innenwiderstand zur Verfügung zu stellen.
Die Ausgangsspannung hängt gemäß Gleichung 1 von der Versorgungsspannung und dem Wert x, der an dem Port des Mikrocontrollers ausgegeben wird, ab.
(Gleichung 1)
Der Wertebereich für x reicht von 0 bis 255.
Die ersten zwei der drei weiter oben genannten Faktoren, die die erreichbare Genauigkeit begrenzen, treffen auch für eine R2R-Netzwerk zu. Hinzu kommt, dass jeder Widerstand des R2R-Netzwerks mit einer gewissen Toleranz behaftet ist und nicht exakt seinem Nominalwert entspricht.
Kombination von R2R-Netzwerk und PWM
Die Idee hinter diesem Artikel besteht darin, ein R2R-Netzwerk mit einer PWM zu kombinieren und so mit sehr geringem Aufwand und niedrigen Kosten einen D/A-Wandler zu erhalten, der eine wesentlich größere Auflösung hat. Untersucht wird hier die Steigerung der Auflösung auf 12 Bit.
Für die praktischen Messungen wird der in Bild 3 gezeigte Aufbau verwendet. Das R2R-Netzwerk 4610x-r2r-103lf, welches in Stückzahlen ab 1000 etwa 0,1 Euro kostet, wird an Port 6 eines MSP430F5529-Mikrocontrollers angeschlossen. Dieser wird mit einer Spannung von 3,3 V versorgt.
Der Anschluss des R2R-Netzwerks, der normalerweise ein 2R-Widerstand mit Masse verbindet, wird von der Masse getrennt und mit Port 2.0 des Mikrocontrollers verbunden. Dieser Anschluss ist dem Capture/Compare-Register TA1CCR1 zugeordnet, so dass hier eine PWM mit dem Gewicht von 1 LSB ausgegeben werden kann, die der Spannung aus dem R2R-Netzwerk überlagert ist. Für den Kondensator C1 wird ein Wert von 100 nF gewählt. Der Impedanzwandler ist mit dem Operationsverstärker NCS21801 aufgebaut. Alle Komponenten für den D/A-Wandler kosten somit zusammen deutlich weniger als 1 Euro.
Messergebnisse für die Kombination
Betrachtet man zunächst nur das R2R-Netzwerk mit einer Auflösung von 8 Bit, so sollten aufgrund der Versorgungsspannung von 3,3 V hiermit 256 verschiedene Spannungen zwischen 0 und 3287,1 mV mit einer Schrittweite von 12,89 mV erzeugt werden können.
(Gleichung 2)
mit 0 ≤ x ≤ 255.
Bild 4 zeigt den „Total unadjusted error“, also die Abweichung zwischen der gemessenen und der theoretisch nach Gleichung 2 bestimmten Ausgangsspannung für jeden möglichen Wert von x beim Betrieb des R2R-Netzwerks ohne PWM [Port 2.0 = 0] (siehe Bild 2). Auf der x-Achse sind die digitalen Werte für x aufgetragen. Die linke y-Achse zeigt, wie groß der Fehler der erzeugten Spannungen in mV ist. Auf der rechten y-Achse ist der Fehler auf die Auflösung in LSB bezogen (1 LSB = 12,89 mV).
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.
Die Auflösung wird nun von 8 auf 12 Bit erhöht, die digitalen Werte reichen also von 0 bis 4095 (212-1). Die höherwertigen 8 Bit werden über das R2R-Netzwerk ausgegeben. Die unteren 4 Bit, mit denen sich Werte zwischen 0 und 15 darstellen lassen, werden dem Capture/Compare-Register TA1CCR1 zugewiesen. TA1CCR0 wird mit dem Wert 15 belegt, so dass eine PWM entsteht, die 16 Taktzyklen umfasst. Durch die Kombination von R2R-Netzwerk und PWM lassen sich 4096 verschiedene Spannungen zwischen 0 und 3299,2 mV mit einer Schrittweite von etwa 0,8 mV erzeugen.
Bild 5 zeigt den sogenannten „Total unadjusted error“, der beim Betrieb des R2R-Netzwerks mit überlagerter PWM, also gemäß Bild 3, entsteht. Die Zuordnung der Achsen entspricht Bild 4.
Vergleicht man Bild 4 und 5 miteinander, so erkennt man in beiden Abbildungen einen nahezu identischen Verlauf. Ein Blick auf die linke y-Achse zeigt, dass der absolute Fehler bei der erzeugten Spannung in beiden Fällen praktisch gleich ist. Der Blick auf die rechte y-Achse zeigt dagegen, dass die auf die Auflösung bezogene Ungenauigkeit um Faktor 16 zunimmt.
Geht es nur darum, eine Spannung zu erzeugen, die sich besonders feingranular verstellen lässt, ohne dass ein vorgegebener absoluter Wert genau getroffen werden muss, kann der hier skizzierte D/A-Wandler ohne weiteres eingesetzt werden.
Steigerung der Genauigkeit
Ist die in den Bildern 4 und 5 gezeigte mögliche Abweichung der Ausgangsspannung von etwa 13 mV inakzeptabel, ann die Genauigkeit der Ausgangsspannung durch Korrektur des digitalen Wertes x vor der Ausgabe erhöht werden.
Dazu ist der Verlauf in Bild 5 zu analysieren. Der Verlauf besteht aus acht gleich großen Abschnitten, die alle näherungsweise linear mit ähnlicher Steigung verlaufen. Diese annähernd konstante Steigung kann als Verstärkungsfehler interpretiert werden. Dass die Spannung der Mikrocontroller-Ausgänge nicht exakt dem Nominalwert der Versorgungsspannung entspricht, ist die Hauptursache für dieses Verhalten.
In jedem Abschnitt, der jeweils 512 x-Werte umfasst, steigt der Fehler um etwa 5 LSB, was knapp 1% entspricht. Wird der x-Wert vor der Ausgabe mit dem Korrekturfaktor k = 0,992 multipliziert, ver¬schwindet dieser Verstärkungsfehler, wie Bild 6 zeigt.
Die acht Abschnitte haben nun einen näherungsweise waagrechten Verlauf, allerdings liegen alle bis auf den ersten Abschnitt zu tief, was durch eine Addition korrigiert werden kann. Wird beispielsweise, falls das höchstwertige Bit des 12-Bit-Ausgabewertes gesetzt ist, der Wert also mindestens 2048 beträgt, zum Ausgabewert 11 addiert, verschieben sich die vier rechten Bereich um 11 LSB nach oben.
Der fünfte Bereich von links in Bild 6 rückt durch diese Addition sehr nah an den Wert 0. Wird für die beiden nächst niederwertigen Stellen ebenfalls eine Korrektur eingefügt (siehe Codeausschnitt, nur online), lässt sich der in Bild 7 gezeigte Verlauf erreichen. Da sich die toleranzbedingten Abweichungen, welche der Grund für die Korrektur sind, individuell von Aufbau zu Aufbau unterscheiden, müssen diese für jeden D/A-Wandler neu bestimmt werden.
Die Unsicherheit der ausgegebenen Spannung beträgt nach dieser Korrektur nur noch etwa 1 mV.
Fazit: Einfacher und preiswerter ADC
Durch Kombination von einem R2R-Netzwerk mit einer PWM kann auf sehr einfache und preiswerte Weise ein D/A-Wandler mit bis zu 12 Bit aufgebaut werden. Die einfachen, hier gezeigten Korrekturmaßnahmen reduzieren den Fehler der Ausgangsspannung auf etwas mehr als 1 mV, was gut zur Auflösung von 0,8 mV passt.
Die Auflösung kann noch weiter gesteigert werden, indem die Auflösung der PWM erhöht wird. So ergibt eine PWM mit 8 Bit eine Gesamtauflösung von 16 Bit. Allerdings kann die Präzision dann nicht mehr durch eine so einfache Korrektur des auszugebenden Wertes an die erhöhte Auflösung angepasst werden. Die Situation ändert sich aber, wenn ein hochauflösender A/D-Wandler mit mindestens 16 Bit zur Verfügung steht und benutzt werden kann, um die erzeugte Spannung zu messen und nachzuführen. (kr)
* Prof. Dr.-Ing. Martin Junker ist an der Fakultät für Elektrotechnik der TH-Mannheim tätig.