I'm thinking of using a TIVA C Launchpad as the first hardware platform to drive these. This has a chip that can run at 40 MHz (using external crystal to drive the PLL).
There are 5 timings for the ws2812S:
- 350ns
- 800ns
- 700ns
- 600ns
- >50us
If I can run a timer with two different compare interrupts I can use the following values:
- 350ns = 14 cyles @ 40 MHz
- 800=32
- 700=28
- 600=24
Interrupt scheme:
- If this is a digital 0: Set compareA to 14 and compareB to (32+14)
- If this is a digital 1: Set compareA to 28 and compareB to (24+28)
- drive pin high
- start counter
- at compareA:
- drive pin low
- at compareB:
- drive pin high
- look up next bit and set compares accordingly
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.