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.
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.
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...
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?
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...
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.
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
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
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.
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.
>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.
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.
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?
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.
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.
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
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
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:> C8051F398M. 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.
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
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 :-)