Hallo, bin leider Anfänger bei AVR Prozessoren. Habe bisher nur 8051er programmiert. Jetzt brauche ich 12 unabhängige PWM-Kanäle mit einer Auflösung von 12Bit und dies gibt es nicht für 8051er. Der 8051 ist auch zu langsam und hat nicht genug Speicher für meine Applikation. Verstehe ich es richtig, dass der ATMega1280 maximal 16PWM Kanäle hat? Hat jemand eine ähnliche Aufgabenstellung schon mal gelöst und hat ein Stück Quellcode für mich? Software PWM scheidet aus weil ich sehr schnell reagieren muss und auch noch einiges anderes mit dem Controller machen muss. PWM geht also nur im Hintergrund ohne den Prozessor zu belasten. Bin für jede Antwort dankbar. Ulli
ulli wrote: > Jetzt brauche ich 12 unabhängige PWM-Kanäle mit einer Auflösung von > 12Bit und dies gibt es nicht für 8051er. Dann machs einfach in Software mit einem Timerinterrupt. > Der 8051 ist auch zu langsam > und hat nicht genug Speicher für meine Applikation. Hä??? Silabs C8051F120: 100MIPS 128kB Flash 8kB SRAM Wo ist da was zuwenig? Ich denke allerdings, daß Dir ein wesentlich kleinerer 8051 reichen sollte. Wenn Du mal genauer beschreibst, was Du brauchst. Peter
Ok nehme alles zurück wg. zu langsam. War wohl ein bischen zu sehr auf die 8051 von Atmel fixiert. Realisierung mit Timer geht leider nicht weil zu viel Rechenpower weggeht. Periodendauer bei der PWM sollte bei 256mikro Sekunden liegen. Die Applikation ist recht komplex. Auf jeden Fall muss ich auf jeden Takt von einem Drehimpulsgeber reagieren (max. Frequenz ca. 15kHz) und dann noch einiges Anderes machen. Danke für den Hinweis mit dem schnellen 8051.
ulli wrote: > Realisierung mit Timer geht leider nicht > weil zu viel Rechenpower weggeht. Wie hast Du das festgestellt? > Periodendauer bei der PWM sollte bei > 256mikro Sekunden liegen. Ja, das geht nur mit HW-PWM, bei 12Bit sind das ja 16MHz Taktfrequenz. Warum so hoch? > Die Applikation ist recht komplex. Das tut nichts zur Sache, hat nur Einfluß auf die Programmgröße (Flash). Die CPU-Last hängt davon ab, wieviel Peak-Power im Worst Case benötigt wird (nicht, wieviel man durch nicht eilige Prozesse vergeudet). > Auf jeden Fall muss ich auf jeden > Takt von einem Drehimpulsgeber reagieren (max. Frequenz ca. 15kHz) und > dann noch einiges Anderes machen. Dann sind die Interruptprioritäten des 8051 von großem Vorteil. Man kann sie den Prozessen ganz bequem nach Wichtigkeit zuweisen und schon behindern sie sich nicht mehr gegenseitig. Peter
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.