Thalhammer
07.02.2013, 16:50
Hallo,
Ich plane aktuell einen RGB LED Kontroller auf Basis eines Xmegas.
Konkret geht es um einen Xmega32A4.
Dieser besitzt zwar 16 Hardware PWM, Da ich jedoch 14 Leds ansteuern will (Also 42 Kanäle) bräuchte ich dann 3 Xmegas.
Da ich an jedem der Xmegas noch 12 Pins (PORTa und B) freihab dachte ich an eine Software PWM.
In dem Fall hätte ich pro Kontroller 28 Kanäle und bräuchte somit nurnoch 2, bei denen ich auch noch jede Menge frei hab.
Jetzt stellen sich allerdings einige Probleme:
Zum einen möchte ich die Komplette 24bit Farbpalette möglichst Fehlerfrei darstellen können, weshalb ich aufgrund der Gammakorrektur mind. 16 bit brauch, zum anderen möchte ich schnelle Farbänderungen möglich machen, weshalb die Frequenz mind. 50Hz betragen sollte.
Ist das mit den 32MHz des Xmegas machbar oder fordere ich zuviel ?
Der xmega hat ja 5 16bit Timer. Könnte man nicht die 28 Kanäle aufteilen, sodass jeder Timer einen Port behandelt ?
Ich habe nochnicht damit gearbeitet, aber währe es nicht irgendwie möglich den DMA für sowas zu verwenden ?
MFG Thalhammer
Ich plane aktuell einen RGB LED Kontroller auf Basis eines Xmegas.
Konkret geht es um einen Xmega32A4.
Dieser besitzt zwar 16 Hardware PWM, Da ich jedoch 14 Leds ansteuern will (Also 42 Kanäle) bräuchte ich dann 3 Xmegas.
Da ich an jedem der Xmegas noch 12 Pins (PORTa und B) freihab dachte ich an eine Software PWM.
In dem Fall hätte ich pro Kontroller 28 Kanäle und bräuchte somit nurnoch 2, bei denen ich auch noch jede Menge frei hab.
Jetzt stellen sich allerdings einige Probleme:
Zum einen möchte ich die Komplette 24bit Farbpalette möglichst Fehlerfrei darstellen können, weshalb ich aufgrund der Gammakorrektur mind. 16 bit brauch, zum anderen möchte ich schnelle Farbänderungen möglich machen, weshalb die Frequenz mind. 50Hz betragen sollte.
Ist das mit den 32MHz des Xmegas machbar oder fordere ich zuviel ?
Der xmega hat ja 5 16bit Timer. Könnte man nicht die 28 Kanäle aufteilen, sodass jeder Timer einen Port behandelt ?
Ich habe nochnicht damit gearbeitet, aber währe es nicht irgendwie möglich den DMA für sowas zu verwenden ?
MFG Thalhammer