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:
An excerpt from the above article mentions some power management details of the nRF9160 SiP not seen elsewhere so far: " A light and compact asset tracker ShipSafe takes advantage of the nRF9160’s compact dimensions (10 x 16 x 1 mm) to incorporate the SiP, a Wi-Fi chipset, sensors, LED, peripheral components, battery and Wi-Fi and Cellular antennas into a device measuring just 120 x 75 x 16 mm and weighing 145 gm. The nRF9160 SiP’s 64 MHz Arm® Cortex®-M33 processor provides sufficient computational power to not only run the LTE-M cellular connectivity but also all other product functionality. The 1 MB Flash and 256 KB RAM supports fast response and complex application software.
The nRF9160 SiP is certified for global cellular IoT applications, comprising a dedicated application processor and memory, multimode LTE-M/NB-IoT modem with integrated RF front end (RFFE), GPS, and power management in a compact package. The SiP incorporates the Arm M33 processor, Flash and RAM, a range of analog and digital peripherals, automated power and clock management, Arm TrustZone® for trusted execution, and Arm CryptoCell™ 310 for application layer security. The processor communicates with the LTE modem through a BSD secure sockets API and supports the application layer protocol (for example CoAP, MQTT or LWM2M) and the application itself. The nRF9160 SiP’s LTE modem supports both SIM and eSIM, offers 700 to 2200 MHz LTE band support, 23 dBm output power, and single pin 50 Ω antenna- and UICC-interfaces. The LTE stack layers L1-L3, IPv4/IPv6, TCP/UDP, TLS/DTLS are part of the modem firmware. "
nRF91 Series >> nRF9160 >> Guidelines
^ nRF9160 Sleep and Low Power 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':
2022-02-18 FRI - A post by developer Norbert asking about how to effectively disable UARTE for lower power operation . . .
^ 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. See Modem Sleep Notifications terms page.
- 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.