模组使用之NB-IoT模组的工作模式、PSM、DRX和eDRX状态说明

article/2025/9/12 14:39:39

  模组主要由 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状态。

注:

  1. 常见的 DRX 周期(DRX cycle)为 1.28 秒和 2.56 秒。
  2. DRX周期由网络决定,模块不可配。
  3. T3324时间又叫TAU 周期。

  如果Modem的Idle状态的工作方式是eDRX,我们来看看模组的整个工作过程:
在这里插入图片描述
  可以看到,eDRX模式在DRX的基础上又增加了eDRX周期,这样对基站的寻呼次数更少,更节能,但是也会导致更长的下行数据延时。模块只能在 PTW 内按 DRX周期监听寻呼信道,以便接收下行业务; PTW 外的时间不监听寻呼信道、不能接收下行业务。

注:

  1. eDRX 周期通常为 20.48 秒或 81.92 秒。
  2. 模组这侧有命令可以配置 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隧道的方式,保持长连接,此种方案下,无需使用心跳保持长连接状态。

  在保持长连接的情况下,模组无法进入低功耗状态,无低功耗功能。


http://chatgpt.dhexx.cn/article/eIFUN6ym.shtml

相关文章

LTE_DRX不连续接收(1)

本文转自: https://blog.csdn.net/m_052148/article/details/52439789 1.为什么要使用DRX 在讲解DRX的概念前,我们需要先了解下什么是“空闲态”,什么是“连接态”。 我们经常会听到“空闲态”、“连接态”这样的术语,这个概念…

NR/5G - DRX

DRX, Discontinuous reception,非连续接收主要是节省终端的功耗,通俗点,就是节省电量,让手机待机时间更长。 对于广义上的DRX的理解,可以分为RRC_IDLE/RRC_INACTIVE状态和RRC_CONNECTED状态的DRX。 一 R…

DRX不连续接收(1)

本文转自: https://blog.csdn.net/m_052148/article/details/52439789 1.为什么要使用DRX 在讲解DRX的概念前,我们需要先了解下什么是“空闲态”,什么是“连接态”。 我们经常会听到“空闲态”、“连接态”这样的术语,这个概念是从…

LTE-连接态下的DRX

C-DRX: Connectedmode DRX,连接态下的DRX UE在连接态下,如果没有数据传输的话,会根据DRX的规则停止监听PDCCH(监听PDCCH可参考:PDCCH),从而达到省电的目的。一个DRX周期包含On Duration 和Opportunity for DRX 两个时间段。 3GPP - 36.321中…

5G-NR非连续接收DRX参数配置详解

5G-NR系统配置中的非连续接收系统 DRX:Discontinuous Reception 5G终端商用在即,根据前期测试及部分5G友好用户反馈,“5G终端功耗大,待机差”问题特别突出。根据5G技术特性,导致5G终端相比4G功耗大很多的原因有如下4…

DRX

为什么要使用DRX 无论是空闲态,还是连接态,如果没有我们本文提到的DRX机制,UE就会一直监听下行PDCCH子帧,查看是否有来自服务小区的信息。这样做看起来没有问题,然而现实很多时候,UE并不是一直在和网络进行…

非连续接收DRX

非连续接收的由来分类原理 3.1空闲状态下的DRX 3.2连接状态下的DRXDRX相关的timer启动和停止的触发条件调试所需的LOG包 1. 非连续接收的由来 非连续接收(DRX,Discontinuous Reception)基于包的数据流通常是突发性的,在一段时…

DRX(Discontinuous Reception,非连续接收)处理流程

学习《深入理解LTE-A》笔记,此篇关注LTE中的DRX过程。 处于RRC_CONNECTED态下的UE的DRX处理流程,有几个timer需要详细了解,还简单介绍了载波聚合对DRX的影响。 DRX介绍 数据包具有突发性,在没有数据传输的时候,可以通…

LTE资源调度(7)-DRX不连续接收(1)

1.为什么要使用DRX 在讲解DRX的概念前,我们需要先了解下什么是“空闲态”,什么是“连接态”。 我们经常会听到“空闲态”、“连接态”这样的术语,这个概念是从RRC层角度来说的。简单来说,当UE在某个小区完成了驻留之后&#xff…

生成数据库设计文档小技巧

目录 生成数据库设计文档小技巧利用数据库自身功能生成excel和word文档使用的软件环境说明查询所有表名查询所有列名设置excel 生成数据库设计文档小技巧 利用数据库自身功能生成excel和word文档 我们在程序开发的时候,离不开数据库设计。有些数据库设计软件功能很…

快速制作数据库设计文档的表格

工具:navcat 第一步:新建一个空白文档,依次点击:插入—>表格 ,选择插入的行和列。 第二步:按住shift或者ctrl选中多行,并用快捷键ctrlc复制。 第三步:切换到刚创建的文档。选中表…

自动生成数据库设计文档利器

目录 1、前言介绍 2、功能说明 3、编码实战 1、新建项目 2、导入依赖 3、启动类 4、工具类 5、测试 1、前言介绍 今天给大家介绍一款非常还用的小工具,专门用到生成数据库设计文档的,非常简单、快捷、方便 这款工具就是screw(螺丝钉…

还在手写数据库设计文档?java一键生成

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 前言: 以前…

通过表结构生成数据库设计文档

技术实现:ScrewjavaFX 作用:通过引入screw核心包来实现Java 数据库文档,一键生成支持的数据库列表:MySQL 、MariaDB 、TIDB、 Oracle、 SqlServer、 PostgreSQL(注意:目前MariaDB 、TIDB、 Oracle因为缺少环境未做验证,若有问题,欢迎留言以做改正) 工具效果图: 使用注意事项:…

快速生成一份数据库表设计文档

最近需要给兄弟部门出一份数据设计文档&#xff0c;我这个项目是半路接手的&#xff0c;前辈也没有留下啥说明&#xff0c;想偷懒发现一个好用的工具screw如下&#xff1a; 添加依赖&#xff1a; <dependency><groupId>cn.smallbun.screw</groupId><arti…

mysql数据库自动生成数据库开发设计文档

1、输出表结果&#xff0c;表结构可自己通过代码调整,简单但是有时候很实用&#xff0c;可以节省大量的时间&#xff0c;主要思路&#xff1a; a 在java代码中&#xff0c;通过数据库查询语句获取所有表名和表名备注信息。 b 通过表名获取某张表的所有字段说明。 c 整理查询…

数据库设计文档编写模板

在编写数据库设计说明文档时&#xff0c;需要对每一张数据表做设计说明&#xff0c;其中最主要、也是最繁琐的部分就是表字段描述部分&#xff0c;那么采取什么样的模板格式&#xff0c;即能完整表达表字段设计用意&#xff0c;又能快速采集数据库设计信息呢&#xff1f;建议如…

使用Navicat将表设计导出数据库设计文档

我们在写数据库设计文档的时候&#xff0c;会需要对数据库表进行设计的编写&#xff0c;手动写的话会很费时间费精力。 1、首先在Navicat中点击查询&#xff0c;然后输入以下SQL语句&#xff1a; SELECT TABLE_NAME 表名, COLUMN_NAME 字段, COLUMN_COMMENT 字段名称, COLUMN…

生成 数据库设计文档

最近要写一个数据库设计文档 数据设计文档中数据库结构设计这个模块是需要把数据库的所有字段&#xff0c;标识&#xff0c;注释等的设计写出来&#xff0c;如果手写会疯的&#xff0c;现在自己来写个生成工具生成&#xff0c;只要连接数据库就ok。 一、在用idea创建maven项目…

【MySQL】数据库设计文档生成

MySQL数据库设计文档生成 文章目录 MySQL数据库设计文档生成前言0、全局浏览1、引入依赖2、启动类3、配置文件4、实现类5、成品展示 前言 记录MySQL数据库设计文档生成&#xff0c;旨在方便自己&#xff0c;也能方便他人。 Gitee源码&#xff1a;https://gitee.com/liuyimin43…