We're using a TPS61195 in Linear Output mode, with PWM input control (SEL1 grounded, SEL2 floating, "Analog Mode, PWM Interface").
After the board powers up, the software starts its PWM timer, sending a PWM signal into the DPWM pin, and also enables the chip by driving "EN" high.
We've previously been enabling it with a relatively high initial duty cycle, and haven't noticed any problems. Now we have a requirement to enable the driver with a very low initial brightness level, of 1% or even 0%. We're finding that with any initial PWM level of 50% or below, the device performs the slow-start, and then overshoots the target, shuts off, and then tries again. The backlight flashes (depending on PWM Phasing) at up to 100% brightness for a few milliseconds before recovering. Sometimes it takes 80ms to ramp up to the set brightness.
As a separate but related problem, with the driver enabled, but turned off (with a zero duty-cycle PWM input), changing to a non-zero duty cycle also results in a big "flash". This is especially noticeable when changing from 0% to 1%.
In the follwoing traces "EN" is the "EN" pin, "PWM" is the "DPWM" pin and "BRIGHT" is the output of a light meter measuring the backlight brightness.
Here's what happens when I enable the Driver with a PWM duty cycle of zero. It "flashes" to about 100% brightness.
it does about the same thing when it is enabled while the PWM pin is running at a duty-cycle of 2% at 200Hz (the minimum allowed):
You can see in the above it "flashes" to something near 100%, falls back to zero, and you can see it then rise to its correct value of about 2%.
If I use a higher frequency like 1kHz this problem goes away. Here's 200Hz with a duty cycle of 50% showing the "Flash":
Here's the same thing, except with 1kHz at 50% duty cycle, now without the "Flash":
Going to a higher clock speed causes other problems though. Sometimes it takes 300ms for the Driver to respond to the Enable:
The above shows 2 seconds on, 2 seconds off with a 1kHz 50% duty cycle. Half the time it comes on within 10ms, but the other half it takes 300ms.
QUESTIONS
Why does it "Flash" at low input frequencies, and is there a way to fix this? We have a single board driving multiple LED drivers, and one model has to have 220Hz to avoid a capacitor resonance.
Why does it "Flash" with zero-duty-cycle PWM input? This is a valid user-selected value in our products.
Is there a proper specification for the minimum input frequency to avoid these problems?
Edit: Something in the chip has to "know" the difference between 200Hz and 1kHz. I'm guessing this might be one of the external resistors on the chip. Here's what the first diagram in the Data Sheet suggests, and what we're using in case that is the cause of our "low frequency problems">
Pin Data Sheet Our Value Notes
FDPWM 43.2k 43.2k Match - PWM Input Duty Cycle
FSW 523k 560k 950kHz approx
ISET 68k 47k 27.7mA
FDIM 953k 100k 2kHz value, but we're not using internal PWM mode.
It looks to me like changing the resistor on the FDPWM pin might make the chip work better at 220Hz than it does now. Except we're using the recommended value.
I'm a bit confused by the following in the manual:
ENABLE AND SOFT STARTUP
After the device is enabled, if the PWM pin is left floating, the output voltage of TPS61195 regulates to the
minimum output voltage. Once the IC detects a voltage on the PWM pin, the TPS61195 begins to regulate the
IFB pin current, as pre-set per the ISET pin resistor, times the duty cycle of the signal on the PWM pin.
There's no definition in the Data Sheet as to what "floating" is. What voltages? What currents? What value "pull" resistors are there in the chip and to what voltage? I'm guessing a voltage between the specified Vh and Vl of 2.1V and 0.7V.
The CPU we're using to generate the PWM doesn't have an easy option to "float" the pin as it has an internal pullup. I've tried forcing the voltage to a "floating level" of about 1V, but the chip can interpret that as either "0" or "1" and doesn't take it as "floating".
I2C Specification
We're not using this, but there's no specification of the maximum I2C frequency anywhere that I can find in the Data Sheet. Maybe that's part of the SMBus spec, but it would help if it was in the manual for anyone not connecting to an existing SMBus but driving it from I2C.
So what should DPWM be driven at (or to) when SMBus mode is used? The "RECOMMENDED OPERATING CONDITIONS" lists that "Fpwm_i" is "10kHz" when in "SMBus mode". Does that mean when using SMBus Mode a separate 10kHz signal has to be fed into DPWM? That isn't documented anywhere else. Unless that for is DPST Mode, but that is well hidden
Tom