System Power Off

I am working on a device that I want to be able to store powered off for long periods of time. Ideally, I could enter a low power state that the user can exit by plugging in a USB cable.

I was able to find this older devzone post, and want to be able to accomplish "If you manage to put the board in System Off, then it should automatically do a wakeup from System off when the valid VBUS voltage has been detected."

 https://devzone.nordicsemi.com/f/nordic-q-a/89069/wake-device-using-usb-in-zephyr 

How can I configure this in Zephyr? I tried to use the sys_poweroff command, but it behaves like a system restart instead. Is there a specific power state I need to force, and do I need to make any modification to the .dts so that the vbus signal acts like an interrupt? 

https://docs.zephyrproject.org/latest/services/poweroff.html

Parents
  • Hi,

    As described in the Product specifications, wakeup from System OFF mode includes GPIO, LPCOMP, NFCT, USB or a reset. You can reference the nRF5x System Off demo sample in Zephyr on how to enter SystemOFF mode. Note that you should power cycle the board after programming, to make sure it is not in debug interface mode, which will force Emulated System OFF mode.

    It is not possible to disable the USB VBUS as wakeup source, and there is no need to configure this explicitly.

    Best regards,
    Jørgen

  • Thank you Jørgen for the response.

    The system off command used in the sample is the same that I have been trying to use in code. The device does seem to power off, but then almost immediately starts back up. The VBUS pin is low, and I have both disconnected the JTAG and restarted the device. Is there a way to record what is causing the power on event? Are there any other systems similar to USB VBUS where they are enabled by default to power on the device? I have nothing in my board file setup to be a wakeup source.

  • Maybe disable the NFC pins (if enabled):

    "In System OFF, the NFCT Low Power Field Detect function can wake the system up through a reset. 
    If the system is put into System OFF mode while a field is already present, the NFCT Low Power Field
    Detect function will wake the system up right away and generate a reset"

    We save the RESETREAS register before the errata are applied.

    Edit: note a coil is not required for System Off reset, just a differential 1.2 volts between the 2 pins, such as a finger touch or photodiode .. might try this, be a useful feature for low-power wakeup. The NFC pins are high-impedance in System OFF; thus sensitive to noise.

Reply
  • Maybe disable the NFC pins (if enabled):

    "In System OFF, the NFCT Low Power Field Detect function can wake the system up through a reset. 
    If the system is put into System OFF mode while a field is already present, the NFCT Low Power Field
    Detect function will wake the system up right away and generate a reset"

    We save the RESETREAS register before the errata are applied.

    Edit: note a coil is not required for System Off reset, just a differential 1.2 volts between the 2 pins, such as a finger touch or photodiode .. might try this, be a useful feature for low-power wakeup. The NFC pins are high-impedance in System OFF; thus sensitive to noise.

Children
Related