如何啟用 NB-IoT 和 Cat-M 的省電模式,並達到預期的能源消耗

作者:Markus Pihl, Vanja Samuelsson

提高物聯網 (IoT) 裝置的電池續航力,是低功率廣域網路 (LPWAN) 技術的關鍵目標之一。因此,省電特點在蜂巢式 LPWAN 技術、NB-IoT (Cat-NB1 與 Cat-NB2) 以及 Cat-M (LTE-M,又稱為 Cat M1) 中是不可或缺的要素。但是該如何發揮這些特點?在電流消耗方面又能觀察到哪些影響?

本文的目標是回答這些問題,探究省電特點的定義、計時器及其計算原理,以及計時器的啟用命令。所有內容都會附上電流消耗分佈圖,以了解對能源消耗的影響。

NB-IoT 及 Cat-M 的省電模式

NB-IoT 及 Cat-M 技術有兩種必要的省電特點:省電模式 (PSM) 和增強型非連續接收 (eDRX)。

PSM 模式能讓裝置設定睡眠及作用計時器並轉送到網路,即週期性追蹤區域更新 (TAU) (T3412) 和作用時間 (T3324) (圖 1)。網路接受後,會依照設定的時間讓裝置在系統中維持登錄狀態;如果裝置在這段時間內喚醒,則不需要進行重新連接程序。分離及重新連接程序可能會耗用大量能源。雖然睡眠期間無法與裝置聯絡,但有計時器,所以網路會得知裝置的下次喚醒時間,以及裝置為了接收呼叫資訊而維持作用的時間長度。裝置的深度睡眠模式最長可設定為 14 天。

現今 LTE 網路中已經有一般的 DRX,而 eDRX 則可延長其時間。在此機制下,裝置在作用時間階段內會有更長的時間監聽網路。對許多 IoT 裝置而言,在幾秒鐘或更長時間內聯絡不上是可以接受的。如此一來即可降低功耗,但相較於使用 PSM 的情況,裝置仍可聯絡上。相較之下,其降低功耗的程度比 PSM 還要少。eDRX 可以透過計時器的呼叫週期長度 (PCL) 及呼叫時間窗 (PTW) 進行配置 (圖 1)。

在蜂巢模組中設定 PSM 及 eDRX 計時器的命令,其定義詳見 3GPP 技術規格 TS 27.007,如下所示:

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

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

PTW 是例外情形。本文將介紹 Thales 所制定的 PTW 命令,而且只有作為受測裝置 (DUT) 的 Thales Cinterion® 模組適用該命令:

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

另外,本文還會介紹所謂的暫停模式,這是 Thales 為 Cinterion 模組提供的另一項專屬省電特點,可進一步讓模組進入最低能源消耗狀態。這個命令只需要設定一次。

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

省電特點、PSM 計時器以及 eDRX 計時器的示意圖 (按此放大)圖 1:省電特點、PSM 計時器 (週期性 TAU 和作用時間),以及 eDRX 計時器 (PCL 及 PTW)。(圖片來源:Thales)

設定

為了視覺化呈現低功率模式,使用 Thales 兩組不同的 Cinterion 模組,並搭配 Qoitech 的 Otii 功率分析儀。

針對 PSM 計時器,則使用 Thales 的 DevKit ENS22-E,其出廠時已焊接到 NB-IoT 專屬模組上。在 NB-IoT 即時網路 (漫遊) 中,已使用全球通用的 MNO SIM 卡完成相關測量。

針對 eDRX 計時器,則使用 Cinterion® EMS31,這是一款位於 LGA DevKit 上的 Cat-M 專屬模組。由於在德國執行測試時沒有 Cat-M 網路,此模組是透過天線 (非有線) 連線到 Amarisoft 的 Cat-M 網路模擬器。

Qoitech 的 Otii 是多面向的功率分析儀,在此例中用於三種用途:

  • 進行視覺化及功率分佈分析
  • 控制無線電模組 (透過 GPIO 引腳)
  • 進行功率測量及同步 UART 記錄 (透過 RX/TX 引腳及主電源)

佈線是根據表 1 進行。

Thales 的 LGA 開發套件搭配蜂巢模組以及 Qoitech 的 Otii 圖片圖 2:測量設定:Thales 的 LGA 開發套件搭配蜂巢模組,以及 Qoitech 的 Otii。(圖片來源:Thales)

LGA DevKit 引腳 Otii 引腳
On GP02
RTS0 GP01
TXD0 TX
RXD0 RX
GND DGND
VUSB +5V
PWR(A) +
GND -

表 1:圖 2 設定中的引腳連線。

針對 PSM 測量,Cinterion ENS22-E NB-IoT 模組的電壓範圍為 2.8 V 至 4.2 V,其以 3.6 V 進行供電 (圖 3),能讓結果和模組硬體介面描述的電流消耗額定值相當。GPO 的數位電壓位準需要設定為 3 V (圖 3)。

Otii 專案 SUPPLY (電源) 的設定圖圖 3:Otii 的專案 SUPPLY (電源) 設定。(圖片來源:Thales)

VUSB => +5 V - 需要此供應電壓對 LGA DevKit 供電。注意!請勿額外透過 USB 對 DevKit 供電。

因此,電路板左下方的 DevKit 開關設定為左側 PWR – EXT,以及左側 ASC0 – RS232 (圖 4)。

DevKit 開關設定的圖片圖 4:DevKit 開關設定。(圖片來源:Thales)

根據測量設定,已使用 Otii 應用中的 UART 命令列。此功能需要在 Otii 專案設定的 LOGS (記錄) 區段中啟用。

在預設情況下,序列介面 ASC0 (RX0/TX0 配線) 會以 115200 鮑率運作 (圖 5)。

Otii 專案 LOGS (記錄) 的設定圖圖 5:Otii 專案 LOGS (記錄) 設定。(圖片來源:Thales)

如何計算 PSM 計時器?

PSM 方面,已使用 AT+CPSMS 命令來設定要求的週期性 TAU (T3412) 週期,以及要求的作用時間 (T3324)。此值需要以 8 位元二進位格式輸入,其中前 3 個位元代表 5 位元二進位數字的基礎乘數。這是 3GPP 中的規定,相關資訊請見 TS 24.008 規格 (圖 6)。

3GPP TS 24.008 中的週期性 TAU 及作用時間計算示意圖圖 6:3GPP TS 24.008 中的週期性 TAU 及作用時間計算。(圖片來源:Thales)

此模組當作應用範例時,會設定為每 7 分鐘向網路傳送一次追蹤區域更新訊息。這表示,週期性 TAU 會設定為 7 分鐘,即 420 秒。

此 7 分鐘期間,可以搭配使用 1 分鐘 (101) 乘數與 7 (00111) 值,或是 30 秒 (100) 乘數與二進位 14 (01110) 值 (圖 6)。

作用時間會依此運作,但會使用不同的基值。例如,10 秒的作用時間會使用 000 和 00101 值,前者作為 2 秒基礎乘數,後者等於 5,因此產生出以下命令:

at+cpsms=1,,,10001110,00000101

如何設定 PSM 計時器?

啟用 Devkit 的電源 (5 V,請見圖 7) 以及模組電源 (3.6 V,請見圖 7) 後,開啟 GPO2 (圖 7) 約 2 秒並再次關閉,即可啟動。

Otii 電源開關圖片圖 7:Otii 電源開關。(圖片來源:Thales)

模組將會啟動,並在 UART 記錄中使用以下非請求結果碼 (URC) 來指示:

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

^SYSSTART

現在可以將 AT 命令傳送給模組,以 1) 啟用暫停模式,2) 啟用登錄狀態顯示,以及 3) 檢查並設定 PSM 計時器:

  1. 如前所述,僅需傳送配置命令一次,即可啟用 Thales 專屬省電特點。此設定為非揮發性,並會一直維持到發生變更為止。

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

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

    OK

    +CIEV: suspendAvailable,1

    模組會使用 +CIEV URC,宣告暫停功能現已可用。如果暫停已啟用,則不會有 suspendAvailable URC。

  2. 在傳送「at+cereg=5」之後,模組會透過 URC 通知使用者模組登錄狀態的變動。此設定為揮發性,必須在重新啟動後重複設定。如果模組已經註冊,則可能只會回應 OK。在此情況下,可以傳送「at+cereg?」來請求狀態。
    複製
    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
    

    在上述範例中,模組在漫遊模式下登錄,並顯示網路目前配置的 PSM 值;每 10 分鐘進行 TAU 一次,作用時間為 30 秒。

  3. 現在可以使用「at+cpsms」命令來設定請求的值。此命令會觸發模組,向網路傳送追蹤區域更新 (TAU) 訊息。在網路的回應訊息 (追蹤區域更新接受) 中,模組會接收必須執行的值。也就是說,網路會決定要接收哪些值。這些值可望與請求的值相同,但無法保證。實際情況取決於行動網路供應商而定,以及供應商是否允許請求的值,或以其自己的值覆蓋這些值。供應商的值有時為固定值。
複製at+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

模組會使用 suspendReady URC 指示何時能夠進入暫停模式。只要出現「suspendReady,1」指示,即可設定 RTS0 (即圖 7 中的 GPO1) 讓模組進入暫停模式 5 秒 (5 秒為預設值且可變更,請參閱模組的 AT 規格文件)。

PSM 計時器對能源消耗有何影響?

圖 8 的測量值可供參考,其中顯示 Cinterion ENS22-E NB-IoT 在預設模式下的電流分佈,其中 PSM、eDRX 或暫停模式皆未啟用。

電流消耗分佈當作參考用測量值示意圖 (按此放大)圖 8:未啟用省電模式下的電流消耗分佈當作參考用測量值。(圖片來源:Thales)

標記區域中預期的平均電流消耗量約為 16 mA。

在啟用 PSM 計時器的情況下,如本例中的週期性 TAU 為 7 分鐘,作用時間為 10 秒,當網路接受這些計時器之後,電流消耗量會降至 13 mA 的平均值 (圖 9)。

請注意,網路可能已忽視 PSM 計時器的請求,改而建議使用其他計時器。一般來說,不同 MNO 及不同網路所允許的計時器組截然不同,因此在部署 IoT 裝置前需要了解這一點。

啟用 PSM 下的電流消耗分佈圖片 (按此放大)圖 9:啟用 PSM 下的電流消耗分佈。(圖片來源:Thales)

如果設定為暫停模式,模組會指出已準備好使用非請求結果碼 (URC) 進入暫停狀態。在切換 RTS 訊號之後,如本例中在 Otii 內設定為 GPO1 (圖 7),模組就會進入暫停模式,且平均功耗約為 3 µA (圖 10)。

啟用暫停模式時的電流消耗分佈圖片 (按此放大)圖 10:啟用暫停模式時的電流消耗分佈。(圖片來源:Thales)

如何計算 eDRX 計時器?

設定 eDRX 用的計時器值,會以相當直覺的方法進行計算。每種無線電接取技術都有其適用的計時器,如圖 11 的表格所示。

3GPP TS 24.008 中 eDRX 計時器的定義示意圖圖 11:3GPP TS 24.008 中 eDRX 計時器的定義。(圖片來源:Thales)

如何設定 eDRX 計時器?

可透過 LGA DevKit 上的 Cinterion EMS31 Cat-M 專屬模組,展示使用 eDRX 所帶來的影響。這款 LTE-M 模組的電源供應範圍介於 3.2 V 至 5.5 V。Otii 會以 3.8 V 對其進行供電。必須在 Otii 應用程式的專案設定中調整主電壓 (圖 3)。

在模組啟動後 (由 ^SYSSTART URC 指示),PSM 計時器必須增加,以延長作用階段 (5 分鐘),讓 eDRX 的影響更為明顯 [(設定 at+cpsms=1,,,00000110,00100101)、停用 eDRX (at+cedrxs=0),並以 at+cereg=4 來啟用登錄狀態顯示]。

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

要檢查是否已依照請求停用 eDRX,請使用 at+cedrxrdp 命令,來讀取目前的動態 eDRX 參數。

複製
at+cedrxrdp
 
+CEDRXRDP: 0

在模組登錄到網路之後,應該會立即收到相關的 URC,其中顯示登錄狀態以及 5 分鐘的作用時間。

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

使用 Otii 應用程式進行測量時,在作用期間每 1.25 ms 就能看到連續無線電監聽器峰值,如圖 10 所示,位於 1 分鐘時間戳記附近的區域。

現在,使用 3GPP 命令 at+cedrxs 或 Thales 專屬命令 at^sedrxs,即可傳送 eDRX 啟用命令。3GPP 命令的缺點是,無法設定呼叫時間窗 (PTW),但能使用 Thales Cinterion 模組上實作的專用 AT 命令進行設定。

根據圖 10 中的表格,Cat-M 中的 eDRX 值設為 20.48 秒 (「0010」),呼叫時間窗為 5.12 秒 (「0011」)。

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

模組會使用 +CEDRXP URC 向使用者通知 eDRX 值的變動,並顯示請求的 eDRX (PCL) 值「0010」、由網路設定且也必須由模組使用的值 (第 2 個「0010」),以及 PTW (「0011」)。

模組需要一些時間來適應變更的週期,最終會展現圖 12 所示的 eDRX 行為。

eDRX 計時器對能源消耗有何影響?

eDRX 計時器只會在作用階段中產生影響。配置的作用階段越短,eDRX 的影響就越小。

eDRX 非常適合需要很長時間間隔甚至一直能與網路保持聯繫的裝置。在這段時間內,裝置的接收器部分只會在一段指定的時間間隔 (PTW) 內啟用,而每個 eDRX (PCL) 週期都會重複這段時間。由於計時器的設定,行動網路會得知裝置會在哪一段時間監聽呼叫,並且只會在這段時間傳送呼叫給裝置。如此亦可節省網路 (eNodeB) 端的資源。

預設為 PTW,設定為 5 秒且未啟用 eDRX (圖 12)。在 eDRX 啟用後,平均電流消耗量立刻從 3 mA 降至 2 mA。

呼叫時間窗設為 5 秒作為參考值且未啟用 eDRX 的圖片 (按此放大)圖 12:呼叫時間窗設為 5 秒作為參考值,且未啟用 eDRX,而右側則是相同的 PWT,但啟用 eDRX,如標示。(圖片來源:Thales)

總結

根據 IoT 裝置的使用情境以及可用的網路技術,可以使用不同的省電特點來延長裝置的電池續航力。

在使用 PSM 的情況下,裝置的深度睡眠模式最長可設定為 14 天。

根據設定的時間間隔,裝置會定期喚醒、連線到網路,並可選擇傳送資料。在進入連線狀態後,裝置很快會進入作用但閒置的狀態,並在作用期間監聽傳入的資料。在這段作用時間內,可利用 eDRX 來配置裝置啟用接收器的時槽。

所有的設定值都是與網路一同配置。網路一律會知道裝置能在何時接收資料,以及可接收的時間長度。

在 Cat-M 中運作的裝置將比 NB-IoT 裝置需要更多的電力。裝置的睡眠時間越長,就能節省越多的能源。如果裝置監聽傳入資料的時槽越短且越少,耗電量最佳化的程度就越高。

因此,在最佳情況下,當 NB-IoT 裝置具有最大 PSM 及最短作用時間,且只有一個監聽峰值 (最小 PTW) 時,就是電力最佳化程度最高的作法。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Markus Pihl

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.

Image of Vanja Samuelsson

Vanja Samuelsson

Vanja Samuelsson 是 Qoitech 的創立人。她在電信產業產品開發具備經驗,近期在 Sony 從事 5G、蜂巢式物聯網連接和低功率物聯網的研究和創新。Vanja 擁有瑞典隆德大學的理學碩士學位和電機工程博士學位。