Forum: FPGA, VHDL & Co. PWM mit einem CPLD - geht das ?


von Michael Sauron (Gast)


Lesenswert?

Hallo,

Ich habe mich bisher viel mit FPGA'S beschäftigt, und hab leider keine 
Erfahrung mit CPLD. Ich möchte mehrere Hundert LED's mit PWM ansteuern, 
meine idee ist, immer 64 leds an einem CPLD hängen , der CPLD erhält 
seriell seine Daten von einem FPGA und steuert dann die LEDS an. Der 
CPLD sollte preisgünstig sein (brauche ja mehrere) und möglichst viel 
strom liefern Können, denn bei 64*20mA (kurzfristig) wird er bestimmt 
warm.
Eine Platine muss ich eh Fertigen lassen.


1) Kann ein CPLD überhaupt so viele PWM's bereitstellen ?
2) welchen CPLD von Xilinx würdet ihr mir empfehlen ?
3) Sind die Hohen Ströme verkraftbar ? (der CPLD wird dann Luft gekühlt)

Hab grad mal bei Digikey geschaut der Coolrunner II (XC2C128-7TQG144C)
könnte Vielleicht etwas sein, was denkt ihr ?

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


Lesenswert?

> immer 64 leds an einem CPLD hängen
> 1) Kann ein CPLD überhaupt so viele PWM's bereitstellen ?
Du brauchst einen Zähler mit der nötigen Auflösung und Speicher zum 
Vergleich. Wenn du also 64 unabhängige Ausgänge willst und ein 512 
Makrozellen CPLD nimmst, bleiben dir (theoretisch) 512/64 = 8 Bit 
Auflösung (aber noch ohne Zähler, der müsste auch 8 Bit haben).
Reichen dir 256 Helligkeitsstufen?
Zu beachten ist allerdings, dass die KL von LEDs (bzw. des Auges) nicht 
so schön linear ist, dass 50% Tastverhältnis = 50% Helligkeit sind.

Zudem brauchst du noch irgend ein Interface, das auch Logikelemente 
braucht...

> 3) Sind die Hohen Ströme verkraftbar ? (der CPLD wird dann Luft gekühlt)
Nein.
Worst-Case z.B. 64*20mA = 1,28A das ist mehr als das DB zulässt.
Das Hauptproblem ist eher, dass du diesen Strom u.U. auf allen Pins 
gleichzeitig schaltest und dabei zusätzliche irgendwelche 
Leitungs-Kapazitäten umladen mußt. Dein Layout

> 2) welchen CPLD von Xilinx würdet ihr mir empfehlen ?
Möglichst viele Makrozellen.
Aber: das wird teuer.

> Hab grad mal bei Digikey geschaut der Coolrunner II (XC2C128-7TQG144C)
> könnte Vielleicht etwas sein, was denkt ihr ?
Für 2 Bits pro LED ist der ok  ;-)

von Michael Sauron (Gast)


Lesenswert?

Hallo Lothar,
Ja ich wollte 8 Bit Auflösung Haben.
wenn ich für jeden Ausgang 8 Macrozellen brauche, kann ich das 
vergessen. Das wird dann zu teuer.

von Christian R. (supachris)


Lesenswert?

Nimm doch einen kleinen FPGA.

von Michael Sauron (Gast)


Lesenswert?

Zu teuer und zu aufwendig,
ich nehm jetzt schieberegister vom Typ 74x595

von Falk B. (falk)


Lesenswert?

@  Michael Sauron (Gast)

>ich nehm jetzt schieberegister vom Typ 74x595

Bei niedrigen PWM-Frequenzen eine Alternative. Mal rechnen.

8 Bit PWM mit 100 Hz -> 25,6 kHz PWM-Takt. Bei sagen wir 64 Bits in 8 
Schieberegistern macht das 16,3 MHz Schiebetakt, geht noch so.

MFG
Falk

Oder per LED-Matrix ansteuern.

Beitrag "LED-Matrix, 9x9 RGB, Voll dimmbar"

von ms (Gast)


Lesenswert?

Also 64LEDs direkt an einen Baustein anschließen halte ich schon für 
ziemlich gewagt.

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.