CHF | EUR | USD

Wie die Energiesparmodi NB-IoT und Cat-M aktiviert werden können und der erwartete Energieverbrauch

Von Markus Pihl, Vanja Samuelsson

Die Erhöhung der Batterielebensdauer von Internet of Things (IoT)-Geräten ist eines der Hauptziele von Low Power Wide Area Network (LPWAN)-Technologien. Aus diesem Grund sind Stromsparfunktionen ein wesentlicher Bestandteil der zellularen LPWAN-Technologien NB-IoT (Cat-NB1 & Cat-NB2) und Cat-M (LTE-M aka Cat M1). Aber wie werden sie eingesetzt und welche Auswirkungen auf den aktuellen Verbrauch lassen sich beobachten?

In diesem Artikel geht es darum, diese Fragen zu beantworten, indem die Definitionen der Energiesparfunktionen, die Zeitgeber und ihre Berechnung sowie die Befehle, die sie ermöglichen, untersucht werden. All dies wird von einer Visualisierung des aktuellen Verbrauchsprofils begleitet, um ein Verständnis für die Auswirkungen auf den Energieverbrauch zu gewinnen.

Energiesparmodi von NB-IoT und Cat-M

Es gibt zwei wesentliche Energiesparfunktionen für NB-IoT- und Cat-M-Technologien: Stromsparmodus (PSM) und erweiterter diskontinuierlicher Empfang (eDRX).

PSM ermöglicht es dem Gerät, Ruhe- und aktive Timer zu setzen, die an das Netzwerk weitergeleitet werden: Periodische Aktualisierung des Tracking-Bereichs (TAU) (T3412) und aktive Zeit (T3324) (Abbildung 1). Wenn vom Netzwerk akzeptiert, wird das Netzwerk das im System registrierte Gerät für die eingestellte Zeit im System behalten, und wenn das Gerät während dieser Zeit aufwacht, ist kein erneutes Anbringen erforderlich (das Abtrennen und Wiederanbringen kann sehr energieaufwändig sein). Während des Sleep-Intervalls ist das Gerät nicht erreichbar, aber das Netzwerk weiß aufgrund der Timer die nächste Aufwachzeit des Gerätes und wie lange es aktiv sein wird, um Paging-Nachrichten zu empfangen. Es ist möglich, ein Gerät für bis zu 14 Tage in einen Tiefschlafmodus zu versetzen.

eDRX verlängert die Laufzeit des regulären DRX, der bereits heute in den LTE-Netzen existiert. Sie ermöglicht eine längere Zeit für das Gerät, um nicht während der aktiven Zeitphase auf das Netzwerk zu hören. Für viele IoT-Geräte ist es akzeptabel, für einige Sekunden oder länger unerreichbar zu sein. Der Stromverbrauch ist geringer, dennoch ist das Gerät im Vergleich zur Anwendung von PSM immer noch erreichbar. Der Kompromiss besteht darin, dass der Rückgang des Stromverbrauchs nicht so groß ist wie bei PSM. eDRX kann mit den Timern Paging Cycle Length (PCL) und Page Time Window (PTW) konfiguriert werden (Abbildung 1).

Die Befehle zum Einstellen von PSM- und eDRX-Zeitgebern auf einem Zellularmodul sind in der Technischen Spezifikation TS 27.007 des 3GPP wie folgt definiert:

AT+CPSMS=[<mode>,,[, <RequestedPeriodicTAU>[, <RequestedActiveTime>]]]

AT+CEDRXS=[<mode>[, <AcT-type>[, <Requested_eDRX_value>]]]

PTW ist die Ausnahme. Dieser Artikel stellt einen Befehl für PTW vor, der von Thales erzeugt wird und spezifisch für die als Prüfling (DUT) verwendeten Thales Cinterion®-Module ist:

AT^SEDRXS=[<mode>[, <AcT-type>[, <Requested_eDRX_value>][, <Requested_Paging_time_window>]]]

Zusätzlich wird der so genannte Suspend-Modus eingeführt, eine weitere Thales-spezifische Energiesparfunktion für die Cinterion-Module, um das Modul weiter in den Zustand mit dem geringsten Energieverbrauch zu bringen. Dieser Befehl muss nur einmal eingestellt werden.

AT^SCFG="MEopMode/PowerMgmt/Suspend",1

Diagramm der Energiesparfunktionen, PSM-Timer und eDRX-Timer (zum Vergrößern anklicken)<Abbildung 1: Energiesparfunktionen, PSM-Timer (periodische TAU- und Aktivzeit) und eDRX-Timer (PCL und PTW). (Bildquelle: Thales)

Die Einrichtung

Zur Visualisierung der Niedrigleistungsmodi wurden zwei verschiedene Sätze von Cinterion-Modulen von Thales zusammen mit und dem Otii Power Analyzer von Qoitech verwendet.

Für die PSM-Timer wurde das Thales DevKit ENS22-E verwendet, das bereits auf ein NB-IoT only-Modul aufgelötet ist. Die Messungen wurden im Live-Netz (Roaming) im NB-IoT mit einer globalen MNO-SIM-Karte durchgeführt.

Für eDRX Timer wurde das Cinterion® EMS31, Cat-M only Modul auf einem LGA DevKit verwendet. Aufgrund des Fehlens eines Cat-M-Netzes in Deutschland, wo die Tests durchgeführt wurden, wurde dieses Modul über eine Antenne (nicht verkabelt) an einen Amarisoft Cat-M-Netz-Simulator angeschlossen.

Der Otii von Qoitech ist ein vielseitiger Leistungsanalysator, der in diesem Fall für drei Zwecke eingesetzt wird:

  • Zur Visualisierung und Leistungsprofilanalyse
  • Zur Steuerung der Funkmodule (über GPIO-Pins)
  • Für die Leistungsmessung und UART-Log-Synchronisierung (über RX/TX-Pins und Netz)

Die Verkabelung erfolgte gemäß Tabelle 1.

Bild des LGA Dev-Kits mit Zellmodul von Thales und Otii von Qoitech<Abbildung 2: Der Messaufbau: LGA Dev-Kit mit Zellmodul von Thales und Otii von Qoitech. (Bildquelle: Thales)

LGA DevKit-Stifte Otii-Nadeln
Ein GP02
RTS0 GP01
TXD0 TX
RXD0 RX
GND DGND
VUSB +5V
DWR(A) +
GND -

Tabelle 1: Pin-Anschlüsse für den Aufbau in Abbildung 2.

Für die PSM-Messung wurde das Cinterion ENS22-E NB-IoT-Modul (Bereich 2,8 - 4,2 V) mit 3,6 V gespeist (Abbildung 3), um das Ergebnis mit den Stromverbrauchswerten der Hardware-Schnittstellenbeschreibung des Moduls vergleichbar zu machen. Der digitale Spannungspegel für die GPOs muss auf 3 V eingestellt werden (Abbildung 3).

Bild des Otii-Projekts SUPPLY-Aufbau<Abbildung 3: Aufbau des Otii-Projekts SUPPLY. (Bildquelle: Thales)

VUSB => +5 V - Diese Versorgung wird zur Versorgung des LGA-DevKit benötigt. Achtung! Do nicht das DevKit zusätzlich über USB mit Strom versorgen.

Dementsprechend sind die DevKit-Schalter auf der linken unteren Seite der Platine auf links PWR - EXT und links ASC0 - RS232 eingestellt (Abbildung 4).

Abbildung der Einrichtung von DevKit-Schaltern<Abbildung 4: Einrichtung der DevKit-Schalter. (Bildquelle: Thales)

Entsprechend dem Messaufbau wurde die UART-Befehlszeile innerhalb der Otii-Anwendung verwendet. Sie muss in den Einstellungen des Otii-Projekts im Abschnitt LOGS aktiviert werden.

Die serielle Schnittstelle ASC0 (RX0/TX0-Verkabelung) arbeitet standardmäßig mit einer Geschwindigkeit von 115200 Baud (Abbildung 5).

Bild der Einrichtung des Otii-Projekts LOGS<Abbildung 5: Einrichtung der LOGS des Otii-Projekts. (Bildquelle: Thales)

Wie berechnet man PSM-Zeitgeber?

Für das PSM wurde der Befehl AT+CPSMS verwendet, um den angeforderten periodischen TAU-Zyklus (T3412) und die angeforderte aktive Zeit (T3324) einzustellen. Der Wert muss in einem 8-Bit-Binärformat eingegeben werden, wobei die ersten 3 Bits den Basismultiplikator einer 5-Bit-Binärzahl darstellen. Dies entspricht den Vorgaben des 3GPP und ist in der Spezifikation zu finden: TS 24.008 (Abbildung 6).

Bild der Berechnung der periodischen TAU und der aktiven Zeit aus 3GPP TS 24.008<Abbildung 6: Berechnung der periodischen TAU und der aktiven Zeit aus 3GPP TS 24.008. (Bildquelle: Thales)

Als Anwendungsbeispiel wird das Modul so konfiguriert, dass es alle 7 Minuten eine Aktualisierungsnachricht für den Tracking-Bereich an das Netzwerk sendet. Das bedeutet, dass die periodische TAU auf 7 Minuten oder 420 Sekunden eingestellt wird.

Für 7 Minuten kann ein Multiplikator von 1 Minute (101) mit einem Wert von 7 (00111) oder ein Multiplikator von 30 Sekunden (100) und dem Wert binär 14 (01110) verwendet werden (Abbildung 6).

Die Aktivzeit funktioniert entsprechend, jedoch mit unterschiedlichen Basiswerten. Beispielsweise hätte eine 10-Sekunden-Aktivzeit die Werte 000 als 2-Sekunden-Basismultiplikator und 00101, was gleich 5 ist, was den Befehl ergibt:

at+cpsms=1,,,10001110,00000101

Wie werden die PSM-Timer eingestellt?

Nachdem die Stromversorgung für das Devkit (5 V, siehe Abbildung 7) und die Modulversorgung (3,6 V, siehe Abbildung 7) aktiviert wurde, wird der Start durch Ein- und Ausschalten des GPO2 (Abbildung 7) für ca. 2 Sekunden eingeleitet.

Abbildung der Otii-Leistungsschalter<Abbildung 7: Otii Netzschalter. (Bildquelle: Thales)

Das Modul startet und zeigt dies mit dem folgenden URC (Unsolicited Result Code) im UART-Protokoll an:

\sHI2115-ssb-codeloaderl\e\sHI2115-codeloader&\e

^SYSSTART

Jetzt können at-Befehle an das Modul übergeben werden, um 1) den Suspend-Modus zu aktivieren, 2) die Anzeige des Registrierungsstatus zu aktivieren und 3) die PSM-Timer zu überprüfen und einzustellen:

  1. Wie bereits erwähnt, muss die Thales-spezifische Energiesparfunktion aktiviert werden, indem ein Konfigurationsbefehl nur einmal gesendet wird. Diese Einstellung ist nicht flüchtig und bleibt erhalten, bis sie geändert wird.

    at^scfg="MEOpMode/PowerMgmt/Suspend","1"

    ^SCFG: "MEOpMode/PowerMgmt/Suspend","1"

    OK

    +CIEV: suspendAvailable,1

    Das Modul wird mit einem +CIEV URC ankündigen, dass die Suspend-Funktionalität jetzt verfügbar ist. Für den Fall, dass die Suspendierung bereits aktiviert war, wird es keine suspendierbare URC geben.

  2. Nach dem Senden von "at+cereg=5" wird das Modul den Benutzer mit URCs über Änderungen des Registrierungsstatus des Moduls informieren. Diese Einstellung ist flüchtig und muss nach Neustarts wiederholt werden. Falls das Modul bereits registriert ist, antwortet es möglicherweise nur mit OK. In diesem Fall kann der Status über "at+cereg?" abgefragt werden.
    Kopieren
    at+cereg=5
    OK
     
    at+cereg?
    +CEREG: 5,5,C9F9,00323333,9,,,00001111,10100111
              |   |    |      |      |        |_Periodic-TAU(T3412): 10m
              |   |    |      |      |__________Active-Time (T3324): 30s
              |   |    |      |_________________Act:E-UTRAN(NB-S1 mode)
              |   |    |________________________CI - cell ID
              |   |_____________________________TAC - Tracking Area Code
              |_________________________________stat:5 registered roaming
    

    Im obigen Beispiel ist das Modul im Roaming-Modus registriert und zeigt die aktuell konfigurierten PSM-Werte des Netzwerks an (TAU alle 10 Minuten mit einer aktiven Zeit von 30 Sekunden).

  3. Nun können die gewünschten Werte mit dem Befehl "at+cpsms" eingestellt werden. Dieser Befehl veranlasst das Modul, eine TAU-Nachricht (TAU = Tracking Area Update) an das Netzwerk zu senden. In der Antwortnachricht (Tracking Area Update Accept) aus dem Netzwerk erhält das Modul die Werte, die in Aktion gesetzt werden müssen. Mit anderen Worten: Das Netzwerk entscheidet, welche Werte übernommen werden. Hoffentlich sind die Werte die gleichen wie gefordert, aber das ist nicht gesichert. Es hängt vom Mobilfunknetzbetreiber ab und davon, ob er die geforderten Werte zulässt oder sie durch seine, manchmal festen, Werte überschreibt.
Kopierenat+cpsms=1,,,10001110,00000101
OK
 
at+cereg?
+CEREG: 5,5,C9F9,00323333,9,,,00001111,10010100
          |   |    |      |      |        |_Periodic-TAU(T3412):  7m
          |   |    |      |      |__________Active-Time (T3324): 30s
          |   |    |      |_________________Act:E-UTRAN(NB-S1 mode)
          |   |    |________________________CI - cell ID
          |   |_____________________________TAC - Tracking Area Code
          |_________________________________stat:5 registered roaming
 
+CIEV: suspendReady,0
 
+CIEV: suspendReady,1

Das Modul zeigt mit dem suspendReady URC an, wann es in den Suspend-Modus eintreten kann. Sobald "suspendReady,1" angezeigt wird, ist es möglich, das Modul in den Suspend-Modus zu versetzen, indem RTS0, d.h. GPO1 (Abbildung 7), für 5 Sekunden eingestellt wird (5 Sekunden ist die Voreinstellung und kann auch geändert werden, siehe Dokument "Module at-specification").

Welche Auswirkungen haben PSM-Zeitgeber auf den Energieverbrauch?

Als Referenzmessung zeigt Abbildung 8 das aktuelle Profil für die Cinterion ENS22-E NB-IoT im Standardmodus, daher ist kein PSM, kein eDRX und kein Suspend-Modus aktiviert.

Bild des aktuellen Verbrauchsprofils für die Referenzmessung (zum Vergrößern anklicken)Abbildung 8: Stromverbrauchsprofil für die Referenzmessung ohne aktivierte Energiesparmodi. (Bildquelle: Thales)

Der erwartete durchschnittliche Stromverbrauch im markierten Bereich beträgt ca. 16 mA.

Sobald die PSM-Timer aktiviert sind, in diesem Fall die periodische TAU von 7 Minuten und 10 Sekunden aktiver Zeit, und das Netzwerk diese akzeptiert hat, sinkt der Stromverbrauch auf durchschnittlich 13 mA (Abbildung 9).

Beachten Sie, dass das Netzwerk die Anfrage nach den PSM-Zeitgebern hätte ignorieren und andere vorschlagen können. Verschiedene Mobilfunknetzbetreiber und verschiedene Netzwerke haben im Allgemeinen sehr unterschiedliche Timer-Sets, die sie zulassen, daher muss dies vor dem Einsatz von IoT-Geräten verstanden werden.

Bild des aktuellen Verbrauchsprofils bei aktiviertem PSM (zum Vergrößern anklicken)Abbildung 9: Stromverbrauchsprofil, wenn PSM aktiviert ist. (Bildquelle: Thales)

Wenn der Suspend-Modus eingestellt ist, zeigt das Modul mit einem URC (Unsolicited Result Code) an, dass es zum Suspendieren bereit ist. Nach dem Umschalten des RTS-Signals, in diesem Fall im Otii auf GPO1 (Abbildung 7) eingestellt, geht das Modul in den Suspend-Modus mit einem durchschnittlichen Stromverbrauch von ca. 3 µA (Abbildung 10).

Bild des aktuellen Verbrauchsprofils, wenn der Suspend-Modus aktiviert ist (zum Vergrößern anklicken)<Abbildung 10: Stromverbrauchsprofil bei aktiviertem Suspend-Modus. (Bildquelle: Thales)

Wie berechnet man eDRX-Timer?

Die Timer-Werte für die Einstellung von eDRX werden in einem einfachen Ansatz berechnet. Es gibt Timer für jede Funkzugangstechnologie, wie in der Tabelle in Abbildung 11 dargestellt.

Bild der Definition von eDRX-Zeitgebern aus 3GPP TS 24.008<Abbildung 11: Definition von eDRX-Zeitgebern aus 3GPP TS 24.008. (Bildquelle: Thales)

Wie setzt man eDRX-Timer?

Die Wirkung der Verwendung von eDRX kann mit dem Nur-Cat-M-Modul Cinterion EMS31 Cat-M auf einem LGA-DevKit demonstriert werden. Dieses LTE-M-Modul hat einen Stromversorgungsbereich von 3,2 - 5,5 V. Es wird vom Otii mit 3,8 V versorgt. Die Hauptspannung muss in den Projekteinstellungen der Otii-Anwendung angepasst werden (Abbildung 3).

Nach dem Start des Moduls, angezeigt durch den ^SYSSTART URC, müssen die PSM-Timer auf eine längere aktive Phase (5 min) erhöht werden, um den eDRX-Effekt besser sehen zu können [(set at+cpsms=1,,,00000110,00100101), deaktivieren Sie eDRX (at+cedrxs=0) und aktivieren Sie die Anzeige des Registrierungsstatus mit at+cereg=4].

Kopieren
^SYSSTART
 
+CIEV: prov,1,sbmjp
 
at+cedrxs=0
OK
 
at+cpsms=1,,,00000110,00100101
OK
 
at+cereg=4
OK 

Um zu überprüfen, ob eDRX wie angefordert deaktiviert wurde, verwenden Sie den Befehl at+cedrxrdp, der die aktuellen dynamischen eDRX-Parameter liest.

Kopieren
at+cedrxrdp
 
+CEDRXRDP: 0

Sobald das Modul im Netzwerk registriert wird, sollte die zugehörige URC empfangen werden, die den Registrierungsstatus mit einer aktiven Zeit von 5 Minuten anzeigt.

Kopieren
+CEREG: 1,"0001","01A2D004",7,,,"00100101","00000110"
      |         |_TAU(T3412):  60min
                                   |_____Active-Time(T3324): 5min

Bei der Messung mit der Otii-Anwendung sind während der aktiven Zeit alle 1,25 ms im Bereich um den 1-min-Zeitstempel die kontinuierlichen Spitzenwerte der Radiohörer zu sehen, wie in Abbildung 10 dargestellt.

Jetzt wird der Befehl zum Aktivieren von eDRX entweder mit dem 3GPP-Befehl at+cedrxs oder mit dem Thales-spezifischen Befehl at^sedrxs gesendet. Der Nachteil des 3GPP-Befehls ist, dass es keine Möglichkeit gibt, das Paging-Zeitfenster (PTW) einzustellen, was mit dem auf dem Thales Cinterion-Modul implementierten dedizierten AT-Befehl möglich ist.

Gemäß der Tabelle in Abbildung 10 wurde der eDRX-Wert in Cat-M auf 20,48 Sekunden ("0010") mit einem Paging-Zeitfenster von 5,12 Sekunden ("0011") eingestellt.

Kopieren
at^sedrxs=2,4,0010,0011
 
OK
 
+CEDRXP: 4,"0010","0010","0011"

Das Modul informiert den Benutzer über die Änderung des eDRX-Wertes, wobei +CEDRXP URC den angeforderten eDRX (PCL)-Wert von "0010" anzeigt, der vom Netzwerk gesetzt wurde und auch vom Modul verwendet werden muss (2nd "0010"), sowie den PTW ("0011").

Das Modul benötigt einige Zeit, um sich an die veränderten Zyklen anzupassen und wird schließlich das eDRX-Verhalten zeigen, wie in Abbildung 12 zu sehen ist.

Welche Auswirkungen haben eDRX-Timer auf den Energieverbrauch?

eDRX-Timer wirken sich nur in der aktiven Phase aus. Je kürzer eine aktive Phase konfiguriert ist, desto geringer ist der eDRX-Effekt.

eDRX eignet sich gut für Geräte, die für ein langes Zeitintervall oder sogar die ganze Zeit über das Netzwerk erreichbar sein müssen. Innerhalb dieser Zeit wird der Empfängerteil des Geräts nur für ein bestimmtes Zeitintervall (PTW) aktiviert, das in jedem eDRX (PCL)-Zyklus wiederholt wird. Aufgrund der eingestellten Timer weiß das Mobilfunknetz, in welchen Zeiträumen das Gerät Pagings abhören wird, und sendet nur während dieses Zeitraums ein Paging für dieses Gerät. Dadurch werden auch Ressourcen auf der Netzwerkseite (eNodeB) eingespart.

Die Standardeinstellung ist PTW, eingestellt auf 5 Sekunden, ohne dass eDRX aktiviert ist (Abbildung 12). Sobald eDRX aktiviert ist, steigt der durchschnittliche Stromverbrauch von 3 mA auf 2 mA.

Bild des Paging-Zeitfensters, das als Referenz auf 5 Sekunden eingestellt ist, ohne dass eDRX aktiviert ist (zum Vergrößern anklicken)Abbildung 12: Paging-Zeitfenster, als Referenz auf 5 Sek. gesetzt, ohne aktivierten eDRX, und dieselbe PWT, aber mit aktiviertem eDRX auf der rechten Seite, markiert. (Bildquelle: Thales)

Zusammenfassung

Je nach Anwendungsfall des IoT-Geräts und der verfügbaren Netzwerktechnologie können verschiedene Energiesparfunktionen verwendet werden, um die Batterielebensdauer eines Geräts zu verlängern.

Mit Hilfe des PSM ist es möglich, ein Gerät für bis zu 14 Tage in einen Tiefschlafmodus zu versetzen.

Das Gerät wird entsprechend dem eingestellten Intervall periodisch aufwachen, sich mit dem Netzwerk verbinden und die Möglichkeit haben, Daten zu senden. Kurz nach dem verbundenen Zustand ist das Gerät aktiv, aber im Leerlauf und hört während der aktiven Zeit auf eingehende Daten. Innerhalb dieser aktiven Zeit können die Slots, in denen das Gerät seinen Empfänger aktiviert, mit eDRX konfiguriert werden.

Alle Einstellungen werden in Zusammenarbeit mit dem Netzwerk vorgenommen. Das Netzwerk weiß immer, wann und wie lange ein Gerät Daten empfangen kann.

Ein Gerät, das in Cat-M arbeitet, benötigt mehr Strom als ein NB-IoT-Gerät. Je länger ein Gerät schläft, desto mehr Energie könnte eingespart werden. Je kürzer und weniger Zeitfenster ein Gerät auf eingehende Daten wartet, desto optimaler ist sein Verbrauch.

Daher ist im besten Fall ein NB-IoT-Gerät mit einem maximalen PSM und einer minimalen aktiven Zeit mit nur einer Hörspitze (PTW minimal) der leistungsoptimierteste Ansatz.

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der Digi-Key Electronics oder offiziellen Politik der Digi-Key Electronics wider.

Über den Autor

Markus Pihl

Markus Pihl is a Senior Application Engineer at Thales with an Engineering degree in Telecommunication Technologies. He has 20 years of experience in the telecom industry with a focus on mobile networks. The last 4 years he has moved to work in depth with mobile devices, and in specific the cellular LPWAN Cinterion modules for Thales DIS.

Vanja Samuelsson

Vanja Samuelsson is the Founder of Qoitech. Her background is in product development for the telecom industry and most recently research and innovation on 5G, cellular IoT connectivity and low power IoT at Sony. Vanja has a Master of Science degree and a PhD in Electrical Engineering from Lund University, Sweden.