../../icons/Logo.pngPraktische Elektronik


Wir betrachten, wie ein Delta-Sigma-Digital-Analog-Wandler digitale Werte in analoge Spannungen umwandelt


list.png

Delta-Sigma-Digital-Analog-Wandler

Der Delta-Sigma-Digital-Analog-Wandler ist ein weiterer 1-Bit-Digital-Analog-Wandler. Er erzeugt eine Folge von Impulsen, die über die Zeit gemittelt eine Spannung ergibt, die dem gewandelten Binärwert entspricht. Der Delta-Sigma-Digital-DAC gibt nicht wie die Puls-Weiten-Wandler nur einen Impuls pro Periode aus, sondern eine Folge von kurzen, meist gleich langen Impulsen aus.

Für eine solche Folge von Impulsen kann der Mittelwert auf einfache Weise gebildet, geglättet werden.

Pulsbreite_DeltaSigma.png
Bild 1: Pulsweite und Delta-Sigma im Vergleich

In Bild 1 zeigt einen Vergleich zwischen Pulsbreite und Delta-Sigma. Bei einer Periode von 16 entspricht der Wert 8 einem Impuls der Breite 8 oder 8 Impulsen der Breite 1.

Ein Delta-Sigma-Digital-DAC erzeugt eine Folge von Impulsen, die sich leichter mitteln lassen, als bei einem Puls-Weiten-DAC.

  • Dies ist in den allermeisten Fällen auch der Fall, aber nicht immer:
  • Für den Binärwert 00000...0001 oder 11111...1110 wird nur ein Impuls pro Periode erzeugt.
Pulsbreite_DeltaSigma_1_15.png
Bild 2: Impulse für 1 und 15

Das Prinzip des Delta-Sigma-DAC

Ein Binärwert, der gewandelt werden soll, wird mit einer hohen Taktfrequenz untersucht, die etwa der Frequenz entspricht, mit der ein Pulsweiten-Wandler arbeitet.

Wir untersuchen, wie viele Impulse pro Periode mit einer Länge von Bmax Takten ausgegeben werden müssen. Wenn der aktuelle Binärwert Bin ist, sind dies Bin Impulse pro Periode, also Bin / Bmax .

Wenn wir die Impulse gleichmäßig über die Periode verteilen wollen, müssen wir alle Bmax / Bin Takte einen Impuls ausgeben.

Die Division Bmax / Bin ist natürlich zu kompliziert,

Um Bmax / Bin zu berechnen, müssen wir nur zählen, wie oft Bin in Bmax passt.

Das ist nichts anderes als eine Folge von Additionen und Vergleichen.

  • Wir beginnen bei 0 und addieren pro Takt Bin dazu, bis wir Bmax erreicht haben.
  • Dann geben wir einen Impuls aus und fangen von vorne an.

Dieses Verfahren ist nur dann korrekt, wenn Bmax durch Bin teilbar ist. Das folgende Verfahren berücksichtigt auch den Rest der Division.

Bakt ist der Akkumulator für die fortgesetzte Addition. In ihm werden die Werte von Bin aufsummiert. Der Akkumulator muss den Wert des vorhergehenden Takts zwischenspeichern.

Bakt := Bakt + Bin bedeutet, dass Bakt durch einen neuen Wert ersetzt wird.

  • Wir beginnen mit Bakt = 0.
  • Bei jedem Takt wird Bin zu Bakt addiert:
    Bakt := Bakt + Bin .
  • Wenn der neue Wert von Bakt kleiner als Bmax ist, geben wir eine 0 aus.
  • Wenn der neue Wert von Bakt gleich oder größer als Bmax ist, geben wir eine 1 aus und subtrahieren Bmax von Bakt , also Bakt := Bakt - Bmax .

Auf diese Weise werden auch die Fälle abgedeckt, in denen Bmax nicht durch Bin teilbar ist: der Rest verbleibt in Bakt und wird im nächsten Takt berücksichtigt.

Der Delta-Sigma-DAC benötigt einen Addierer mit Speicher, einen Komparator und einen Subtrahierer.

Delta-Sigma

Der Addierer bildet zusammen mit dem Speicher den Summierer Bakt . Bei jedem Takt wird ein Wert zum Summierer addiert.

Dieser Wert ist entweder Bin oder Bin - Bmax .

Der Komparator bestimmt, welcher Wert genommen wird:

Ist Bakt >= Bmax wird Bin - Bmax genommen, sonst Bin .

Delta-Sigma.png
Bild 3: Delta-Sigma-Wandler für n-Bits

Ein Delta-Sigma-DAC besteht aus drei Elementen, einem Subtrahierer Δ, einem Summierer Σ und einem Komparator. Der Summierer ist ein Addierer mit Speicher.

Der Subtrahierer subtrahiert den vom Komparator gelieferten Wert (0 oder Bmax) von Bin .

Der Summierer addiert die vom Subtrahierer gelieferten Werte.

Der Komparator entscheidet, ob der Wert Bakt >= Bmax ist und liefert den Wert C sowie 0 oder Bmax .

Der Name Delta-Sigma-Wandler kommt daher, dass

  • am Eingang des Wandlers eine Differenz gebildet wird : Delta Δ
  • und anschließend summiert wird: Sigma Σ

Ein Subtrahierer ist kein Standardbauteil. Wir könnten einen Addierer verwenden, wenn der zweite Eingang -Bmax ist.

Das ist relativ einfach, wenn der Addierer mehr Bits mehr als n hat. Dann ist negative Wert von Bmax ist eine Konstante.

Delta-Sigma-2Bit.png
Bild 4: Delta-Sigma-Wandler für n-Bits mit negativen Werten

Meistens werden zwei zusätzliche Bits wie in Bild 4 verwendet.

Beispiel für n=4

   Bmax       = 010000

   invertiert   101111
   +1                1

   -Bmax      = 110000

Wenn wir für Bmax den maximal möglichen Wert einer n-stelligen Binärzahl nehmen, bekommen wir den Komparator umsonst, nämlich den Überlauf-Ausgang des Addierers.

Oh, Überlauf!

Dann verwirft der Addierer den maximal möglichen Wert einer n-stelligen Binärzahl, d.h. Bmax wird automatisch subtrahiert.

Den Subtrahierer brauchen wir nicht.

Wir brauchen nur:

  • einen Addierer und
  • einen Speicher.

Die Genauigkeit eines Delta-Sigma-DAC ist abhängig von der maximalen Anzahl 2n der Impulse pro Periode, d.h. der Bits des Addierers für Bakt und des zugehörigen Speichers.

Attention work

4-Bit-Delta-Sigma-DAC für eigene Versuche

4-Bit-Delta_Sigma_DAC_s.png
Bild 5: 4-Bit-Delta-Sigma-DAC

Die wesentlichen Elemente sind der 4-Bit-Volladdierer 74HC283 und das 6-fach-D-Register 74HC174. Das 6-fach-D-Register speichert den aktuellen Wert von Bakt in D1 bis D4. Der Überlauf-Ausgang des 4-Bit-Volladdierers wird in D5 gespeichert. Dadurch wird eine Änderung des Eingangswertes nicht sofort an den Ausgang weitergegeben. Am Ausgang steht also nicht der Wert des Komparators, der dem aktuell gespeicherten Eingangswert entspricht, sondern der vorhergehende Wert.

Der Eingangswert wird über den DIL-Schalter eingestellt.

Die Ausgangsspannung des 1-Bit-Ausgangs des Delta-Sigma-DACs wird über R8 und C3 gemittelt.

Der Taktgenerator erzeugt eine Frequenz von 4,8kHz. Um die Impulsfolge am Ausgang des Komparators (C4 oder D5) verfolgen zu können, kann z.B. der Kondensator C1 durch einen Kondensator mit 10µF ersetzt werden.

Oversampling

Oversampling bedeutet Überabtastung.

Moderne Delta-Sigma-DACs verwenden fast immer Oversampling. Damit ist gemeint, dass die Breite des Addierers Bakt, des Speichers usw. größer ist als die Breite des zu wandelnden Wertes.

Konkret ist Oversampling der Faktor Os, mit dem die Anzahl der Impulse pro Periode multipliziert wird.

Bei einem Oversampling von zwei werden beispielsweise doppelt so viele Impulse pro Periode ausgegeben wie ohne Oversampling.

Pulsbreite_DeltaSigma_1_Over.png
Bild 6: Pulsweite und Delta-Sigma bei Oversampling 2

Bild 6 zeigt einen Vergleich zwischen Pulsbreite und Delta-Sigma mit Oversampling 2. Für den Wert 1 werden bei Delta-Sigma mit Oversampling zwei Impulse pro Periode ausgegeben. Ohne Oversampling wäre es nur ein Impuls (Bild 2).

In der Praxis bedeutet dies, dass der Delta-Sigma-DAC um einige Bits erweitert wird: n zusätzliche Bits führen zu einem Oversampling von Os = 2n.

Dies hat zur Folge, dass

  • die Taktfrequenz des Delta-Sigma-DAC dann Os mal so hoch ist,
  • der Eingangswert Os mal an den Delta-Sigma-DAC übergeben wird.

Das Oversampling erhöht natürlich den Rechenaufwand, stell aber für moderne ICs kein Problem dar.

Der analoge Teil, die Glättung der Impulsfolge des 1-Bit-Delta-Sigma-DACs, wird dadurch einfacher.

Bei modernen Delta-Sigma-DACs für Audioanwendungen mit 16 Bit Breite ist ein Oversampling von 256 üblich, d.h. es wird mit 24 Bit gearbeitet.