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.
Ein STM32F103 kann das, aber ob es den für 1,50 gibt weiß ich gerade nicht.
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...
ATXMEGA kann die internen Timer vierfach zum CPU clock laufen lassen -> 128MHz!!! Gruss, selbst aber noch nicht getestet.
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.
...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!
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.
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.
>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
Noch immer weiß ich nicht, wann welcher Preis vergeben wird, möchte mich aber mit dem STM32F051 am Gewinnspiel beteiligen.
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.
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
Der STM32F103 72MHz / 65536 = 1098 Der STM32F40x 84MHz / 65536 = 1281
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.