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.

Disable TLC5944 LOD detection

Other Parts Discussed in Thread: TLC5944

Hi!
I am using TLC5944 in a multiplexed back lighting solution and I am running all the LEDs off a LiIon battery. I have noticed that some leds only shine for a short period of time and I have verified that this is due to the LOD mechanism that turns off the LED as it thinks that the LED is shorted. The problem occurs for LEDs that have a high Vf and when the battery voltage is low so the 0.3V above GND level is causing the LOD mechanism to think that the LED is shorted, thus turning off the LED.

Do you have any recommended way of bypassing the LOD feature? In my case, I don't really care if the LED brightness is not the same for the low voltage conditions, I am much more interested in having the LED on its entire ON period instead of being shut down after 32 clocks.

So far, I have come up with the following 2 workarounds and I am very curious about your thoughts on them:

Method #1:
For each new row that is displayed, I am setting all the DC registers to 0x00 to make sure current really low. With a low current, the Vf + low battery voltage does not cause the LOD to think that the LED is shorted. As soon as I toggle BLANK to start a new cycle, I clock out the real DC values. This takes 288 GS clocks (I am running my SPI bus at 8MHz and the GS Clock is 24 Mhz.) This is way past the sample point for the LOD and once I latch the real DC values, the LEDs shine bright again for the remainder of the period. The drawback of this solution is obviously that for 288 GS clocks, the LEDs are almost off which means that I have a dead-time where I am not shining any LEDs and this is affecting my total scan time for all rows. Not a big deal, but still annoying :) Btw, this method has been verified and it looks like it is working.

Method #2:

Using a 24k resistor for Iset, I am setting the LED currents to 2mA and with the DC register, I can lower the LED currents even more to ensure that the LOD mechanism does not turn off any LED. By using a 2nd resistor connected to an IO pin of my MCU and the Iref pin, I can change the Riref value by grounding the resistor from the MCU. When the MCU output is high impedance, this resistor is "invisible" to the TLC4944, and when the MCO output is low, this resistor will lower the resistance of the Riref seen by TLC4955 which means that the mirrored current goes up. By changing the Riref after the 32nd GS clock pulse, I can increase the LED currents to match what I want them to be. The drawback of this method is that I have limited the total number of usable values in the DC register as I have to ensure that 2mA Iref + DC setting never triggers LOD. I have not verified this method yet. I thought about going for a lower Iref current than 2mA for the 32 initial clocks but I am worried about going below the specified value for Iref according to the datasheet.

Any thoughts on these two methods? Are there other methods that can achieve the same thing?

Best regards,

Stefan Burstrom