www.mikrocontroller.net

Forum: FPGA, VHDL & Co. PWM und Delta Sigma mit FPGA


Autor: Leo M. (leo__)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!
Ich bereite mich gerade auf meine Masterarbeit vor und mir stellen sich 
einige Fragen, die ich zum jetzigen Zeitpunk nicht klar beantworten 
kann.

Zunächsteinmal das Vorhaben in Kurzform:
Ein ca.250KHz Signal wird mit einer
"Terasic - Daughter Board -Highspeed AD/DA Card" digitalisiert und soll 
in einem "Cyclone III FPGA " verarbeitet werden.

Verarbeitet heisst hier, PWM und als Vergleich- SigmaDelta - moduliert 
werden. Das PWM- und SigmaDelta Signale sollen anschließend Analog 
wieder ausgegeben werden(zum Schalten eines "Netzteils").
Wie Aufwendig ist das Vorhaben? Kann das vielleicht jemand einschätzen?

Vielen Dank schon mal für die Hilfe!

Grüße,
leo

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo M. schrieb:
> Zunächsteinmal das Vorhaben in Kurzform:
> Ein ca.250KHz Signal wird mit einer
> "Terasic - Daughter Board -Highspeed AD/DA Card" digitalisiert und soll
> in einem "Cyclone III FPGA " verarbeitet werden.
>
> Verarbeitet heisst hier, PWM und als Vergleich- SigmaDelta - moduliert
> werden. Das PWM- und SigmaDelta Signale sollen anschließend Analog
> wieder ausgegeben werden(zum Schalten eines "Netzteils").
Diese Beschreibung lässt einige Fragen ungeklärt:
Mit welcher Frequenz soll die PWM-Ausgabe erfolgen? Mit welcher 
Auflösung?

> Wie Aufwendig ist das Vorhaben?
Realistisch in der zur Verfügung stehenden Zeit realisierbar, wenn du 
schon Ahnung von Synthetisierbarem VHDL hast und schon mit FPGAs 
herumgespielt hast.

> Kann das vielleicht jemand einschätzen?
Wenn du noch nie was in ein FPGA realisiert hast, und "nur" 
Hochschulwissen (Simulation) besitzt, dann wird die Lernkurve 
entsprechend steil. Aber ein brauchbarer Betreuer kann dir da über die 
schlimmsten Hürden helfen. Und so wie die Aufgabenstellung zum 
Zeitbudget passt, scheint der eine Ahnung von der Materie zu haben.

Insgesamt sehe ich hier eine interessante, praxisnahe und dennoch 
theoretisch hinterlegbare Aufgabe.

BTW: Schön aufgemacht ist die Seite hier
http://www.beis.de/Elektronik/DeltaSigma/DeltaSigma_D.html

Autor: Leo M. (leo__)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das PWM Signal soll mit 4.33 MHz ausgegeben werden.
Ich will halt das Eingangssignal 128fach Oversamplen, also mit ca 35MSPS
und dann um Faktor 8 auf 4.3MHz runtergehen, sowohl für PWM, als auch 
SigmaDelta.
Die Auflösung kann ich mir hier aussuchen...Die AD/DA Karte hat
aber 14bit.Also werde ich das Referenzsignal als 14bit Werte im FPGA
haben und hier ist auch mein erstes Problem, Das Signal ist nun bereits
in digitaler Form und soll nun moduliert werden?!?!- Da ich weiss dass 
SigmaDelta-Wandlung nicht gerade trivial ist, frage ich mich ob es ein 
Vorteil ist wenn die Werte bereits gewandelt im FPGA vorliegen?

Autor: Thomas Reinemann (Firma: abaxor engineering) (abaxor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo M. schrieb:
> Also das PWM Signal soll mit 4.33 MHz ausgegeben werden.

Wie viel Bit soll deine PWM haben? Bei 10 Bit muss dein Zähler für die 
PWM mit 4.33 MHz * 2^10 > 4 GHz laufen. Denn du musst ja für jeden Wert 
den du ausgeben willst von 0..1023 zählen. Selbst bei 8 Bit ist der Takt 
noch >1GHz.

Altera FPGAs sind nun die einzigen mit denen ich nichts zu tun habe. 
Aber soweit ich weiß, sind die Cyclones die Spartans von Altera. Auf 
einem Spartan machen Design mit deutlich mehr als 100 MHz keinen Spaß 
mehr. D.h. dann braucht man viel Erfahrung.

Vielleicht schaffst du es deinen PWM Counter mit ca. 250 MHz laufen zu 
lassen, das wären dann 6Bit PWM Auflösung.

Damit hast du eine grobe Abschätzung, wo es hingeht.

Tom

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo M. schrieb:
> Da ich weiss dass SigmaDelta-Wandlung nicht gerade trivial ist,
Die ist urigerweise eigentlich genauso trivial wie eine PWM und hat die 
selben Anforderungen...  ;-)

> frage ich mich ob es ein
> Vorteil ist wenn die Werte bereits gewandelt im FPGA vorliegen?
Das Problem ist wie schon erwähnt nicht das Einlesen der Daten (dafür 
gibts den AD-Wandler), sondern die Ausgabe, die du ja auch realisieren 
müsstest.

Autor: Leo M. (leo__)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du sagst trivial.. was ist für dich trivial? :) Also PWM ist ja nur ein 
Comparator der Sägezahn mit dem Referenzsignal vergleicht, wobei das 
Ganze noch in den FPGA übertragen werden müsste.

gilt das mit dem Counter auch für SigmaDelta?
Der FPGA hat 50Mhz ...das würde eine Auflösung von ca.4bit bedeuten...

Danke für die Hilfe!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo M. schrieb:
> Der FPGA hat 50Mhz ...das würde eine Auflösung von ca.4bit bedeuten...
Du kannst auch einen DCM verwenden und da 100MHz draus machen, dann 
hättest du ein Bit mehr...

> Du sagst trivial.. was ist für dich trivial?
Es ist trivial, wenn du dich mal eingearbeitet hast... ;-)

Autor: Stefan R. (stefripp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Agesehen davon, dass ich nicht verstehe, was man mit einem 
digitalisiertem Signal noch mit einer Sigma-Delta Wandlung will: Wenn du 
kein Basisbandsignal kannst du es ja mit Unterabtastung versuchen, um 
die benötigten Frequenzen dahin zu reduzieren, dass man sie im FPGA 
verarbeiten kann.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan R. schrieb:
> was man mit einem
> digitalisiertem Signal noch mit einer Sigma-Delta Wandlung will:
Es via RC-Glied in ein Analogsignal wandeln?

Autor: Thomas Reinemann (Firma: abaxor engineering) (abaxor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo M. schrieb:
> gilt das mit dem Counter auch für SigmaDelta?

Dadurch das bei der PCM öfter geschaltet wird, braucht man nicht ganz so 
hohe Frequenzen, aber Wunder werden nicht geschehen. Aber in diesem Fall 
muss der komplette DS-Modulator mit der Frequenz des PCM-Taktes laufen 
und nicht nur ein Counter.

Du solltest mal die Signalkette deines Delta-Sigma-Modulators 
simulieren, dann bekommst du einen Vorgeschmack auf die erforderlichen 
Frequenzen.

Tom

Autor: Leo M. (leo__)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Lothar hat recht, man kann noch was mit dem Signal anfangen.
Allerdings will ich das Signal nicht wieder über RC Analogwandeln. Mit 
dem PWM Signal soll eher ein Buck Converter (Tiefsetzer) angesteuert 
werden , der dann eine Spannung moduliert, mit Hilfe des PWMs. Es geht 
sozusagen um "Versorgungsspannungmodulation" für einen Verbraucher( 
Verstärker).
Ich Versuche erstmal eine PWM mit 270Khz*8 OSR= 2.1Mhz x 16 (4bit) 
=34MHz
Mal sehen ob das so ausreichend ist. Sonst muss ich halt am Eingang mit 
den 270KHz runtergehen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo M. schrieb:
> Sonst muss ich halt am Eingang mit den 270KHz runtergehen.
Reicht doch aus, wenn du nur am Ausgang runtergehst...  ;-)

Autor: Leo M. (leo__)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gehe ich doch schon ! 2.1Mhz und 4 bit, oder was meinst du mit deiner 
Aussage?! Leider habe ich nicht deine Pillen... ;)

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo M. schrieb:
> oder was meinst du mit deiner Aussage?!
Dass es doch egal ist, mit welcher Datenrate die Eingangsdaten ankommen, 
wenn du am Ausgang nicht schneller kannst. Dann lässt du eben jedes 2. 
Eingangswort aus, oder bildest einen Mittelwert über 3 Eingangsworte 
oder, oder, oder...
Aber du brauchst prinzipiell nichts an der Erfassung an sich drehen.

Autor: Thomas Reinemann (Firma: abaxor engineering) (abaxor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo M. schrieb:
> dem PWM Signal soll eher ein Buck Converter (Tiefsetzer) angesteuert
> werden

Das klingt nach Leistungstransistor und die können meistens nicht 
schneller  als 10MHz schalten.

Ich hätte dein erstes Posting besser durchlesen sollen.

Tom

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.