系列教程 · 2023年10月23日

NB-IOT低功耗模式详解以及自建服务器优劣讨论

在《NB-IOT技术揭秘》[手册 1]一文中,描述了NB-IOT的前世今生,也对NB-IOT低功耗的实现做了简要介绍。

本文详细描述NB-IOT低功耗的实现,以让读者掌握NB模组低功耗的实施方法。

1 低功耗的必要性

为满足安装环境没有电源供电,需要使用电池,同时为了满足电池达到 5 到 10 年寿命的需求,NB-IoT 网络引入了 PSM 和 eDRX ,PSM和eDRX技术极大降低了终端功耗,使得NB设备在生命周期绝大部分时间处于极地功耗状态,从而保证电池的使用寿命。

NB低功耗需要从三种工作模式来描述:

  • DRX模式:传统技术模式,终端时刻在线,例如我们的手机,只要开机,就可以时刻被呼叫。
  • eDRX模式:DRX模式的扩展,将网络先开一会,再停一会(休眠),开的时候可以收到数据,停的时候收不到数据。
  • PSM模式:可以理解为把eDRX模式中的休眠时间拉的更长,从几小时到几天时间,功耗大幅下降,从而能做到“一节电池用5年”。

2 DRX模式说明

DRX的意思是不连续接收Discontinuous Reception的简称,但对硬件产品通信时的宏观层面来看,是“连续接收”,随时可以收到数据,因此功耗也最高(DRX待机功耗大概在1mA左右)。

从下图可以看出,在时域上,时间被划分成一个个联系的DRX周期,在这些周期里,终端寻呼监听网络,网络侧的数据随时可以下达。

DRX模式.png

对于时延特别敏感的客户应用,可以考虑只使用传统的 DRX 模式(DRX 寻呼周期最短 1.28 秒),从而缩短数据下发到终端的时延。但是如果大量终端采用 DRX 模式,平台同时下发数据到大量终端时,会导致NB 网络资源耗尽,出现无法正常下发数据到终端的情况。因此,平台在对终端下发数据时,应充分考虑分散下发时间点,避免集中下发。

从NB-IOT的设计初衷就可以看出,NB网络中很少使用该中工作模式,因此,NB-IOT主要以eDRX和PSM两种模式为主。

3 eDRX模式说明

eDRX是扩展不连续接收,为进一步减少终端在空闲状态监听网络的寻呼次数,通过扩展寻呼网络的周期,减少终端监听网络寻呼的时间,从而降低终端功耗。

DRX到eDRX模式.png

为了适应物联网更低功耗、时延更不敏感的业务特点,在省电方面提出了 eDRX 技术,通过扩展现有 DRX 周期可以达到分钟、小时级别(eDRX 周期为 20.48s ~ 10.24s*210,最大约为 2.92小时)。使用 eDRX 功能的终端只需要在eDRX寻呼周期内的寻呼时间窗口(PTW)才需要监听网络下发寻呼消息。如果eDRX周期越大,PTW寻呼时间窗口越小,那么终端大部分时间中都不需要监听网络,从而达到省电的效果。

处于eDRX状态下,终端是支持下行数据的接收,如果平台再寻呼窗口内下发数据,终端可以很快的接收到数据。

如果平台下发数据时刻,终端寻呼时间串口(PTW)尚未到来,核心网网关(SGW)可缓存10个数据包(超过丢弃,注意,实际缓存的数量请联系运营商确认)。直到终端寻呼窗口时间到达时,核心网才会寻呼终端并下发数据。因此平台数据下发到终端接收到数据的最大时延为一个eDRX寻呼周期。因此,eDRX模式适宜具备一定时延容忍度,又有节电需求的场景。所以eDRX的寻呼周期设置,需与业务场景匹配,以平衡功耗和实时性。

EDRX模式-简版.png

  • 一个TAU周期内,包含一个连接态和一个Idle空闲态。
  • Idle空闲态中包含了多个eDRX寻呼周期。eDRX周期最小值为20.48秒,最大值2.92小时。
  • 每个eDRX寻呼周期中又包含了一个PTW周期和一个PSM周期。PTW周期最小值为2.56秒,最大的值为40.96秒
  • 在PTW周期内,DRX周期的最小值为1.28秒,最大值为10.24秒。

PTW和PSM的状态会周期性的出现在TAU中,使得终端能够间歇性地处于待机的状态,等待网络对其的呼叫。

TAU是LTE中的“位置更新(也叫跟踪区更新)”每当位置更新周期到来时,终端会主动寻呼网络。在PSM中,我们会详细描述。

4 PSM模式说明

PSM 状态是指终端进入功率节省状态(Power Saving Mode),处于 PSM 状态终端关闭收发信号机,不监听无线侧寻呼,与网络没有任何消息交互,最大程度降低功耗。当终端处于 PSM 状态时,平台发送给终端任何数据,网络都不会立即下发给终端。只有当用户终端离开 PSM 状态进入到连接状态时,平台侧下发的数据才会发送给终端。因此,对于使用 PSM 模式终端,如果平台需要下发数据,需等待终端主动上传数据时,才能进行数据下发。

进入 PSM 状态:

当终端上传数据完成后,无线基站启动“不活动计时器”(默认 20 秒),如果终端在这个定时器时间内一直没有接收和发送数据,基站将释放终端无线连接(核心网用户会话信息保持,终端 IP 地址不变),终端进 入 Idle 状态并启动激活定时器(ActiveTime),当激活定时器超时后,终端才会进 入 PSM 状态。若下图所示,20s不活动定时器的状态被省略。

PSM模式-简版.png

在PSM模式下,平台有数据下发需求时,应在终端上报数据发生后、尚未进入PSM状态时可以进行下行通信,下行通信时段为:不活动定时器时长(默认20s)+激活定时器(ActiveTime)时长。因此可以设置ActiveTime来实现快速进入PSM或者延缓进入PSM状态的时间,如若应用场景仅须上传数据无下行需求,则ActiveTime设置最小值2秒;若应用场景有上传数据也有下行通信需求,则可ActiveTime设置大一些(ActiveTime设置范围:2秒到186分钟)。一般ActiveTime不超过30分钟。

退出PSM状态:

终端离开PSM状态条件有两个原因:

  • 终端主动上报数据,用户有数据上报时,可以立即激活网络连接并离开PSM状态,进入连接状态,传输数据。
  • TAU周期到达(位置周期更新定时器)。每当位置更新定时器超时后,终端都会离开PSM状态,进入连接状态(上报终端位置信息)。通过增加TAU周期时长,可降低终端功耗。TAU周期最小值54分钟,最大值310小时,一般设置为24小时。

5 电流消耗

如下图是各个状态的电流消耗情况:

终端状态 电流消耗
连接态发射电流 最大268mA
连接态接收电流 平均50mA
Idle状态 平均1mA
PSM状态 平均5uA

终端发送一次数据的时候一次需要建立连接发送数据-》监听网络数据-》进入Idle-》进入PSM状态。

PSM电流测试.png

PSM电流功耗示意图.png

首先,连接状态中数据传输对应Connect发射电流,数据发送完成后进入无数据传输的连接状态,此时对应Connect接收电流,这部分存在一个不活动定时器,该定时器由核心网配置,默认默认值为20s,随后进入Idel状态,在该模式中存在一个激活定时器(ActiveTime),该定时器上面章节有描述过,由运营商通过APN来配置,该定时器超时后进入PSM状态。

连接结束的时候启动T3412定时器,该定时器超时后会触发TAU更新,再次进入连接态,终端上报相关数据并且寻呼网络是否有数据下发。

TAU周期中的T3412时长和T3323(也就是ActiveTime)时长均由运营商配置。电信默认的APN,TAU周期为24小时,下图是TAU周期引起的电流消耗。

TAU周期电流.png

6 适用场景

根据前面的NB-IOT低功耗特点,以下几种业务需求不适宜NB网络承载:

  • 由于 NB 速率只有 15kbps 左右,带宽型大速率的业务是不能使用 NB 承载。
  • 由于 NB 不支持切换,对于高速移动(大于30Km/h)数据业务是不能使用 NB 承载。
  • 由于 NB 传输时延普遍较长,对于时延特别敏感类业务是不适宜使用 NB 承载,应充分测试评估。

NB-IOT适用场景:

  • 公共事业,例如水表电表气表,以及路灯、井盖监控等。
  • 一般工业,例如光伏发电、货物跟踪,能耗监测等。
  • 智能应用,例如商用公调,医疗健康等领域。

结合NB-IOT技术的特点,我们将业务场景分类两类:

  • 监控上报类。
  • 下发控制类。

6.1 监控上报

监测上报类应用场景以上行通信为主,下行通信为辅,可细分为长周期、短周期等2类。

  • 长周期监测上报类应用场景为:井盖、消防栓、烟雾报警、建筑倾斜等。其场景特点为:
    • 1)偶尔事件上报+每日签到;
    • 2)主要以终端上行通信为主,下行通信为辅;
  • 短周期监测上报类应用场景为:抄表、动物监测、停车、环境监测等,其场景特点为:
    • 1)小时级别的周期或离散数据上报;
    • 2)上行通信为主,下行通信为辅

6.1.1 上行通信配置思路

终端主动上报数据,数据传送结束后进入Idle空闲态,ActiveTime定时器到时后,终端直接进入PSM状态。终端离开PSM状态条件:1)终端主动上报数据;2)位置周期更新定时器;

若TAU位置更新周期大于用户数据上报周期,可节省一次TAU位置更新导致的终端唤醒和网络连接,从而节省空口资源、增加网络容量。建议周期性TAU的周期时长尽量大于终端上报数据周期时长,例如周期性TAU时长=终端上报周期时长+10分钟,假如水表每个24小时上报一次读数,则TAU周期设置为24h+10min。

6.1.2 下行通信配置思路

平台有数据下发需求时,应在终端有上报数据发生后、尚未进入PSM状态时下发,下行通信的时段为:不活动定时器时长+ ActiveTime时长。

因此可通过设置ActiveTime来实现快速进入PSM或者延缓进入PSM状态的时间,如若应用场景仅须上传数据无下行需求,则ActiveTime设置为最小值2秒;若应用场景有上传数据也有下行通信需求,则可ActiveTime设置大一些(ActiveTime设置范围:2秒到186分钟)。一般ActiveTime不超过30分钟。

PSM模式-电信.png

6.2 下发控制

下发控制类的应用场景主要为:路灯开关、家电开关、共享单车开锁等。

命令下发:云端应用对终端实时发送指令,要求终端立即执行所需动作。

通信特点:终端不仅有周期性上报数据,还需相对快的接收到网络侧消息。即上下行通信并重模式。

应用举例

  • 路灯:云端应用可随时向路灯下发指令(开、关、亮度30%、亮度50%等),路灯在几十秒内执行该指令所要求的动作。路灯定时或按需上报路灯终端的数据(电流、电压、外挂传感器数据)。
  • 空调:云端应用可随时向空调下发指令(状态查询、开、关、温度、风向等),空调在几十秒内或立即执行该指令所要求的动作。空调定时上报终端的数据。
  • 共享单车:云端应用可随时向自行车下发指令(开锁等),自行车立即执行该指令所要求的动作。

6.2.1 通信配置思路

下发控制类应用场景主要提出了下行控制的实时性,为了保障终端能够相对快地接收到网络侧消息,不启用PSM模式,确保上下行通信均可满足需求。

下行控制的实时性等级取决于寻呼周期的长短。寻呼周期主要有:空闲态DRX、IDLE态eDRX。其中空闲态DRX为基站侧全局配置;而IDLE态eDRX则以核心网MME基于APN配置实施。因此在NB-IOT的下行控制实时性主要以eDRX寻呼周期的长短为主。

对于时延敏感的应用场景,使用较小的eDRX寻呼周期,甚至可不启用eDRX。对于控制实时性要求不高的场景,设置较大的eDRX寻呼周期,达到降低功耗的目的。eDRX寻呼周期越大,越有利于终端省电。

EDRX模式-电信.png

7 运营商配置

运营商配置是指运营商提供的NB网络APN,APN可以理解是预设定的网络环境参数模板,用户在开卡时选择合适的APN来签约。

7.1 中国电信

电信NB卡默认签约APN为“ctnb”,终端不需要设置,由网络附着时下发,不同的APN对应不同的定时器参数,根据业务需要选择合适的定时器参数。详情请联系电信公司。

电信NB网络APN列表.jpg

7.2 中国移动

中国移动默认签约APN为cmnbiot,下图中虽然说PSM和eDRX由终端控制,但是在开卡时仍然需要由移动来设置低功耗模式和定时器时长。详情请联系移动公司

移动NB网络APN列表.png

8 模组低功耗状态查询

通过上面章节我们了解到,NB 应用的低功耗机制和 SIM 卡运营商的配置密不可分,那么我们怎么确定我的卡所支持的低功耗机制呢?因为模块的低功耗机制是一定的,只是其中几个关键定时器的值是动态的,而这几个值是这张卡在注册网络时同步下来的,那么我们可以通过 CGREG 这个指令获取网络分配的定时器值,我们通过看 AT 指令手册可以看到这个指令的相关描述:

首先发送指令设置CEREG模式:AT+CEREG=5,准备用来查询从网络侧获取到的定时器参数。

然后发送指令查询:AT+CEREG?,模块返回:+CEREG:5,1,4638,04669A51,7,,,00000001,00111000,格式详情,请阅读模组的AT指令手册,下面是相关截图:

CEREG等于5解释.png

3GPP中ActiveTime参数解释.png

3GPP中TAU周期参数解释.png

即对应的ActiveTimer是:00000001,TAU周期值为:00111000。然后按照3GPP中的规定对参数进行解析,

对应解析之后 ActiveTime(T3324)为 :2 秒 * 1,TAU(T3412)为:1小时 * 24. 这就是电信NB卡默认签约的apn:ctnb

9 平台的必要性

习惯了自建全能服务器的用户来说,电信平台(华为OceanConnect中的独立NB-IOT业务)的引入显得非常突兀,那么电信平台的价值在哪,为什么一定要使用平台?

本章节做一个简单的介绍,下图是电信平台的宣传重点。

电信平台的必要性.png

在我们看来,前三个特性才是NB网络平台的价值所在,核心网与平台的深度定制。

  • 免心跳,自建服务器必须要终端不断的发送心跳包才能维持连接,否则服务器无法下发数据(请阅读NAT网络穿透与端口老化相关资料),但这导致终端无法长时间的深度休眠,从而导致功耗大幅增加。
  • 命令缓存:当终端处于休眠状态,且心跳时刻上位到达,自建服务器此时下发数据将会石沉大海。
  • 拥塞控制:自建服务器无法检测NB-IOT网络的拥堵情况。

NB终端接入平台和直连应用服务器.png

采用直连的方式连接通信时(终端通过核心网EPC与其他公网服务器通信),EPC会将内网的IP映射成一个外网的IP加端口,这一映射存在老化机制。实际测试发现,如果成功入网的设备超过2分钟不与公网服务器进行数据交互,则上次通信的IP及端口映射关系失效,此时即便模块处于eDRX升至DRX模式,公网服务器仍然无法通过上次的成功通信的IP和端口与终端进行通信。大家可以在电脑上用任意的网络调试助手与公网服务器连接测试。

因此,就需要IOT平台来作为终端与应用服务器之间的桥梁,由于 IoT 平台与 EPC 深度结合,能够通过一些机制保证 IP 和端口映射长时间不老化(目前可实现24h)。

另外由于NB-IOT是一个窄带通信协议,并发性非常有限,不建议频繁通信占用带宽。