MP2667 ship mode entry / exit

Can you confirm that the following scenarios work as described for MP2667 ship mode? Assume INT has a 100k pullup to VDD and no other connection.

  1. Assume initially Vin=5V and the battery is connected (in any state, e.g. charging, charge complete, PPM). Microcontroller writes FET_DIS=1. Later, when the power supply is disconnected (Vin=0V), the MP2667 will enter ship mode and remain there, and VSYS will be unpowered.

  2. Assume initially Vin=0V. Microcontroller writes FET_DIS=1. Immediately, the MP2667 will enter ship mode and remain there, and VSYS will be unpowered.

  3. While in ship mode, Vin is reconnected (Vin=5V). The MP2667 will exit ship mode and power VSYS as usual.

It seems to work as I’ve described but I would appreciate confirmation, because the descriptions in the data sheet are not fully clear to me (particularly for #3)

Hi jparis,

Thank you for contacting the MPS forum.

  1. Yes I believe this is true, you can set the FET_DIS = 1 and then disconnect the input to put your device into shipping mode.

  2. I don’t think you can set the MP2667 registers while input is 0V. I believe input must be high (Vin = 5V).

  3. I believe that you need to use the INT pin to take the device out of shipping mode. You can see how this works in page 21 of the datasheet.

I hope this clears things up for you. Please let me know if you need clarification on anything else and I will be sure to help you out.
Thanks,
Brendan Schoemehl
Field Applications Engineer
Monolithic Power Systems | MPS Now

I’m looking into a potential bug on this topic.

Similar to scenario 1+3 above, I’m finding that MP2667 will not resume charging in the following situation:

  1. Vsys is 0V, Battery is normal say 4V
  2. MCU writes FET_DIS=1 via i2c
  3. As expected, device enters ship mode and everything shuts down
  4. Connect VSYS to 5V
  5. Device Exits Shipping mode however the device refuses to charge
    5A) If the INT pin is held low for 500ms, then the device will begin charging

This is problematic because my MCU is not capable of pulling the INT pin low, it is only controlled via a button. (as an aside, if you do connect the INT pin to your MCU, you need to have a blocking diode to prevent leakage current into the MCU GPIO pin on most MCUs)

So is there a way to programmatically reset the logic of MP2667? It appears that writing to ADR0x01 Bit 7 "Register reset " = 1 just resets the registers, not the entire logic.

I’ve tried a number of things to escape this issue unfortunately I don’t have a great solution. I did find that if I set EN_HIZ = 1, it can force a reset however the user needs to press the power button in order to turn on the device when VSYS is applied.

I’m hoping that one of the undocumented reserve bits is a hard reset of the chip!

Hi Luke,

As I mentioned in our email conversation, right now INT is the only way to bring the device out of shipping mode. There is no way to bring the device out of shipping mode through software.

Thanks,
Brendan Schoemehl
Field Applications Engineer
Monolithic Power Systems | MPS Now