Hi all, I've used the TLC5940/5941 by the thousands in two successful products. I have a new product that needs a very fast PWM rate, ideally 24Khz or better.
Even with a 30Mhz gsclk, the best this chip can do is: 4096 pulses @ 30Mhz = 7.2Khz.
However, since the GSCLK counter is reset when BLANK goes high (datasheet does not clarify that is remains 0 while BLANK is high if there are GSCLK pulses coming in during BLANK=HIGH), it should be that I can force the PWM cycle to restart whenever I want. So for example: I set BLANK=HIGH, then BLANK=LOW, then count 1024 GSCLK pulses, then repeat. The PWM rate is now 4X faster. I have confirmed this. However there are odd problems - the chip occasionally (1 time in 10 to 1 time in millions) outputs zero for a PWM cycle. Example: grayscale data= 800. I'm doing the BLANK=high, BLANK=low reset at 1024 clocks. The output is on 800/1024 % of the time, but sometimes the output is 0 for a cycle, then back to the correct value.
By changing the 1024 PWM reset count, by changing the time BLANK is high, by changing the chip's GSCLK rate (I'm using 25Mhz), the glitch rate varies. I'm using a DPO scope so I can clearly see the PWM cycle dropout and get a sense of how often it drops out.
Has anyone done this successfully, and would anyone from the TI department that designs the driver chips care to comment? Is it OK to have GSCLK running while BLANK is HIGH, or does that potentially create timing errors? (my two products have GSCLK gated since the datasheet is not clear on this issue and I wanted to play it safe, but now I want to avoid having to gate it if not required.)
I'd like to use this chip again (it will be qty thousands) but I need to understand what is going on.
Thank you!
J