MP2797DFP-0001-T Configuration Not Retained After Power Cycle

Hello MPS Support Team,

I am using an MP2797DFP-0001-T based board without any external MCU. I connect the board directly to my PC through the I²C interface using the EVKT-USBI2C-02 and configure the MP2797DFP-0001-T with the MP2797 Desktop Program Tool.

I can successfully modify the configuration and click “Write All”. The board then operates according to the configured settings, even after disconnecting the PC and the I²C interface.

However, when I completely remove power from the board and power it up again, all configuration settings appear to be lost, and I need to configure the device again.

Could you please clarify the following:

  1. Does the “Write All” function write the configuration only to volatile registers (RAM), or does it also program the internal OTP memory?

  2. If OTP programming is required, what is the correct procedure?

  3. Are there any hardware requirements for OTP programming (battery connection, cell connections, REGIN voltage, etc.)?

  4. How can I verify whether OTP programming was successful?

  5. Is it expected behavior that the MP2797 loses all configuration after a power cycle if OTP has not been programmed?

  6. If the MP2797 is not intended to require reconfiguration after every power cycle, could you please advise how the configuration should be stored permanently so that it is automatically restored after power is reapplied?

Thank you for your support.

Hello, apologies for the delayed response.

The MP2797 is capable of MTP (multiple-time programming) up to three times. This means that you should be able to write to non-volatile memory multiple times and the settings should save upon power cycling. The datasheet specifies that some registers are OTP (one time programmable) and can only be written to non-volatile memory just once.

If your register settings are not being saved, then you must be writing your registers to volatile memory, where they should not save upon power cycling.

You can verify that you have successfully written to NVM via OTP/MTP when you power cycle the IC and your settings have saved.

I think it would be helpful to understand just exactly how you are programming your MP2797 IC in your GUI via screenshots.

So, to answer all questions concisely in the order asked:

  1. There should be a “Write All” function for RAM and NVM, you might be writing to RAM exclusively.

  2. The datasheet gives the following procedure to write to NVM via OTP/MTP:

    “To configure the MTP, apply 7.5V to the NSHDN pin and follow the steps below:

    1. Ensure that the NSHDN pin is set to 7.5V.
    2. Write the appropriate value to the register that allows MTP
    3. Write prior to the store command with the following command access code: 0xA5B6 (REG0xB9 = 0xA5B6).
    4. Send the command to store the register’s current value to the NVM by writing 1 to STORE_NVM_CMD (0xB8, bit[3]).
    5. Wait for STORE_IN_PROGRESS to go back to 0.
    6. Recover the NSHDN pin to 3.3V.” (refer to page 36 of the MP2797 datasheet)
  3. See steps as shown above. Be sure the MP2797 IC has it’s input voltage and is enabled. You can verify this by being able to detect the device on the GUI.

  4. If you power cycle the device and your register settings have saved, then you should know OTP/MTP was successful.

  5. This seems like a symptom of writing to volatile memory (RAM) as opposed to non-volatile memory (NVM)

  6. The MP2797 is intended to have NVM capabilities. Follow steps shown in 2

Let me know if there have been any updates since you had last posted. Looking forward to hearing back.

Best,

Krishan