ATSAM WS2812B?

Gast #4380079
Lesenswert?

Hallo,

der Artikel hier im Wiki ist schon etwas älter. Des weiteren habe ich so 
auf Anhieb keine Lib in C/C++ gefunden für die Atmels.

Ich möchte gerne WS2812B ansteuern. Das ganze soll wenn möglich aber 
nicht den MCU ausbremsen wie auf den AVRs. Geplant sind ca 200 Leds.

Gibt es eine gute Lösung, die das nebenbei in Hardware lösen kann?
Gast #4380261
Lesenswert?

Ich denke du musst dich entscheiden was du willst. Entweder deinen ATSAM 
benutzen und das Programm selber schreiben wenn du nichts findest, oder 
du musst deine Vorstellungen bzw. des uC an das anpassen was du dir 
irgendwoher kopieren kannst. Die Welt wartet bestimmt nicht darauf genau 
dein Problem so zu lösen wie es dir am besten passt.
#5789445
Lesenswert?

Hallo ThomasF,

habe den ATSAM3U4C im Einsatz.
Die PWM oder den SPI mit 800kHz Taktfrequenz laufen zu lassen ist kein 
großes Problem. Mein Problem besteht in der Änderung des Duty-Cycles 
(PWM) bzw. der SPI-Daten. Sobald ich das ganze mit 800kHz laufen lasse 
und dann während der Laufzeit die Datenausgabe ändere, kommt mein 
Controller nicht mehr hinterher.
Momentan läuft alles ohne DMA, da ich das noch nie gemacht habe.

Gruß
EnochRoot
Gast #5790498
Lesenswert?

Hallo Andreas H.

ich benutze leider nur den ATSAMD21 und ATSAMD51.

Im Anhang ist der Code für den ATSAMD51 der über die SPI
die WS Daten generiert.

Über die SPI sollte das auch mit dem ATSAM3U4C funktionieren.

Funktion:
Beim D51 ist es möglich 4 Bytes auf einmal der SPI zu übergeben
in den 4 Bytes ist ein WS Byte codiert.
4 Bit == ein WS Bit (Low 0b1000 High 0b1110) @ 3,2MHz
Interrupt gesteuert wird immer 1 RGB Byte über eine Tabelle
in 4 WS Bytes gewandelt und gesendet.

Beim ATSAM3U4C könnte man das Verfahren auf 2 * 16Bit übertragen.
Interrupt Routine und Tabelle müsste man anpassen.

Beim ATSAMD51@120MHz werden ca.3% CPU Leistung verbraucht.
Beim ATSAM3U4C@96MHz schätze ich mal ca.10%

Gruß Thomas
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren