TLC5974 outputs flickering on latch

Hey guys,

I'm using the 24 channel LED driver with a TLC5974 chip on a raspberry, but that seems kinda uncommon so I came here for my question, which is more on the hardware side anyway. Hope you don't mind...

If I understand the datasheet correctly, the outputs are wired as open collector and low active. So I used a pull up resistor to generate a proper signal. This works, so I guess it's correct ^^

But, every time I set new values and confirm a transaction by pulling XLAT low, my LEDs flicker (actually RGB LED strips, connected through a driver circuit - roughly 8x this). I uploaded a video.

Then, in the datasheet I found the following description of XLAT:

When the XLAT rising edge is input, all constant current outputs are forced off until the next grayscale display period.

So I'm guessing off means not being grounded which results in a high input for my driver circuit which then lights my LEDs until "the next grayscale display period".

  1. Do I understand this correctly?
  2. Is this normal? As in "supposed to be this way"?
  3. What can I do to get the behavior I want?

Raspberry specific: I use the BCM2835 library to set the values.

Any hints appreciated!

Seems one error was right in front of me: The LAT signal should never be low for this long. Going to debug this now..

Thinking again, XLAT is edge triggered to the signal duration shouldn't make a difference. Proven by experiment: even a ~20us pulse width on XLAT gives me ~10ms pulses on every output. And this is measured without driver circuit, just a plain pull up resistor. I can't believe this is supposed to be this way oO

There's a thread in the TI forums which pretty much exactly describes what I'm seeing.

TI employee:
The IC is intended for applications which show static pictures for a longer period of time. So whenever the picture is changing, BLANK can be set high to turn the outputs off and reset the GS counter and during BLANK=high, XLAT can be used to latch the new picture in.

If you want to view videos which means that you need to have control over the GS counter to know when to latch in the data, other parts like TLC5941, TLC5943, TLC5946 or TLC5951.

So I guess I'm out of luck with this board, if I want continuous fading. Maybe it's worth mentioning it in the board description in the shop. :-/

Have you discovered "Demystifying the TLC5974" its a free ebook and the author can be very helpful.

No, only one about the TLC5940. Haven't read the datasheet in detail, but the block diagram looks very different. It looks like the TLC5940 contains an additional EEPROM, you can write to the shift register or the EEPROM and switch the outputs from one to the other. Also, I didn't see a note about the outputs being switched off on latch signal. It also features a grayscale clock output which could probably be used to sync the latch, as mentioned in the TI thread.

sukisan:
No, only one about the TLC5940. Haven't read the datasheet in detail, but the block diagram looks very different. It looks like the TLC5940 contains an additional EEPROM, you can write to the shift register or the EEPROM and switch the outputs from one to the other. Also, I didn't see a note about the outputs being switched off on latch signal. It also features a grayscale clock output which could probably be used to sync the latch, as mentioned in the TI thread.

Opps sorry, my mistake, misread the number.