This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLC5940 using dot correction: no hardware delay between outputs = problem?

Other Parts Discussed in Thread: TLC5940

Hi,

I'm attempting to use the TLC5940, bypassing the PWM grayscale registers and pulsing the LED in DC mode. A potential issue I'm running into is that there is no hardware delay between outputs when using the dot correction (DC) registers.

For the PWM inputs, there is a 20ns delay between each output channel to reduce in-rush currents (as shown on the block diagram on pg 1 of the datasheet, and described on pg 14, in the "delay between outputs" section.)

I think I'm running into these same in-rush currents by trying to pulse LEDs simulataneously at high current using DC mode. The symptom I see is that after one pulse, the TLC chip becomes non-responsive. There appears to be a voltage spike on the VCC line, as the LEDs turn off from their first pulse (from parasitic inductance?).  

Am I interpreting this problem correctly, and is there a preferred solution?

Thanks!

Isaac

  • Hi lsaac,

    How did you find there is no hardware delay? Could you send the waveform to us? Then we can help check.

    Thanks,

    Rosley

  • Hi Rosley,

    I'm judging that there is no delay based on the diagram on page one of the TLC5940 datasheet, which shows a delay associated with the PWM gating. We are setting the PWM to 100% on in the initial chip setup, then controlling current outputs purely by updating the with the DC dot correction. Thus there should be no hardware delay between outputs, correct?

    Regardless of any hardware delays, though, should we expect to be able to pulse all outputs simultaneously between 0 and 100% output current, using the DC register?

     

    Thanks,

    Isaac

     

  • Rosley,

    A bit more info on the failure condition - I can pulse 8 of the 16 outputs at full current with no problem, but the device fails when I try to pulse 9 of the 16 outputs.  Or, I can pulse all outputs at about half current, but when I increase to pulses of just over half current, the device fails. One way or another then, the failure happens during the end of a pulse event when a given level of total current into the chip is pulsed to zero.

    Again, I am suspecting that this might have to do with the fact that when using the dot correction register to pulse the chip instead of the grayscale/PWM option, I'm no longer receiving the benefit of the 20ns hardware delays shown  on page 1 of the datasheet. Page 14 of the datasheet states "These delays prevent large inrush currents which reduces the bypass capacitors when the outputs turn on." 

    I'm not sure, though. If the issue is tied to those "large inrush currents" is there a work-around to reduce the transients? Should the dot correction control option of the TLC5940 be a viable means of pulsing all outputs at full current?

    Thanks,
    Isaac

  • Isaac,

    You said " I can pulse 8 of the 16 outputs at full current with no problem, but the device fails when I try to pulse 9 of the 16 outputs" ---What kind of failure did you mean? Does IC damaged?

    Is the VCC pin connected to LED power supply directly?

    I'm suspecting if there is big spike at VCC pin when you turn off all channels at same time.

    Thanks

    Mike 

  • Hi Mike,

    By failure, I mean the chip becomes non-responsive until we restart communications. e.g. If I program a pulse train from the LEDs, the LEDs will flash only once. The channels turning off simultaneously puts the chip into an unresponsive state, but does not damage it.

    We have a dual power supply and are powering the TLC5940 with 5V, and the LED line with a separate 5V. The grounds are tied together.

    There is indeed a huge voltage spike at the LED power line, but not at the separate VCC power line.

    Any more questions or advice?

    Thanks again,
    Isaac  

     

  • Isaac,

    I have no idea what's happened here. What do you mean by "restart communication" ?

    Do you have some waveform about SCLK/SIN/XLAT and output current when you change DC? Could you share schematic?

    I will apply some samples for lab test

    Thank you

    Mike

  • Isaac,

    Please also check XERR pin when this failure happens. Not sure if it's due to IC too hot

    Thank you

    Mike

  • Hi Mike,

    By becomes "non-responsive," I mean that if the chip is in the middle of a protocol, i.e. pulsing LEDs in a train of pulses, it stops functioning after the first pulse. The chip doesn't break and will work the next time.

    I see a transient on XERR, but on all other pins, too. (see attached scope shots.) Maybe this is ground bounce? If so, I would hope this would go away when we move away from a breadboard. What do you think?

    Thanks,

    malfunctioningLEDVoltage.zip
  • Issac,

    I saw a huge ground bounce in your waveform. I doubt these huge noice may affect the normal data transfer.

    Please solder 5940 on a PCB board and make sure a strong connection of GND. If the package you used have thermal pad, please make sure the thermal pad is soldered to GND plane for better thermal disippation.

    Thank you

    Mike

  • Hi Mike,

    I have a QFN-32 5940 PCB breakout board that I soldered a 59401 directly onto. (The thermal pad was soldered as well.) I plugged the DIP pins of this adapter board into a bread board to make connections to my controller and to discrete LEDs. 

    To make a good ground connection - I directly soldered a .1uF cap across  VCC and ground of the 59401, and plugged power and ground of the power supply directly to those leads (not going through the breadboard.) With this setup I still observed the issue. Are other connections besides the ground connection that are important to have low impedance to avoid ground bounce?

    In the internal TI lab tests that you mentioned, was the issue / ground bounce observed when simultaneously switching all LEDs at max current using dot correction mode?

    Thanks again,

    Isaac

  • Hi Mike,

    Actually, I retested with the thermal pad connected to ground and the problem is much reduced to where I can simultaneously pulse all LEDs at full current. Thanks for the advice and help!

    Isaac

  • Isaac,

    Glad to know your problem much reduced after soldering thermal pad.

    Do you have waveform of SCLK/SIN/XLAT and OUTx after this change? Seems ground bounce play an important role here. I think your issue should be ok if you layout a real PCB, not using breadboard.

    We have no 5940 in hand, just submited request for some samples. Will check on EVM after we received these samples.

    Thank you

    Mike