fastspi not able driving more then 350 times WS2801?

Status
Not open for further replies.
Hello,

I created a Matrix with 32x18 (500/576total LEDs) WS2801 LEDStrings (Chinese Manfacturer). Using bitbanging method (based on firmware from http://www.solderlab.de/index.php/software/glediator) everything is fine but reach only less then 15fps.
When I try to use the fastspi solutions (http://code.google.com/p/fastspi/), it appears that clock and data becomes out of sync, the LEDs seems to be missing clock signals.
Please watch the videos taken:
@24MHz: http://www.youtube.com/watch?v=-vjy4Jtzj7I
@48MHz: http://www.youtube.com/watch?v=QREboDgavxs
@96MHz: http://www.youtube.com/watch?v=XlgE8365qwA

FastSPI_LED.setDataRate(0..7); makes a differnce but not found any combination it worked fine all the LEDs.

When I interpretate it right, WS2801 will refresh the data signal in each LED but Clock is wired to all LEDs paralell,...
I don't have a scope available, so I cant tell is it a voltage drop or a timing issues.
What do you think?
Does somebody sees a solution or a test I could try?

greetings
Bernie

PS: my first own µcontroller Project :)
 
Last edited:
I have definitely run into problems with driving the ws2801s at long lengths and high speeds. I suspect that the bitbanging that you are doing is still than even the slowest hardware SPI - which is why that is working for you.

I'm working on a refresh of the library that has more efficient bitbanging code, and is also a lot more flexible - so what you could do is split your leds into multiple chains, each with their own set of clock/data pins. By making each chain shorter, you could up the speed that you can update on. I'm still a couple weeks out from having a release, but the new core code is most definitely up and running. I can max out the hardware SPI at about 5.8Mbps data transfer rate - and I've been able to push 3.1Mbps with bit banging!

(Also the new library is smaller and more flexible!)
 
That BingBanging is slow(enough) was also my thought.
I would prefer a faster method since I only reach up to 18fps with the bitbanging method used. I got the teensy3.0 to use the hardware spi support,....

Nice to hear that you are working on a new version of the fastspi lib, but improving the bitbangig method in the library would not help me, or? WS2801 support in the library is hardware spi, or do i have a mistake here?
I thought about about splitting in more chains, but don't like the idea of changing the wiring at this point.
I will give the lib a try, when it is available.
Thank you for your reply! :)

bernhard
 
The new library will support both hardware and software SPI - and you will be able to fine tune the speed of the software SPI so you can adjust it until you stop seeing glitching.
 
Status
Not open for further replies.
Back
Top