模组使用之NB-IoT模组的工作模式PSMDRX和eDRX状态说明
Posted qlexcel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模组使用之NB-IoT模组的工作模式PSMDRX和eDRX状态说明相关的知识,希望对你有一定的参考价值。
模组主要由 Modem 和 AP 两部分组成, Modem主要负责与核心网的通信, AP部分主要负责操作系统
及应用层程序的运行。
AP有两种工作模式:
- Normal:工作状态,此模式下 AP 有任务正在处理,如有 AT 命令交互等。
- Idle:空闲状态,当 AP 所有任务处于挂起状态, AP 将会进入 Idle 模式。
Modem有三种工作模式:
- Connected:连接状态,此模式下模块可以进行数据发送和接收。 Modem 在此模式下可切换到 DRX/eDRX 模式或 PSM 模式。
- Idle:空闲状态,Idle状态又分为两种方式:DRX和eDRX,在Idle模式下只有寻呼窗口内可接收下行数据。Modem 在此模式下可切换至 Connected 或 PSM 模式。
- PSM:省电状态,Modem 处于非连接状态,无法接收下行数据。 Modem 在此模式下可切换至 Connected 模式。
由AP和Modem的工作模式共同决定了模组的三种工作模式:
- Active:唤醒状态,当 AP 处于 Normal 状态或 Modem 处在 Connected 状态时,模块将处于 Active 模式,此模式下所有业务都可正常处理,功耗最高。
- Light Sleep:轻休眠状态, 当 AP 处于 Idle 并且 Modem 处于 Idle 状态时,模块将进入 Light Sleep(轻休眠) 模式。 此时 AP 的任务被挂起, Modem不接收下行数据或者仅在寻呼窗口接收下行数据,功耗会大幅下降到 μA级别。
- Deep Sleep:深休眠状态: 当 AP 处于 Idle 并且 Modem 进入 PSM 模式,模块将进入Deep Sleep(深休眠) 模式。 此时 CPU 会掉电,仅仅只有内部 RTC 仍在工作; 模块功耗最低, 仅 3.7μA 左右。
如果Modem的Idle状态的工作方式是DRX,我们来看看模组的整个工作过程:
1、模组上电,上电后模组入网,Modem处于Connected状态,在此模式下,模组与基站处于连接状态,可以随时发送和接收数据。
2、无数据交互一段时间后,RRC就会释放,Modem进入Idle状态。为了节省功耗,模块于每个 DRX 周期监听一次寻呼信道,以检查是否有下行业务到达。如果一直没有数据交互,那么T3324时间后,Modem就会进入PSM状态,反之,如果突然有数据交互,那么Modem就会回到Connected状态。
3、Modem进入PSM状态后,就不会与基站有交互了,此时虽然依旧注册在网络中,但信令不可达,模块无法收到下行数据,直到T3412时间后或者有上行数据需要传输,Modem才会回到Connected状态。
4、T3412时间到后,Modem进入Connected状态,如果还没有数据交互,那么Modem直接进入PSM。(如果一直没有数据交互,Modem会一直进行这个循环)
5、如果在PSM状态下,有数据需要上传,Modem马上进入Connected状态,传完后,又进入Idle状态,T3324时间后,进入PSM状态。
注:
- 常见的 DRX 周期(DRX cycle)为 1.28 秒和 2.56 秒。
- DRX周期由网络决定,模块不可配。
- T3324时间又叫TAU 周期。
如果Modem的Idle状态的工作方式是eDRX,我们来看看模组的整个工作过程:
可以看到,eDRX模式在DRX的基础上又增加了eDRX周期,这样对基站的寻呼次数更少,更节能,但是也会导致更长的下行数据延时。模块只能在 PTW 内按 DRX周期监听寻呼信道,以便接收下行业务; PTW 外的时间不监听寻呼信道、不能接收下行业务。
注:
- eDRX 周期通常为 20.48 秒或 81.92 秒。
- 模组这侧有命令可以配置 eDRX 周期,但是最终由网络决定是否接受配置。
NB-IoT模组为什么不能实时接收下行数据?
在网络状态正常,模组功能正常的情况下,下列两个问题都有可能引起模组收不到下行数据:
(1)NB-IoT网络中,为了实现低功耗特点,引入了PSM机制和eDRX机制,终端模组在处于PSM状态和eDRX的非寻呼时间窗阶段时,无法监听来自核心网的下行寻呼,从而出现收不到下行数据的现象。
(2)此外,模组通信使用UDP协议,在传输网中,由于传输资源有限,不能无限制的维持UDP连接;所以,传输网引入了NAT映射老化机制,在当前UDP链路持续段时间不使用的情况下,传输网会回收当前UDP资源,分配给其他用户使用;从而导致传输链路中断,模组收不到下行数据的现象(目前公网的UDP映射老化时间大约为1~2min)。
要实现数据下发,可以通过终端主动发送上行数据唤醒模组,模组自动构建数据链路;上级服务器接收到终端的上行数据后,在模组重新进入PSM状态以及传输网UDP映射回收之前,执行下行数据发送,即可完成数据下发。
若需要实现实时下行数据业务,则需要针对上述两个方面做针对性处理,目前有两种方案可以实现实时下行数据业务:
方案1:使用AT指令关闭模组PSM和eDRX功能,使终端不再进入低功耗状态,从而保持与接入网的连接,保证随时能收到核心网下发的寻呼;并且应用层设计1min为周期的心跳机制,维持UDP映射不被传输网回收。
方案2:使用AT指令关闭模组PSM和eDRX功能,使终端不再进入低功耗状态,从而保持与接入网的连接,保证随时能收到核心网下发的寻呼;并且协调运营商开通专用APN,并通过GRE隧道的方式,保持长连接,此种方案下,无需使用心跳保持长连接状态。
在保持长连接的情况下,模组无法进入低功耗状态,无低功耗功能。
以上是关于模组使用之NB-IoT模组的工作模式PSMDRX和eDRX状态说明的主要内容,如果未能解决你的问题,请参考以下文章
微信公众号控制硬件14 分享安信可微信公众号定位NB-IoT模组的源码和实现过程,可实现远程查看模组定位位置。(附带源码)
微信公众号控制硬件14 分享安信可微信公众号定位NB-IoT模组的源码和实现过程,可实现远程查看模组定位位置。(附带源码)
微信公众号控制硬件14 分享安信可微信公众号定位NB-IoT模组的源码和实现过程,可实现远程查看模组定位位置。(附带源码)