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.

TLC5947: TLC5947 Cascading - outputs shut down at different voltage levels

Part Number: TLC5947

Have a few TLC5947 off the shelf boards with the same circuitry as he Adafruit to kick off work with the TLC5947. These boards have a header on each side where all signal (Vdd, Gnd, Latch, clk) are connected together except for Data In/Out of-course, blank is pulled down with an R to ground. These board have an onboard regulator of 5V to the TLC5947 while the connected input voltage is directly supplied to the LED outputs. Interestingly, the boards work when supplied with 3.3 or 5V as well.  An RPI 3 is used to control the board using bit-bang I/O and the boards are fed with an exterrnal power supply (78xx regulators) independently from the RPI,  RPI and the boards share a common ground. The R is set for 15mA CC.

When the boards are in parallel (all boards get Data In from the same wire form RPI) this works all well and stable at 3.3, 5V and 9V input voltages. For all transactions, all lights all have the same color repeatedly tested in a loop for several hours for many different colors settings.

In cascading (serial) changing the DATA Out to from one to another board's DIN,it  works fine and stable as well for hours at 3.3V. However changing the voltage to 5V or 9V to the board, all LED outputs immediately shut down (no LED signal). This happens already with 2 boards and currently using 3 LEDs per board. when removing the DIO to DIN wire, the first board  continues to work normally. Swapping the boards has the same effect. Lowering down the clock speed to very slow frequency has no effect either.

It does not look like this is related parasitic capacitance . Somehow connecting anything to DIO causes this problem. Is there something in particular to consider when cascading ?

  • Hi,

    Could you help to share the schematic with me? You mentioned that here is an onboard regulator of 5V for TLC5947. This regulator supply for both VCC and VLED? 

  • Hi,

    the schematic is in this document:. The regulator is for the TLC5947 only,  VIN is directly connected to the LEDs V+ outputs and  the regulator input. Testing this a bit more I am concerned if this is a ground loop issue using multiple boards. The boards  just have a GND pin and connecting more boards may be an issue (?)   Experimented with the ground wiring a bit and could get it to run at 5V once with the external psup. I am going to test this further with a simple MCU controller (using basic bit bagingt ) instead of the RPI  Writing some code for this now. Perhaps it wasn't a good idea using  these boards for a cascaded situation but hoped to use  them as a quick evaluation of the design. cdn-learn.adafruit.com/.../tlc5947-tlc59711-pwm-led-driver-breakout.pdf

  • Hi,

    Sorry that we also did not try using discrete boards for a cascaded structure before. Based your description, GND loop may be a problem. Could you measure the VCC/GND/VIREF voltage of TLC5947 in 2nd board and also capture the SIN/SCLK/XLAT/BLANK to see if control signal is right?

  • Hi

    I do not have a scope on hand right now. The Vcc is 3.3V on the TLC5947 (output of the regulator). I ported the code from RPI to a small micro-controller with 4 boards in cascade now on an soldered experiment board instead of a breadboard before. All LEDS work now in cascade and do not shutdown. Though, it was only error free at 3.3V Vin to the boards and LED anode. With 5V to the boards and to the anode of the LEDS was very unstable  (often wrong LEDs on/off, most on 4th  and sometimes on on 3rd board) . After moving the CLK and DATA lines away and changing the way  GND was connected from power and the MCU board,  it became much better, about 1 error in 10 transactions. With 9V to the boards and anodes all the light colors were very bright and constantly wrong on all  the boards.  A solder wired board is not ideal but have not had much issues. with other SPI chips such as SPI LCDs, sensors' and many others. The CLK and DATA lines seem extremely sensitive, just touching with them with hand and it all goes wrong. at 5  (3.3V is ok)  Perhaps need to shield the wires or some form of signal conditioning.  For my design I cannot permit one error as it would immediately cause a poor user experience. Here is a high level diagram of the setup.  Note that blank is internally pulled down on the board itself. @3.3 one error in ~100 transactions, @5.5 1 error in 20 transactions  @9V,  all transactions wrong outputs. Powering the LED anodes and boards from separate regulators (but common ground) give the same result.

  • Hi,

    I think the drive capability of SOUT may not strong enough to exclude parasitic parameters and noise caused by distributed boards. The transmit signal may be not established well. Do you have any logic buffer IC in hand can be connected between two boards?

  • Hi

    Thanks, I was afraid of that. I will try that but it may take me a few days to get to that. I also will add a 10uF cap on the board and use a ground shielded connected cable for CLK and DAT.  Vref = 1.19V at 3.3, 5 and 9V input voltages on all boards.. Vcc pin on tthe TLC5947 is 3.0V @ 3.3V input and 4.7@ 5V and 9V input.

  • Please keep this open for now. Tried several things, such as shielding the wires, decoupling caps, caps on V+ etc.. but nothing worked . Also the CLK seems very sensitive. Could be this is a noisy board layout problem. At 5V and 9V V+ (and to the regulator) when most errors occur, the first board in the chain (right after the MCU) also shows these issues. Will go back to basic and see how to get this  board to work at 9V v+

  • Hi,

    I think it is better to have a scope to see what happened to input signal when increasing power supply.

    And did your MCU or RPI high level also follow your power supply? VCC is different when powering the board with 3.3V or 5V/9V. VIH (0.7VCC) and VIL (0.3VCC) for communication interface is also changed.

  • Hi

    You are right. . The is the problem having an on board regulator of 5V and the MCU running 3V I/O. Could replace the regulator but with 3.3V input on the regulator it seem to output around 3.3V. After using 3.3.Vcc 5947 + powering the LED from a different supply and rewiring  the board making all connections shorter + soldering for more stability it works fine now at 3.3 to 9V LED with even 5cm of wire between the boards for DAT in cascade. Issue closed. Thanks !