MP8860 One Time Programmable feature

The MP8860 datasheet suggests that it’s a One Time Programmable (OTP) device. Can the device be reprogrammed through I2C on-the-fly? Or just “one time?” Thanks.

Hi Stan and welcome to the forum.

The NVM (non volatile memory) is only One Time Programmable, so the settings on boot can only be set once, but the I2C interface will allow you to communicate with the device on the fly.

MP8860 I2C registers can be change on fly feasibly.
OTP ( One Time Programmable) is finished in MPS factory. It means you can customize the DEFAULT register values before we ship the samples to you.
Any question, let me know freely.

Hi Carlyle,

I’ll take this thread to ask something related to that.

I’m using the MP8862, which if I’m not mistaken is functionally the same as the MP8860 but with less output current capabilities, to power a variable load. This means we may have a 12V device, a 9V one, a 5V, 3.3V, etc. at the output.

The problem I have is related to the default values. If I understood the datasheet well, when driving the EN pin high, the chip enables and outputs its default Vout (which is 5V) before I could write a 0 to the EN bit of the CTL1 register through I2C. If I have a 3.3V device connected to VOUT, it could be damaged!

What can I do to prevent that?

Best regards,

Enrique

Perhaps you could use something like the MP28167-A, since it’s OTP affects the Vref boot value. Then you could select FB Resistors to allow boot at 3.3V, which you could scale up through the I2C interface during operation?

i want to program the NVM registers of mp8862 how do i do that there is no information regarding NVM registers

Over at GitHub - MisterHW/EVAL-MP8862: A self-contained MP8862 1..20.5V/2A buck-boost DCDC module for breadboard, evaluation and deployment you can see a software workaround that implements a startup sequences which immediately turns off the enable flag via I2C, then allows changing output voltage and current values.

The main problem here is one of communication, using “OTP” instead of “factory programmed”, and on a chip level the combined programming of calibration coefficients AND register defaults. Solution: offer a version that has CTL1.EN = 0 in addition to the currently offered -0000 one. Keeping CTL1.EN = 1 but changing the voltage to 0 would perhaps be an inferior approach in comparison, as it likely does away with proper ramping, instead requiring the voltage to be ramped in software.

As per datasheet, “Please work with an MPS FAE to create this unique number, even if ordering the “0000” code. MP8862GQ-0000 is the default version.”

Acknowledging that the power-up defaults are an inconvenience and possible failure mode in systems using < 5V, I’d kindly ask MPS to consider offering an MP8862GQ variant with CTL1.EN = 0 default via distributors.