Unexpected Wakeup from Hibernate Mode via SHPHLD with Rising-Edge Configuration on nPM2100

Hi Nordic team,

I'm using the nPM2100 PMIC in my design to power a microcontroller. The microcontroller sets the nPM2100 into Hibernate mode, and a vibration sensor connected to the SHPHLD pin is used to wake the system on movement.

  • The vibration sensor is normally closed, pulling SHPHLD to GND (low) during rest.

  • The PMIC is configured to wake on a Rising Edge on SHPHLD (via register 0xC2 = 1).

  • SHPHLD is internally pulled up.

Exclamation Problem:

When the SHPHLD pin is already high before entering Hibernate, the nPM2100 immediately wakes up, even though no edge transition occurred. This seems to contradict the expected edge-based wakeup behavior.

To eliminate external factors:

  • I replaced the vibration sensor with a mechanical switch (same logic behavior).

  • No bounce or glitches were observed.

  • Wakeup occurs immediately if SHPHLD is already high when Hibernate is entered.

Attached you’ll find two charts:

 Chart with upwards trend Figure 1: Shows the SHPHLD wakeup trigger occurring without any edge transition at Hibernate entry (Rising-Edge configuration).


Chart with upwards trend Figure 2: Same scenario with Falling-Edge configuration (0xC2 = 0) — no false wakeups occur. Behavior is now correct and stable.

This leads me to believe that:

The nPM2100 may internally default to a low reference state for SHPHLD edge detection during Hibernate entry. If the pin is already high, this is interpreted as a Rising Edge, triggering a wakeup immediately.

This behavior is not described in the nPM2100 Product Specification.

White check mark Temporary workaround:

I switched to Falling-Edge detection and inverted the logic. This now works reliably.


Pushpin My questions:

  1. Is this a known behavior or a bug in the Hibernate wakeup edge detection logic?

  2. Does the PMIC not properly reference the current SHPHLD state when entering Hibernate?

  3. Can this be addressed in firmware, or should Falling-Edge be considered the only reliable mode?

Thanks in advance – let me know if you'd like more test logs or register traces.

Best regards,
Philipp

Related