So i have never actually used a shift register before, which is what it looks like the TLC5925 is or has inside. From what i can tell from researching it, there is a clock pin that i connect to some clock source, and then there is a serial pin that i send the data too. Serial data is being read on each positive edge of the clock.
As for controlling each of the LEDs though, and please correct me if im wrong:
this chip has 16 outputs, do i send a 16 bit stream of data to control which led is on? ie. if i want the first and second led (OUT0 and OUT1) to be turned on i would set the LE pin high then send a bit stream of 00000000000011? which bit should be sent first (order of the bit stream)
If this is correct then what about daisy chaining 2 chips? I assume i connect the serial out from chip 1 to the serial in of chip 2 connect both clock pins together and then do i also connect the LE pins together as well? then to light up the requested leds to i then send a 32 bit stream?
For this application what if i did this for 4 of the TLC5925 chips:
connect all the clock pins together with the same clock source, connect all of the serial data in pins together to the serial out pin on the FPGA, then connect each of the LE pins to their own pin on the FPGA, this was i can set the leds in groups once a group is set i do not have to keep resetting all 64 bits it every second (this is for a 60 second progress bar with 60 leds) then when the clock hits 60 seconds i can set all 4 LE pins high and send 16 zeros on the serial line to turn off all 60 of the LEDs.
does this sound like it would work? any feed back would be greatly appreciated.
-scott-