Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller für schnelle PWM gesucht


von Marcus (Gast)


Lesenswert?

Hallo,

ich suche für ein Projekt einen Mikrocontroller, der

 - min. zwei PWMs besitzt,
 - die von einem Timer mit min. 32 MHz und min. 16 bit erzeugt wird,
 - das alles auch ohne externen Quarz schafft, und
 - in Stückzahlen < 1,50 EUR kostet.

Selbst habe ich als Kandidaten schon die XMC1000-Reihe von Infineon 
ausgemacht, aber vielleicht hat ja jemand noch andere Vorschläge.

von René B. (reneb)


Lesenswert?

Sorry, aber die XMC1000 schaffen auch keine 32MHz an der Peripherie. Du 
kannst zwar die Peripherie mit 2x32MHz takten, aber die Pins toggeln 
höchstens mit 16MHz. Außerdem gibt es zur XMC1000 noch immer keine 
ordentlichen Datenblätter. Die letzten, die mir Vorlagen waren überall 
mit "tbd" gespickt und man wird auf "Ende des Jahres" vertröstet.

Woher kommst du mit so krassen Anforderungen an die minimale Pulsbreite 
am Ausgang? Mit 32MHz auf 31nS aufzulösen?
Sag mal was zur Anwendung, vielleicht kann dir da besser geholfen 
werden.

Wenn du sonst eine übelst schnelle externe PWM brauchst, geht das auch 
mit einem CPLD. Per SPI die Sollwerte übertragen und einen internen 
Zähler mit einem externen Takt hochzählen lassen. Bei Überlauf alles 
zurücksetzen und bei Vergleich den Ausgang toggeln. Ist in VHDL recht 
einfach zu machen, 5nS Propagation-Delay am CPLD sind längst Standard, 
aber sprengt sicher dein Budget.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ein STM32F103 kann das, aber ob es den für 1,50 gibt weiß ich gerade 
nicht.

von Timmo H. (masterfx)


Lesenswert?

Atxmega

von René B. (reneb)


Lesenswert?

Maximale Toggelrate der Peripherie am STM32F103ZE ist 18MHz....
Maximale Zählrate des Timers am XMEGA ist FCPU/2. Und maximaler Clock 
ist irgendwo bei übertakteten 48MHz. Macht immer noch Zählrate von 
24MHz...

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

René B. schrieb:
> Maximale Toggelrate der Peripherie am STM32F103ZE ist 18MHz....

TIM1 kann als Clock 72MHz, damit sollte ein PWM mit 36 MHz möglich sein. 
Wieso nur 18MHz?

von Max H. (hartl192)


Lesenswert?

PIC16F1824 mit 32Mhz internem Oszillator, 2*CCP und 2*ECCP Modulen. 
$0.84 laut Microchip-Website

von René B. (reneb)


Lesenswert?

Ist die Toggelrate an der Peripherie. Egal wie fix dein interner Timer 
läuft, du kannst physikalische Ausgänge nicht schneller als mit 18MHz 
aktualisieren. Die Peripherie ist ja auch über ein internes Bussystem 
angeschlossen, das braucht ein paar Takte zur Aktualisierung und 
Übertragung. Ich such mal den Auszug aus dem DB...

von Entry (Gast)


Lesenswert?

ATXMEGA kann die internen Timer vierfach zum CPU clock laufen lassen -> 
128MHz!!!

Gruss, selbst aber noch nicht getestet.

von Power Port (Gast)


Lesenswert?

TI Piccolo könnte passen.

von René B. (reneb)


Lesenswert?

Laut diesem Anhang http://www.atmel.com/Images/doc8045.pdf
kann der 16Bit Timer des XMEAG mit der vollen CPU-Clock zählen. Die ist 
im nicht übertakteten Zustand bei vielen XMEGA mit 32MHz zu haben.
(Das mit der Vervielfachung ist da nicht drin und wäre mir außerhalb von 
DSPs neu)
Da hättest du einen oder zwei 16Bit Counter die je zwischen 2 und 4 
Ausgänge haben, wenn du den OC-Mode nutzen möchtest.

Aber ab welcher Stückzahl du da deinen Preis erzielen kannst, musst du 
selbst rauskriegen.

von Entry (Gast)


Lesenswert?

...Timer2 (CLKper) vom Xmega kann von der internen PLL gespeist werden 
-> 20-128MHz

Datenblatt:

http://www.atmel.com/Images/Atmel-8331-8-and-16-bit-AVR-Microcontroller-XMEGA-AU_Manual.pdf

ATMEGA16A4 kostet bei Mouser ab 100 Stk. 1,34 Euro (je nach Typ)

Gruß St. Ende!

von Timmo H. (masterfx)


Lesenswert?

Stichwort awex: HiRes The HiRes extension module increases the PWM 
output resolution by a factor of four. This is accomplished by combining 
the PWM-generation abilities of a standard Timer/Counter module with a 
high-resolution part running at four times higher frequency

von Entry (Gast)


Lesenswert?

...bekommt der Beste einen Preis?

von Entry (Gast)


Lesenswert?

...Korrektur -> der "Best_in".

von Timmo H. (masterfx)


Lesenswert?

Zu faul zum selbst suchen? Z. B. ATXMEGA16D4-MH für 1,23€ ab 25 Stück 
bei mouser. Der 32d4 ist 10 Cent teurer. Den 32a4u, also mit USB und 
unabgespeckt gibt's für 1,77 ab 25 Stück

von Marcus (Gast)


Lesenswert?

René B. schrieb:
> Sorry, aber die XMC1000 schaffen auch keine 32MHz an der Peripherie. Du
> kannst zwar die Peripherie mit 2x32MHz takten, aber die Pins toggeln
> höchstens mit 16MHz. Außerdem gibt es zur XMC1000 noch immer keine
> ordentlichen Datenblätter. Die letzten, die mir Vorlagen waren überall
> mit "tbd" gespickt und man wird auf "Ende des Jahres" vertröstet.
>
> Woher kommst du mit so krassen Anforderungen an die minimale Pulsbreite
> am Ausgang? Mit 32MHz auf 31nS aufzulösen?
> Sag mal was zur Anwendung, vielleicht kann dir da besser geholfen
> werden.

Die 16 MHz an den Pins erschließen sich mir aus dem Datenblatt nicht. 
Der Ausgang der CCU4 bzw. CCU8 sollte doch direkt auf den Pin zugreifen 
können. Sonst brauche ich ja nicht mit 64 MHz takten. Die Anwendung ist 
die Regelung eines DC/DC-Resonanzwandlers.


Markus Müller schrieb:
> Ein STM32F103 kann das, aber ob es den für 1,50 gibt weiß ich gerade
> nicht.

Power Port schrieb:
> TI Piccolo könnte passen.

Sind beide leider zu teuer. Der Preis bezieht sich übrigens nicht auf 
Bastler-Mengen, sondern auf Serienproduktion.


M. H. schrieb:
> PIC16F1824 mit 32Mhz internem Oszillator, 2*CCP und 2*ECCP Modulen.

Hat leider nur 10 bit.


Der mehrfach erwähnte ATxmega scheint hingegen tatsächlich gut zu 
passen. Den 16E5 habe ich mir gerade angeschaut. Ist der repräsentativ? 
Ich habe keine Erfahrung mit dieser Reihe.

von Max H. (hartl192)


Lesenswert?

Sorry, das mit den 16bit habe ich übersehen.

von Purzel H. (hacky)


Lesenswert?

Erst mal, was soll der 16Bit PWM ? Was soll das bringen ? Ich geh von 
einem ein akademischen Furz aus.

Der dsPIC 30F2023 kann mit einem internen Clock bis 480MHz arbeiten. Er 
zieht dafuer aber auch gewaltig Strom.

von Fritz (Gast)


Lesenswert?

Siebzehn oder Fuenfzehn schrieb:
> Erst mal, was soll der 16Bit PWM ? Was soll das bringen ?

Z. B. simpler DA-Wandler mit höherer Auflösung.

von ddf (Gast)


Lesenswert?

Nimm doch einen CPLD. Kostet etwa 1 Euro und ist über 200MHz schnell.

von Davis (Gast)


Lesenswert?

Ist der MCS8048 etwas für dich?

https://de.wikipedia.org/wiki/Intel_MCS-48

von Dumpfer Nilp (Gast)


Lesenswert?

>Z. B. simpler DA-Wandler mit höherer Auflösung.

Aha. Der Filter muss dann aber auch die 16 bit bringen. Das moecht ich 
sehen. Alternativ kann man auch mit Subsampling arbeiten. Die Frequenz 
kommt dann etwas runter.

von Fritz (Gast)


Lesenswert?

Dumpfer Nilp schrieb:
> Der Filter muss dann aber auch die 16 bit bringen. Das moecht ich
> sehen.

Auch ein einfacher Tiefpass 1. Ordnung kann bei entsprechend niedriger 
Grenzfrequenz und hoher Taktrate das bringen. Kommt nur auf die 
Anforderungen an.

War ja nur als Beispiel für 16 Bit und der Aussage "akademischer Furz" 
gedacht.

von Marcus (Gast)


Lesenswert?

ddf schrieb:
> Nimm doch einen CPLD. Kostet etwa 1 Euro und ist über 200MHz schnell.

Daran habe ich auch schon gedacht, aber Funktionalität, die über die PWM 
hinausgeht kann ich darin ja kaum unterbringen. Es gibt keine 
Peripherie, wie z.B. ADCs und in dieser günstigen Preisklasse hat man 
die wenigen cells auch schnell verbraten. Also soll es schon ein μC 
sein.


Siebzehn oder Fuenfzehn schrieb:
> Erst mal, was soll der 16Bit PWM ? Was soll das bringen ? Ich geh von
> einem ein akademischen Furz aus.

Volle 16 bit müssten es wahrscheinlich tatsächlich nicht sein, aber 10 
bit ist zu wenig. Dann müsste ich, wenn ich die Frequenz runterfahren 
möchte, in voller Fahrt den prescaler umstellen. Das ist mir zu heikel.


Siebzehn oder Fuenfzehn schrieb:
> Der dsPIC 30F2023 kann mit einem internen Clock bis 480MHz arbeiten. Er
> zieht dafuer aber auch gewaltig Strom.

Den Strom könnte ich sicher aufbringen, aber zunächst zieht er zuviel 
Geld.


Davis schrieb:
> Ist der MCS8048 etwas für dich?

Ist das ein Scherz?

von Elektriker Horst (Gast)


Lesenswert?

Marcus schrieb:
> Davis schrieb:
>> Ist der MCS8048 etwas für dich?
>
> Ist das ein Scherz?

Nein gaaar nicht ;)

Marcus schrieb:
> Die Anwendung ist
> die Regelung eines DC/DC-Resonanzwandlers.

Welcher Resonanzwandler wird mit einem PWM angesteuert? Es wird 
normalerweise ein 1:1 Rechtecksignal mit variabler Frequenz verwendet.

von chris (Gast)


Lesenswert?

Ich wüsste einen ARM uC, kostet <1€ in Stückzahl 1, nur es gibt eine
Mindestbestellung von ca 60€ + Versandkosten. Also wenn du nicht 
mindestens
50 Stück brauchst, ist er viel zu teuer.

von MirkoB (Gast)


Lesenswert?

Hab ich mich irgendwie verrechnet: 32Mhz / 16Bit = 488Hz PWM-Frequenz.
Sollte es da nicht auch irgendein popliger Audio-Codec tun? (Dann auch 
mit bis zu 192 kHz)

Mirko

von Gregor B. (Gast)


Lesenswert?

C8051F398

von Harald W. (wilhelms)


Lesenswert?

Marcus schrieb:

> Mikrocontroller für schnelle PWM gesucht
>  - die von einem Timer mit min. 32 MHz und min. 16 bit erzeugt wird,

Du willst also eine PWM mit einerb Frequenz von 1000 Hz erzeugen?
Gruss
Harald

von M. N. (Gast)


Lesenswert?

Noch immer weiß ich nicht, wann welcher Preis vergeben wird, möchte mich 
aber mit dem STM32F051 am Gewinnspiel beteiligen.

von Marcus (Gast)


Lesenswert?

Elektriker Horst schrieb:
> Welcher Resonanzwandler wird mit einem PWM angesteuert? Es wird
> normalerweise ein 1:1 Rechtecksignal mit variabler Frequenz verwendet.

Genau genommen funktioniert beides nicht. Aber ein geeignetes Pulsmuster 
lässt sich jedoch mit der PWM unit eines μC erzeugen.

Gregor B. schrieb:
> C8051F398

M. N. schrieb:
> STM32F051

Schön, das sind noch zwei Kandidaten.


Harald Wilhelms schrieb:
> Du willst also eine PWM mit einerb Frequenz von 1000 Hz erzeugen?

Nein, eher nicht. Ich möchte die Frequenz in einem großen Bereich fein 
verstellen können. Bei 32 MHz werde ich die 16 bit wohl nicht ausnutzen 
müssen, da würden es bestimmt auch 13 oder 14 bit tun.

von Harald W. (wilhelms)


Lesenswert?

Marcus schrieb:

> Nein, eher nicht. Ich möchte die Frequenz in einem großen Bereich fein
> verstellen können. Bei 32 MHz werde ich die 16 bit wohl nicht ausnutzen
> müssen, da würden es bestimmt auch 13 oder 14 bit tun.

Durch einfaches Kopfrechnen ergibt sich das bei 16 Bit Auflösung und
32 MHz Takt höchstens ca. 1kHz möglich sind. Bei 13 Bit entsprechend
ca. 8kHz.
Gruss
Harald

von Phantomix X. (phantomix)


Lesenswert?

32.000.000 / 65.536 = 488

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der STM32F103
72MHz / 65536 = 1098
Der STM32F40x
84MHz / 65536 = 1281

von M. N. (Gast)


Lesenswert?

Markus Müller schrieb:
> Der STM32F40x

kann T1, T8-11 auch mit 168MHz betreiben aber kaum für <1,50€ (wie auch 
der STM32F103) legal beschafft werden.

Einem richtigen ARM-Fan ist das aber sicherlich egal :-)

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.