nPM2100 ship/hibernate mode wake up issues

I've got some timing-issues with the nPM2100. As I could not locate the relevant information in the datasheet, I'm requesting this here.

My PCB has an nPM2100 with a mechanical vibration sensor connected from SHPHLD to GND. GPIO0 is connected to a GPIO of a NRF54L15, which is powered by VOUT. I've configured GPIO as a OUTPUT and enabled SHPHLDFALL and SHPHLDRISE interrupts.

0x0A: 0b0000110 (RISE/FALL)
0x80: 0b0001010 (OUTPUT/PULLDOWN)
0x83: 0b0000010 (USAGE0 INT_HIGH)

First mention. I really do not understand, why while in ship mode, the tPWROFF (wakeup time on SHPHLD low) is 2000ms (nRF1300 isn't). Couldn't this be programmable in series version? Right now, I need to use hibernate mode with debounce filter off, which gives expected results having higher energy consumption.

Second aspect is, that triggering the interrupt after SHPHLD edge takes 100ms. And further more, what's the time SHPHLD must be kept in switched level to be detected? The currently applied sensor only produces low-pulses of <20µs, which mostly does not get recognized by the nPM2100 (even with 0R series resistor). Can I apply a capacitor? What about leakage currents?

Any guide would be helpful. Thanks.

Parents
  • Hello,

    Note that SHPHLD pin is not a normal GPIO and has specific signal levels. Abs max of the SHPHLD is 1.9V and the high level threshold is fixed 0.6V. It is mainly designed for button use and not to be driven with active circuit which could drive it too high voltage and cause leakage. So care should be taken when checking the signal that comes from the vibration sensor.

    The wakeup time from Ship mode is 1000ms and unfortunately it is not programmable. The main use case is with a button, so the requirement comes from there.

    The 100ms delay you have experienced is due to the SHPHLD debounce time. The programming range is from 10ms to 3000ms and default is 100ms. You can set this with DEBOUNCE.TIME register. So this is the minimum time the signal must be low to be detected. You can also disable the debounce filter with DEBOUNCE.ENABLE bit if you like more immediate response.

    Thanks.

    -Tomi

Reply
  • Hello,

    Note that SHPHLD pin is not a normal GPIO and has specific signal levels. Abs max of the SHPHLD is 1.9V and the high level threshold is fixed 0.6V. It is mainly designed for button use and not to be driven with active circuit which could drive it too high voltage and cause leakage. So care should be taken when checking the signal that comes from the vibration sensor.

    The wakeup time from Ship mode is 1000ms and unfortunately it is not programmable. The main use case is with a button, so the requirement comes from there.

    The 100ms delay you have experienced is due to the SHPHLD debounce time. The programming range is from 10ms to 3000ms and default is 100ms. You can set this with DEBOUNCE.TIME register. So this is the minimum time the signal must be low to be detected. You can also disable the debounce filter with DEBOUNCE.ENABLE bit if you like more immediate response.

    Thanks.

    -Tomi

Children
  • Thanks for you quick reply. Now worries, our sensor only drives to ground (which I mentioned in my post).

    Could the wakeup time be made configurable in series production? "It is designed for button usage" is not that helpful as I was expecting...

    I missed to mention (sorry), that I already disabled the debounce timer with writing 0b00000000 to 0xCA. Didn't I? What's the minimum time required for detection when debounce timer is disabled?

  • Hello,

    Unfortunately in nPM2100 we don't have configurability for the wakeup time from ship mode. We can consider this for the upcoming devices.

    Ok if I understood correctly the wakeup happens almost immediately but there is still 100ms delay for the interrupt even if the hibernate mode debounce timer is disabled? So that is due to internal hard coded debounce timer (separate from the hibernate mode wake up timer), 100ms for SHPHLD button press and 10ms for release. Unfortunately no configurability for that.

    SHPHLD detection for wake up from hibernate mode is quite quick when the hibernate mode debounce timer is disabled. Typically it takes 13us from SHPHLD falling edge to start the VOUT turn on cycle. The detection is based on the internal 4MHz clock in case of hibernate mode (not hibernate_PT). And it needs up to 3 clock cycles to detect the signal. Note also the signal level that it goes low enough to be detected.

    Note the GPIO pull-down increases the current consumption when the signal is high.     

Related