Forum: Mikrocontroller und Digitale Elektronik WS2811 LED stripe ansteuern


von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebe Forengemeinde,

ich versuche nun schon seit geraumer Zeit eine RGB LCD-Stripe in Betrieb 
zu nehmen. Der Chip auf dieser LED-Stripe ist der WS2811 welcher extrem 
kurze Timings hat (siehe Bild im Anhang).
Und genau diese kurzen Timings sind mein Problem.

Nun habe ich verschiedene Ansätze im Netz gefunden (von SPI über I2C bis 
zu one-Wire) allerdings nirgends ein konkretes Beispiel an welchem ich 
mich orientieren kann.

Deswegen meine Frage, wie bekomme ich es hin mit meinem atmega8 (welche 
mit 8Mhz und externem Quarz) läuft so genaue Timngs hin ?


MfG.

von Tim  . (cpldcpu)


Lesenswert?

Viele scheinen dafür die fastspi-lib zu benutzen:

http://code.google.com/p/fastspi/

Habe ich selbst allerdings noch nicht getestet.

von Jan (Gast)


Lesenswert?

für die fastspi-lib war ich irgendwie zu unfähig, da hat beim 
kompilieren immer was gefehlt.

Habs aber jetzt dennoch hinbekommen indem ich die Timings durch den 
Befehl

asm volatile ("nop");

zusammengeschustert habe (ist zwar nicht sonderlich professionell aber 
es funktioniert ;) )


MfG

von Tim  . (cpldcpu)


Lesenswert?

Hallo Jan,

ich habe mich auch noch einmal 'drangesetzt:

Beitrag "Lightweight WS2811/WS2812 Library"

von Markus M. (adrock)


Lesenswert?

Ja, entweder der Ansatz von Tim (allerdings bist Du dann momentan (noch) 
auf die 8MHz festgenagelt).

Ich habe auch eine Funktion implementiert, mit Timer oder beim XMega 
sogar mit DMA. Benötigt allerdings entweder einen ATtiny25/45/85 oder 
einen anderen ATmega der einen Timer mit zwei compare Registern 
unterstützt (z.B. ATmega168)...

Beitrag "AVR ASM ws2811 / ws2812 Ansteuerung mit FastPWM"

Grüße
Markus

von Jan (Gast)


Lesenswert?

Ich danke euch das ihr da Zeit investiert habt ;)

Ich habs mittlerweile auch hinbekommen, mittels SPI welches mit double 
speed läuft sprich mit 4mhz.

MfG.

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
Noch kein Account? Hier anmelden.