4310 views|1 replies

6547

Posts

0

Resources
The OP
 

Which one is more power-efficient, NB-IoT devices or Cat-M devices? [Copy link]

Improving the battery life of Internet of Things (IoT) devices is one of the main goals of low-power wide area network (LPWAN) technologies. Therefore, power saving features are an important part of cellular LPWAN technologies, NB-IoT (Cat-NB1 and Cat-NB2) and Cat-M (LTE-M, also known as Cat M1). But how are these features used and what is the impact on current consumption?
With the goal of answering these questions, this article explores the definition of power saving features, timers and their calculation methods, and commands to enable these features. All of this is accompanied by a visualization of the current consumption curve to understand the impact on energy consumption.

Power saving modes for NB-IoT and Cat-M

NB-IoT and Cat-M technologies have two basic power saving features: power saving mode (PSM) and extended discontinuous reception (eDRX). PSM enables devices to set sleep and activity timers that are forwarded to the network: periodic tracking area update (TAU) (T3412) and active time (T3324) (Figure 1). If accepted by the network, the network will keep the device registered with the system for a set time, and if the device wakes up during this time, there is no need to re-do the connection procedure (detaching and reconnecting procedures are energy-intensive). During the sleep interval, the device is not accessible, but due to the timer, the network knows when the device will wake up next, and how long it will be active to receive paging messages. The device can be set to deep sleep mode for up to 14 days.
eDRX is extended in time compared to the conventional DRX currently available in LTE networks. eDRX extends the time that the device does not listen to the network during the active period. For many IoT devices, being unreachable for a few seconds or more is acceptable. This reduces power consumption, while the device is still accessible compared to applying PSM. The compromise is that the power reduction is not as large as PSM. eDRX can be configured by timer paging cycle length (PCL) and paging time window (PTW) (Figure 1).
The commands to set the PSM and eDRX timers on a cellular module are defined in the 3GPP technical specification TS 27.007 as follows:
AT+CPSMS=[<mode>,,[, <RequestedPeriodicTAU>[, <RequestedActiveTime>]]]
AT+CEDRXS=[<mode>[, <AcT-type>[, <Requested_eDRX_value>]]]
The exception is PTW. This article will describe a PTW command created by Thales that is specific to the Cinterion modules that Thales uses as the Device Under Test (DUT):
AT^SEDRXS=[<mode>[, <AcT-type>[, <Requested_eDRX_value>][, <Requested_Paging_time_window>]]]
In addition, the so-called suspend mode will be introduced, which is another dedicated power saving feature provided by Thales for Cinterion modules to further push the module into the lowest energy state. This command only needs to be set once.
AT^SCFG="MEopMode/PowerMgmt/Suspend",1
Figure 1: Power saving features, PSM timers (periodic TAU and active time) and eDRX timers (PCL and PTW). (Image source: Thales)

Setup

To visualize the low power modes, two different Cinterion modules from Thales and the Otii power analyzer from Qoitech were used.
For the PSM timer, the DevKit ENS22-E from Thales was used, which was soldered to a module dedicated to NB-IoT. The measurements in NB-IoT were done in commercial networks (roaming) using a global MNO SIM card. For the
eDRX timer, the pure Cat-M module Cinterion EMS31 on an LGA DevKit was used. Since there is no Cat-M network in Germany where the tests are conducted, the module was connected to the Amarisoft Cat-M network emulator via an antenna (not a cable).
The Otii from Qoitech is a multifunctional power analyzer that has three purposes in this case:
  • For visualization and power curve analysis
  • Used to control the radio module (via GPIO pins)
  • For power measurement and UART log synchronization (via RX/TX pins and main power)
The wiring is shown in Table 1.
Figure 2: Measurement setup: Thales LGA development kit with cellular module and Qoitech's Otii. (Image source: Thales)
[td]
LGA DevKit Pinout Otii Pinout
On GP02
RTS0 GP01
TXD0 TX
RXD0 RX
GND DGND
VUSB +5V
PWR(A) +
GND -
Table 1: Pin connections for the Figure 2 setup.
This post is from Wireless Connectivity
 

6547

Posts

0

Resources
2
 
For the PSM measurements, the Cinterion ENS22-E NB-IoT module (range 2.8 - 4.2 V) was powered with 3.6 V (Figure 3) to make the results comparable to the rated current consumption described by the module hardware interface. The digital levels of the GPOs needed to be set to 3 V (Figure 3).
Figure 3: Otii project SUPPLY settings. (Image source: Thales)
VUSB => +5 V - This is needed to power the LGA DevKit. NOTE! Do not power the DevKit additionally via USB.
Therefore, the DevKit switch at the bottom left of the board is set to PWR – EXT on the left and ASC0 – RS232 on the right (Figure 4).
Figure 4: DevKit switch settings. (Image source: Thales)
According to the measurement setup, the UART command line from the Otii application was used. This command line needs to be enabled in the LOGS section of the Otii project settings.
By default, the serial interface ASC0 (RX0/TX0 routing) has a transmission speed of 115200 baud (Figure 5).
Figure 5: Otii project LOGS settings. (Image source: Thales)

How is the PSM timer calculated?

For PSM, the AT+CPSMS command is used to set the requested periodic TAU (T3412) period and the requested active time (T3324). The value needs to be entered in 8-bit binary format, where the first 3 bits represent the base multiplier of the 5-bit binary number. This is specified in 3GPP and can be found in the following specification: TS 24.008 (Figure 6).
Figure 6: Periodic TAU and active time calculation in 3GPP TS 24.008. (Image source: Thales)
As an application example, the module will be configured to send a Tracking Area Update message to the network every 7 minutes. This means that the periodic TAU will be set to 7 minutes or 420 seconds.
For 7 minutes, a 1 minute (101) multiplier with a value of 7 (00111) or a 30 second (100) multiplier with a binary value of 14 (01110) can be used (Figure 6).
The active time is set in the same way, but with a different base value. For example, a 10 second active time would use a value of 000 as a 2 second base multiplier and 00101 (equal to 5), so the command would be:
at+cpsms=1,,,10001110,00000101How

to set the PSM timer?

After enabling the Devkit power supply (5 V, see Figure 7) and the module power supply (3.6 V, see Figure 7), start the simulation by turning GPO2 (Figure 7) on for about 2 seconds and then off.
Figure 7: Otii power switch. (Image source: Thales)
The module will indicate this with the following URC (Unsolicited Result Code) in the UART log after startup:
  1. \sHI2115-ssb-codeloaderl\e\sHI2115-codeloader&\e
  2. ^SYSSTART
Now you can pass AT commands to the module to 1) enable suspend mode, 2) enable register status display, and 3) check and set the PSM timer:
  • As mentioned previously, the Thales proprietary power saving feature can be enabled by sending a configuration command only once. This setting is non-volatile and remains until changed. at^scfg="MEOpMode/PowerMgmt/Suspend","1"
    1. at^scfg="MEOpMode/PowerMgmt/Suspend","1"
    2. ^SCFG: "MEOpMode/PowerMgmt/Suspend","1"
    3. OK
    4. +CIEV: suspendAvailable,1
    The module will notify that suspend is now available via the +CIEV URC. If suspend is already enabled, there will be no suspendAvailable URC.
  • After sending "at+cereg=5", the module will notify the user of changes in the module registration status via URC. This setting is volatile and must be reset after a reboot. In the case where the module is already registered, it may only reply OK. In this case, the status can be requested by sending "at+cereg?"
    1. at+cereg=5
    2. OK
    3. at+cereg?
    4. +CEREG: 5,5,C9F9,00323333,9,,,00001111,10100111
    5. | | | | | |_Periodic-TAU(T3412): 10m
    6. | | | | |__________Active-Time (T3324): 30s
    7. | | | |_______________Act:E-UTRAN(NB-S1 mode)
    8. | | |________________________CI - cell ID
    9. | |_______________________________TAC - Tracking Area Code
    10. |_______________________________stat:5 registered roaming
    In the example above, the module is registered in roaming mode and displays the PSM values currently configured by the network (TAU every 10 minutes with an activity time of 30 seconds).
  • Now, the requested values can be set by the "at+cpsms" command. This command will trigger the module to send a TAU (Tracking Area Update) message to the network. In the reply message (Tracking Area Update Accept) from the network, the module will receive the values that must be followed. In other words, the network decides which values to take. These values will hopefully be the same as the requested values, but this is not guaranteed. It depends on the mobile network operator and whether they allow the requested values or replace them with their values (which are sometimes fixed).
  1. at+cpsms=1,,,10001110,00000101
  2. OK
  3. at+cereg?
  4. +CEREG: 5,5,C9F9,00323333,9,,,00001111,10010100
  5. | | | | | |_Periodic-TAU(T3412): 7m
  6. | | | | |__________Active-Time (T3324): 30s
  7. | | | |_______________Act:E-UTRAN(NB-S1 mode)
  8. | | |________________________CI - cell ID
  9. | |_______________________________TAC - Tracking Area Code
  10. |_______________________________stat:5 registered roaming
  11. +CIEV:suspendReady,0
  12. +CIEV:suspendReady,1
The module will use the suspendReady URC to indicate when it is ready to enter suspend mode. Once the indication of "suspendReady,1" is received, the module can be put into suspend mode for 5 seconds (5 seconds is the default value and can be changed, see the module AT specification file) by setting RTS0 (i.e. GPO1, Figure 7).

What effect does the PSM timer have on energy consumption?

As a reference measurement, Figure 8 shows the current profile of the Cinterion ENS22-E NB-IoT in default mode (no PSM, eDRX or suspend mode enabled).
Figure 8: Reference measured current consumption curve without any power saving modes enabled. (Image source: Thales)
The expected average current consumption in the marked area is about 16 mA.
With the PSM timers enabled (in this case, 7 minutes of periodic TAU and 10 seconds of active time), and the network accepting these timers, the current consumption drops to an average of 13 mA (Figure 9).
Note that the network may ignore the request for a PSM timer and suggest a different timer. Different MNOs and different networks often have very different sets of allowed timers, so this needs to be understood before deploying IoT devices.
Figure 9: Current consumption curve when PSM is enabled. (Image source: Thales)
If suspend mode is set, the module will indicate that it is ready to suspend using the URC (Unsolicited Result Code). After toggling the RTS signal, in this case set as GPO1 in Otii (Figure 7), the module enters suspend mode with an average current consumption of about 3 A (Figure 10).
Figure 10: Current consumption curve when suspend mode is enabled. (Image source: Thales)

How to calculate the eDRX timer?

When setting the eDRX timer value, the calculation method used is very simple. There are timers applicable to each radio access technology, as shown in the table in Figure 11.
Figure 11: eDRX timer definition in 3GPP TS 24.008. (Image source: Thales)

How to set the eDRX timer?

The impact of using eDRX can be demonstrated on the LGA DevKit with a Cinterion EMS31 pure Cat-M module. This LTE-M module has a supply voltage range of 3.2 - 5.5 V. Otii will supply it with 3.8 V. In the project settings of the Otii application, the main voltage must be adjusted (Figure 3).
After the module boots up, as indicated by the ^SYSSTART URC, the PSM timer needs to be increased to have a longer active period (5 minutes) to better see the impact of eDRX [(set at+cpsms=1,,,00000110,00100101), disable eDRX (at+cedrxs=0) and enable register status display via at+cereg=4].
  1. ^SYSSTART
  2. +CIEV: prov,1,sbmjp
  3. at+cedrxs=0
  4. OK
  5. at+cpsms=1,,,00000110,00100101
  6. OK
  7. at+cereg=4
  8. OK
To verify that eDRX has been disabled as requested, use the at+cedrxrdp command to read the current dynamic eDRX parameters.
  1. at+cedrxrdp
  2. +CEDRXRDP: 0
Once the module has registered with the network, it should receive the associated URC showing a registered status with an active time of 5 minutes.
  1. +CEREG: 1,"0001","01A2D004",7,,,"00100101","00000110"
  2. | |_TAU(T3412): 60min
  3. |_____Active-Time(T3324): 5min
When measured using the Otii application, continuous radio listener peaks can be seen every 1.25 ms during the active time, as shown in the area around the 1 minute timestamp in Figure 10.
Now, the command to enable eDRX is sent using the 3GPP command at+cedrxs or using the Thales specific command at^sedrxs. The disadvantage of the 3GPP command is that the paging time window (PTW) cannot be set, while the dedicated AT command implemented on the Thales Cinterion module does.
According to the table in Figure 10, the eDRX value in Cat-M is set to 20.48 seconds ("0010") and the paging time window is 5.12 seconds ("0011").
  1. at^sedrxs=2,4,0010,0011
  2. OK
  3. +CEDRXP: 4,"0010","0010","0011"
The module will notify the user of the change in eDRX values via a +CEDRXP URC showing the requested eDRX (PCL) value "0010", the value set from the network and must also be used from the module [2nd "0010"]) and the PTW ("0011").
The module needs some time to adapt to the changed cycle and will eventually show the eDRX behavior as shown in Figure 12.

What is the impact of the eDRX timer on energy consumption?

The eDRX timer has an impact only during the active phase. The shorter the configured active period, the lower the impact of eDRX.
eDRX is suitable for devices that require long intervals of network access or even no access at all. During this time, the receiver part of the device will be enabled only during a specific time interval (PTW), which is repeated for each eDRX (PCL) cycle. Due to the timer being set, the mobile network knows in which time frames the device will listen for paging and will send pages for the device only during that time frame. This will also save resources on the network (eNodeB) side.
The default setting is PTW, which is set to 5 seconds without eDRX enabled (Figure 12). With eDRX enabled, the average current consumption drops from 3 mA to 2 mA.
Figure 12: Paging window set to 5 seconds as reference, without eDRX enabled; on the right is the same PWT but with eDRX enabled. (Image source: Thales)

Summary

Depending on the IoT device use case and available network technology, different power saving features can be used to extend the battery life of the device.
Using PSM, a device can be set to a deep sleep mode of up to 14 days.
The device will wake up periodically according to the set interval, connect to the network, and optionally send data. After entering the connected state, the device will be active but idle for a short period of time, and listen for incoming data during this active time. During this active time, the device can use eDRX to configure the time slots when the device enables its receiver.
All settings are done in cooperation with the network. The network always knows when and how long the device can receive data.
Devices using Cat-M technology will require more power than NB-IoT devices. The longer the device sleeps, the more power is saved. The shorter and fewer time slots the device listens for incoming data, the more optimized its energy consumption.
Therefore, in the best case, NB-IoT devices are most power efficient when the maximum PSM and minimum active time are set and there is only one listening peak (PTW is minimum).
This post is from Wireless Connectivity
 
 
 

Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list