Understanding PSM settings in NB-IoT

Xabier Crespo

One of our lines of work is cellular connectivity. In particular we are interested in pre-5G (according to 3GPP) technologies like NB-IoT and LTE-M. Quite often the project’s requirements mean we end up using regular 2G, but we are continuously exploring the newest available features to understand the pros and cons and choose what best suits our (and our customers) needs.

Today we are going to focus on one of these new features: Power Saving Mode (PSM) in Narrow Band IoT (NB-IoT). PSM has been introduced in both LTE-M and NB-IoT (along with eDRX which will not be covered today). There are a few things which you should know, but in short, the modem is put into a sort of sleep mode while staying registered to the cellular network. This last bit is key, because registering usually takes a large percentage of the time and energy of a duty cycle.

In PSM, the modem is put into a sleep mode while staying registered in the cellular network.

As we’ve said before, there are quite a few things to take into account:

  • The length of the PSM timer is decided by the network
  • The modem can wake up either automatically (when the timer expires) or manually (before the timer expires)
  • During PSM the device is not reachable

A typical power draw graph that represents the PSM cycle can be seen in the following image:

BG96 NBIoT mode - episode 2 - raw UDP data exchange and ...

Our test bench

Let’s now see what we have experienced. Our setup for the test consists of a Nordic Semiconductor Power Profiler Kit 2 (PPK2) to measure power consumption and our own cellular device that has an STM32 and a Quectel module. Regarding the PSM there are two timers that can be adjusted (and the network provider may deny):

  • Active Time or T3324: we request 10 seconds -> the network accepts
  • TAU period or T3412: we request 1 hour -> the network responds with 24h

The graph below represents the current consumption of two DATA-PSM cycles (click on the image to enlarge). In the graph you’ll notice that we’ve manually woken up the modem from PSM after ~30 seconds. 

The main takeout is that the second cycle is indeed shorter and consumes less energy because, in part, there is no network registration process. However we’ve tagged as “????” a period of time which has us really puzzled. Maybe the device is attaching to the network (not registering) but maybe it’s doing something we don’t expect at all. We still have to confirm this with the manufacturer.

Significantly the modem, after defining both active time and TAU length, goes into PSM automatically. It’s just a matter of waiting.

To sum up. While in PSM the current consumption is indeed really low, even while keeping the microcontroller in an active delay loop (in this case it drains just a couple mA). This can be optimized further by adjusting the power mode of the rest of the peripherals or sending the MCU to sleep, but this was beyond the scope of this experiment.

Useful links

  1. https://devzone.nordicsemi.com/nordic/power/w/opp/4/user-guide-lte
  2. https://www.rfwireless-world.com/Terminology/Difference-between-PSM-and-eDRX-in-GSM-LTE-M-NB-IoT.html
  3. https://www.link-labs.com/blog/lte-e-drx-psm-explained-for-lte-m1
  4. https://www.twilio.com/docs/iot/wireless/nb-iot-power-optimizations-edrx-psm
  5. https://www.digikey.es/es/articles/how-to-enable-power-saving-modes-of-nb-iot-and-cat-m

0 Comments

Leave a Reply

More great articles

Booting Linux on an Olimex board. Part 1: The Bootloaders

In this series of posts I'm going to explore in detail how to boot Linux in an Olimex A20-OLinuXino-LIME2 board.…

Read Story

GPS Tracker with balenaOS

At SC Robotics we've recently started using the Balena suite in some of our projects. Balena provides many tools to…

Read Story

Debugging a Cortex-M microcontroller

When I started working with ARM microcontroles, I found myself lost among large amounts of information about how to program…

Read Story
Arrow-up