提高物联网 (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=[,,[, [, ]]]
at+cedrxs=[[, [, ]]]
ptw 是个例外。本文将介绍一个由 thales 创建的 ptw 命令,该命令特定于 thales 用作受测设备 (dut) 的 cinterion® 模块:
at^sedrxs=[[, [, ][, ]]]
此外,还将引入所谓的挂起模式,这是 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)
表 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-codeloaderleshi2115-codeloader&e
^sysstart
现在可以将 at 命令传递给模块,以便 1) 启用挂起模式,2) 启用注册状态显示,以及 3) 检查并设置 psm 定时器:
如前所述,thales 专用省电功能只需发送一次配置命令即可启用。此设置为非易失性设置,会一直保持到更改为止。
at^scfg=“meopmode/powermgmt/suspend”,“1”
^scfg: “meopmode/powermgmt/suspend”,“1”
ok
+ciev: suspendavailable,1
该模块将通过 +ciev urc 来通知挂起功能现已可用。如果已启用挂起,则不会有 suspendavailable urc。
在发送“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 秒)。
现在,可以通过“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 和不同的网络通常具有迥然不同的允许定时器集,因此在部署物联网设备之前需要了解这一点。
图 9:启用 psm 时的电流消耗曲线。(图片来源: thales)
如果设置了挂起模式,该模块将指示它准备好使用 urc(未经请求的结果代码)挂起。切换 rts 信号后,本例为在 otii 中设置为 gpo1(图 7)后,模块进入挂起模式,平均电流消耗约为 3 μa(图 10)。
图 10:启用挂起模式时的电流消耗曲线。(图片来源: thales)
如何计算 edrx 定时器?
在设置 edrx 的定时器值时,所用的计算方式非常简单。有的定时器适用于每一种无线接入技术,如图 11 中的表所示。
图 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。
图 12:寻呼时间窗设置为 5 秒作为参考,不启用 edrx;右侧为相同的 pwt,但启用了 edrx。(图片来源: thales)
总结
根据物联网设备用例和可用网络技术的不同,可以使用不同的省电功能来延长设备的电池寿命。
使用 psm,可以为设备设置长达 14 天的深度休眠模式。
设备会根据设定的时间间隔定期唤醒,连接至网络,并可以选择发送数据。在进入连接状态之后一小段时间,设备将处于活动但空闲的状态,并在该活动时间内侦听传入的数据。在这段活动时间内,可以使用 edrx 配置设备启用其接收器的时隙。
所有的设置都配合网络来完成。网络始终知道设备能够接收数据的时间和时长。
采用 cat-m 技术的设备将比 nb-iot 设备需要更多的电能。设备休眠的时间越长,节省的电能就越多。设备侦听传入数据的时隙越短越少,其能耗就越优化。
因此,在最佳情况下,设置最大 psm 和最小活动时间并且只有一个监听峰值(ptw 最小)时,nb-iot 设备最省电。
5G商用发令枪正式打响我国电信运营商正积极布局5G网络建设
AD9101高速采样放大器
移动通信技术有哪些特点
NVIDIA公司公布2020财年Q1季度财报,股价一度大涨7%!
板对板连接器的分类和特性
如何启用NB-IoT和Cat-M的省电模式并评估预期能耗
高温热电偶集电环在压花辊中的功效
AMD主管离职后加入英特尔,将与AMD和英伟达竞争高端独显
逆变器和UPS有什么区别?
海信激光电视家庭电影节开幕 家庭观影的时代即将到来
360N5超越经典:性价比逆天,黑科技傍身!360新品N5发布亮点抢先看!
轴颈磨损的常见原因有哪些
三星和IBM研究MRAM,欲取代DRAM
需要理性的来看待我国的工业机器人产业
中国在5G的领先优势会带来什么样的风险?
比中兴备了更多“粮草” 华为不是软柿子 想捏就捏
Maxim推出单相电能精确监测电源的处理器78M6610
空中网宣布多款网游将在今年上线
LT7911D Type-C/DP转mipi 方案成熟可提供技术支持
闻泰科技服务器精彩亮相进博会