省电模式¶
作者:金艺
# 概述
Air724UG支持多种省电模式,通过进入不同的省电模式达到降低功耗的目的。 1.
全功能模式(默认):一般的工作模式,CPU,时钟全速运行。 1.
睡眠模式:CPU休眠,射频部分工作,周期进行寻呼,仅维持网络连接,能随时接收网络端的电话,短信等。功耗较低(具体功耗数据参考6.5章节),主要的省电模式。可以通过GPIO中断,内部计时器中断,网络消息,来电,短信等唤醒。
1.
飞行模式:CPU休眠,射频与SIM卡关闭,无法注册网络,无法接收网络端的任何信息。功耗最低(具体功耗数据参考6.5章节)。只能通过发AT指令或者软件主动调用接口退出。
注意:模块是否有进入睡眠模式,从外部电气信号或调试日志中无法体现,只能通过检测模块的消耗电流来判断。进入休眠后模块的电流会在1到2mA的底电流的基础上跳动。
模式切换汇总:
当前模式 |
下一模式 |
||
---|---|---|---|
关机 |
正常模式 |
睡眠模式 |
|
关机 |
使用PWRKEY开机 |
||
正常模式 |
使用PW RKEY管脚,或VBAT 电压低于关机电压 |
软件调用睡眠 接口,AT版本不做 动作30s自动休眠 |
|
睡眠模式 |
使用PWRKEY或VBAT 电压低于关机电压 |
GPIO管脚 中断、定时器、接 收短信或网络数据 |
AT指令方式¶
对于AT版本可以通过给模块发AT指令来进入或者退出各种工作模式。
最少功能模式/飞行模式: 最少功能模式可以将模块功能减少到最小程度,此模式可以通过发送“AT+CFUN=”命令来设置。参数可以选择0,1,4。 • 0:最少功能(关闭RF和SIM卡); • 1:全功能(默认); • 4:关闭RF发送和接收功能; 如果使用“AT+CFUN=0”将模块设置为最少功能模式,射频部分和SIM卡部分的功能将会关闭。而串口依然有效,但是与射频部分以及SIM卡部分相关的AT命令则不可用。 如果使用“AT+CFUN=4”设置模块,RF部分功能将会关闭,而串口依然有效。所有与RF部分相关的AT命令不可用。 模块通过“AT+CFUN=0”或者“AT+CFUN=4”设置以后,可以通过“AT+CFUN=1”命令设置返回到全功能状态。
睡眠模式:
串口应用下支持两种睡眠模式: -
睡眠模式1:通过AP_WAKEUP_MODULE管脚电平控制模块是否进入睡眠。 -
睡眠模式2:模块在串口空闲一段时间后自动进入睡眠。
两种模式功耗相同,串口不工作,无法进行收发数据。
注意: 通过串口使模块进入睡眠的先决条件是:不接 USB 口
睡眠模式1: - 开启条件: 发送AT指令AT+CSCLK=1 - 模块进入睡眠: AP_WAKEUP_MODULE为高时,允许系统进入休眠,当系统进入空闲状态时,就会自动进入睡眠模式。 - 模块退出睡眠: 1. 拉低AP_WAKEUP_MODULE脚50ms以上,模块会退出睡眠模式可以接受AT指令。 2. 外部GPIO中断,计时器中断,短信,来电,网络端下发数据。 - 模块在睡眠模式1时的软件功能: 不响应AT指令,但是收到数据/短信/来电串口会唤醒并有URC上报
睡眠模式2: - 开启条件: 发送AT指令AT+CSLCK=2 - 模块进入睡眠: 系统空闲时,经过一定时间后(默认5s),模块自动进入睡眠模式2。 通过AT+WAKETIM配置休眠时间。例如AT+WAKETIM=8,系统空闲后8S进入睡眠模式,取值(0~100)。 - 模块退出睡眠: 串口连续发送AT直到模块回应时即退出睡眠模式2 - 模块在睡眠模式2时的软件功能: 不响应AT指令,但是收到数据/短信/来电会有URC上报
USB休眠模式 在连接USB模式下进行休眠 - 开启条件: HOST USB必须支持USB suspend/resume - 模块进入睡眠: HOST发起USB suspend - 模块退出睡眠: HOST发起USB resume
通过UART口设置睡眠唤醒:AT+CSCLK¶
通过串口使模块进入睡眠的先决条件是:不接USB口。 语法规则:
命令类型 |
语法 |
返回和说明 |
---|---|---|
设置命令 |
AT+CSCLK= |
OK |
查询命令 |
AT+CSCLK? |
+CSCLK: OK |
测试命令 |
AT+CSCLK=? |
+CSCLK: (list of supported s) OK |
参数定义:
参数 |
定义 |
取值 |
对取值的说明 |
---|---|---|---|
睡眠设置 |
0 |
关闭模 块睡眠功能。模 块无法进入睡眠 状态。缺省值。 |
|
1 |
睡眠 模式1。由模块A P_WAKEUP_MODULE 脚控制是 否进入睡眠。当 AP_WAKEUP_MODUL E拉高(缺省有内 部上拉),设置A T+CSCLK=1,没有 其他中断产生( GPIO、来电、来 短信等),模块 将自动进入睡眠 模式1。在这种模 式下,模块仍能 接收来自网络的 呼叫和短消息。 当模块处于睡 眠模式1时,可以 通过以下的几种 方法唤醒模块。 l 模块接收到 外部中断信号; l 模块接收到语 音或数据呼叫; l 模块接收到 短消息(SMS); l 串口 接收到AT命令; l 拉 低AP_WAKEUP_MOD ULE引脚大概50ms 注意:模块收到 语音、数据呼叫 或短消息后会有 URC上报,但串口 不能响应AT命令 。只有将AP_WAKE UP_MODULE引脚拉 低50ms后模块才 会响应AT命令。 |
||
2 |
睡 眠模式2。自动进 入睡眠。当串口 为三线串口(只 连接TXD,RXD, GND三个信号线) ,睡眠功能只能 采用睡眠模式2。 设置AT+CSCL K=2后,模块会连 续监测串口数据 ,如果模块的串 口上没有数据输 入,并且没有其 他中断产生(GPI O,来电,来短信 ,来数据等), 缺省5秒后模块会 自动进入睡眠模 式2(**注:睡 眠模式2情况下, AP_WAKEUP_MODUL E电平对模块睡眠 唤醒功能无影响* *)。在这种模 式下,模块仍能 接收来自网络的 呼叫和短消息。 当模块处于睡 眠模式2时,可以 通过以下的几种 方法唤醒模块。 l 模块接收到 外部中断信号; l 模块接收到语 音或数据呼叫; l 模块接收到 短消息(SMS); l 串口 接收到AT命令。 |
举例:
命令(→)/ 返回(←) |
实例 |
解释和说明 |
---|---|---|
**睡眠唤醒应用实例1 |
||
→ |
AT+CSCLK=2 |
当使用三 线串口时,设置为睡眠 模式2。在这种睡眠模式 下,以下情况同时满足 时,模块进入睡眠。l 模块在AT口无输入l 没有 URC上报(包括没有来电 ,没有短信,没有收到 服务器发来的数据等) l 无GPIO中断 |
← |
OK |
|
→ |
AT+WAKETIM? |
查询进入睡眠的时间 |
← |
+WAKETIM:5 OK |
查询结果为5秒钟。 5秒钟是CSCLK设置睡眠 后缺省进入睡眠的时间 |
→ |
AT+WAKETIM=8 |
如 果需要修改进入睡眠的 时间,可以通过WAKETIM 来设置,例如改为8(一 般情况下不需要设置) **注:W AKETIM此时不要设置为0 |
← |
OK |
|
模 块唤醒方式有以下几种: 1) 串口输入几 个AT命令(一个往往唤 不醒,需要多输几个) 2) 任意URC上报( 包括来电,来短信,收 到服务器发的数据等) 3) GPIO中断 |
||
→ |
AT+CSCLK=0 |
|
← |
OK |
0, 设置为不允许模块睡眠 |
**睡眠唤醒应用实例2 |
||
→ |
AT+CSCLK=1 |
当使 用全串口时,设置为睡 眠模式1。在这种睡眠模 式下,以下情况同时满 足时,模块进入睡眠。 l 模块在AT口无输入 l 没有 URC上报(包括没有来电 ,没有短信,没有收到 服务器发来的数据等) l 模块AP_WAKEU P_MODULE为高(AP_WAKE UP_MODULE高,是允许模 块睡眠;AP_WAKEUP_MOD ULE低,是唤醒模块)l 无GPIO中断 |
← |
OK |
|
→ |
AT+WAKETIM? |
查询进入睡眠的时间 |
← |
+WAKETIM:5 OK |
查询结果为5秒钟。 5秒钟是CSCLK设置睡眠 后缺省进入睡眠的时间 |
→ |
AT+WAKETIM=8 |
如 果需要修改进入睡眠的 时间,可以通过WAKETIM 来设置,例如改为8(一 般情况下不需要设置) **注:W AKETIM此时不要设置为0 |
← |
OK |
|
模 块唤醒方式有以下几种: l 串口输入几个AT命令 (一两个AT就可以了) l 任意URC上报( 包括来电,来短信,收 到服务器发的数据等) l GPIO中断 l AP_WAKEUP_MODUL E唤醒(AP_WAKEUP_MODU LE低,唤醒;AP_WAKEUP _MODULE高,允许睡眠) |
||
→ |
AT+CSCLK=0 |
|
← |
OK |
0, 设置为不允许模块睡眠 |
#### 设置睡眠等待时间:AT+WAKETIM 语法规则:
命令类型 |
语法 |
返回和说明 |
---|---|---|
设置命令 |
AT+WAKETIM= |
OK |
查询命令 |
AT+WAKETIM? |
+WAKETIM: OK |
注意事项 |
l ** l **请 用WAKETIM命令设置模块睡眠时间,请用CSCLK |
参数定义:
参数 |
定义 |
取值 |
对取值的说明 |
---|---|---|---|
在 IDLE状态下(无 AT,无短信,无通 话且AP_WAKEUP_M ODULE为高的情况 下)等待多长时 间进入睡眠状态 |
0~100 |
单位:秒 ,0表示不睡眠。 |
|
缺省值为5。 |
举例:
命令(→)/ 返回(←) |
实例 |
解释和说明 |
---|---|---|
→ |
AT+WAKETIM=8 |
设置睡眠时间为8秒 |
← |
OK |
设置WAKEUP_OUT指示功能:AT+CFGRI¶
设置命令设置WAKEUP_OUT脚(39PIN),在收到URC上报的时候是否会有低脉冲指示。如果打开指示功能,则相应的URC到来时,WAKEUP_OUT会产生一个120ms的低脉冲。 语法规则:
命令类型 |
语法 |
返回 |
---|---|---|
设置命令 |
AT+CFGRI= |
OK |
查询命令 |
AT+CFGRI? |
+CFGRI: OK |
无论为何 值,无论是0还是1,当 收到短信的时候,都会 产生一个120ms低脉冲; 当来电话的时候,会跳 变为低电平,直到接通 或挂断电话才会变成高 电平。(注:目前Air7 20/720G/720D/720S系列 模块暂不支持电话)只 有设置AT+CFGRI=1后, 数据业务(包括TCPIP, HTTP,MQTT,FTP)到来时 的URC上报,才会使WAKE UP_OUT产生120ms低脉冲 |
参数定义:
参数 |
定义 |
取值 |
对取值的说明 |
---|---|---|---|
RI指示状态 |
0 |
RI指示功能关闭 |
|
1 |
RI指示功能打开(TCPIP/FTP/HTTP/MQTT及其他URC) |
相关资料以及购买链接¶
相关开发板购买链接 Air724UG开发板 Air724 开发板使用说明 相关软件资料下载