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.

TLC5946 problems setting up Dot and grayscale

Other Parts Discussed in Thread: TLC5946

Hi,

This is what we do:

1) MCU Init

2) Send DC setting to driver (the value is 63). at oscilloscope signals seems correct

3) Send GS settings to driver (the value is 4032). at oscilloscope signals seems correct

4) Start GSCLK with regular Blank toggles to reset internal counter

The result is that Driver generate un output ON of about 32 count of 4096

This value (about 32) remain the same changing DC or GS value in initial settings.

We can't understand what is doing wrong. Is there a reason that could explain that the drivers generate PWM but with a wrong and constant value?

Additional information:

A) GSCLK is generated by a PWM output from MCU. The signal is slightly rounded

B) SCLK / SIN / XLAT are generated "manually" by code but timing request seems to be ok. I'm going to change the software to use SPI for a try

Thanks

Luca

  •  Hello Luca,

     What is the result if full GS data (FFFh,4095) is written to the TLC5946. Is the constant current output on duty more than 99%?

     Best regards,

     K.Nakai 

  • Hello Nakai,

    I'm trying with DC = 63  and GS = 4095 and what i see is the same as before. The output goes low for 4,1 microsec in a signal with period of about 520 microsec then less than 1%. This morning we have tried changing the IC to verify if was an HW problem but nothing.

    Now the software use SPI to generate SCLK and SDI and nothing: the output is the same with less then 1% duty

    I think that we misunderstood something in the datasheet but we need some help to understand what is going on. Which kind of test may i do ?

    EDIT: we have just done a new test using a loop in the code to have infinite SCLK and sending the same bits to view the signal in SDO. What we see is that in SDO the bits sequence is the same as SDI and then we are now sure that the part of the code that manage SCLK, SDI, SDO is good.

    Thanks

    Luca

  •  Hello Luca,

    The following is a example of TLC5946 control sequence.

     1.  Power up TLC5946 with BLANK pin pulled up to the VCC of the device to avoid output turning on and other control signals (SIN, SCLK, XLAT, MODE and GSCLK) are 'L' level.

     2. Write DC data into internal shift register with SIN, SCLK and MODE is 'H'.

     3. Send one 'H' level pulse of XLAT to all TLC5946 with 'H' level 'MODE' to copy DC data in the shift register to DC data latch.

     4. Write GS data into internal shift register with SIN, SCLK and MODE is 'L'.

     5.  Send one 'H' level pulse of XLAT to all TLC5946 with 'L' level 'MODE' to copy GS data in the shift register to GS data latch.

     6. Change BLANK level to 'L'.

     7. Send 4096 clock of GSCLK.

     8. Change BLANK  to 'H' to reset GS counter.

     9  Change BLANK to 'L'.

    10. Send 4096 clock of GSCLK.

    11. Repeat sequence 8~10.  

     Is your control sequence similar with these?

     Best regards,

     Kazuya Nakai.