RMB | USD

如何启用 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 在时间方面得以延长。eDRX 延长了设备在活动时间段内监听网络的时间。对于许多物联网设备来说,在几秒钟或更长时间内无法访问是可以接受的。这样功耗得以降低,而与应用 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 命令,该命令特定于 Thales 用作受测设备 (DUT) 的 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 模块以及来自 QoitechOtii 功率分析仪。

对于 PSM 定时器,使用了 Thales 的 DevKit ENS22-E,它已焊接到 NB-IoT 专用模块上。使用全球通用 MNO SIM 卡在商用网(漫游)中完成了 NB-IoT 中的测量。

对于 eDRX 定时器,使用了 LGA DevKit 上的纯 Cat-M 模块 Cinterion® EMS31。由于测试所在地德国没有 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 - 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 作为 2 秒基础乘数和 00101(等于 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(即 GPO1,图 7)使模块进入挂起模式 5 秒(5 秒是默认值,也可以更改,请参见模块 AT 规范文件)。

PSM 定时器对能耗有什么影响?

作为参考测量,图 8 显示了默认模式(未启用 PSM、eDRX 或挂起模式)下 Cinterion ENS22-E NB-IoT 的电流曲线。

参考测量的电流消耗曲线图片(点击放大)图 8:未启用任何省电模式的参考测量电流消耗曲线。(图片来源: Thales)

标记区域的预期平均电流消耗约为 16 mA。

启用 PSM 定时器后(本例中周期性 TAU 为 7 分钟,活动时间为 10 秒),且网络已接受这些定时器的情况下,电流消耗降至平均 13 mA(图 9)。

请注意,网络可能会忽略 PSM 定时器的请求,而建议使用其他定时器。不同的 MNO 和不同的网络通常具有迥然不同的允许定时器集,因此在部署物联网设备之前需要了解这一点。

启用 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 定时器?

使用 eDRX 的影响可以在 LGA DevKit 上通过 Cinterion EMS31 纯 Cat-M 模块来演示。该 LTE-M 模块的供电电压范围为 3.2 - 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”)。

该模块需要一些时间来适应更改后的周期,并且最终将显示 eDRX 行为,如图 12 所示。

eDRX 定时器对能耗有什么影响?

eDRX 定时器仅在活动阶段有影响。配置的活动期越短,eDRX 的影响就越低。

eDRX 适用于需要长网络访问时间间隔甚至是全程不访问的设备。在此时间内,设备的接收器部分将仅在特定的时间间隔 (PTW) 内启用,每个 eDRX(PCL) 周期会重复该时间间隔。由于设置了定时器,移动网络知道设备将在哪些时间帧中监听寻呼,并且将仅在该时间帧期间发送针对该设备的寻呼。这也将节省网络 (eNodeB) 端的资源。

默认设置为 PTW,设置为 5 秒,不启用 eDRX(图 12)。启用 eDRX 后,平均电流消耗从 3 mA 降至 2 mA。

在未启用 eDRX 的情况下,寻呼时间窗设置为 5 秒作为参考图片(点击放大)图 12:寻呼时间窗设置为 5 秒作为参考,不启用 eDRX;右侧为相同的 PWT,但启用了 eDRX。(图片来源: Thales)

总结

根据物联网设备用例和可用网络技术的不同,可以使用不同的省电功能来延长设备的电池寿命。

使用 PSM,可以为设备设置长达 14 天的深度休眠模式。

设备会根据设定的时间间隔定期唤醒,连接至网络,并可以选择发送数据。在进入连接状态之后一小段时间,设备将处于活动但空闲的状态,并在该活动时间内侦听传入的数据。在这段活动时间内,可以使用 eDRX 配置设备启用其接收器的时隙。

所有的设置都配合网络来完成。网络始终知道设备能够接收数据的时间和时长。

采用 Cat-M 技术的设备将比 NB-IoT 设备需要更多的电能。设备休眠的时间越长,节省的电能就越多。设备侦听传入数据的时隙越短越少,其能耗就越优化。

因此,在最佳情况下,设置最大 PSM 和最小活动时间并且只有一个监听峰值(PTW 最小)时,NB-IoT 设备最省电。

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 Digi-Key Electronics 的观点、看法和意见,也不代表 Digi-Key Electronics 官方政策。

关于此作者

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.