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.

Question regarding TLC5955 current consumption

Other Parts Discussed in Thread: TLC5955

Hi there,


I've recently designed a board using the new TLC5955 LED controller IC. What bothers be however is that when supply power to the device (i.e. I connect only the VCC & GND lines), the power consumption shoots up to about 800mA, even though none of the LEDs are being driven. There are no shorts/low impedance paths between the VCC & GND lines. Is this normal for this IC?


Also, at the moment power is applied, all the LEDs turn on briefly and before reverting to an all-off state. Again, is this normal for this device?


I'm on a rather strict deadline to get this project completed, so any help would be greatly appreciated....

Kind regards,

Heinrich

  • Hi Heinrich,

    How about the thermal pad? Did you connect it to GND, either?

    800mA is abnormal for the IC.

    Best regards,

    Feifei

  • Hi Feifei,

    Thanks for your prompt response! Yes, I did connect the thermal pad to GND as well. Can you think of anything else that might be causing this? Also note that I'm not applying any clock/data/latch signals to the IC at the moment (so all these pins are floating), as I simply first wanted to check if everything is OK power-wise. Could this make a difference to the current consumption?

    Also, in terms of the LEDs briefly flashing when power is supplied (and then quickly removed due to the 800mA current draw), is this normal? As I understand it all the LEDs should remain off during and after power-up until valid data has been loaded into the data latches....

    Kind regards,

    Heinrich

  • Hi Heinrich,

    The 500mA Icc is abnormal for this device, even you only connect Vcc and GND.

    Also, LED is flashing when power up(without GCLK) is abnormal.

    Could you pls double check the applicaiton ciucuit and connection.

    Best regards,

    Feifei

  • Hi Feifei,

    Thanks for the info. On close inspection, I discovered that the people who populated the PCB installed the tantalum capacitors the wrong way around! After I corrected this, the current consumption with just VCC & GND connected dropped to about 68mA (which I'm assuming is probably about right?)

    I just have one last question related to the serial interface the unit uses. I'm using a Microchip dsPIC to interfacing with it via SPI. The SPI supports data transfers of either 8 or 16 bits, and I'm using a DMA channel to allow me to send an entire block of data in one go. For the greyscale data this works out perfectly, since 768 bits divided by 16 is 48, so I can set the DMA up to transfer 48 blocks of 16-bit data, and then just manually clock in the 769th bit to select the GS latch as the one to be used. With the control data however, things don't quite work out as well: Since the total length of data to be transmitted in order to set DC, MC, BC and FC is 371 bits, plus a header of 9 bits (i.e. the MSB and the value of 96h which needs to be sent), that brings the total number of bits to be sent for a complete control data frame to 380, which is not a multiple of 16. However, since the next closest multiple of 16 would be 384 bits, how would the device react if I were to send the frame as 24x 16-bit blocks (so 384 bits), and simply set the last 4 bits to zero before toggling the LAT input? Would it disregard any extra data sent after receiving the required 380 bits until the LAT line is toggled?

    Kind regards,

    Heinrich

  • Hi Heinrich,
    1. The 68mA Icc power is consumped by what conditon? Only add Vcc and GND? If that is the case, there may be still something wrong.
    2. The internal of IC is just like common shift register, if you don't send LAT signal, nothing will happen.
    Best regards,Feifei
  • Hi Feifei,

    We decided to have new PCBs made and made sure they soldered on the caps the right way around this time (since the PCB is of the flexible plastic type, reworking the previous one caused too much damage, so we rather decided to have a new one made). What bothers me is that as soon as I supply power to the board, all the LEDs switch on immediately and at random intensities. There are 16 RGB LEDs connected to the IC (so effectively one "LED" (i.e. R, G or B) per channel), so with all 48 channels sinking "some" (random it would seem) amount of current, I'd say the current drawn now (which is now about 100 to 130mA) seems about right. The thing that bothers me is that they all turn on as soon as I apply power (no signal lines connected). According to the datasheet, that's certainly not supposed to happen. The circuit is as specified in the datasheet - it uses a common VCC of 5V for both the IC and the LEDs' common anodes, and it essentially has one LED connected to each channel on the IC (LED's anode tied to 5V and its cathode to the respective channel on the IC). And that's about it... so it's not exactly a complicated circuit.

    Can you perhaps explain what's happening or might possibly be happening? The deadline is approaching FAST and we still don't have a working prototype...

    Thank you for the info regarding the shift register - I can now adjust my code accordingly :)

    Also, thank you for your continued support in helping us solve this matter - it is much appreciated.

    Kind regards,

    Heinrich

  • Hi Heinrich,

    The phenomenon disappeared when you send the new GS data, right?

    There might be un-expected LAT/GSCLK generated when power up. The common shift register of tlc5955 is random.

    If there is un-expected lat and GSCLK input after power up, the GS data may be randomly displayed.

    What's the controller's behavior when power up? Pls check it.

    Best regards,

    Feifei

  • Hi Feifei,

    This is the controller's behaviour with just GND & VCC connected - so all the control lines (including LAT & GSCLK) are basically left floating. I can imagine that in this state there might be an unexpected LAT/GSCLK pulse generated as their state when left floating would be "undetermined". However, shouldn't the fact that the GSCLK line isn't being driven any further (i.e. aside from that possible initial "glitch") be enough to essentially stop any further output from the IC? Also, as I understand it, all the data registers contain random values at startup, *except* for the Max. current data, which should initialize to 0. At a value of zero, the current sent to the LEDs should surely be next to nothing?

    Kind regards,

    Heinrich

  • Hi Heinrich,
    GSCLK is used for display and counting, if only send 1 GSLCK, then stop. Any channel with the GS data > 1 will be open. The channel will be closed until internal counter >= GS data;
    Yes, the max current in FC register = 0 when initialized, but not means current is 0. Actually max current=3.2mA when MC=0. Pls refer to table 8 in datasheet.
    Best regards,Feifei
  • Hi Feifei,

    Compliments of the season to you!

    Thanks for your response. I've went through the datasheet again, and it also says that the outputs will initially remain off, even if a GSCLK signal is supplied, until new GS data has been written to the device. So theoretically then, if I were to tie GSCLK, LAT, SDAT and SCLK directly to ground and apply power, all the LEDs should remain off?

    Kind regards,

    Heinrich

  • Hi Heinrich,
    Yes, you are right. If tie GSCLK/LAT/SIN/SCLK to ground and apply power, all the LEDs should remain off.
    Best regards,Feifei
  • Hi Feifei,

    I'm afraid I'm really running out of options here... I've tied the GSCLK, LAT, SIN & SCLK directly to ground, and I'm still having the same issue. I'm not able to program it either (the signals are coming through correctly, but all the LEDs just remain on). But either way, the fact that all the LEDs turn on even with all the signals tied directly to ground already spells trouble. Is there anything else you can think of that would cause this to happen?

    Kind regards,

    Heinrich

  • Hi Feifei,

    I have now conducted a thorough and complete set of tests on this board and at this point, I'm strongly suspecting the IC. What I did was the following:

    First, I tested whether the IC was responding to serial data sent to it. For this test, I clocked in a continuous stream of zeros onto the Serial data input and sent a latch pulse after every 769 bits. I kept the clock speed low and allowed ample data setup time between clock pulses. I also applied a continuous, low-speed clock signal to the GSCLK input. This procedure should've resulted in all the LEDs turning off - however, no change to any of the LED states were observed (they all simply remained lit with the same random brightness levels they had when the circuit was initially turned on).

    Second, I tried to see if I could see any data on the IC's serial output pin. To test this, I set up a repeating sequence of values alternating between 1 and 0 and sent this as a continuous loop to the IC's serial input pin (along with the required serial clock), and observed the output on IC's serial data output pin. If the shift register was working correctly, I would've expected to see the same sequence of alternating values that was sent to its input on its output - however, there were no signal coming from the output whatsoever. This would seem to indicate some problem with the shift register itself.

    All the tracks have been checked for continuity to make sure that the signals are all coming through and reaching the IC, and I've even scoped the signals on the IC's pins themselves just to make absolutely sure that they are reaching the IC's inputs correctly, and I can confirm that all the signals are successfully being sent to the IC.

    Given these results, would you agree that the IC itself might be faulty, or could these symptoms still be caused by something else?

    Kind regards,

    Heinrich

  • Hi Heinrich,
    1. Do you confirm that IC gnd and thermal pad are connected togetherand tie to GND on the board level?
    2. You mentioned that you have sent 1 and 0 serial data to SIN and monitor SOUT, did you send LAT signal during the period? Suppose you should see the same sequency from SOUT after 769bit SCLK.
    Best regards,Feifei