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


von Leo M. (leo__)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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

von Leo M. (leo__)


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?

von Thomas R. (Firma: abaxor engineering) (abaxor)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

von Leo M. (leo__)


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!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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... ;-)

von Stefan R. (stefripp)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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?

von Thomas R. (Firma: abaxor engineering) (abaxor)


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

von Leo M. (leo__)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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

von Leo M. (leo__)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

von Thomas R. (Firma: abaxor engineering) (abaxor)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.