Friday, January 18, 2013

Fun with RGB LED Strips - Part 2

This evening I finally managed to successfully drive my LED strip at 800 KHz. Here's the obligatory moving rainbow disco video:


The WS2811 is, let's say... particular... about its NRZ edges at 800 KHz. My first shot at selecting a SYSCLK frequency and dividing down from it worked brilliantly for 400 KHz (literally - these SMD5050s are quite bright), but resulted in mostly white light when I cut the divisor for 800 KHz. I'll describe clock configuration in a later post.

In the video above, I'm initiating the SPI DMA at 60 Hz by waiting on a timer. For kicks, I also tried waiting on DMA completion. It looks like this (the effective update rate is somewhere a little above 500 Hz):


Here's a 'scope screenshot showing the timing of the associated data bursts (at the above 'fast' rate):


Here are two screenshots showing individual NRZ bits; first the '0' pattern, then the '1' pattern:


Next up: driving the WS2811 and clock configuration... With luck, tomorrow. :-)

No comments:

Post a Comment