LTE-M provides two power management modes that can extend the battery life for an IoT device up to 25%. The two modes, Power Saving Mode (PSM) and Extended Discontinuous Reception (eDRX), require different steps to configure them correctly.
In this article:
Power Saving Mode (PSM)
When a device enters PSM, the length of the PSM period is negotiated between the network and the device. Specifically, the device initiates PSM with the network and specifies two preferred timers when issuing its initial connection:
- The Extended Timer or “sleep” timer (T3412)
- The Active Timer (T3324)
The network can accept the values requested or set different values.
Per the 3GPP standard, the maximum value of the T3412 Extended Timer is 35,712,000 seconds or 413.33 days. However, the maximum value implemented by the MNO can be less than the 3GPP maximum and the optimal timer value settings will be based on the limits set by the cellular service provider.
On the Aeris network, the T3412 (sleep) timer values are a minimum of 240 minutes (4 hours) up to the maximum of 413 days specified in the 3GPP Release 13 standard. The Aeris Fusion IoT Network provides a maximum T3412 timer length of 12.9 days.
Setting Up Power Saving Mode
PSM must be supported on the LTE-M module and enabled using AT commands sent to the module. The specific commands are documented in the AT command guide for each specific module. While there is a standard AT command (AT+CPSMS) for setting timers supported by most module providers, Aeris testing has shown that each module provider has defined their own distinct AT commands for initiating PSM.
The following section describes the sleep and active timers and the AT commands to configure PSM.
Power Saving Mode Timers
Sleep Timer – T3412
For the T3412 timer (sleep time), the requested periodic TAU timer value is encoded per the GPRS Timer 3 specification (see section 10.5.7.4a of 3GPP TS 24.008) as follows:
- Bits 5 to 1 represent the binary coded timer value.
- Bits 6 to 8 define the timer value unit (table):
Timer 3 Value | Timer Value Incremented | Timer 3 Value | Timer Value Incremented |
---|---|---|---|
000xxxxx | 10 minutes | 100xxxxx | 30 seconds |
001xxxxx | 1 hour | 101xxxxx | 1 minute |
010xxxxx | 10 hours | 110xxxxx | 320 hours* |
011xxxxx | 2 seconds | 111xxxxx | Timer is deactivated |
* See the note in the 3GPP TS 24.008 specification, table 10.5.163a for additional information on this value.
EXAMPLE: 20 hours of sleep time
Start with 10 hours '010xxxxx' X Binary multiplier of 2 'xxx00010'
=01000010
Active Timer – T3324
The requested active timer value is a single binary string byte value defined by octet 3 of the GPS Timer 2 specification (see section 10.5.7.4 of 3GPP TS 24.008) as follows:
- Bits 5 to 1 represent the binary coded timer value.
- Bits 6 to 8 define the timer value unit (table):
Timer 3 Value | Timer Value Incremented |
---|---|
000xxxxx | 2 seconds |
001xxxxx | 1 minute |
010xxxxx | 1 decihour (6 minutes) |
111xxxxx | Timer is deactivated |
EXAMPLE: 20 hours of active time
Start with 2 seconds '000xxxxx' X Binary multiplier of 10 'xxx01010'
=00001010
Enabling Power Saving Mode
If a device must wake up every 20 hours, send information, wait for incoming data for 30 seconds, and go back to sleep, then use the PSMS AT Command listed below for the relevant device.
Module Type | Command |
---|---|
General (most modules) | AT+CPSMS=1,,,"<T3412 Timer>","<T3324 Timer>" |
UBlox | AT+UPSMS=1,,,"<T3412 Timer>","<T3324 Timer>" |
Quectel | AT+QPSMS=1,,,"<T3412 Timer>","<T3324 Timer>" |
Telit | AT#CPSMS=1,,,"<T3412 Timer>","<T3324 Timer>" |
If you are using the Quectel BG96 modem, you would issue the following sequence.
To enable PSM:
AT+QCFG="psm/urc",1
To set the timer values:
AT+QPSMS=1,,,"<01000010>","<00001010>"
The settings above configure a sleep timer of 20 hours and a wake time of 20 seconds. A device checking in once per day to send a small amount of sensor data might utilize this setting.
Verify that the timer value submitted was granted by the network.
If you are using the Quectel module, use the AT+QPSMS? command to check the timer value. The timer value returned will be in seconds.
To set the timer values for 20 hours and 20 seconds:
AT+QPSMS?
+QPSMS: 1,,,"72000","20"
Turning Off Power Saving Mode
To turn off PSM mode, the AT command you use depends on the type of module being used.
For the Quectel module, the AT command is as follows:
AT+QPSMS=0
The 0
disables Power Saving Mode.
As with any power saving mode, the current drawn in low power mode will depend on the module used and the circuit design. Proper circuit design ensures external pins are in the correct state during low power mode to avoid extra current draw. Depending upon the application being implemented, it is advised to compare the current drawn by the module in low power mode during the OFF period to the current drawn by the module in full power ON state. For certain applications it may still be more power efficient to remove power completely from the module and power up as required rather than using the PSM implemented on the module.
Extended Discontinuous Reception (eDRX)
Only certain periods are allowed for eDRX which are listed in the table below along with the AT command setting for enabling them. The full AT command sequence will be shown later.
Enabling eDRX does not adversely affect the module’s ability to send data, but does turn off reception for the configured cycle interval in order to save power. For example, when sending a UDP packet to the device during its eDRX cycle (antenna sleep), the UDP packets will queue on the carrier’s network. The UDP packets will be delivered when the eDRX cycle ends and the data transfer window reopens.
Aeris supports all documented 3GPP values for the eDRX cycle, ranging from ~5s (5.12) to ~3hrs (10485.76s). Values are represented by bit strings of the form:
EDRX Setting | eDRX Cycle |
---|---|
"0000" | 5.12s |
"0001" | 10.24s |
"0010" | 20.48s |
"0011" | 40.96s |
"0101" | 81.92s |
"1001" | 163.84s |
"1010" | 327.68s |
"1011" | 655.36s |
"1100" | 1310.72s |
"1101" | 2621.44s |
"1110" | 5242.88s |
"1111" | 10485.76s (~175min) |
To configure eDRX on both the u-blox SARA-R410-02b and Quectel BG96 modules, use the AT+CEDRXS command with the following input parameters:
AT+CEDRXS=2,4,"0011"
This command sets the eDRX interval for ~40 seconds, after which the unit will be able to receive traffic or will receive any traffic queued on the network.
The response to the command is shown below with the last interval stated as the network specified paging time window (the period of time the device can be reached).
+CEDRXP: [4,"0011","0011","0111"]
In the response above, the requested and granted eDRX intervals are the first and second values. The third value represents the length of the paging window (“0111”=10.24s).
For this example, the unit will have the antenna off for approximately 40 seconds, followed by an antenna on period of 10 seconds. This period is known as the paging time window.
Paging Time Value | Paging Time Window |
---|---|
0000 | 1.28s |
0001 | 2.56s |
0010 | 3.84s |
0011 | 5.12s |
0100 | 6.4s |
0101 | 7.68s |
0110 | 8.96s |
0111 | 10.24s |
1000 | 11.52s |
1001 | 12.8s |
1010 | 14.08s |
1011 | 15.36s |
1100 | 16.64s |
1101 | 17.92s |
1110 | 19.20s |
1111 | 20.48s |
To disable eDRX when finished with testing or reconfiguring a device to no longer use eDRX, use the following command:
AT+CEDRXS=0,4
eDRX is indicated by the 0
and LTE-M by the
4
.
0 Comments