WS2811 timing.PNG 17.42K
145 downloadsWS2811 LED controller driver
#1
Posted 13 November 2012 - 08:42 PM
WS2811 timing.PNG 17.42K
145 downloads- bluehash, GeekDoc, jsolarski and 2 others like this
#2
Posted 15 November 2012 - 06:50 PM
Rickta59 discovered that they will run at high speed!
- spirilis likes this
#3
Posted 15 November 2012 - 07:41 PM
Is it possible that the low speed timing you are using is on the max side of allowed timing and the high speed on the min side?
I couldn't find any information about WS2811's internals, but I think there must be 2 one shot monostable multivibrators inside, one re-triggerable for reset and one for data. At slow speed, it is probably set at ~1us and is triggered by the DI, after 1us, it clocks the shift register and shifts in the state of DI. Because SET pin must be left floating for high speed, I assume it is connected to a simple RC timing circuit.
For example, if the internal timer is set at 0.95us, 0.9us/2us and 0.5us/1us would work and they would appear to be two different speeds.
#4
Posted 15 November 2012 - 08:08 PM
All I know for sure is that it works if the timing is good. (20% / 48% pulse width).
#5
Posted 15 November 2012 - 08:17 PM
ws2811_hs.zip 1.45K
27 downloads-rick
- oPossum and spirilis like this
#6
Posted 15 November 2012 - 08:18 PM
TH + TL = 1.26us +/-600ns
T0H 0.35us +/-150ns
T1H 0.7us
T0L 0.8us
T1L 0.6us
There is also a reference to WS2821, but this could be a typo...
The timing I am using:
TH + TL = 2us +~0-1us
T0H 0.5us
T1H 1.0us
T0L 1.5us +~0-1us
T1L 0.5us +~0-1us
#7
Posted 16 November 2012 - 01:09 AM
Timing table added to first post.
#8
Posted 16 December 2012 - 03:18 AM
Minor variation of Rickta's version of oPossum's code, it ditches the reset procedure (reset_hs just pop R11 and ret) so you can continually bang this code in a C loop. Works great, got a prototype "poinsettia mood lighting" strip I'm working on... did a toner-transfer PCB with dip socketed G2553 (see underneath the LP, I used a hobby paint marker to apply a faux red soldermask), just waiting on an SMD USB connector for it:
Code (ASM routine) -
ws2811_hs_one.zip 1.5K
25 downloads
Pic:
dsc_4902.sm.jpg 68.55K
74 downloads
#9
Posted 03 January 2013 - 01:06 AM
http://blog.DocsTech.net
#10
Posted 03 January 2013 - 01:14 AM
Saw it.
Probably shouldn't comment. ![]()
#11
Posted 03 January 2013 - 02:21 AM
Saw it.
Probably shouldn't comment.
'nuff said. ![]()
http://blog.DocsTech.net
#12
Posted 09 April 2013 - 08:39 PM
Hi guys,
Ik tried all the above assembly code, but I cannot to get my led to give some form of output.
I've looked at the scope at the output pin, and there is a nice square wave coming out of it. I'm kinda lost on how to get these leds shining.
Presently i've connected the bare led with 5v on the VCC, VDD and 3.3V straight out of the launchpad to the DI (data in). But it won't work,
There is NO capacitor on the VCC.
Any thoughts would be very welcome!
cheers
ps. For good measure, ive included my stuff, (a make file, Main.c and the assembly by you guys. NOTE THAT THIS DOES NOT WORK ON MY SETUP), altough output seems oke..
Attached Files
Edited by vinietje, 09 April 2013 - 08:40 PM.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users










