Informationen zu Auswahl und Anwendung eines externen DAC für einen Mikrocontroller

Von Bill Giovino

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von Digi-Key

Auf den Chips mancher 32-Bit-Mikrocontroller befinden sich Digital/Analog-Wandler (DAC) zur Frequenz- oder Spannungserzeugung. Für viele Anwendungen werden auf diese Weise zusätzliche Funktionen bereitgestellt, ohne zusätzlichen Platz auf der Platine zu verschwenden. Anwendungen können jedoch spezielle DAC-Funktionen erfordern, die von Mikrocontrollern nicht bereitgestellt werden.

Dieser Artikel behandelt die Möglichkeiten und Grenzen eines On-Chip-DAC. Des Weiteren werden Beispiele von überaus exakten, externen DAC-Lösungen vorgestellt. Außerdem wird gezeigt, wie sie zur Erzeugung präziser Analogsignale verwendet werden.

Betrieb von On-Chip-DACs

Damit Entwickler maßgeschneiderte Analogsignale erzeugen können, haben die Hersteller von Mikrocontrollern damit begonnen, DACs als Peripheriekomponenten auf dem Chip zu integrieren. Mit ihnen können präzise Spannungen sowie maßgeschneiderte Wellenformen wie Sinus- und Dreiecksignale erzeugt werden. DACs können auch für die Sprachsynthese verwendet werden.

Ein DAC erzeugt eine Ausgangsspannung, die sowohl 0 Volt betragen als auch so hoch wie die analoge Referenzspannung für den DAC sein kann. Die Spannung ist proportional zum digitalen Wert im DAC-Datenregister, wobei die Präzision auf der Auflösung des DAC basiert. Wenn beispielsweise die Auflösung des DAC 8 Bit und die Referenzspannung 5 Volt betragen, dann errechnet sich die Präzision von 1 LSB des DAC wie folgt: 5/255 = 0,0196 Volt. Wenn das Datenregister des 8-Bit-DAC also den Wert 01h enthielte, würde die Ausgangsspannung des DAC idealerweise 1 LSB bzw. 0,0196 Volt entsprechen. Enthielte das Datenregister des 8-Bit-DAC den Wert F1h (241), würde die Ausgangsspannung eines idealen DAC 4,7236 Volt betragen. Idealerweise sollte das Hinzufügen von 01h zum DAC-Datenregister den Wert der Ausgangsspannung um 1 LSB erhöhen.

Aber selbstverständlich gilt wie für jeden analogen Schaltkreis auch in diesem Fall, dass es keinen idealen DAC gibt. Die Abweichung der DAC-Ausgangsspannung vom idealen Wert des Datenregisters wird als differenzielle Nichtlinearität (DNL) bezeichnet und in LSB gemessen. Für einen typischen On-Chip-DAC eines Mikrocontrollers kann beispielsweise eine DNL von ±2 LSB angegeben sein.

Bei DACs kann außerdem ein linearer Verstärkungsfehler auftreten. Dieser Fehler wird in Prozent gemessen und zur idealen Ausgangsspannung addiert, wodurch häufig zusätzliche 0,5 % zur Ausgangsspannung hinzukommen.

Bei einem idealen DAC würde eine grafische Darstellung der Ausgangswerte und des DAC-Datenregisterinhalts eine gerade Linie ergeben. Addiert man die linearen Fehler, die durch Abweichungen der DAC-Schaltkreisparameter verursacht werden, würde sich für einen realen DAC ebenfalls eine gerade Linie ergeben. In Wirklichkeit würde diese Linie von einer geraden Linie abweichen und sich nach außen zu einer nicht linearen Kurve verformen. Diese Nichtlinearität ist außerdem das Resultat von Abweichungen der Überspannung und der Temperatur im DAC-Schaltkreis. Dieser Nichtlinearitätsfehler wird als integrale Nichlinearität (IRL) bezeichnet. Für Mikrocontroller-DACs kann dieser Wert ±4 LSB oder höher sein.

Bei der Frequenzerzeugung ist die schnellste Ausgangsfrequenz eines Mikrocontroller-DAC auf die CPU-Frequenz des Mikrocontrollers beschränkt.

Alle DACs erfordern eine exakte Referenzspannung, um ein präzises Analogsignal bereitstellen zu können. Bei modernen Mikrocontrollern wird diese DAC-Referenzspannung üblicherweise von einer dedizierten analogen Referenzspannung an einem Pin abgeleitet. Im Inneren des Mikrocontrollers wird diese analoge Referenzspannung von der internen digitalen Logik getrennt und isoliert, um Oberschwingungen im Netzteil zu minimieren. Mit einigen kleinen Interferenzen durch die digitale Hochgeschwindigkeitslogik muss jedoch gerechnet werden. Obwohl DAC-Peripheriegeräte bei der Erzeugung von Sinuswellen weniger anfällig für Oberschwingungen im Netzteil sind, können sich diese Oberschwingungen bemerkbar machen, wenn eine stabile und präzise Ausgangsspannung erforderlich ist oder wenn eine künstliche Sprach- oder Musikausgabe erzeugt wird.

Die Verwendung einer höheren Referenzspannung kann die Auswirkungen von Oberschwingungen im Netzteil zwar minimieren, sie würde aber auch die Erzeugung kleinerer Spannungen mit dem DAC verhindern und außerdem die Präzision des DAC für 1 LSB verringern.

Externe Einzelchip-DACs für kleine Signale

Die DAC-Peripheriegeräte auf den meisten Mikrocontrollern bieten eine ausreichend hohe Genauigkeit für übliche Anwendungen. Es gibt jedoch Situationen, in denen äußerst hohe Präzision und/oder hohe Geschwindigkeiten gefragt sind. In solchen Fällen wird ein externer DAC zu einer praktischen Notwendigkeit.

Texas Instruments hat eine Reihe externer DACs im Angebot, die analoge Signale für jedes beliebige Designproblem erzeugen können. Wenn beispielsweise der Platz auf der Karte knapp ist, bietet sich die Verwendung des 16-Bit-DAC DAC80508MYZFT an, der mit 2,4 x 2,4 mm in einem DSBGA-Gehäuse extrem klein ist. Dieser DAC verfügt über acht Ausgänge und kann über eine SPI-Schnittstelle mit einer Taktrate von bis zu 50 Megahertz (MHz) mit den meisten Mikrocontrollern verbunden werden (Abbildung 1).

Schaltbild: DAC DAC80508 von Texas Instruments

Abbildung 1: Der DAC80508 kann über eine SPI-Schnittstelle mit den meisten Mikrocontrollern verbunden werden und verfügt über acht identische analoge Ausgangskanäle. (Bildquelle: Texas Instruments)

Der DAC80508 kann eine externe analoge Referenzspannung oder die digitale Spannungsversorgung des DAC verwenden, um mit einer Genauigkeit von ±5 mV seine eigene interne Referenzspannung von 2,5 Volt zu erzeugen. Die Drift der Referenzspannung beträgt lediglich 2 ppm pro Grad Celsius (ppm/°C). Dadurch erhält man für den DAC über seinen gesamten Temperaturbereich von -40 °C bis +125 °C eine überaus stabile Referenzspannung. Optional kann die Referenzspannung auch durch 2 geteilt werden, um Analogsignale mit einer Obergrenze von 1,25 Volt bereitzustellen.

Der DAC80508 bietet eine Präzision, die der Großteil der DAC-Peripheriegeräte auf Mikrocontrollern nicht bieten kann. INL und DNL betragen üblicherweise ±0,5 LSB und maximal ±1 LSB. Der Verstärkungsfehler beträgt üblicherweise ±0,5 % und maximal ±1 %. Mit einer Auflösung von 16 Bit eignet sich diese Genauigkeit perfekt zur Umwandlung von digitalen in analoge Audiosignale. Der DAC kann beispielsweise zur Umwandlung von über Glasfaserkabel übertragenen PCM-Audiosignalen oder zur Umwandlung des digitalen Audiosignals von einem Speichergerät verwendet werden. Nach der Umwandlung des digitalen Audiosignals in 16-Bit-Audiodaten kann der DAC80508 die Daten in analoge Audiosignale umwandeln, die über handelsübliche RCA-Kabel übertragen werden. Ist die Referenzspannung auf 1,25 Volt eingestellt, ist die Genauigkeit mehr als ausreichend zur Erzeugung von Leitungspegel-Audiosignalen.

Der DAC80508 verfügt außerdem über einen Ausgangsverstärker, der die Ausgangsspannung verdoppeln und eine Ausgangsspannung erzeugen kann, die doppelt so hoch ist wie die Referenzspannung.

Das Erzeugen analoger Wellenformen mit dem DAC80508 über die SPI-Schnittstelle ist einfach. Jedes SPI-Befehlspaket, das an ein DAC-Datenregister gesendet wird, ist 32 Bit breit. Jedes Paket enthält die Kanaladresse, in die geschrieben werden soll, sowie die 16-Bit-Daten, die in das Register geschrieben werden sollen. Jeder Ausgangskanal des DAC80508 kann so programmiert werden, dass die Ausgangsspannung sofort beim Schreiben der Daten in das Register erzeugt wird oder dass alle Werte in den DAC-Datenregistern belassen werden, bis die SPI in ein internes Broadcast-Register schreibt. Wenn eine logische „1“ in eine beliebige der acht Broadcast-Register-Bit geschrieben wird, wird nur dieser DAC-Ausgang mit dem Wert in seinem DAC-Datenregister aktualisiert. Auf diese Weise können synchrone Signale erzeugt werden, die zur Erzeugung von Wellenformen für Testgeräte nützlich sind.

Vermeiden von Signalfehlern und Rauschen

Bei der Verwendung in rauschintensiven industriellen Umgebungen sind gelegentliche Störungen kaum zu vermeiden, insbesondere beim Vorhandensein hoher Spannungen. Um an der SPI fehlerbehaftete Ausgangssignale aufgrund von Störungen zu vermeiden, kann der DAC80508 am Ende jedes SPI-Pakets optional eine 8-Bit-Prüfsumme erzeugen (Abbildung 2). Ist die Prüfsumme gültig, wird das DAC-Datenregister geschrieben. Ist das nicht der Fall, werden keine Daten geschrieben. Bei einer fehlgeschlagenen Prüfsumme kann der DAC optional den SDO-Pin der SPI auf Low ziehen, der dann als aktiver Low-Alarm-Pin fungiert. Es liegt in der Verantwortung der Mikrocontroller-Firmware, auf die fehlgeschlagene Prüfsumme zu reagieren.

Bit Feld Beschreibung
31 RW Identifiziert die Kommunikation als Lese- oder Schreibbefehl für das adressierte Register. R/W = 0 legt einen Schreibvorgang fest. R/W = 1 legt einen Lesevorgang fest.
30 CRC-ERROR Ein reserviertes Bit. Ist auf null gesetzt.
29:28 Reserviert Reservierte Bits. Müssen mit Nullen gefüllt sein.
27:24 A[3:0] Eine Registeradresse. Gibt das Register an, auf das beim Lese- oder Schreibvorgang zugegriffen werden soll.
23:8 DI[15:0] Bits des Datenzyklus. Bei einem Schreibbefehl handelt es sich bei den Bits des Datenzyklus um die Werte, die in das Register mit der Adresse A[3:0] geschrieben werden sollen. Bei einem Lesebefehl spielen die Bits des Datenzyklus keine Rolle.
7:0 CRC Ein CRC-Polynom mit 8 Bit Länge.

Abbildung 2: Die Struktur des 32-Bit-SPI-Pakets. Wenn das SPI-Paket des DAC-Datenregisters des DAC80508 eine 8-Bit-Prüfsumme enthält, wird das Paket mit dem MSB zuerst gesendet, wobei die letzten Bits (7:0) die Prüfsumme enthalten. Die Prüfsumme wird vom DAC80508 automatisch erzeugt. (Bildquelle: Texas Instruments)

Unabhängig von der für einen DAC angegebenen Präzision kann die Genauigkeit nur durch die Verwendung einer sauberen Stromversorgung gewährleistet werden. Es ist wichtig, dass VDD für den DAC80508 rauscharm und frei von Oberschwingungen ist. Falls der DAC80508 in einem DC-DC-Wandler zum Einsatz kommt, ist besondere Vorsicht geboten, da diese Stromversorgungen von Natur aus ein sehr starkes Rauschen erzeugen. Eine Filterung von VDD ist wichtig. Daher muss ein Kondensator mit 1 bis 10 Mikrofarad (µF) zusammen mit einem Kondensator mit 0,1 µF zwischen VDD und analoger Masse platziert werden. Hierbei sollte Keramik mit niedrigem ESR verwendet werden und die Platzierung so nahe wie möglich am VDD-Pin erfolgen.

Die analogen Signalausgänge sollten sich nahe der Kanten der Leiterplatte befinden und gut von den digitalen Komponenten isoliert sein. Auf diese Weise werden nicht nur Störungen an den analogen Ausgängen des DAC vermieden, sondern auch, dass diese analogen Signale die anderen Signale auf der Leiterplatte stören.

Leistungsstarker Hochgeschwindigkeits-DAC

Manchmal erfordert eine Anwendung, bei der keine Kompromisse gemacht werden können, eine extrem hohe Leistung. DACs können sogar Signale im Gigahertz-Bereich erzeugen. Dies kann besonders für Radarausrüstung von Bedeutung sein, wenn rein analoge Schaltkreise die für diese Geräte erforderliche Präzision nicht bereitstellen können. Für solche Anwendungen kann der Hochgeschwindigkeits-HF-Zweikanal-DAC DAC38RF82IAAV von Texas Instruments verwendet werden, um in einem relativ kleinen BGA-Gehäuse mit Abmessungen von 10 mm x 10 mm Wellenformen oberhalb von 1 Gigahertz (GHz) zu erzeugen (Abbildung 3).

Schaltbild: extrem leistungsstarker DAC DAC38RF82 von Texas Instruments

Abbildung 3: Der DAC38RF82 ist ein extrem leistungsstarker DAC, der Wellenformen oberhalb von 1 GHz erzeugen kann. Er wird über eine stromsparende JEDSD204B-Schnittstelle mit acht Leitungen und einer maximalen Übertragungsrate von 12,5 Gbit/s mit einem Host-Mikroprozessor verbunden. (Bildquelle: Texas Instruments)

Der DAC38RF82 unterstützt drei Auflösungen. Bei einer 16-Bit-Auflösung kann er HF-Signale von bis zu 2 GHz erzeugen. Bei einer 12-Bit-Auflösung sind Signale mit 2,66 GHz möglich. Im schnellsten Modus mit einer 8-Bit-Auflösung kann er Wellenformen mit 4,5 GHz erzeugen. Selbstverständlich gehen diese Geschwindigkeiten weit über die Fähigkeiten jedes auf einem Mikrocontroller integrierten DAC-Peripheriegeräts hinaus.

Der DAC38RF82 bietet ausreichend Leistung, um in Basisband-Übertragungssystemen wie beispielsweise Funkmasten verwendet werden zu können. Außerdem kann er zur Erzeugung maßgeschneiderter Wellenformen für Anwendungen wie High-End-Testgeräten genutzt werden. Der DAC38RF82 kann auch zur Erzeugung von Radarsignalen für autonome Fahrzeuge verwendet werden.

Diese Komponente ist komplexer aufgebaut als der DAC80508. Die Erzeugung von Signalen mit bis zu 4,5 GHz erfordert eine sehr schnelle Datenschnittstelle. Im DAC38RF82 kommt eine serielle JESD204B-Datenschnittstelle zum Einsatz, die im 8-Bit-Modus eine maximale Übertragungsgeschwindigkeit von 9 Gbit/s bietet. Mit diesen Schnittstellengeschwindigkeiten kann die Komponente mit einem FPGA oder einem ASIC verbunden werden.

Im 12-Bit- oder 16-Bit-Modus kann der DAC38RF82 zwei HF-Wellenformen erzeugen. Im 8-Bit-Hochgeschwindigkeitsmodus wird nur eine Wellenform unterstützt. Er benötigt drei Versorgungsspannungen: 1 Volt, 1,8 Volt und -1,8 Volt. Angesichts der typischen Anwendungsanforderungen der Komponente müssen diese Versorgungsspannungen sehr sauber und frei von Oberschwingungen sein. Idealerweise sollte jeder der drei relativ unabhängigen Hauptbereiche – das digitale Subsystem, das analoge Subsystem und das Takt-Subsystem – des DAC über eine eigene Stromversorgung verfügen, um jegliche unbeabsichtigten Interaktionen zu vermeiden.

Die typische DNL des DAC beträgt ±3 LSB, seine typische INL beträgt ±4 LSB und der typische Verstärkungsfehler liegt bei ±2 %. Die Genauigkeit für eine bestimmte Anwendung kann sichergestellt werden, indem in der Testphase die passenden Werte für das DAC-Datenregister ausgewählt werden.

Beschleunigung der Entwicklung mit dem DAC38RF82

Wenn derart hohe Frequenzen mit ausreichender Genauigkeit erzeugt werden sollen, stellt eine Evaluierungskarte einen wesentlichen Bestandteil des Entwicklungsprozesses dar. Für den DAC38RF82 eignet sich die Evaluierungs- und Entwicklungskarte DAC38RF82EVM, die alle Funktionen dieses High-End-DAC unterstützt. Mit der erforderlichen Schnittstellenkarte TSW14J56EVM zur Datenerfassung werden die digitalen Signale erzeugt, die als Schnittstelle zur DAC38RF82EVM dienen. Die Schnittstellenkarte zur Datenerfassung kann über eine USB 3.0-Schnittstelle mit einem PC verbunden werden.

Bild: DAC38RF82EVM (links) und TSW14J56EVM (rechts) von Texas Instruments

Abbildung 4: An die DAC38RF82EVM links werden über eine JESD204B-Schnittstelle digitale Daten gesendet, die von der TSW14J56EVM rechts erzeugt werden, die zu Prüfungszwecken HF-Signale erzeugt. (Bildquelle: Texas Instruments)

Die beiliegende Evaluierungssoftware bietet alles, was zur Evaluierung, Prüfung und Programmierung des DAC38RF82 für die Zielanwendung benötigt wird.

Bei der Verwendung einer solchen Hochgeschwindigkeitskomponente ist das Layout besonders wichtig. Der DAC38RF82 muss am Rand der Leiterplatte positioniert und von allen anderen Komponenten weitestgehend getrennt werden. Die HF-Leiterbahnen müssen unbedingt kurz gehalten werden und die Ableitkondensatoren zwischen Versorgungspins und Masse sind ebenfalls Pflicht. Sonstige Empfehlungen zum Layout umfassen die Verwendung von Ableitkondensatoren mit Via-in-Pad-Technologie für eine minimale Anzahl an Stichleitungen an diesen Kondensatoren, um parasitäre Interferenzen zu vermeiden. Außerdem sollten Entwickler eine differenzielle 100-Ω-Koplanarleitung für Ausgangsleiterbahnen verwenden.

Fazit

Mikrocontroller mit On-Chip-DACs für allgemeine Anwendungen eignen sich zur Erzeugung hinreichend exakter Spannungen und Wellenformen im Kilohertz-Bereich. Für präzise Spannungen oder sehr hohe Geschwindigkeiten können externe DACs verwendet werden, um Genauigkeit und Leistung der Anwendung erheblich zu verbessern. Allerdings müssen auch in diesem Fall einige Designpraktiken hinsichtlich Stromversorgungen und Layout beachtet werden.

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der Digi-Key Electronics oder offiziellen Politik der Digi-Key Electronics wider.

Über den Autor

Bill Giovino

Bill Giovino ist Elektronikingenieur mit einem BSEE von der Syracuse University und einer der wenigen, die erfolgreich vom Entwicklungsingenieur über den Anwendungsingenieur zum Technologiemarketing wechselten.

Seit über 25 Jahren wirbt Bill für neue Technologien vor technischem und nicht-technischem Publikum für viele Unternehmen, darunter STMicroelectronics, Intel und Maxim Integrated. Während seiner Zeit bei STMicroelectronics trug Bill dazu bei, die frühen Erfolge des Unternehmens in der Mikrocontroller-Industrie voranzutreiben. Bei Infineon inszenierte Bill die ersten Erfolge des Unternehmens im Bereich Mikrocontroller-Design in den USA. Als Marketingberater für sein Unternehmen CPU Technologies hat Bill vielen Unternehmen geholfen, unterbewertete Produkte in Erfolgsgeschichten zu verwandeln.

Bill war zudem ein früher Anwender des Internets der Dinge, einschließlich der Implementierung des ersten vollständigen TCP/IP-Stacks auf einem Mikrocontroller. Die Botschaft von „Verkauf durch Aufklärung“ und die zunehmende Bedeutung einer klaren, gut geschriebenen Kommunikation bei der Vermarktung von Produkten im Internet sind Bills Anliegen. Er ist Moderator der beliebten „Semiconductor Sales & Marketing Group“ auf LinkedIn und spricht fließend B2E.

Über den Verlag

Nordamerikanische Fachredakteure von Digi-Key