Ein Analog-Digital-Umsetzer erzeugt aus einem kontinuierlichen Wertevorrat ein gestuftes Signal. Ein Digital-Analog-Umsetzer kann aus dem gestuften Signal nicht wieder ein kontinuierliches Signal erzeugen. Die einmal eingetretene Stufung in Schritten von 1 LSB (least significant bit) ist nicht wieder rĂŒckgĂ€ngig zu machen. Bei einer Folge von verĂ€nderlichen Werten wird die Stufung allerdings durch eine notwendige Filterung verschliffen.
Ein Digitalsignal ist ein zeitdiskretes und wertdiskretes Signal, wie es nebenstehende Darstellung zeigt. Der Digital-Analog-Umsetzer setzt die quantisierten Informationen, die als binÀre Information vorliegen, in ein Signal um, das kontinuierlich einem analogtechnisch arbeitenden GerÀt bereitgestellt werden kann.
Schritte der Umsetzung
Bei einer Umsetzung in ein zeitkontinuierliches (aber noch wertdiskretes) Signal wird der Signalwert bis zum nĂ€chsten Abtastpunkt in einem Eingangsregister[1][2][3] festgehalten. Bei einzelnen Messpunkten und bei langsam verĂ€nderlichen GröĂen entsteht am Ausgang ein Verlauf wie im zweiten Bild als waagerechte Strecken eingetragen.
Bei einer raschen Folge von Punkten mit unterschiedlichen Signalwerten sind aufgrund der Abtastpunkte fĂŒr das entstehende analoge (also auch wertkontinuierliche) Signal vielfĂ€ltige VerlĂ€ufe möglich. Die punktierte Linie im zweiten Bild folgt den Abtastwerten, Ă€hnelt aber dem Ursprungssignal nicht. Sie enthĂ€lt höhere Frequenzanteile, welche ĂŒblicherweise durch Anti-Aliasing-Filter auf analoger Seite verhindert werden mĂŒssen. Die Speicherung der Abtastpunkte wird in diesem Fall vom Filter beherrscht.
Spektrum einer Harmonischen am Ausgang eines DAU
Im nĂ€chsten Bild ist der Betragsverlauf des Frequenzspektrums eines DAU ohne Anti-Aliasing-Filter dargestellt, welcher eine Sinusschwingung mit der Frequenz fout ausgibt. Diese Sinusschwingung tritt mehrfach in Oberschwingungen auf. Dabei ist fc die Abtastfrequenz. Alle Signalanteile mit einer Frequenz oberhalb der halben Abtastfrequenz soll das Filter unterdrĂŒcken.
Durch die Quantisierungsstufen weist das Spektrum Verzerrungen auf, welche durch den rot-strichliert gezeichneten und einhĂŒllenden Betragsverlauf der Sinc-Funktion bedingt sind. Dadurch kommt es auch unterhalb der halben Abtastfrequenz, also im erwĂŒnschten Frequenzbereich, zu einer Verzerrung und Absenkung der Amplituden. Diese linearen Verzerrungen werden durch zusĂ€tzliche Filter ĂŒblicherweise auf der digitalen Seite kompensiert, im Bild blau punktiert eingezeichnet. Dabei werden höhere Frequenzanteile unterhalb der halben Abtastfrequenz invers zur Sinc-Funktionsverlauf stĂ€rker angehoben.
Ist die Signalfrequenz deutlich niedriger als die Grenzfrequenz des Filters, nÀhert sich der Verlauf des Ausgangssignals dem gestuften Verlauf an. Die Stufung macht sich als Quantisierungsrauschen bemerkbar.
Als erstes wird der entsprechende Eingang ĂŒber den Analog-Mux (eine Art Mehrfach-Schalter) auf den ADC (Analog-Digital-Converter, die ATmega-Kontroller haben nur einen davon) geschaltet.
Der ADC wiederum ist eigentlich ein DAC (Digital-Analog-Converter) und ein Comparator (Spannungs-Vergleichschaltung). Der DAC produziert eine Spannung, die dann mit dem Eingang verglichen wird, dann wird je nach Ergebnis die DAC-Spannung geÀndert und wieder verglichen. Die Auflösung des DAC bestimmt somit auch die Auflösung des ADC.
Den DAC kannst Du Dir als eine Aneinanderreihung von WiderstĂ€nden vorstellen, die somit viele Spannungsteiler bilden. Ăber den angelegten BinĂ€rwert wird nun bestimmt, an welcher Stelle die Spannung abgegriffen wird.
War das verstÀndlich genug?
Wenn Deine Frage mehr in Richtung Programmierung ging:
int wert = analogRead(A0);
Diese Zeile liest den Analogwert vom analogen Eingang 0 in die Variable wert. Die Auflösung ist 10 Bit, 1023 entspricht als der Versorgungsspannung, wÀhrend 0 der Masse also 0V entspricht.