http://moderndevice.com/new-products/new-product-serial-led-strips/
http://www.mikroshop.ch/pdf/UCS1903.pdf
I received a couple meters of the above led strip to play with for Christmas... for the life of me I can't figure out how to program it with the MSP430G2553... the software they have is for an AVR. When I asked for this for Christmas I thought it was suppose to use a SPI bus which is easy enough to program - turns out it uses a discrete signal not conforming to any serial bus that I'm aware of.
The difficulty comes from the timing diagram shown in the second link. To transmit a 0 there has to be 0.5us high followed immediately by 2.0us of low, and a 1 has to have 2.0us of high followed by 0.5us of low signal. At 16MHz, the 0.5us pulse is only 8 clock cycles. Which makes this tough... to add to the difficulty, I believe this strip uses the high speed mode decreasing the minimum clock cycle interval to 4.
I'm not sure how to do this with any accuracy. It's not conforming to a serial protocol of any type that I'm aware of. I'm guessing there is a way to use the timer on the MSP430, but I'm not quite sure how to attack it... any tips? Maybe I just set the IO bit and then delay the desired clock cycles before then return changing the state again?
http://www.mikroshop.ch/pdf/UCS1903.pdf
I received a couple meters of the above led strip to play with for Christmas... for the life of me I can't figure out how to program it with the MSP430G2553... the software they have is for an AVR. When I asked for this for Christmas I thought it was suppose to use a SPI bus which is easy enough to program - turns out it uses a discrete signal not conforming to any serial bus that I'm aware of.
The difficulty comes from the timing diagram shown in the second link. To transmit a 0 there has to be 0.5us high followed immediately by 2.0us of low, and a 1 has to have 2.0us of high followed by 0.5us of low signal. At 16MHz, the 0.5us pulse is only 8 clock cycles. Which makes this tough... to add to the difficulty, I believe this strip uses the high speed mode decreasing the minimum clock cycle interval to 4.
I'm not sure how to do this with any accuracy. It's not conforming to a serial protocol of any type that I'm aware of. I'm guessing there is a way to use the timer on the MSP430, but I'm not quite sure how to attack it... any tips? Maybe I just set the IO bit and then delay the desired clock cycles before then return changing the state again?