SEm/labore/03 konverter

From FSI
Revision as of 16:50, 6 May 2013 by Guo (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents


Digital / Analog Wandler


Inhaltsverzeichnis

EinleitungModulator erster OrdnungVHDL CodeSimulationModulator zweiter OrdnungVHDL CodeSimulation

Einleitung

Dieses Labor erlaubt es, die Kenntnisse zu konsolidieren, die auf der Behandlung von Zahlen erworben wurden. Es wird uns einen nützlichen Bestandteil für die Folge liefern: der Digital / Analog Wandler. Es wirft bestimmte Fragen hinsichtlich der Simulation von Kreisläufen durchschnittlicher Komplexität auf.

Die Digital / Analog Wandlung wird auf Basis eines sigma-delta (SD) Modulators erstellt. Das Originalsignal wird in der Form von Impulsen codiert, deren Häufigkeit gut höher als die minimale Abtastungsrate ist. Diese Impluscodierung ist der Pulsbreitenmodulation (Pulse Width Modulation, PWM) ähnlich insofern, dass das Originalsignal sich im Mittelwert der Impulse wieder findet. Zu gleichen Arbeitsfrequenzen liefert die SD-Codierung ein besseres Signal-zu-Rauschen-Verhältnis als die PWM.

Modulator erster Ordnung

Der SD-Modulator erhält ein Digitalsignal und wandelt es in eimen 1-Bit-Signal um, in der Form einer Impulsdichte.

Abbildung 1. Sigma-delta Modulator

File:DAC.png
Der SD-Modulator erster Ordnung lässt sich verstehen mit der Analogie der Messung eines Wasserlaufs:

  • Der Wasserlauf wird in einem Becken geführt, den er füllen wird.
  • Sobald das Wasserhöhe eine Referenzlinie überschreitet, zieht ein Operator einen Eimer Wasser aus dem Becken heraus.
  • Der durschnittliche Wert des Wasserlaufs entspricht dem Volumen des Eimers, multipliziert mit der Anzahl der Eimer, die durch Einheit von Zeit ausgeschöpft wurden.

Der Modulator wird wie folgt erstellt:

  • Bei jeder Taktperiode wird der neue Eingangswert einem Akkumulator zugezählt.
  • Der MSB des Resultates ist der Ausgangssignal des Modulators (Impuls oder nicht).
  • Ist dieses MSB gleich '1', so wird der Wert 2^n dem Akkumulator entzogen.

Abbildung 2. Sigma-Delta Modulator erster Odrdnung


Die Schaltung befindet sich in der Library Beamer, die Testbank in der Library Beamer_test.

VHDL Code

Schreiben Sie die VHDL Architektur des SD Modulators.

Der interne Akkumulator braucht mehr Bits als das Eingangssignal. Sehen Sie 4 zusätzliche Bits vor, und die Simulation wird die tatsächlich notwendige Anzahl zeigen.

Simulation

Compilieren Sie und simulieren Sie den block DAC_tb. Die Amplitude des Ausgangssignals ist durch den Mittelwert des Ausgangsignals gegeben. Finden Sie einen Mittel, um das parallele Eingangssignal mit der Ausgangs-Impulsdichte zu vergleichen.

Die analoge Erstattung des Signals, das lange Zeit an '1' oder an '0' bleibt, ist schwer zu machen. Fügen Sie einen Faktor von 1/2 und eine Verschiebung dem Eingangssignal hinzu, um dieses Problem zu vermeiden, indem man den Bereich des Signals reduziert. Führen Sie die Simulation mit dieser Änderung wieder durch.

Untersuchen Sie den zeitlichen Verlauf des Inhalts des Akkumulators, und bestimmen Sie die notwendige Anzahl an Bits. Reduzieren Sie Anzahl der Bits des Akkumulators und führen Sie die Simulation wieder durch.

Modulator zweiter Ordnung

Der Modulator zweiter Ordnung enthält zwei Akkumulatore. Die foldgende Abbildung zeigt die zu erstellenden Schaltung.

Abbildung 3. Modulateur sigma-delta de deuxième ordre


Bei dieser Schaltung werden die Zahlen als vorzeichenbehaftet gesehen.

Ist der Ausgang des zweiten Akkumulators positiv, so:

  • ist der Ausgang gleich '1',
  • wird ein Wert von c1=2nBits-1 dem ersten Akkumulator entzogen,
  • wird ein Wert von c2=2nBits+3 dem zweiten Akkumulator entzogen.

Ist der Ausgang des zweiten Akkumulators negativ, so:

  • ist der Ausgang gleich '0',
  • wird ein Wert von c1=2nBits-1 dem ersten Akkumulator zugelegt,
  • wird ein Wert von c2=2nBits+3 dem zweiten Akkumulator zugelegt.

VHDL Code

Schreiben Sie eine zweite VHDL Architektur zum SD Modulator.

Sehen Sie 8 zusätzliche Bits für jeden Akkumulator vor.

Hier auch, legen Sie einen Faktor 1/2 und eine Verschiebung am Eingangssignal, um dessen Bereich zu verkleinern.

Simulation

Compilieren Sie und simulieren Sie den block DAC_tb neu. Prüfen Sie die Form des Ausgangssignals.

Reduzieren Sie Anzahl Bits beider Akkumulatoren und prüfen Sie, dass die Funktion des Modulators unverändert bleibt.

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox