nRF91シリーズのPSMとeDRXについて
2024.12.10(2025.01.08 更新)
![](https://www.kgdev.co.jp/wp-content/uploads/PSMとeDRX-2.png)
こんにちは。
加賀デバイスのNordic Teamです。
今回のコラムではPSMやeDRXの動作について紹介したいと思います。
LTE-Mを使うIoT製品(特にバッテリー駆動製品)では低消費電力が求められる事がよくあります。
nRF91シリーズで低消費電力を実現されるためには、Application processorとModemの二つを低消費電力にする必要があります。
*nRF91シリーズの構成については こちら が参考になります。
Applicatio processorはZephyr OSを使用することで必要な時以外はIDLEモードになります。
また、不要な周辺機能をdisableにすることで低消費電力にすることが出来ます。
Modemはネットワークとどのような接続をするかによって消費電力が大きく変わってきます。
そこでModem動作の低消費電力に大きくかかわるPSMとeDRXの動作について紹介したいと思います。
◢◤PSMとeDRXの動作について
PSMやeDRXについてはNordicのDevAcademyの””やDevzoneのBlog記事で詳しく説明しているのでこのコラムと合わせてご参照頂ければと思います。
Maximizing battery lifetime in cellular IoT
PSMとeDRXの動作波形は下記のようは波形となります。
![](https://www.kgdev.co.jp/wp-content/uploads/PSMとeDRX.png)
〇Data transfer
データの送受信を行う期間です。
この期間は扱うデータサイズによって決まるため、システム設計次第で変わってきます。
〇RRC Inactivity Timer
送受信が終了してからRRC IDLE期間に入るまでの時間です。
この期間は3GPP release 14から追加されたAS-RAIの機能を使えれば削減できるらしいのですが、日本の基地局のほとんどがrelease 14の機能に対応していないと聞いています。(*2024/12/09現在)
AS-RAIの機能については先ほど紹介したDevzoneのBlog記事の中で説明しているのでご参照頂ければと思います。
What is AS-RAI and how does it work
実際に下記コマンドを使用して試してみましたがRRC Inactivity Timerが短縮されるような動作は確認が取れませんでした。
3GPP Release 14 features %REL14FEAT(nRF9160)
Release assistance indication %RAI(nRF9160)
Release assistance indication %RAI(nRF9151/61)
*nRF91xxのModemfirmawareは3GPPのrelease14に対応済みのため%REL14FEATコマンドは不要
〇Periodic TAUとActive timer
PSM(Power Saving Mode)はPeriodic TAUの間隔で受信可能状態と低消費電力状態を繰り返します。
受信可能状態はActive timerの期間となります。
Periodic TAUとActive timerの設定はNordicでは下記ATコマンドを使用します。
Power saving mode setting +CPSMS(nRF9160)
Power saving mode setting +CPSMS(nRF9151/61)
受信動作が不要で送信のみで良い場合はActive timerを”0″にセットすれば最短で低消費電力状態に移行します。
〇eDRX CycleとPaging time Window
eDRXはAvctive timerの期間の中で、eDRX Cycleの間隔で受信可能状態と低消費電力状態を繰り返します。
受信可能期間はPaging time Windowの期間となります。
eDRX CycleとPaging time Windowの設定はNordicでは下記ATコマンドを使用します。
eDRX setting +CEDRXS(nRF9160)
PTW setting %XPTW(nRF9160)
eDRX setting +CEDRXS(nRF9151/61)
PTW setting %XPTW(nRF9151/61)
データを受信しない機器であればPSMを積極的に使い、低消費電力にすることが可能となります。
データを受信する機器であれば、許容できる受信間隔に合わせてPSMやeDRXの使用を検討して頂ければと思います。
データ送信についてはeDRXやPSMに関係なく、Application ProcessorからModemに指示を送ればいつでも実行可能です。
データ送信が行われた時はPSMやeDRXのカウントはその時点でリセットされ、0からカウントが開始されます。
◢◤キャリアによる動作の違い
実際にPSMやeDRXの電流波形を取得してみると、キャリアにより違いが出てきます。
A社、B社、C社に接続した時の波形を示します。
測定環境は下記となります。
同一の環境、同一の場所、同一のSIMを使用して、違いはキャリアのみとなります。
ハードウェア:nRF9160 DK
ソフトウェア:Serial LTE Modem
モデムバージョン:MFW 1.3.6
〇 A社
![](https://www.kgdev.co.jp/wp-content/uploads/nRF9160_sakura_docomo_加工済み.png)
〇 B社
![](https://www.kgdev.co.jp/wp-content/uploads/nRF9160_sakura_KDDI_加工済み.png)
〇 C社
![](https://www.kgdev.co.jp/wp-content/uploads/nRF9160_sakura_softbank_加工済み.png)
RRC Inactivity Timerの時間に大きな違いがあり、A社が一番長く、C社が一番短い結果となりました。
縦軸の電流値も違いがあり、B社が一番低い値となりました。
これは基地局との距離や送受信の電波強度によって変わってきます。
◢◤PSMやeDRXの設定における注意事項
PSMやeDRXの設定用のリクエストコマンドを送っても、必ずしもその値で設定されるわけではなく、ネットワーク側との交渉によりPriodic TAU、Active timer、eDRX cycle、Paging time Windowが設定されます。
これは前半でご紹介したDevAcademyの記事にも注意事項として記載されています。
![](https://www.kgdev.co.jp/wp-content/uploads/注意事項.png)
PSMやeDRXがどのような値で設定されたのか確認する方法として、%XMONITORコマンドが用意されています。
Modem parameters %XMONITOR(nRF9160)
Modem parameters %XMONITOR(nRF9151/61)
実際に設定出来ている時と、設定されない時を見てみたいと思います。
測定環境は先ほど電流値を測定した環境と同じです。
〇 A社
![](https://www.kgdev.co.jp/wp-content/uploads/PSM設定_docomo-5.png)
AT+CPSMSのコマンドで下記のようにリクエストを出しています。
Periodic TAU:101(1分)× 01010(10) -> 10分
Active Timer:001(1分)×00100(4) -> 4分
AT%XMONITORで確認すると応答は下記となります。
Periodic TAU:010(6分)× 01001(9) -> 54分
Active Timer:001(1分)×00100(4) -> 4分
このようにA社ではPeriodic TAU:10分のリクエストに対して、54分が設定されています。
〇 C社
![](https://www.kgdev.co.jp/wp-content/uploads/PSM設定_softbank-5.png)
AT+CPSMSのコマンドで下記のようにリクエストを出しています。
Periodic TAU:101(1分)× 01010(10) -> 10分
Active Timer:001(1分)×00100(4) -> 4分
AT%XMONITORで確認すると応答は下記となります。
Periodic TAU:001(1分)× 01010(10) -> 10分
Active Timer:001(1分)×00100(4) -> 4分
C社の場合はリクエストした通りの設定がされています。
今回はキャリアを変えて調べてみましたが、ご使用されるSIMによっても設定出来る内容が変わる可能性がありますので、実際にご使用される場合はご確認するのをお勧めします。
◢◤PSMやeDRXの動作の確認
PSMやeDRXの動作は消費電流を測定する以外にも、ATコマンドの応答でも確認する事が出来ます。
ATコマンドで確認する場合は下記ドキュメントが参考になります。
このドキュメントでは下記2つのATコマンドを紹介しています。
Modem sleep notification %XMODEMSLEEP(nRF9160)
Periodic TAU notification %XT3412(nRF9160)
Modem sleep notification %XMODEMSLEEP(nRF9151/61)
Periodic TAU notification %XT3412(nRF9151/61)
それでは実際の消費電流の波形とATコマンド(%XMODEMSLEEP)を使用してPSMとeDRXの動作を確認してみたいと思います。
〇PSM OFF、eDRX OFFの場合
比較のためにPSMやeDRXを設定しないときの電流波形を取得してみます。
![](https://www.kgdev.co.jp/wp-content/uploads/LTE_補足入り.png)
ネットワーク接続後は受信可能状態となります。
実際には常に受信可能状態が続いているのではなく、下記のように間欠動作(PO:Paging Occasion)を行っています。
![](https://www.kgdev.co.jp/wp-content/uploads/LTE_拡大.png)
この間隔は基地局からの情報に基づいて設定されていて、このデータを取得した時は1.28秒となっていました。
これは冒頭で紹介したDevzoneのBlog記事で説明しているiDRXとなります。
AT%XMODEMSLEEPの応答は、ネットワーク接続確認後(+CEREG:5,xxx以降)はPSMにもeDRXにも入っていないため、何も表示されません。
![](https://www.kgdev.co.jp/wp-content/uploads/全てOFF_log.png)
〇PSM ON(TAU:10分、Activie timer:4分)、eDRX OFFの場合
ATコマンドは下記を入力します。
AT+CPSMS=1,””,””,”10101010″,”00100100″
AT+CEDRXS=0
![](https://www.kgdev.co.jp/wp-content/uploads/PSM_補足入り.png)
ネットワーク接続後からPeriodic TAU:10分間隔で、Active timer:4分間の受信可能状態と低消費電力状態を繰り返します。
AT%XMODEMSLEEPの応答で、%XMODEMSLEEP:1,xxxを受信していてPSMに入っているのが確認できます。
![](https://www.kgdev.co.jp/wp-content/uploads/PSM_log.png)
〇PSM OFF、eDRX ON(eDRX cycle:81.92秒、Paging time Window:10.24秒)の場合
ATコマンドは下記を入力します。
AT+CPSMS=0
AT+CEDRXS=1,4,”0101″
AT%XPTW=4,”0111″
![](https://www.kgdev.co.jp/wp-content/uploads/eDRX_補足入り.png)
ネットワーク接続後からeDRX cycle:81.92秒の間隔で、Paging time Window:10.24秒の受信可能状態と低消費電力状態を繰り返します。
Paging time Windowの期間を拡大してみます。
![](https://www.kgdev.co.jp/wp-content/uploads/eDRX_拡大_補足入り-2.png)
Paging time Window:10.24秒の中で、POが1.28秒間隔で発生しています。
今回は受信動作が分かりやすいようにPaging time Windowを10.24秒に設定していますが、この期間を最小の1.28秒にした方がより低消費電力となります。
AT%XMODEMSLEEPの応答で、%XMODEMSLEEP:2,xxxを受信していてeDRXに入っているのが確認できます。
![](https://www.kgdev.co.jp/wp-content/uploads/eDRX_log.png)
〇PSM OFF(TAU:10分、Activie timer:4分)、eDRX ON(eDRX cycle:81.92秒、Paging time Window:10.24秒)の場合
ATコマンドは下記を入力します。
AT+CPSMS=1,””,””,”10101010″,”00100100″
AT+CEDRXS=1,4,”0101″
AT%XPTW=4,”0111″
![](https://www.kgdev.co.jp/wp-content/uploads/PSM_eDRX_補足入り-1.png)
ネットワーク接続後からPeriodic TAU:10分間隔で、Active timer:4分間と低消費電力状態を繰り返します。
Active timre:4分間の期間で、eDRX cycle:81.92秒の間隔でPaging time Window:10.24秒の受信可能状態と低消費電力状態を繰り返します。
今回の設定の場合、Active timerの中で発生するeDRX cycleタイミングにより2回から3回となります。
AT%XMODEMSLEEPの応答で、%XMODEMSLEEP:2,xxxと%XMODEMSLEEP:1,xxxを受信していて、eDRXとPSMに入っているのが確認できます。
![](https://www.kgdev.co.jp/wp-content/uploads/PSM_eDRX_log.png)
ここまで紹介してきた通り、PSMやeDRXの動作を理解することで製品のバッテリー寿命を延ばすことが可能となります。
このコラムの記事の内容をもっと詳しく知りたい方や、その他気になる点などがございましたら弊社のお問い合わせ にご連絡ください。
今後もNordicの紹介及びコラムにて色々な情報を公開致しますので是非ご確認ください。
また、Facebookでも随時情報を公開しておりますので合わせてご確認ください。
Nordic コラム一覧
nRF54L15 DKの使い方
関連記事