SEm/labore/03 konverter
|
Digital / Analog Wandler
Einleitung
In diesem Labor werden die Kenntnisse über die Behandlung von Zahlen konsolidiert. Es wird uns einen nützlichen Bestandteil für die weiteren Labore liefern: den Digital / Analog Wandler (Digital / Analog Converter, DAC). Ausserdem wirft es bestimmte Fragen hinsichtlich der Simulation von Schaltungen durchschnittlicher Komplexität auf.
Die Digital / Analog Wandlung wird auf Basis eines Sigma-Delta (S?, SD) Modulators erstellt. Das Originalsignal wird durch Impulse kodiert, deren Frequenz um einiges höher als die minimale Abtastrate ist. Diese Impulskodierung ist der Pulsweitenmodulation (Pulse Width Modulation, PWM) ähnlich, da das Originalsignal sich im Mittelwert der Impulse wiederfindet. Bei gleichen Arbeitsfrequenzen liefert die SD-Codierung ein besseres Signal-Rausch-Verhältnis als die PWM.
Modulator erster Ordnung
Der SD-Modulator erhält ein paralleles Digitalsignal und wandelt es in ein 1-Bit-Signal in der Form einer Impulsdichte um.
Der SD-Modulator erster Ordnung lässt sich mit der Messung eines Wasserlaufs verdeutlichen:
- Der Wasserlauf wird in ein Becken geführt, welches er füllen wird.
- Sobald die Wasserhöhe eine Referenzlinie überschreitet wird ein Eimer voller Wasser aus dem Becken herausgeschöpft.
- Der durchschnittliche Durchfluss des Wasserlaufs entspricht somit dem Volumen des Eimers multipliziert mit der Anzahl der Eimer, die pro Zeiteinheit ausgeschöpft werden.
Der Modulator wird wie folgt erstellt:
- Bei jeder Taktperiode wird der neue Eingangswert einem Akkumulator hinzuaddiert.
- Das MSB des Resultates ist das Ausgangssignal des Modulators (Impuls oder nicht).
- Ist dieses MSB gleich '1', so wird der Wert 2n dem Akkumulator abgezogen, wo n gleich die Anzahl Bits des zu modulierenden Signals ist.
Die Schaltung befindet sich in der Library Beamer, die Testbank in der Library Beamer_test.
VHDL Code
Der interne Akkumulator braucht mehr Bits als das Eingangssignal. Für den Anfang arbeiten wir mit 4 zusätzlichen Bits.
Simulation
Die Amplitude des Ausgangssignals ist durch dessen Mittelwert gegeben.
Die analoge Wiederherstellung eines Signals, welches lange Zeit auf '1' oder auf '0' bleibt ist schwer zu bewerkstelligen. Diese Problem kann vermieden werden, indem man den Bereich des Signals reduziert.
Modulator zweiter Ordnung
Der Modulator zweiter Ordnung enthält zwei Akkumulatoren. Die Abbildung zeigt die zu erstellenden Schaltung.
Bei dieser Schaltung werden die Zahlen als vorzeichenbehaftet (signed) angesehen.
Ist der Ausgang des zweiten Akkumulators positiv, so:
- ist der Ausgang gleich '1',
- wird ein Wert von c1=2nBits-1 dem ersten Akkumulator abgezogen,
- wird ein Wert von c2=2nBits+3 dem zweiten Akkumulator abgezogen.
Ist der Ausgang des zweiten Akkumulators negativ, so:
- ist der Ausgang gleich '0',
- wird ein Wert von c1=2nBits-1 dem ersten Akkumulator hinzuaddiert,
- wird ein Wert von c2=2nBits+3 dem zweiten Akkumulator hinzuaddiert.
Der Wert nBits ist die Anzahl Bits des Modulatoreingangs, x.
VHDL Code
Sehen Sie 8 zusätzliche Bits für jeden Akkumulator vor.
Invertieren Sie das höchstwertige Bit des Eingangssignals und wenden Sie dazu noch einen Faktor von 7/8 an.
Simulation
Navigation
02 Funktionsgenerator mit Interpolationsberechnung
Anleitung auf Deutsch
04 Automatische Synthese