Where to find information about nRF5X low power modes

Hello. I am currently learning about nRF52 and its low power capabilities. I am struggling to find any information about low power modes, how to use each low power mode, how to put the device into different low power modes and etc...

Simply doing google search "nrf52 low power modes" wont return any reasonable results from official sources (at least not Nordic). Perhaps someone could point me in the right direction?

So far, I have learnt that nRF52 devices have 2 low power modes:

1. System ON

2. System OFF

To enter System OFF mode, you can call function:

sys_poweroff();

as shown in the the Low Power State Sample for nRF5x at zephyr/samples/boards/nrf/system_off

However, I cannot find a single piece of information regarding System ON mode, how to use it? How to enter it?

I would really appreciate if someone could help me out regarding this and help me find the information sources for the nRF5x power saving.

Parents Reply
  • zazas321 said:
    For example, where can I find all the functions and API related to power saving (either system ON and system OFF)?

    System ON functions (__WFE()/__WFI()) are ARM intrinsic functions that are common for Cortex-M4 CPUs. Since this power management functions will run in the idle thread to enter this mode, you do not need to call these functions explicitly.

    zazas321 said:

    In the nordicsemi documentation about the system OFF mode, there are bunch of registers explained:

    https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fpower.html&cp=5_0_0_4_2_2&anchor=unique_458937164

    but I assume there should be functions already prepared to developers to enter/exit system OFF mode.

    For System OFF, this is implemented through the Power off libraries (sys_poweroff()) in Zephyr, and showcased in the System OFF sample you referenced in your initial post.

    zazas321 said:
    The only relevant information I have found about system OFF mode that actually shows how to enter the system OFF mode is the sample project (Low Power State Sample for nRF5x) and that sample uses sys_poweroff() function to enter system off mode. This function seems to be zephyr function but nothing is documented on the nRF52 side regarding using this function to enter the system off mode. Perhaps you could shed some light? Am I misunderstanding something or just being silly?

    The underlaying implementation is abstracted away when using Zephyr/ nRF Connect SDK. The function should do what is described in the Zephyr API documentation, but the underlaying implementation could differ between platforms and devices. Most Zephyr drivers and library implementations are not documented for every layer below the top layer documentation.

    If you want to have a look at how this function is implemented for the nRF5x platform, you can have a look at the sources.

Children
No Data
Related