Cyclone II FPGA mit 32 PWM - 12 / 14 bit auflösung

OP #1030020
Lesenswert?
• ▲
▼
Hallo,

Ich soll mit einem Cyclone II EP2C8 FPGA 32 Pwm Signale mit 12 oder 14 
bit realisieren.
Allerdings hab ich noch nie etwas mit einem FPGA gemacht, bzw weis nicht 
auf was ich achten muss.
meine Frage wäre nun ob die Ressourcen des FPGA ausreichen um die 32 PWM 
Signale mit 12 oder 14bit zu generieren.
Auf welche Parameter kommt es denn an um die Auflösung des PWM-Signals 
entscheiden zu können?
Speicher? Taktfrequenz?

Wäre dankbar wenn mir hier jemand weiterhelfen kann.

hier der link zum Datenblatt des Cyclone II:
http://www.altera.com/literature/hb/cyc2/cyc2_cii5v1_01.pdf

mfg
DerNeue
Moderator (Firma: Titel) Persönliche Seite #1030057
Lesenswert?
• ▲
▼
>  32 Pwm Signale mit 12 oder 14 bit
Das sind dann also 384 bis 448 Flip-Flops für die Zähler.
Dasselbe nochmal für die Vergleichswerte.
Dazu noch ein paar für eine allfällige Bus-Ankopplung.
Du brauchst also ein FPGA mit mindestens ca. 700 bis 1000 FFs.
Damit kommen die üblichen aktuellen FPGAs ohne weiteres in Frage.
Die Frequenz von 50 Hz ist völlig unproblematisch (20ms Zyklus).
Denn 1ms mit einer Auflösung von 14 Bit sind gerade mal 16MHz.
Moderator (Firma: Titel) Persönliche Seite #1030080
Lesenswert?
• ▲
▼
Ich wollte das mit den 'D' am Zeilenanfang jetzt nur mal zur Kür machen 
;-)

Also, ich würde deine Aufgabe so lösen:
Klären, wie die Vergleichswerte ins FPGA kommen (Parallel, SPI,...).
Dann einen Zähler für die 20ms Zykluszeit der Servos als Startbedingung 
aufbauen. Wenn dieser Zähler abgelaufen ist, erst mal für 1 ms alle 
Ausgänge einschalten (das ist ja die Mindestzeit für den Puls). Danach 
die Zeit von 1-2ms mit dem PWM auflösen. Und dann bist du schon fertig. 
Irgendwann kommt dann wieder der 20ms-Zähler und das Spiel beginnt von 
vorn.

Bei dieser Vorgehensweise wirst du (für diese 1ms) auch kaum 14 Bit 
Auflösung brauchen, denn sooo genau positionieren die Sevos sicher 
nicht.
Moderator (Firma: Titel) Persönliche Seite #1030174
Lesenswert?
• ▲
▼
Laut DB:
1
The smallest unit of logic in the Cyclone II architecture, the LE, 
2
is compact and provides advanced features with efficient logic utilization. 
3
Each LE features:
4
■ A four-input look-up table (LUT), which is a function generator that 
5
  can implement any function of four variables
6
■ A programmable register
7
:
8
:

Du hast also mehr als 8000 FFs zur Verfügung und wirst das Design locker 
reinbringen.
#1030468
Lesenswert?
• ▲
▼
@ Lothar Miller (lkmiller)

>>  32 Pwm Signale mit 12 oder 14 bit
>Das sind dann also 384 bis 448 Flip-Flops für die Zähler.
>Dasselbe nochmal für die Vergleichswerte.
>Dazu noch ein paar für eine allfällige Bus-Ankopplung.
>Du brauchst also ein FPGA mit mindestens ca. 700 bis 1000 FFs.

In einer rein parallelen Lösung ja.

>Damit kommen die üblichen aktuellen FPGAs ohne weiteres in Frage.
>Die Frequenz von 50 Hz ist völlig unproblematisch (20ms Zyklus).
>Denn 1ms mit einer Auflösung von 14 Bit sind gerade mal 16MHz.

Eben. Und da so ein Cyclone II locker mal 100MHZ++ schafft, könnte man 
das alles in einen BRAM stecken und per State Machine lösen. Dann 
braucht es vielleicht gerade mal einen BRAM + 100 LEs.

>für normale Modellservos.
>also zwischen 1ms - 2ms.

Ach herje, und die brauchen 14 Bit? Glaub ich kaum. Selbst 10 Bit sind 
wahrscheinlich schon Luxus. Das klappt erst recht mit einem BRAM.

MFG
Falk
Moderator (Firma: Titel) Persönliche Seite #1030558
Lesenswert?
• ▲
▼
falk wrote:
> könnte man das alles in einen BRAM stecken und per State Machine lösen.
> Dann braucht es vielleicht gerade mal einen BRAM + 100 LEs.
ACK, aber hier steht noch jemand ganz am Anfang.
derneue will keine Loopings fliegen, sondern einfach mal in die Luft... 
;-)

> Ach herje, und die brauchen 14 Bit?
Ja, wenn jemand meint, die PWM auf die gesamten 20ms verteilen zu 
müssen. Um dann den Wert der Umschaltposition zwischen 1 und 2 ms hin- 
und herzuschieben. 4 Bit weniger (1/20) brauche ich, wenn ich nur den 
relevanten (variablen) Abschnitt bearbeite. Das ist der Trick.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren