跳转至

低功耗

一、低功耗模式概述

1.1 背景说明

  1. 低功耗是合宙 4G Cat.1 模组最重要的特性之一;
  2. 合宙 4G Cat.1 模组有三种功耗模式,分别有各自的特点;
  3. 合宙 4G Cat.1 模组优异的低功耗表现,既有硬件设计的加持,也有软件协议算法的帮助;
  4. 不同的应用场景,按需选择不同的合宙 4G Cat.1 模组功耗模式,以及三种功耗模式之间的相互转换;
  5. 除实验室数据外,合宙更关注实网环境下的功耗表现,呈现给用户的效果更多以实网在线表现为准;

1.2 功耗模式

合宙低功耗模组三种功耗模式


常规模式
低功耗模式
PSM+ 模式
4G 在线状态
在线,长连接
在线,长连接
离线,飞行模式
CPU 主频
满频
降频
降频
定时器唤醒
支持
支持
支持
中断唤醒
支持
支持
支持
串口唤醒
支持
支持,唤醒时波特率需先设置为 9600bps
支持,唤醒时波特率需先设置为 9600bps
服务器 4G 唤醒
支持,1 秒内

支持,1 秒内
不支持
上行发送
1 秒内响应
1 秒内响应
1.5 秒内响应
VEXT 电源输出状态
保持输出
不能保持输出,也不能保持关闭,间歇性输出状态
不能保持输出,也不能保持关闭,间歇性输出状态
所有 GPIO 管脚是否可以控制输出电平
可以
不可以

不可以
常规 GPIO 管脚是否可以保持电平
可以
不可以
不可以
特殊 AGPIO 管脚是否可以保持电平
可以
可以
可以
RAM 供电及唤醒后软件运行状态
RAM 供电,正常工作,满血状态
RAM 供电,唤醒后保持原状态运行
RAM 掉电,唤醒后程序从初始状态运行(PSM+ 状态前运行数据丢失)
典型功耗表现
较低(5mA)
均衡(1mA)
极低(3uA)
测试环境:
1)Air780E,供电电压 3.8V,移动网络,RSRP 值-88 附近,心跳间隔 5 分钟,心跳数据 100Byte,TCP 协议,合宙 netlab 服务器(https://netlab.luatos.com/);
2) 全 io 开发板,去掉了所有可能引起功耗加大器件,如 USB 下方的 ESD 器件,关闭了网络灯








更多说明:

1.3 三种功耗模式简捷定义

1)常规模式;

网络在线状态,随时响应服务器命令,CPU 满频运行,外设功能全部可用,比如,所有 GPIO 电平都可以控制;

2)低功耗模式;

网络在线状态,随时响应服务器命令,CPU 降频运行,外设功能部份可用,比如,仅有 AGPIO 可以保持电平;

3)PSM+ 模式;

网络离线状态,无法响应服务器命令,CPU 降频运行,外设功能部份可用,比如,仅有 AGPIO 可以保持电平;

1.4 关于 GPIO 的相关说明

合宙 Air700 系列/Air780 系列模组在"低功耗模式/PSM+ 模式"下不同 GPIO 的功能表现不一致,请务必根据产品定义所需严谨选择,避免改版;

根据不同 GPIO 在"低功耗模式/PSM+ 模式下"的不同表现,可以将 GPIO 分为四类:

  • AGPIO,有些文档中有时也会被写为 AON_GPIO,AlwaysON,一直保持的意思; 低功耗模式下既可以保持输出高,也可以保持输出低,但不能高低变换;
  • AGPIOWU,也可以写为 AON_GPIO_WAKEUP,既能在低功耗模式下输出保持(输出高低都可以,但不能高低变换),也可以在低功耗模式下作为中断;
  • WAKEUP,仅能作为输入,低功耗模式下可以作为中断;
  • 普通 GPIO,低功耗模式下既不能保持输出高,也不能保持输出低;

不需要低功耗,希望模块一直保持正常状态的,可以使用第一种 "常规模式",该模式下,CPU 正常工作,所有外设均可启用

电池供电,和服务器之间是长链接,又希望降低功耗的,可以使用第二种"低功耗模式",该模式下,CPU 自动降频,RAM 保持供电,串口指令/网络事件/IO 中断均可自动唤醒,普通 GPIO 掉电,外设驱动掉电,AON_GPIO 保持电平唤醒后程序继续运行

电池供电,和服务器之间不需要保持长连接,仅仅需要间隔几小时甚至几天才发一次数据给服务器,希望电池待机时间更久一些的,可以使用第三种"PSM+"模式,该模式下 CPU 自动降频,RAM 掉电, 保留 RAM 也掉电,普通 GPIO 掉电,外设驱动掉电,AON_GPIO 保持休眠前的电平,串口可唤醒,wakeup 脚可唤醒,唤醒后需要重连服务器

二、演示功能概述

本文将给大家讲解 Air780E 三种功耗模式与对应的效果演示。

三、准备硬件环境

“古人云:‘工欲善其事,必先利其器。’在深入介绍本功能示例之前,我们首先需要确保以下硬件环境的准备工作已经完成。”

3.1 Air780E 开发板(全 IO 低功耗板)

本次使用的开发板为 Air780E 全 IO 低功耗板,如下图所示:

点击链接购买: Air780E 全 IO 板

此核心板的详细使用说明参考:Air780E 产品手册 中的《开发板 EVB-Air780E-IO 使用说明 V X.X.X.pdf》,写这篇文章时最新版本的使用说明为:《开发板 EVB-Air780E-IO 使用说明 V1.2.0.pdf》,使用过程中遇到任何问题,可以直接参考这份使用说明 pdf 文档。

3.2 SIM 卡

请准备一张可正常上网的 SIM 卡,该卡可以是物联网卡或您的个人手机卡。

特别提醒:请确保 SIM 卡未欠费且网络功能正常,以便顺利进行后续操作。

3.3 PC 电脑

准备一台电脑;

电脑操作系统为:WIN10 以及以上版本的 WINDOWS 系统。

注意:电脑有 USB 口,并且可以正常上网!!!

3.4 数据通信线

请准备一根用于连接 Air780E 开发板和 PC 电脑的数据线,该数据线将实现业务逻辑的控制与交互。您有两种选择:

  • USB 数据线(其一端为 Type-C 接口,用于连接 Air780E 开发板)。通常,这种数据线的外观如下示意图所示:

普通的手机 USB 数据线一般都可以直接使用;

在本教程中,我们将采用 USB 数据线配置进行测试和数据查看:

  • USB 数据线:此数据线不仅用于为测试板供电,还用于查看数据日志。其一端为 Type-C 接口,连接 Air780E 开发板;另一端为标准 USB 接口,连接 PC 电脑。

3.5 可调电源

合宙功耗分析仪 Air9000P——合宙自研的一款功能齐全、稳定可靠、支持 PC 端软件的小型手持式高精度功耗测试仪表(电流范围 0~2A,最小分辨率 0.1μA;电压范围 0~5V,最小分辨率 1mV;硬件采样率 100KHz,PC 端软件采样率 10KHz)。合宙功耗分析仪 Air9000P 对于小电流的抓取能力及其对功耗数据的统计分析,尤其适合电池供电产品的动态功耗测试,可解决各类场景下的低功耗产品测试难题。

合宙功耗分析仪详细介绍链接:www.hezhouyibiao.com

3.6 组装硬件环境

3.6.1 请按照 SIM 卡槽上的指示方向正确插入 SIM 卡,务必确保插入方向正确,避免插反导致损坏!

通常,放置 SIM 卡的步骤如下:

  • 将 SIM 卡的金属接触面朝下,对准卡槽的开口。
  • 平稳地将 SIM 卡放置卡槽,向上推金属盖直至听到“咔嚓”一声,表示 SIM 卡已正确安装到位。

3.6.2 USB 数据线,连接电脑和 Air780E 全 IO 开发板,如下图所示:

四、准备软件环境

“凡事预则立,不预则废。”在详细阐述本功能示例之前,我们需先精心筹备好以下软件环境。

4.1 Luatools 工具

要想烧录 AT 固件到 4G 模组中,需要用到合宙的强大的调试工具:Luatools;

下载地址:Luatools v3 下载调试工具

Luatools 工具集具备以下几大核心功能:

  • 一键获取最新固件:自动连接合宙服务器,轻松下载最新的合宙模组固件。
  • 固件与脚本烧录:便捷地将固件及脚本文件烧录至目标模组中。
  • 串口日志管理:实时查看模组通过串口输出的日志信息,并支持保存功能。
  • 串口调试助手:提供简洁的串口调试界面,满足基本的串口通信测试需求。

Luatools 下载之后, 无需安装, 解压到你的硬盘,点击 Luatools_v3.exe 运行,出现如下界面,就代表 Luatools 安装成功了:

4.2 串口调试工具

在量产的项目硬件设计中,一般都是由主控 MCU 通过 MCU 的 UART 给 4G 模组的 UART1 发送命令实现具体的业务逻辑;

在本教程中,为了测试方便,没有使用主控 MCU;

而是使用了 PC 电脑上的一个串口工具 LLCOM,通过 TTL 转 USB 模块给 780E 的 uart1 发送命令来实现演示功能;

4.2.1 确定模块内部固件

模块出厂如无特殊要求,就是 AT 版本,可以直接走串口一发 AT,发送前可以通过 luatools 确定当前模块固件类型,如果模块类型不是 AT 固件,需要使用 USB 烧录 AT 固件。如下图所示位置,即可看出模块固件内部为 luatos 版本,非 AT 版本,需要重新下载 AT 固件,如果已经是 AT 固件了,则大多数情况下就不需要通过 luatools 烧录 AT 固件了。如果需要下载 AT 固件,则继续看包含在 5.2.2 以内的第五节所有内容,如果当前已经是 AT 固件,且查看过 AT 固件版本说明,当前的版本满足需求的,直接开始看第 6 节

5.2.2 找到烧录的固件文件

如果模块内部不是 AT 版本,或者说不是你想要的 AT 版本,则可以通过 Luatools 给 780E 烧录对应 AT 固件,AT 固件版本可以点击此处查看

本文使用的是 AirM2M_780E_V1163_LTE_LPAT

4.2 烧录固件

特别说明:core 大于等于 V1163 的 LPAT 版本,才能支持这三种低功耗模式

4.2.1 正确连接电脑和 4G 模组电路板

使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线;

4.2.2 识别 4G 模组的 boot 引脚

在下载之前,要用模组的 boot 引脚触发下载, 也就是说,要把 4G 模组的 boot 引脚拉到 1.8v,或者直接把 boot 引脚和 VDD_EXT 引脚相连。我们要在按下 BOOT 按键时让模块开机,就可以进入下载模式了。

具体到 Air780E 全 IO 开发板,

  • 当我们模块没开机时,按着 BOOT 键然后长按 PWR 开机。
  • 当我们模块开机时,按着 BOOT 键然后点按重启键即可。

4.2.3 识别电脑的正确端口

判断是否进入 BOOT 模式:模块上电,此时在电脑的设备管理器中,查看串口设备, 会出现一个端口表示进入了 boot 下载模式,如下图所示:

如果设备管理器出现了 3 个连续数字的 com 端口,这时候, 证明硬件连接就绪,模块正常开机且端口识别正常

此时按住 boot 按键,再按下重启按键就可以进行烧录了!

4.2.4 新建项目

首先,确保你的 Luatools 的版本大于或者等于 3.0.6 版本.

在 Luatools 的左上角上有版本显示的,如图所示:

注:模块如果进入了 boot 模式,但是没有烧录动作,boot 模式会持续 40s 左右,然后正常开机

5.2.6 使用 luatools 烧录固件

点击点击下载后,出现如下提示以后,如果模块开机就按住 boot 按键再按住重启键,使模块进入 boot 模式,如果模块未开机,则按住 boot 按键,再按住开机键,模块也能进入 boot 模式

等待几秒后会出现

再等 30 多 S 以后,下载框就会提示

此时,使用 llcom 选择 TTL 转 USB 模块对应端口,并且点击"打开串口",发送第一条指令"AT*I"(注:模块默认波特率为 115200,如果需要需要 9600 或其他波特率,可以先用 115200 波特率发送 at+ipr=9600,其中等号后面的就是想要设置的波特率,可以设置的波特率如下:0,600,1200,2400,4800,9600,19200,38400,57600,115200,230400,460800,921600,1000000,2000000,3000000)

五、低功耗模式软硬件资料

5.1 硬件设计资料

硬件可以参考这里 https://docs.openluat.com/air780e/product/

5.2 软件设计资料

5.2.1 软件 AT 指令

最核心的就是这条

AT+POWERMODE

示例:

AT+POWERMODE="PSM+",2,1

每个参数的示意:

第一个参数:"PSM+"

为进入的低功耗模式,目前有两种可选("PRO"和"PSM+")(注:"STD"仅作为历史遗留版本存在,等效为"PRO")

第二个参数:"PSM+"模式下,拉低 RI 管脚的秒数,RI 管脚可作为外部 MCU 的唤醒脚。

第二个参数:"PRO"模式下,是否开启 IPV6 开启为 1,关闭为 0,默认关闭

第三个参数:是否需要超过 54 分钟的休眠,因为 3GPP 协议规定,PSM+ 模式下,默认必须每隔 54 分钟进行一次与基站之间的交互,此次交互会使得模块被唤醒,从而退出休眠模式,进而导致模块功耗增加,参数为 0 时每隔 54 分钟模块会被唤醒一次,参数为 1 时不会被唤醒,由于部分历史遗留问题,该参数默认为 0 ,所以有超过 54 分钟休眠时长的用户,请主动把该参数设置为 1

注:该指令默认掉电保存,所以下次上电,模块会自动进入对应的 PRO 或者 PSM+ 模式

六、功耗模式简介

前面已经介绍过三种功耗模式了,这里就不再做过多重复解释了

6.1 常规模式简介

顾名思义,常规模式为模块不考虑功耗时处于的状态。

6.1.1 AT 指令示例

完整 AT 交互流程

2024-11-14 15:24:21.785 +08:00 [INF] ->^boot.rom'v'!\n
2024-11-14 15:24:22.762 +08:00 [INF] ->
RDY
2024-11-14 15:24:24.993 +08:00 [INF] ->
^MODE: 17,17
+E_UTRAN Service
+CGEV: ME PDN ACT 1,0
+NITZ: 2024/11/14,07:24:24+32,0
2024-11-14 15:24:28.305 +08:00 [INF] <-AT*I
2024-11-14 15:24:28.455 +08:00 [INF] ->AT*I
Manufacturer: AirM2M
Model: Air780E
Revision: AirM2M_780E_V1163_LTE_LPAT
HWver: A17
Buildtime: Nov  5 2024 00:51:34
IMEI: 867713070153887
ICCID: 898604981022C0256554
IMSI: 460081899906554
OK
2024-11-14 15:24:30.982 +08:00 [INF] <-ATE0
2024-11-14 15:24:31.100 +08:00 [INF] ->ATE0
OK
2024-11-14 15:24:36.303 +08:00 [INF] <-AT+CREG?
2024-11-14 15:24:36.419 +08:00 [INF] ->
+CREG: 0,1
OK
2024-11-14 15:24:38.477 +08:00 [INF] <-AT+CGATT?
2024-11-14 15:24:38.602 +08:00 [INF] ->
+CGATT: 1
OK
2024-11-14 15:24:40.827 +08:00 [INF] <-AT+CIPMUX=0
2024-11-14 15:24:40.951 +08:00 [INF] ->
OK
2024-11-14 15:24:43.903 +08:00 [INF] <-AT+CIPQSEND=1
2024-11-14 15:24:44.036 +08:00 [INF] ->
OK
2024-11-14 15:24:45.928 +08:00 [INF] <-AT+CSTT
2024-11-14 15:24:46.058 +08:00 [INF] ->
OK
2024-11-14 15:24:46.561 +08:00 [INF] <-AT+CIICR
2024-11-14 15:24:46.697 +08:00 [INF] ->
OK
2024-11-14 15:24:47.349 +08:00 [INF] <-AT+CIFSR
2024-11-14 15:24:47.479 +08:00 [INF] ->
10.98.0.210
2024-11-14 15:25:11.994 +08:00 [INF] <-AT+CIPSTART="TCP","112.125.89.8",44903
2024-11-14 15:25:12.105 +08:00 [INF] ->
OK
2024-11-14 15:25:12.276 +08:00 [INF] ->
CONNECT OK

服务器 ip 和端口号,请改成用户自己使用的服务的 IP/域名以及端口号,如果仅作测试,也可以使用合宙提供的测试服务器,测试服务器相关资料可以点击此处 https://netlab.luatos.com/ 进入后选择打开 TCP/UDP(根据用户服务器类型自行选择)

打开后,如图所示位置即是 IP 和端口号

注:如果当前已经在 PSM+ 或者低功耗模式下,想要切换回普通模式,可以使用如下 AT 指令

AT+POWERMODE="CLOSE"

退出当前模式,该指令示例:

如果设置了 PSM+ 模式后面的那两个参数,切换正常模式时候,可以看图所示的情况

6.1.2 硬件链接

测试时将可调电源正极接在 USB 下方的排针处,VBAT 即为电源正极所接的位置,GND 即为电源负极接的位置(注:一定要拔掉 USB 连接线)

6.1.3 展示效果

下图为链接好服务器后什么都不做的功耗,其中平均电流为 13.5894mA,每一个尖峰均为和基站进行一些底层的数据交互导致的电流增大,这些交互不能省,均是 3GPP 协议规定的交互,如果省去,都有可能导致掉网。

6.2 低功耗模式(PRO)简介

该模式可以实现与服务器之间进行长连接,服务器可随时下发数据给客户端,实现在低功耗情况下还能实时远程控制的功能

6.2.1 AT 指令示例

完整交互如下

2024-11-14 17:56:05.058 +08:00 [INF] ->
^MODE: 17,17

+E_UTRAN Service

+CGEV: ME PDN ACT 1,0

+NITZ: 2024/11/14,09:56:05+32,0

2024-11-14 17:56:54.149 +08:00 [INF] <-AT+IPR=9600;&W

2024-11-14 17:56:54.277 +08:00 [INF] ->
OK

2024-11-14 17:56:58.727 +08:00 [INF] <-AT+CREG?

2024-11-14 17:56:58.877 +08:00 [INF] ->
+CREG: 0,1

OK

2024-11-14 17:57:00.471 +08:00 [INF] <-AT+CGATT?

2024-11-14 17:57:00.598 +08:00 [INF] ->
+CGATT: 1

OK

2024-11-14 17:57:40.381 +08:00 [INF] <-AT+CIPMUX=0

2024-11-14 17:57:40.504 +08:00 [INF] ->
OK

2024-11-14 17:58:09.960 +08:00 [INF] <-AT+CIPMODE=1

2024-11-14 17:58:10.110 +08:00 [INF] ->
OK

2024-11-14 17:58:18.242 +08:00 [INF] <-AT+CSTT

2024-11-14 17:58:18.384 +08:00 [INF] ->
OK

2024-11-14 17:58:19.158 +08:00 [INF] <-AT+CIICR

2024-11-14 17:58:19.305 +08:00 [INF] ->
OK

2024-11-14 17:58:20.331 +08:00 [INF] <-AT+CIFSR

2024-11-14 17:58:20.471 +08:00 [INF] ->
10.93.163.204

2024-11-14 18:59:46.346 +08:00 [INF] <-AT+POWERMODE="PRO"

2024-11-14 18:59:46.493 +08:00 [INF] ->
OK

2024-11-14 17:58:44.665 +08:00 [INF] <-AT+CIPSTART="TCP","112.125.89.8",43870

2024-11-14 17:58:44.836 +08:00 [INF] ->
OK

2024-11-14 17:58:45.072 +08:00 [INF] ->
CONNECT

2024-11-14 18:03:25.761 +08:00 [INF] <-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2024-11-14 18:08:25.794 +08:00 [INF] <-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2024-11-14 18:13:25.810 +08:00 [INF] <-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2024-11-14 18:18:25.827 +08:00 [INF] <-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2024-11-14 18:23:25.834 +08:00 [INF] <-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2024-11-14 18:28:25.843 +08:00 [INF] <-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

服务器 ip 和端口号,改成用户自己使用的服务的 IP/域名以及端口号,如果仅作测试,也可以使用合宙提供的测试服务器,测试服务器相关资料可以点击此处 https://netlab.luatos.com/ 进入后选择打开 TCP/UDP(根据用户服务器类型自行选择)

打开后,如图所示位置即是 IP 和端口号

6.2.2 硬件链接

特别注意,由于 2.1 版本全 IO 开发板 USB 下方的 ESD 会影响功耗,所以测试时需要将该 ESD 吹掉后测试。

测试时将可调电源正极接在 USB 下方的排针处,VBAT 即为电源正极所接的位置,GND 即为电源负极接的位置

6.2.3 展示效果

下图为上面的低功耗模式 链接服务器并发送完第一包数据以后 30 分钟的功耗,共计发送了 6 次数据包,所以整体的功耗里有 6 个较大的尖峰,总体平均电流约为 1.544mA

下图为低功耗模式下,不发数据时,模块的功耗情况,每一处尖峰都是与基站之间进行必要的通讯带来的电流增大

下图红框内为收到服务器下发数据时的功耗数据,可以看出从唤醒到收到服务器数据再到发送给串口数据以后进入休眠,总计花费约 5S(整个过程可以分为两个阶段,第一阶段是唤醒并且接收到服务器的数据,这一阶段的持续时长不会超过 1 秒钟;第二阶段是等待进入休眠,这个阶段的持续时长由基站决定,有可能 3S 不到也有可能 10S,但是一般不会超过 15S),平均电流约为 22.37mA





下图为给服务器发数据时候的功耗,可以看出,从唤醒到发送数据最后继续休眠总计用时 10S 左右(整个过程可以分为两个阶段,第一阶段是唤醒接并且发送数据到服务器,这一阶段的持续时长不会超过 1 秒钟;第二阶段是等待进入休眠,这个阶段的持续时长由基站决定,有可能 3S 不到也有可能 10S,但是一般不会超过 15S),此段的平均电流约为 19.4mA

6.3 超低功耗模式(PSM+ 模式)简介

对于 和服务器之间不需要保持长连接,仅仅需要间隔几小时甚至几天才发一次数据给服务器,希望电池待机时间更久一些的场景,可以使用第三种超低功耗("PSM+")模式

6.3.1 AT 指令示例

PSM+ 模式下,如果链接服务器后发送消息的 CIPSEND 指令和真实数据发送之间间隔较久的话,有可能会断开链接,真实 MCU 情况下可以使用"\r"字符作为转义字符,在"AT+CIPSEND=10"的后面加上"\r"再直接接我们想要发送的内容,如"12324567890",如下示例'AT+CIPSEND=10\r1234567890',由于 llcom 发送时不会对指令进行任何处理,把所有数据都当作字符串传给模块,不能识别"\r"这个转义字符,所以我们使用 sscom,使用"\r"作为转义字符,模拟发送数据的 mcu。

服务器 ip 和端口号,改成用户自己使用的服务的 IP/域名以及端口号,如果仅作测试,也可以使用合宙提供的测试服务器,测试服务器相关资料可以点击此处 https://netlab.luatos.com/ 进入后选择打开 TCP/UDP(根据用户服务器类型自行选择)

打开后,如图所示位置即是 IP 和端口号

6.3.2 硬件链接

特别注意,由于 2.1 版本全 IO 开发板 USB 下方的 ESD 会影响功耗,所以测试时需要将该 ESD 吹掉后测试。

测试时将可调电源正极接在 USB 下方的排针处,VBAT 即为电源正极所接的位置,GND 即为电源负极接的位置

6.3.3 展示效果

下图红框内为 PSM+ 模式下,发送数据时的功耗,从发送数据到最后进入休眠总计花费约 2S,这 2S 内平均电流约为 27mA

下图为 PSM+ 模式下,模块待机时的功耗

七、 常见问题

7.1 我的硬件板子上还是需要一个 USB 口的,如果拆了或者不加 ESD 可能会有外部电流窜进来有可能会击穿模块,但加了全 IO 开发板上的 ESD 会有额外的功耗增加,具体会增加多少,有数据吗

TCP(ESD 吹掉)数传周期 5 分钟 测试总时长 30 分钟

由左右两幅图所示,ESD 去掉后功耗大约降了 10%

7.2 注释里说 UDP 比 TCP 更省电,有数据支撑吗,具体省多少

由左右两幅图可得,TCP 要比 UDP 高 10% 左右,如果数传周期拉长到 10 分钟、一个小时、甚至一天,则差的会更多。

7.3 为什么我的测试结果和你的测试结果大相径庭,甚至是你测试的 2 倍、5 倍不止

针对此类问题,可以先购买全 IO 开发板进行测试,购买链接:https://item.taobao.com/item.htm?id=724722276597&spm=a1z10.3-c-s.w4002-24045920836.11.386d6ee5KIyXU3&skuId=5208106143672

如果使用的是全 io 开发板,且使用的是超低功耗(PSM+)模式,仍然没有到 3uA 左右,可以参考 7.3.1 和 7.3.2 两个排查方案

如果使用的是全 io 开发板,且使用的是低功耗长连接模式,和上面 6.2.3 描述的电流差异较大,可以参考 7.3.1、7.3.2 和 7.3.3 三种排查方案

如果使用的用户自行设计的 PCB,可以先按照 7.3.2、7.3.3 和 7.3.4 方向进行排查

7.3.1 检查 ESD 和 io 选择引脚

全 IO 开发板 V2.1 版本 USB 下方的 ESD 有没有吹下来(如下图 7.3.1 图一所示),该 ESD 会影响功耗 10uA 左右,io 选择引脚是否短接到了 1.8V 这边(如下图 7.3.1 图二所示),3.3V 和 1.8V 引脚所需要的电流也不一样

7.3.2 检查代码

超低功耗模式中,uart 口唤醒/AGPIO 唤醒/wakeup 脚都可以唤醒模块,检查下自己是否使用了对应引脚,例如串口有什么任务没关,wakeup 脚是否碰到了高电平管脚等。

7.3.3 检查模块天线链接与驻网频段

可以在 AT 指令"AT+CGATT?"回复"+CGATT: 1"以后加上一条 AT 指令"AT+CCED=0,1"

该接口回复示例

不同的信号值(rsrp)和不同的频段,功耗也不一样,其中信号值的影响更大一些,因为信号差的地方,需要射频电路发射功率更大才能维持和基站之间的正常通讯,当然,不同频段射频电路的发射/接收功率也不同。

如果信号较差,可以看下天线接触是否正常,全 IO 开发板的弹簧天线,没有做过阻抗匹配,所以信号可能不会特别的好,可以先用斜口钳剪断弹簧天线,再使用开发板上的 ipx1 座子,接一根天线出来,如下 7.3.3 图一所示

还有一种较小概率的情况,就是当前模块信号特别好,但是测试出的功耗数据很差,甚至比我上面的数据大了好几倍,有可能遇到了特殊基站,可以参考 https://docs.openluat.com/howtouselog/#_5 这篇文章,抓底层日志给合宙看看是什么情况了

如果遇到功耗差异比较大的情况,可以先查看下周围的频段,再锁频段进行测试,具体操作如下:

准备一台安卓手机(注意安卓版本要 7.0 以上),安装“Cellular-Z”这个 APP。(在 APP 商城搜索 Cellular-Z)。

其次,在手机的设置里,将"5G"关闭,打开 celular-z,看看当前小区频段和 RSRP,以及邻小区的 rsrp 的值,选择一个最好的 rsrp,并且记下对应的频段

接下来使用对应的手机卡,插入全 IO 开发板的 sim1 卡槽内

在 AT 指令的最开头加入锁频段的语句(根据你搜到的频段填入对应频段,不能直接复制粘贴过去):

AT+ECBAND=3,34(3即是BAND3,34即是BAND34)

如果只需要锁一个频段测试,可以这么写 AT+ECBAND=3

7.3.4 检查硬件 PCB 设计

例如 DCDC,很多客户使用的是 5V 转 4V 的 DCDC 给 vbat 供电,此时就需要计算下 DCDC 的损耗了

再比如,漏电流,又或者电源管理芯片的选择。可以对比全 io 开发板的 PCB 和自己的 PCB 来进行功耗问题的排查

7.4 我想先链接服务器,然后再进入低功耗模式,为什么模块掉线了

切换任意一种模式,底层都会自动进出一次飞行模式和基站进行一些网络方面配置交互, 会触发掉网和联网过程,所以不建议用户在前两种模式下这么使用,因为代码中有掉线重连的尝试,可能会导致一直重连一直连不上的问题。当然 PSM+ 模式下可以这么用,因为 PSM+ 下本来就和服务器不是长连接状态。

7.5 超低功耗(PSM+)模式下,我设置的 3 个小时唤醒一次,为什么不到一个小时就会唤醒一次

可以检查下 AT 指令里是否设置了后面第二个参数,如果第二个参数没有设置,按照 3GPP 协议规定,PSM+ 模式下,需要 54 分钟和基站进行交互一次,会启动一下模块

7.6 特别注意 必须使用 V1163_LTE_LPAT 及其以上版本,之前的版本肯能会遇到断网/重连不上等一系列问题!!!!!

7.7 没看到 AT+POWERMODE="PSM+"后面两个参数的应用指导

这两个参数比较特殊,特别是后面那个参数,如果设置了 AT+POWERMODE="PSM+",2,1 那么模块会进入飞行模式,所以后面链接服务器执行会出错,建议在链接服务器发送完毕数据以后,再进行 psm+ 的设置,整体流程如下:

[00:50:07.239]发→◇AT

[00:50:07.249]收←◆
OK

[00:50:08.136]发→◇ATE0

[00:50:08.149]收←◆
OK

[00:50:09.346]发→◇AT+IPR=9600;&W

[00:50:09.379]收←◆
OK

[00:50:11.043]发→◇AT+CPIN?

[00:50:11.061]收←◆
+CPIN: READY

OK

[00:50:11.537]发→◇AT+CGATT?

[00:50:11.556]收←◆
+CGATT: 1

OK

[00:50:13.471]发→◇AT+CIPSTART="TCP",112.125.89.8,44495 

[00:50:13.520]收←◆
OK

[00:50:13.668]收←◆
CONNECT OK

[00:50:15.269]发→◇AT+CIPSEND=1024

[00:50:15.295]收←◆
> 
[00:50:17.248]发→◇12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

[00:50:24.846]发→◇12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

[00:50:28.204]发→◇12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

[00:50:29.820]发→◇12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

[00:50:30.271]收←◆
SEND OK

[00:50:34.836]发→◇AT+CIPCLOSE

[00:50:34.860]收←◆
CLOSE OK

[00:50:36.376]发→◇AT+POWERMODE="PSM+",2,1

[00:50:36.514]收←◆
OK

+POWERMODE:ENTER PSM+

[00:50:37.170]收←◆
^MODE: 0,0

+NO Service

+CGEV: NW PDN DEACT 1

+PDP: DEACT

给读者的话

本篇文章由 黄何 开发; 本篇文章描述的内容,如果有错误、细节缺失、细节不清晰或者其他任何问题,总之就是无法解决您遇到的问题; 请先登录合宙技术交流论坛,然后点击右边链接文档找错赢奖金-Air780E-AT-软件指南-应用实例-低功耗 用截图标注 + 文字描述的方式跟帖回复,记录清楚您发现的问题; 我们会迅速核实并且修改文档; 同时也会为您累计找错积分,您还可能赢取月度找错奖金!