Forum: Mikrocontroller und Digitale Elektronik PWM-Maschine gesucht


von Michael (Gast)


Lesenswert?

hallo experten.

ich brauche einen Controller, der mir 16 10kHz-PWMs (ca. 3% Auflösung) 
liefern kann, außerdem 8 500kHz-PWMs (ca. 5% Auflösung) und 8 200Hz-PWMs 
(1% Auflösung).

Die 500kHz- und 200Hz-Signale müssen phasenverschoben werden können.
Bei den 200Hz ist das ja kein Problem, das geht über eine Software-PWM. 
Bei 500kHz wird's ohne Hardware-Timer äußerst schwierig :-)
Für jede einzelne PWM soll natürlich ein individuelles tastverhältnis 
einstellbar sein.

Welcher (möglichst billige) Controller könnte dafür geeignet sein?

Gruß

Michael

von Matthias L. (Gast)


Lesenswert?

XC3S500

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


Lesenswert?

Matthias Lipinsky wrote:
> XC3S500
Da reicht schon weniger...
3% Auflösung = 5 Bit   --> fin = 32*10kHz --> 300kHz
5% Auflösung = 4-5 Bit --> fin = 32*500kHz--> 16MHz
Das macht schon das billigste Lattice-FPGA MachXO 640 für 5€.

von Matthias L. (Gast)


Lesenswert?

@ Lothar Miller (lkmiller) :

Glaub ich, das der etwas groß ist. Die Antowrt war eher eine Ironie auf:

>Welcher (möglichst billige) Controller könnte dafür geeignet sein?

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


Lesenswert?

@  Matthias Lipinsky (lippy)
Oder eher  ;-)
>Welcher (möglichst billige) Controller könnte dafür geeignet sein?

@  Michael (Gast)
Du hast ein ganz spezielles Problem (oder von mir aus auch: eine ganz 
spezielle Aufgabe, weils ja keine Probleme mehr gibt, sondern nur noch 
Aufgaben). Dafür gibt es keinen Controller "von der Stange". Zudem hast 
du nichts dazu gesagt, wie du es deinem Controller sagen willst (I²C, 
SPI, Parallel...).

von Michael (Gast)


Lesenswert?

@lothar:
für 500kHz bei 5% reicht schon ein timer mit 10MHz ;-)
8 stück davon kann die PWM-einheit eines freescale S12X erzeugen.

die 8 200Hz-PWMs lassen sich über den ECT machen und wenn ich das XGate 
über einen PIT alle 3µs triggere, hab ich bei 100MHz XGate-Takt ungefähr 
300 Takte zeit, zwei ports zu beschreiben und einen index für eine 
PWM-tabelle hochzuzählen.

damit sind zwar noch nicht alle anforderungen (phasenverschiebung!) zu 
realisieren, aber angesichts dieser performance auf einem relativ 
kleinen controller (der in stückzahlen bei weitem keine 5 euro kostet) 
glaube ich nicht, daß es keinen controller von der stange für diese 
aufgabe gibt.

@matthias:
wenn denn wirklich ein FPGA notwendig sein sollte, dann isses eben so.
und dann muß man eben überlegen, ob eine mehr-controller-lösung nicht 
sinnvoller ist. da braucht's doch keine ironie für.

gruß

michael

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


Lesenswert?

> für 500kHz bei 5% reicht schon ein timer mit 10MHz ;-)
Ich denke da immer ein bisschen binär und runde auf ;-)
>> .. 4-5 Bit ..

> der in stückzahlen bei weitem keine 5 euro kostet
Ja, die Lattice FPGAs dann auch nicht mehr.
Dafür kannst du bei geänderten Anforderungen mit der Schulter zucken, 
und das ganz ohne Tricks ins FPGA reinhacken. Solche Frequenzen schaffst 
du noch ganz ohne irgendwelche Überlegungen, Optimierungen und Tricks.

von Josef W. (josefwa)


Lesenswert?

Die PWMs der C2000 Familie koennen eine Aufloesung bis zu 150 ps.

Die kleinsten dieser Familie heissen PICCOLO und sind auch sehr 
preisguenstig.

http://www.ti.com/corp/docs/landing/f280xx-piccolo/index.htm

von Ralph (Gast)


Lesenswert?

TMS 470 von TI; ist ein ARM7 TDMI und kann über einen internen Timer bis 
zu 32 Kanäle PWM erzeugen. Die 10 KHz sind da auch keinerlei Problem

von Micha (Gast)


Lesenswert?

> Die PWMs der C2000 Familie koennen eine Aufloesung bis zu 150 ps.
6 Stück. Das wird dem Threadstarter aber nicht viel bringen... Und 
"möglichst billig" trifft auch nicht ganz zu...

von Matthias (Gast)


Lesenswert?

Schau mal bei Renesas nach einem externen PWM Controller. Ob das mit der 
Phasenverschiebung allerdings klappt, weiss ich nicht.
Aber die Teile kann man haufenweise an einen uC mit Speicherinterface
anflanschen und die haben eine Taktversorgung bis ca. 20 MHz...

Vielleicht hilft das ja weiter.

von Falk B. (falk)


Lesenswert?

Ein mittelgrosser CPLD schafft das spielend.

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.