Zephyr ncs sleep modes
Zephyr and Nordic ncs Sleep Modes 2022-01-15 Tuesday
Contents
Some posts and links to follow:
-
And from this post, note however these forum replies are for Nordic nRF5x family parts:
- https://devzone.nordicsemi.com/f/nordic-q-a/51648/how-to-put-nrf52840-to-deep-sleep-system-off/207410#207410 post ~two years ago (2019) by Nordic Semi Amanda Hsieh
- https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52832.ps.v1.1%2Fpower.html&cp=4_2_0_17_1&anchor=unique_2047546596
Looking now more closely at nRF9160 System in Package (SiP):
- https://infocenter.nordicsemi.com/topic/nwp_041/WP/nwp_041/sleep_types/flight_mode_sleep.html
- https://infocenter.nordicsemi.com/topic/nwp_041/WP/nwp_041/example_sequences/uplink_data_psm.html
- https://infocenter.nordicsemi.com/topic/ps_nrf9160/product_overview.html
- https://infocenter.nordicsemi.com/topic/ps_nrf9160/chapters/current_consumption/doc/frontpage.html
Oh and a note on nRF9160 watchdog timer:
This looks important:
^ 2022-02-17 Thursday
Continuing the search at https://nordicsemi.com with pattern "nRF9160 application processor", first a news press then the downloads page for this SiP:
^ nRF9160 Sleep Mode Forum Posts
nRF9160 sleep mode not working in SDK 'nrf' v1.6.1, works in 1.7.0 . . .
Symbol 'PSM' may be a more apt symbol for which to search, also looks like power savings modes may only be practical with certain network providers:
2022-02-16 WED - Inquiring at CircuitDojo about where to find low power, sleep and deep sleep mode settings, APIs for these in nRF9160 based designs:
In first reply a recommendation to review `nfed` sample application named 'active_sleep':
^ nRF9160 Power Saving Mode(s) Examples
Power Savings Mode Ten Minutes Period Example
Excerpts from this post:
-
"In order to achieve the lowest possible current consumption, logging has to be turned off. This is done by,
Adding the CONFIG_SERIAL=n flag to the prj.conf file in the project folder.
Adding the CONFIG_SERIAL=n to the SPM prj.conf file. This is located in the SDK_ROOT/nrf/samples/nrf9160/spm folder."
An example from Jared Wolff of CircuitDojo, see line 135 in main.c:
Zephyr Project documentation regarding `k_cpu_idle()`:
^ Terms
There are a lot of terms and acronyms associated with LTE modem and Nordic Semi SoC and SiP parts. Here we capture a few of those in our quest for low power modes understanding.
- UICC . . . Universal Integrated Circuit Card
- eDRX . . . Extended Discontinuous Reception
-
Found mention of eDRX while searching Nordic Devzone forum for 'UICC':
https://devzone.nordicsemi.com/f/nordic-q-a/76896/rerouting-at-interface-for-power-measurement-using-external-supply/318244#318244
^ Pattern Searches in Zephyr and NRF Repositories
Some searches whose results to further explore . . .
ted@localhost:~/projects/zephyr-based/zephyr$ grep -nr sleeping ./* ./arch/arm/core/aarch32/cpu_idle.S:125: * Lock PRIMASK while sleeping: wfe will still get interrupted by ./arch/arm/core/aarch32/nmi_on_reset.S:12: * is to hard hang, sleeping. ./boards/posix/native_posix/doc/index.rst:56:simulated CPU is sleeping. ./doc/guides/porting/arch.rst:226:yielding/sleeping primitives.