Hello CircuitDojo Community,
I am working on a Sparkfun Thing Plus nRF9160, developing firmware for a battery powered sensing device. Over the past day and half I have been searching for Nordic and other documentation on putting the nRF9160 SiP into its lower power and sleep modes. As I understand this part, the nRF9160 entails an LTE modem, a dedicated ARM processor to control the modem (provides AT command interpreter), and the larger ARM Cortex-M33 as developer’s application processor.
My first questions are:
(1) At a block diagram level is this “modem and two processors” description correct?
(2) To enter lower or lowest sleep modes need I turn off modem, modem processor, and app processor?
I have had some difficulty finding a diagram or description of Nordic’s nRF9160 sufficient to confirm that indeed there is some second, somewhat hidden processor to support the LTE modem. I observe however, when I have CONFIG_SERIAL=y in my prj.conf file, and am talking to the Sparkfun board serially, I can issue AT commands and turn on and turn off the modem. E.g. by issuing at+cfun=4
, and at+cfun=1
and similar. When the modem is off, however, the AT command parser is still consuming UART0 input and responds to AT commands. So that processor that’s running firmware other than my own is itself yet powered and consuming current, though the LTE modem is off.
Because it has been as difficult to find example apps showing deep sleep entry and wake up for the nRF9160 and supported boards, I think I may not yet be asking the correct questions. This leads to my remaining questions:
(3) Exists there a more detailed document which identifies the modem’s dedicated processor in the nRF9160?
(4) Are there any sample apps available, which show how to put nRF9160 into deep sleep mode and wake up?
Thanks in advance for any help the community here can offer!