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.

TLC5927 driving LED lighting

Other Parts Discussed in Thread: TLC5927

I have programmed a PIC MCU to send the required control signals to the TLC5927 LED driver. Each driver controls 32 LEDs in a board. I have 7 such boards connected in series. All the control signals including the SDI is connected directly to the MCU digital output pins.

I have written a simple program in the MCU to turn ON all the LEDs and lit them in full brightness.

I see that whenever I turn ON the MCU not all the LEDs are turned ON in the last few boards. i.e. the first 3 boards have no issues but few of the last 4 boards do not turn ON all the LEDs (in random fashion). Please advice on how these must be connected to the MCU pins.

Also the drivers are very susceptible to noise on the control lines. Even a little noise on the control lines turns off the few LEDs and all the LEDs' brightness changes.

Is it required to keep sending the control signals like CLOCK or OE/LE continuously while in idle time of MCU?

 

Currently the state of my control lines in idle state is as - CLOCK-LOW, OE-LOW, LE-HIGH, SDI-HIGH

  • Hi Vivek,

     

    When you say you have 7 boards connected in series, you mean the serial interface correct?  Where the SDO of board 1 is connected to SDI of board 2 and so on, and you are writing a total of 112 bits (all 1's).

    As for how the control lines should connect to the MCU, the Clock will need to be the same for all devices if you are connecting the serial interface as I have described above.   Also, you probably want all the LE pins tied together as well so the MCU can latch data into all devices at the same time.   The OE line is just the enable for the output, unless you plan on selectively disabling the devices, these pins can be tied together as well.  

    Also, it is not required to continually send data from the MCU.  The device will latch in data in place when the LE line is brought high.    Also, while in idle state, it might help mitigate the effects of noise to leave LE low which will prevent any new data from being latched in.

     

    There are a few other things you can check to figure out what is happening:

    -  Probe the control lines for each device while you are writing data to confirm it is being correctly read by all devices

    -  You can loopback the SDO from the last board to the MCU to confirm the data is not being corrupted somehow

    -  Place the boards that are not turning on all LEDs first in line

    -  Check to make sure no errors are being detected

     

    Best Regards,

    Adam Hoover

    LED Drivers and Load Switch Applications Engineer