Xmega Tutorial – DAC

Auf den folgenden Seiten findet Ihr ein kleines Xmega Tutorial – DAC zu den Microcontrollern der Familie AVR Xmega in der Programmiersprache “C”. Die XMEGA-Bausteine enthalten sehr schnelle 12-Bit analoge Module in ihrer Peripherie. Dazu gehört neben dem ADC (Analog zu Digital Converter)und verschiedenen analogen Komperatoren auch ein High-Performance-Digital-Analog-Wandler, kurz DAC (Digital zu Analog Converter), welcher bis zu 1Mio Wandlungen pro Sekunde mit einer Auflösung von 12Bit schafft.

Weitere Eigenschaften wie duale Sample-Hold Ausgänge, ein optionales Routing der DAC-Ausgänge zu den On-Board-Komparatoren oder zum Analog-to-Digital-Wandler (ADC) des Controllers schaffen ein sehr flexibles Modul, welches sich für eine breite Palette von Anwendungen, wie zum Beispiel Stereo-Sound, High-Speed-Signalerzeugung oder Kalibrier-und Signal-Kompensation eignet.

Durch eine erweiterte Nutzung des DAC’s mit der DMA (Direct Memory Access) Einheit und dem internen Event System des Xmega Controllers kann die für die Wandlungen benötigte CPU Leistung auf ein Minimum reduziert werden. Weiter hin kann zwischen einer internen und externen Spannungsreferenz gewählt werden.

Features

  • 12 bit Auflösung
  • bis zu 1Mio Wandlungen pro Sekunde
  • kontinuierlicher oder sample-and-hold Betrieb
  • integrierte Offset- und Verstärkungs-Kallibrierung

Das folgende Beispiel zeigt die Verwendung des 12Bit DAC am Port B des Xmegas. Dort wird am Ausgang 0 und 1 mit der maximalen Geschwindigkeit eine Dreieckfunktion ausgegeben, in dem in einer Schleife das Register des DAC-B in einer Schleife “hoch und runter” gezählt wird. Vor der Ausgabe des neuen Wertes wird das register des DAC überprüft, ob dieser für einen neuen Wert bereit ist.

Die beiden vom DAC generierten Dreieck-Signale sind um 180° phasenversetzt. Ein Bild der DAC-Ausgabe findet man rechts neben dem Text. Hier sieht man schön die kleinen Digitalisierungsstufen, welche durch die begrenzte digitale Auflösung entsteht.
Xmega DAC Example

Ein ausführliches Beispiel zum Testen der im Xmega Tutorial – DAC vorgestellten Funktionen findet ihr unter Downloads. Weiterhin findet ihr die von Atmel zu dem Thema zur Verfügung gestellte Appnote im Anhang des Artikels unter Links.

Viel Spass beim Testen.

Hinweis:
Das Tutorial wird nach und nach von mir ergänzt. Wenn ihr Fehler in dem Tutorial findet würde ich mich freuen wenn ihr mir diese mitteilt, damit ich diese korrigieren kann. Wenn jemand eigene Tips, Informationen oder Code-Schnipsel hat kann er mir diese gern zusenden damit ich sie anschließend in das Tutorial einbinden kann.

Links 
Atmel Appnote
Xmega DAC
AVR1301: Using the XMEGA DAC (pdf)
AVR1301: Using the XMEGA DAC (Software)

Downloads

{phocadownload view=file|id=13}