This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 5.2.1.1 sleep wake on mode

Hi 

There is a lot of sleep mode at 5.2.1.1

Could you explain what the different between "ION_RAMON_EVENT", "ION_RAMON_POF", "ION_RAMON_GPIOTE", and "ION_RAMON_GPIOTEPORT" this four modes?

And our application is connect a GPIO to a button, and press button to wake up nRF52840 from sleep

So which one mode for deepest low power at sleep we can select?

Thank you~~

BR/Poki

Parents
  • The chip can operate in two different states, system ON and system OFF:

    • System ON is the normal state where all peripherals and the CPU is ready to be used (not necessarily running)
      • The CPU will usually wait in a WFE state (Wait For Event) if it's not doing anything. This is called System ON IDLE mode.
      • To get the CPU out of the WFE and start running, you need an event (this is obvious from the name, Wait For Event).
      • There are several things that can cause an event, e.g. the RTC timer, a GPIO interrupt, etc:
        • ION_RAMON_EVENT: Chip is in system ON IDLE mode, all RAM powered on, and CPU is waiting for an event. This is the base current of this state. No wakeup source is configured.
        • ION_RAMON_RTC: This is the base current above plus the RTC timer and LFCLK running used for waking up. This is the most common wakeup source, as it will generate periodic events.
        • ION_RAMON_POF: This is the base current plus the Power on fail comparator enabled, which can create an event and wake the chip up.
        • ION_RAMON_GPIOTE: This is the base current plus the GPIOTE IN event enabled. The GPIOTE IN event consumes quite a bit of current and might not be suitable for a low power application.
        • ION_RAMON_GPIOTEPORT: This is the base current plus the GPIOTE PORT event. The PORT event has a very low current consumption. The disadvantage is lower accuracy in some use cases. The PORT event is generated for all GPIOs configured with the sense mechanism, and the CPU will have to decide which pin was actually pressed after wakeup. In most cases this is not a problem and is the preferred way of waking up the chip using a button.

    • In system OFF, everything is shut down and the chip can only wake up on external signals (like GPIO button press). The chip wakes up in reset mode, which means that the chip will be reinitialized, and code will start to run from the beginning of main.
      • IOFF_RAMOFF_RESET: This is the base current in System OFF mode. No wakeup sources configured.
      • If you want to wake up on GPIO, there is a DETECT signal in the GPIO module which will wake up the chip if the GPIO sense mechanism is configured. This is not listed in the current consumption table you referred to, but it does not consume any extra current, so you will see the same as the base current above (IOFF_RAMOFF_RESET)
        • This will be the deepest low power state, with GPIO wakup/button press. 0.4 µA
        • The chip will wake up in reset state when the button is pressed.
Reply
  • The chip can operate in two different states, system ON and system OFF:

    • System ON is the normal state where all peripherals and the CPU is ready to be used (not necessarily running)
      • The CPU will usually wait in a WFE state (Wait For Event) if it's not doing anything. This is called System ON IDLE mode.
      • To get the CPU out of the WFE and start running, you need an event (this is obvious from the name, Wait For Event).
      • There are several things that can cause an event, e.g. the RTC timer, a GPIO interrupt, etc:
        • ION_RAMON_EVENT: Chip is in system ON IDLE mode, all RAM powered on, and CPU is waiting for an event. This is the base current of this state. No wakeup source is configured.
        • ION_RAMON_RTC: This is the base current above plus the RTC timer and LFCLK running used for waking up. This is the most common wakeup source, as it will generate periodic events.
        • ION_RAMON_POF: This is the base current plus the Power on fail comparator enabled, which can create an event and wake the chip up.
        • ION_RAMON_GPIOTE: This is the base current plus the GPIOTE IN event enabled. The GPIOTE IN event consumes quite a bit of current and might not be suitable for a low power application.
        • ION_RAMON_GPIOTEPORT: This is the base current plus the GPIOTE PORT event. The PORT event has a very low current consumption. The disadvantage is lower accuracy in some use cases. The PORT event is generated for all GPIOs configured with the sense mechanism, and the CPU will have to decide which pin was actually pressed after wakeup. In most cases this is not a problem and is the preferred way of waking up the chip using a button.

    • In system OFF, everything is shut down and the chip can only wake up on external signals (like GPIO button press). The chip wakes up in reset mode, which means that the chip will be reinitialized, and code will start to run from the beginning of main.
      • IOFF_RAMOFF_RESET: This is the base current in System OFF mode. No wakeup sources configured.
      • If you want to wake up on GPIO, there is a DETECT signal in the GPIO module which will wake up the chip if the GPIO sense mechanism is configured. This is not listed in the current consumption table you referred to, but it does not consume any extra current, so you will see the same as the base current above (IOFF_RAMOFF_RESET)
        • This will be the deepest low power state, with GPIO wakup/button press. 0.4 µA
        • The chip will wake up in reset state when the button is pressed.
Children
No Data
Related