本帖最后由 techff 于 2020-10-10 12:08 编辑

如何启用 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
图 1:省电功能、PSM 定时器(周期性 TAU 和活动时间)和 eDRX 定时器(PCL 和 PTW)。(图片来源: Thales)

设置

为了使低功耗模式可视化,使用了来自 Thales 的两套不同 Cinterion 模块以及来自 Qoitech 的 Otii 功率分析仪。
对于 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 所示。
图 2:测量设置:Thales 带蜂窝模块的 LGA 开发套件以及 Qoitech 的 Otii。(图片来源: Thales)
            [td]                    
LGA DevKit 引脚Otii 引脚
OnGP02
RTS0GP01
TXD0TX
RXD0RX
GNDDGND
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)。
图 3:Otii 项目 SUPPLY 设置。(图片来源: Thales)
VUSB => +5 V - 需要此电源为 LGA DevKit 供电。注意!请另外通过 USB 为 DevKit 供电。
因此,电路板左下方的 DevKit 开关设置为左侧 PWR – EXT 和右侧 ASC0 – RS232(图 4)。
图 4:DevKit 开关设置。(图片来源: Thales)
根据测量设置,使用了 Otii 应用程序中的 UART 命令行。该命令行需要在 Otii 项目设置的 LOGS 部分中启用。
默认情况下,串行接口 ASC0(RX0/TX0 布线)的传输速度为 115200 波特(图 5)。
图 5:Otii 项目 LOGS 设置。(图片来源: Thales)

如何计算 PSM 定时器?

对于 PSM,使用 AT+CPSMS 命令来设置请求的周期性 TAU (T3412) 周期和请求的活动时间 (T3324)。该值需要以 8 位二进制格式输入,其中前 3 位表示 5 位二进制数的基础乘数。这是 3GPP 中的规定,可在以下规范中找到:TS 24.008(图 6)。
图 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 秒,然后再关闭来开始启动该模拟。
图 7:Otii 电源开关。(图片来源: Thales)
该模块启动后将在 UART 日志中使用以下 URC(非请求结果码)来指示这一点:
\sHI2115-ssb-codeloaderl\e\sHI2115-codeloader&\e
  • ^SYSSTART
  • 复制代码
    现在可以将 AT 命令传递给模块,以便 1) 启用挂起模式,2) 启用注册状态显示,以及 3) 检查并设置 PSM 定时器:

    • 如前所述,Thales 专用省电功能只需发送一次配置命令即可启用。此设置为非易失性设置,会一直保持到更改为止。at^scfg="MEOpMode/PowerMgmt/Suspend","1"
      at^scfg="MEOpMode/PowerMgmt/Suspend","1"
    • ^SCFG: "MEOpMode/PowerMgmt/Suspend","1"
    • OK
    • +CIEV: suspendAvailable,1
    复制代码