Добрый день всем!
В предыдущей части обсуждалась общая информация и особенности технологии NB-IoT, а здесь предлагаю подробно рассмотреть режимы энергосбережения PSM и eDRX, а также команды, с помощью которых этими режимами можно управлять.
Режимы сохранения энергии в NB-IoT
Устройствам, которые работают от батарейки, важно потреблять как можно меньше энергии. Для этого в NB-IoT предусмотрены два режима энергосбережения: Power Saving Mode, PSM и Extended idle mode DRX, eDRX. Рассмотрим их подробнее.
Режим сохранения энергии PSM, Power Saving Mode
Согласно спецификации 3GPP TS 23.682, Power Saving Mode (PSM) – это режим, аналогичный отключению питания, при котором устройство, тем не менее, остается зарегистрированным в сети. Любопытно, что режим PSM появился в спецификациях 3GPP раньше, чем NB-IoT – в 3GPP Release 12.
Устройство NB-IoT инициирует режим PSM, включая значения двух таймеров в запросы ATTACH REQUEST/TAU REQUEST, посылаемые в процедурах Attach и TAU (TAU, Tracking Area Update — это периодическая процедура, которая используется в LTE для уведомления сети о доступности и местоположении мобильного устройства).
Первый таймер — T3324 Active Timer — определяет время, в течение которого устройство остается доступным со стороны сети после процедуры Attach, TAU или передачи данных.
Второй таймер — T3412 Extended periodic TAU Timer — определяет период процедуры TAU.
Режим PSM и таймеры T3324, T3412 показаны на рис. 1:
Если сеть разрешает использование режима PSM, то значения этих таймеров включаются в ответные сообщения ATTACH ACCEPT/TAU ACCEPT. При определении значений таймеров сеть может принимать во внимание не только значения, запрашиваемые устройством, но и локальную конфигурацию. Другими словами, сеть не обязана подтверждать в точности те значения таймеров, которые запросило устройство. Зато устройство обязано применить значения, полученные от сети.
Длительность нахождения устройства в режиме PSM определяется как разница между Extended periodic TAU Timer и Active Timer (T3412-T3324). Так как значение T3324 Active Timer может быть равно нулю, то максимальное теоретическое время нахождения устройства в режиме PSM равняется максимальному времени T3412 Extended periodic TAU Timer и составляет 413 дней и 8 часов (!!!). Максимальное значение T3324 Active Timer составляет 3 часа и 6 минут (186 минут).
Когда устройство находится в режиме PSM, оно недоступно со стороны сети (для так называемых mobile terminating сервисов).
GSMA рекомендует операторам сотовой связи сохранять и передавать устройству (после выхода последнего из режима PSM) как минимум последний пакет данных длительностью 100 бит.
Устройство может выйти из режима PSM в любое время (например, если устройству нужно срочно передать какие-нибудь данные, как на картинке выше).
Режим сохранения энергии eDRX (Extended idle mode DRX)
eDRX (Extended idle mode DRX) можно считать дополнительным режимом энергосбережения устройства, он появился в спецификациях 3GPP Release 13. DRX означает прерывистый приём (Discontinuous Receiving). Метод прерывистого приема известен в сотовой связи давно, и заключается в том, что для сохранения энергии приемный тракт устройства включается периодически в определенные промежутки времени, а большую часть времени отключен. Сеть «знает» об этом и посылает сигналы вызова (paging) только в «правильные» моменты времени. Расширенный режим прерывистого приёма (eDRX) позволяет существенно увеличить период времени, когда приемный тракт устройства выключен. Согласно спецификации 3GPP TS 23.682, период прерывистого приема eDRX в режиме NB-IoT составляет от 20,48 до 10485,76 секунды (10485 секунд — это почти 3 часа).
Сравнение «старого» DRX и «нового» eDRX представлено на рис. 2:
Устройство NB-IoT активирует режим eDRX, передавая значение длительности периода eDRX в запросах ATTACH REQUEST/TAU REQUEST, посылаемых в процедурах Attach и TAU. Если сеть разрешает использование режима eDRX, то значение периода eDRX включается в ответные сообщения ATTACH ACCEPT/TAU ACCEPT. Сеть не обязана подтверждать запрошенное устройством значение периода eDRX, а вот устройство обязано применить значение, переданное сетью.
Как и в случае с PSM, при использовании режима eDRX GSMA рекомендует операторам сохранять и передавать устройству как минимум последний пакет данных длительностью 100 бит. Впрочем, как следует из опроса, проведенного ассоциацией GSM, операторы намерены сохранять намного больше нисходящих данных (от приложения к устройству).
Режим eDRX может применяться одновременно с режимом PSM.
Режимы PSM и eDRX входят в число минимальных требований к сетям NB-IoT, рекомендованных GSMA.
Команды управления устройством NB-IoT (AT-команды)
Стандартные AT-команды описываются в спецификации 3GPP TS 27.007. Всего команд очень много, здесь рассмотрим только те, с помощью которых можно управлять режимами энергосбережения устройства NB-IoT. Кроме того, разные производители могут немного по-своему интерпретировать стандартные или изобретать новые команды. Поэтому для большей определенности посмотрим команды NB-IoT-модуля N21.
Команда управления режимом PSM
Для задания параметров режима PSM используется команда AT+CPSMS:
AT+CPSMS=[mode],[Requested_Periodic-RAU],[Requested_GPRS-READY-timer],[Requested_Periodic-TAU],[Requested_Active-Time]
Параметры команды AT+CPSMS:
- mode (0 — PSM выключен, 1 — PSM включен)
- Requested_Periodic-RAU, T3312 (применим к 2G/3G, в NB-IoT не используется)
- Requested_GPRS-READY-timer, T3314 (применим к 2G/3G, в NB-IoT не используется)
- Requested_Periodic-TAU, T3412 (применим к LTE, используется в NB-IoT)
- Requested_Active-Time, T3324 (применим к 2G/3G/LTE, используется в NB-IoT)
Таким образом, для настройки параметров PSM в режиме NB-IoT используются три параметра: mode, Requested_Periodic-TAU и Requested_Active-Time.
Запрашиваемая длительность нахождения устройства в режиме PSM — это разница между значениями Requested_Periodic-TAU и Requested_Active-Time.
Кодирование значения Requested_Active-Time (T3324)
Requested_Active-Time кодируется в виде последовательности, состоящей из 8 бит, где старшие биты 8, 7, 6 представляют собой множитель, биты 5, 4, 3, 2, 1 – значение.
Бит 8 | Бит 7 | Бит 6 | Множитель |
0 | 0 | 0 | 2 секунды |
0 | 0 | 1 | 1 минута |
0 | 1 | 0 | 6 минут (1/10 часа) |
1 | 1 | 1 | Таймер деактивирован |
Другие значения должны быть интерпретированы как 1 минута (в текущей версии протокола) |
Пример кодирования значения Requested_Active-Time (T3324):
00000101 — Requested_Active-Time
000 – множитель, 2 секунды,
00101 – значение, 5,
5 х 2 секунды = 10 секунд — запрашиваемое значение Requested_Active-Time.
Максимальное значение Requested_Active-Time (T3324) составляет 3 часа и 6 минут (186 минут).
Кодирование значения Requested_Periodic-TAU (T3412)
Requested_Periodic-TAU кодируется в виде последовательности, состоящей из 8 бит, где старшие биты 8, 7, 6 представляют собой множитель, младшие биты 5, 4, 3, 2, 1 – значение.
Бит 8 | Бит 7 | Бит 6 | Множитель |
0 | 0 | 0 | 10 минут |
0 | 0 | 1 | 1 час |
0 | 1 | 0 | 10 часов |
0 | 1 | 1 | 2 секунды |
1 | 0 | 0 | 30 секунд |
1 | 0 | 1 | 1 минута |
1 | 1 | 0 | 320 часов. Примечание: данное значение применимо только к таймерам T3312 extended и T3412 extended (см. TS 24.301). Если оно принято в сообщении с включенной проверкой целостности, значение должно быть интерпретировано как 320 часов. В противном случае оно должно быть интерпретировано как 1 час. |
1 | 1 | 1 | Таймер деактивирован |
Пример кодирования значения Requested_Periodic-TAU (T3412):
00100001 — Requested_Periodic-TAU
001 – множитель, 1 час,
00010 – значение, 2,
2 х 1 час = 2 часа — запрашиваемое значение Requested_Periodic-TAU
Максимальное значение таймера Requested_Periodic-TAU T3412 составляет 9920 часов или 413 дней и 8 часов.
Примеры команды AT+CPSMS
AT+CPSMS=0 // Режим PSM выключен
AT+CPSMS=1,"","","00100001","00100011" // Режим PSM включен, Requested_Periodic-TAU: 2 часа, Requested_Active-Time: 3 минуты, длительность PSM: 1 час и 57 минут
Команда управления режимом eDRX
Для задания параметров режима eDRX используется команда AT+CEDRXS:
AT+CEDRXS=[mode],[AcT-type],[Requested_eDRX_value]
Параметры команды AT+CEDRXS:
1. mode — режим:
- 0 — режим eDRX выключен
- 1 — режим eDRX включен
- 2 — режим eDRX включен, разрешены незапрашиваемые сообщения (URC)
2. AcT-type — технология радиодоступа:
- 1 – EC-GSM-IoT
- 2 – GSM
- 3 – 3G
- 4 – LTE, LTE-M
- 5 – NB-IoT
3. Requested_eDRX_value — длительность периода eDRX. Значение кодируется в виде двоичной последовательности, состоящей из 4-х бит. Согласно спецификации 3GPP TS 23.682, период eDRX в режиме NB-IoT находится в диапазоне от 20,48 до 10485,76 секунд. Значения Requested_eDRX_value в режиме NB-IoT приведены в таблице 3.
Requested_eDRX_value в режиме NB-IoT | Длительность периода eDRX, с |
0010 | 20,48 |
0011 | 40,96 |
0100 | 20,48 |
0101 | 81,92 |
0110 | 20,48 |
0111 | 20,48 |
1000 | 20,48 |
1001 | 163,84 |
1010 | 327,68 |
1011 | 655,36 |
1100 | 1310,72 |
1101 | 2621,44 |
1110 | 5242,88 |
1111 | 10485,76 |
Примеры команды AT+CEDRXS
AT+CEDRXS=0 // режим eDRX выключен
AT+CEDRXS=1,5,"0010" // режим eDRX включен, технология радиодоступа - NB-IoT, длительность периода eDRX - 20,48 секунды
P.S. Статья не претендует на абсолютную истину и может содержать неточности. Если вы заметили неточности, хотите поделиться инсайдерской информацией или просто высказать своё мнение – добро пожаловать в комментарии!
Предыдущая часть: NB-IoT, Narrow Band Internet of Things. Общая информация и особенности технологии.
Автор: avan