IoTデバイスからのアップリンク主体の通信モデルであれば、PSMで待機して必要最低限の送受信をするイメージで必要十分な省電力化が望める。
しかし、とある案件ではクラウド側でユーザーが操作した内容をできるだけ短時間にIoTデバイスに反映させる必要があった。
さらにバッテリー駆動&長期連続運用など、省電力要件が厳しい要件だったので、
アップリンクのモデルよりもクラウドからのダウンリンク主体のモデルに切り替え、
IoTデバイスをUDPサーバーにしてeDRXをつかってひたすら受信待機する方法を思いついた。
PSMにしないのは eDRX に比べて1周期あたりの通信での消費電力が大きいため(mfr1.3.2時点。mfw1.3.3&RAIでどうなるかは未検証)。
現実
結果から言うと、ダメだった。
理由は簡単。
低レイヤーで基地局と定期的に通信する必要があるからだ(30s〜40s間隔)。
移動体通信の宿命のようなものだ。
(PSMなら長時間スリープできるが、接続を再開するときの消費電力がバカにならない.とくにiDRXサイクル)
消費電力はキャリヤによってかなり変わる(KDDI>>>>DOCOMO>SOFTBANK)。
レイヤーは無関係に1回でも通信が行われると、単位時間あたりのアベレージ電流が跳ね上がる。
IoTデバイスをUDPサーバーにしたときのレイテンシーと省電力性能はとても優秀だが、
基地局との定期通信によって台無しになる。
キャリア次第だが、基地局との通信は30秒〜40秒間隔で行われるようだ。
気になった点は、Docomoで、40秒周期が同時に2つ観測された。
別の場所では40秒周期が1つだけ観測された。
近接する基地局の数によって変わるのかもしれない。
通信する基地局が1つ増えるだけで消費電力は格段に増えてしまう。
基板全体のアベレージ電流が200uA〜300uA程度まで許容できるなら上記の方法でも問題ないかもしれないが、
今回は 100uA でどこまでレイテンシーを向上できるかだった。
だが、KDDIですら、通信状態が良くても150uA程度が限界だった。
通信状態に大きく依存する(他キャリは通信状態が良くても200uAを軽く超える)。
結局、別のアプローチを試すことになった。
結論はまだでていないが、覚書として残しておく。
2022.12.19