Other Parts Discussed in Thread: LP5569
We are using the LP55231 to blink eight white LEDs in different patterns at moderate frequencies (~100 Hz). The surrounding circuitry is identical to the example layout illustrated under "Typical Application" on page 1 of the datasheet (CLK is tied to ground). We are using an nRF52 to control the LEDs via I2C. Due to restrictions in our application we cannot use the built-in program engine.
Unfortunately, we can see with the naked eye that something is not right. Take the following sequence of events, for example:
- Set PWM for D1 to 0xFF
- Wait 5 ms
- Set PWM for D1 to 0x00
- Wait 5 ms
One would expect this to result in a smooth PWM signal on the LED, but we are observing random events where the LED remains on or off for a fraction of a second. In other words, it looks like the duty cycle is more like 80 % for one cycle every once in a while. Observing the I2C bus with a logic analyzer reveals that all communication happens flawlessly without interruption. We are also able to read the "D1 PWM" register after writing to it to confirm that the correct value has been written. We loaded up the program engine with a simple program to perform the same sequence of actions, and it works perfectly.
Do you know why we might be seeing this effect? If not, do you have tips on how we can investigate this futher?
I am happy to provide further information, please do not hesitate to ask.