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.

Greyscale clocking of the TLC5941

Other Parts Discussed in Thread: TLC5946, TLC5941, TLC5940

I am using cascaded TLC5941s.

The data sheet is not very clear about when you clock the greyscale data into it. Can you clock in the new data during the pwm cycle, ie while GSCLK is running? Or do you have to do it during the blanking period after the 4096 GSCLK pulses?

I can't get it to work if clocking in during the pwm cycle, it only works if I do it during the blanking period. However this reduces the overall pwm frequency of the LEDs and creates an "off" time while I reload the greyscale data.

Should it work?

  • While displaying Frame N (a PWM cycle), you can clock in Frame N+1 data.  After Frame N is complete, pull BLANK high and toggle XLAT from low to high and then high to low.  This will latch the new N+1 data into the internal registers.  TLC5946 datasheet, Figure 31 provides an example of this timing.  The figure shows the 192 bit dot correction data entry (16 channels * 6 bit dot correction * 2 ICs).  It then shows the 384 bit grayscale data entry (16 channels * 12 bit grayscale * 2 ICs).  After this frame is latched into the IC, the grayscale clock starts.  While the grayscale clock (GSCLK) is running, the next frame of 384 bit grayscale data is entered.  Note that this data can not be latched until after the grayscale completes it's 4096 steps and BLANK is pulled high.  The only "off" time you should have is when the BLANK signal is pulled high.

    You must be careful to ensure the TLC5941 setup and hold requirements are met.  If your signal drive strength is too low, the signal edges will be rounded due to the board capacitance on the data and clock lines.  There is no requirement to buffer the clock or any other signals.  However, depending on your specific drive strengths, board capacitances, clock speeds, timing between signals, you may need to buffer your signals to meet the TLC5941 timing requirements.  If you are at the limits of the setup and hold requirements and have rounded edges on your clock and data signals, you might be able to shift the timing between your signals to resolve the problem.  It may require a buffer.

  • You able to toggle XLAT from low to high and then high to low without pulling BLANK high.

    I'm using TLC5940, it has an external circuit, that refresh the grayscale counter, it connects to the BLANK and GSCLK pins and it's running continuously at 20MHz. The MCU connects to the XLAT, SCLK, SIN, SOUT etc... And the two circuit is completely independent.

    I don't try it on other devices than TLC5940, but the TLC5941 seems to has the same grayscale circuitry, that this can be works on it.