Power Saving Mode (PSM)
Enable PSM
To enable PSM, set DO (Device Options) bit 3.
Note For NB-IoT, TCP and SMS support is dependent on the network. Contact your network provider for details.
Note The cellular module comes out of the PSM low-power state whenever any network activity occurs, including Remote Manager activity. See Verify the connection between a device and Remote Manager.
When PSM is enabled, the cellular component spends most of its time in a low power state. In the low power state the XBee 3 Cellular LTE-M/NB-IoT still has an IP address and is registered to the network, which allows for quick resumption of activity, but is not reachable so cannot receive IP or SMS traffic until it wakes up. This low power state is used even when taking advantage of XBee sleep features (such as Pin sleep mode or Cyclic Sleep), rather than powering the cellular component off entirely to ensure readiness when exiting sleep.
The cellular component wakes to participate in maintaining the network state periodically based on timers negotiated with the cell tower. It is also triggered to wake up when the user performs any activity requiring network connectivity such as mobile-originated traffic like sending an SMS or UDP/TCP traffic. When it wakes up, it spends a short time awake so that it is reachable through the network at that time and then returns to the low power state.
Overview of PSM functionality on XBee 3 Cellular
Before you enable PSM, you should be aware of these behaviors.
Actions taken when the cellular component enters a PSM dormant state
When the cellular component enters into the PSM "dormant" state:
-
Any existing TCP or TLS connections are immediately closed.
-
Existing sockets are implicitly closed.
-
Any queued or not-yet-in-progress transmissions such as data sent on sockets, or requested SMS transmissions, are canceled and an error status is returned.
Wake up a dormant cellular component
The following sections explain the different activities that will wake a dormant cellular component.
Mobile-originated activity
If the cellular component is "dormant" (AI = 0x2C), any mobile-originated activity which requires network connectivity will trigger the cellular component to wake up, including creating a TCP or TLS connection, sending a UDP datagram, or sending an SMS. Typical applications do not need to monitor ATAI to detect the PSM "dormant" state (AI = 0x2C), because this state will not cause these activities to error out.
Note In firmware versions ending in *16 and earlier, sending an SMS did not wake the cellular component.
Mobile-terminated activity
While the cellular component is in the PSM "dormant" state, the device is not reachable over the network, and mobile-terminated traffic such as SMS or IP connections will not trigger it to wake up.
Additional activities
Additional activities which will trigger the cellular component to wake up from PSM include:
-
Creating a TCP or TLS connection. This includes the connection implicitly created when using transparent mode or TX IPv4 API frames, as well as explicit connections like a Socket Connect API frame, or calling connect(...) on a MicroPython socket or using a MicroPython library which does so.
-
Creating a TCP "listener" socket.
-
Sending a UDP datagram.
-
Binding a UDP socket to a specific port.
-
Performing a DNS lookup request using ATLA, or socket.getaddrinfo(...) in MicroPython.
-
Using MicroPython to upload datapoints to Digi Remote Manager.
XBee 3 cellular device features that periodically wake up the cellular component
Features of the XBee 3 Cellular device which will automatically wake up the cellular component on a periodic basis include:
-
Digi Remote Manager status checks. See the DF command to control the interval of these checks.
-
Upload of health metrics to Digi Remote Manager. See the HM and HF commands.
XBee 3 cellular device features that continually wake up the cellular component
Features of the XBee 3 Cellular device that continually wake up the cellular component do not take advantage of power savings and should not be used in combination with PSM.
Features that continually wake up the cellular component include:
-
Persistent TCP connection to Digi Remote Manager (if bit 0 of MO is set).
-
Using a server/listening socket in transparent mode or API mode (if C0 is not 0 and AP is 0, 1 or 2).
XBee sleep features (Pin Sleep or Cyclic Sleep) and the PSM feature
You can use XBee sleep features (such as Pin Sleep or Cyclic Sleep) when the PSM feature is enabled. The sections below explain how they work together.
-
XBee sleep features (such as Pin Sleep or Cyclic Sleep) do not immediately put the cellular component into its PSM state. When PSM is enabled, during XBee sleep the cellular component continues to be powered so that it can manage the PSM active and tracking area timers and go into the PSM state on its own schedule. The XBee cannot and does not directly put the cellular component into a PSM dormant state.
-
When waking from XBee sleep (such as Pin Sleep or Cyclic Sleep), if the cellular component is in the PSM state (AI = 0x2C), it remains in the PSM state until there is activity which triggers it to wake up. In other words, XBee sleep is typically orthogonal to PSM.
Note In firmware versions ending in *16 and earlier, waking from XBee sleep would trigger the cellular component to wake up. This was changed in firmware version *17 to ensure better power-saving behavior.