2025-10-09 9:01 AM
We are evaluating the L9916 IC and need to test it with different settings.
We are following the information in the Datasheet and the Programming App Note. We keep the IGN, PHASE and LAMP pins at 0V right until the moment we send the ignition sequence (although we have also tried bringing it to 5V before that in order to match the oscillogram in the app note).
We also ensure that the data is valid at least until the half high period of the clock and are confident that the initial sequence matches the one described in the application note. We have tried with the clock speed from the oscillogram in the app note as well as with faster and slower clock speeds.
After the initial sequence is sent, the microcontroller reconfigures the pins connected to IGN (SCL) and PH (SDA) for I2C communication. Then, even though both pins have strong external pullups, the IGN (SCL) line is brought to 0V by the L9916 and held there indefinitely. This prevents I2C communication from occuring, since it's an invalid bus state.
What is the proper setup and sequence of events to put the L9916 in programming mode.
2026-05-13 4:02 AM
Everyone who has had to work with this chip has run into the same problem.
The problem is that there is a major error in the application note.
Basically, in the oscilloscope waveform that shows how to apply the 0xAFF3 initialization sequence, it is shown with a 5V amplitude.
This is WRONG — it MUST be 15.7V in amplitude, while at the same time 15.7V must also be applied to B+.
To program it, I use a 10K pull-up to 15.7V and a transistor to generate the startup sequence.
After that, everything works smoothly and it behaves like a normal I2C device.
Many people have had problems because of this, and ST still has not bothered to correct the application note.
You can use this circuit.