LuatOS-Air AT应用指南--休眠控制指令流程

1 概述:
Air724UG支持多种省电模式,通过进入不同的省电模式达到降低功耗的目的。

全功能模式(默认):一般的工作模式,CPU,时钟全速运行。
睡眠模式:CPU休眠,射频部分工作,周期进行寻呼,仅维持网络连接,能随时接收网络端的电话,短信等。功耗较低,主要的省电模式。可以通过GPIO中断,内部计时器中断,网络消息,来电,短信等唤醒。
飞行模式:CPU休眠,射频与SIM卡关闭,无法注册网络,无法接收网络端的任何信息。功耗最低。只能通过发AT指令或者软件主动调用接口退出。
注意:模块是否有进入睡眠模式,从外部电气信号或调试日志中无法体现,只能通过检测模块的消耗电流来判断。进入休眠后模块的电流会在1到2mA的底电流的基础上跳动。
模式切换汇总:

当前模式 下一模式
关机 正常模式 睡眠模式
关机 使用PWRKEY开机
正常模式 使用PWRKEY管脚,或VBAT电压低于关机电压 软件调用睡眠接口,AT版本不做动作30s自动休眠
睡眠模式 使用PWRKEY或VBAT电压低于关机电压 GPIO管脚中断、定时器、接收短信或网络数据
2 相关AT指令介绍
2.1 通过UART口设置睡眠唤醒:AT+CSCLK
通过串口使模块进入睡眠的先决条件是:不接USB口。
语法规则:

命令类型 语法 返回和说明
设置命令 AT+CSCLK= OK
查询命令 AT+CSCLK? +CSCLK: OK
测试命令 AT+CSCLK=? +CSCLK: (list of supported s) OK
参数定义:

参数 定义 取值 对取值的说明
睡眠设置 0 关闭模块睡眠功能。模块无法进入睡眠状态。缺省值。
1 睡眠模式1。由模块AP_WAKEUP_MODULE 脚控制是否进入睡眠。当AP_WAKEUP_MODULE拉高(缺省有内部上拉),设置AT+CSCLK=1,没有其他中断产生(GPIO、来电、来短信等),模块将自动进入睡眠模式1。在这种模式下,模块仍能接收来自网络的呼叫和短消息。 当模块处于睡眠模式1时,可以通过以下的几种方法唤醒模块。 l 模块接收到外部中断信号; l 模块接收到语音或数据呼叫; l 模块接收到短消息(SMS); l 串口接收到AT命令; l 拉低AP_WAKEUP_MODULE引脚大概50ms 注意:模块收到语音、数据呼叫或短消息后会有URC上报,但串口不能响应AT命令。只有将AP_WAKEUP_MODULE引脚拉低50ms后模块才会响应AT命令。
2 睡眠模式2。自动进入睡眠。当串口为三线串口(只连接TXD,RXD,GND三个信号线),睡眠功能只能采用睡眠模式2。 设置AT+CSCLK=2后,模块会连续监测串口数据,如果模块的串口上没有数据输入,并且没有其他中断产生(GPIO,来电,来短信,来数据等),缺省5秒后模块会自动进入睡眠模式2(注:睡眠模式****2情况下,AP_WAKEUP_MODULE电平对模块睡眠唤醒功能无影响)。在这种模式下,模块仍能接收来自网络的呼叫和短消息。 当模块处于睡眠模式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(一般情况下不需要设置) **注:WAKETIM此时不要设置为0
← OK
模块唤醒方式有以下几种: 1) 串口输入几个AT命令(一个往往唤不醒,需要多输几个) 2) 任意URC上报(包括来电,来短信,收到服务器发的数据等) 3) GPIO中断
→ AT+CSCLK=0
← OK 0,设置为不允许模块睡眠
**睡眠唤醒应用实例2
→ AT+CSCLK=1 当使用全串口时,设置为睡眠模式1。在这种睡眠模式下,以下情况同时满足时,模块进入睡眠。 l 模块在AT口无输入 l 没有URC上报(包括没有来电,没有短信,没有收到服务器发来的数据等) l 模块AP_WAKEUP_MODULE为高(AP_WAKEUP_MODULE高,是允许模块睡眠;AP_WAKEUP_MODULE低,是唤醒模块)l 无GPIO中断
← OK
→ AT+WAKETIM? 查询进入睡眠的时间
← +WAKETIM:5 OK 查询结果为5秒钟。5秒钟是CSCLK设置睡眠后缺省进入睡眠的时间
→ AT+WAKETIM=8 如果需要修改进入睡眠的时间,可以通过WAKETIM来设置,例如改为8(一般情况下不需要设置) **注:WAKETIM此时不要设置为0
← OK
模块唤醒方式有以下几种: l 串口输入几个AT命令(一两个AT就可以了) l 任意URC上报(包括来电,来短信,收到服务器发的数据等) l GPIO中断 l AP_WAKEUP_MODULE唤醒(AP_WAKEUP_MODULE低,唤醒;AP_WAKEUP_MODULE高,允许睡眠)
→ AT+CSCLK=0
← OK 0,设置为不允许模块睡眠
2.2 设置睡眠等待时间:AT+WAKETIM
语法规则:
语法规则:

命令类型 语法 返回和说明
设置命令 AT+WAKETIM=<wait_time> OK
查询命令 AT+WAKETIM? +WAKETIM:<wait_time> OK
注意事项 l ** l **请用WAKETIM命令设置模块睡眠时间,请用CSCLK
参数定义:

参数 定义 取值 对取值的说明
<wait_time> 在IDLE状态下(无AT,无短信,无通话且AP_WAKEUP_MODULE为高的情况下)等待多长时间进入睡眠状态 0~100 单位:秒,0表示不睡眠。
缺省值为5。
举例:

命令(→)/ 返回(←) 实例 解释和说明
→ AT+WAKETIM=8 设置睡眠时间为8秒
← OK
2.3 设置WAKEUP_OUT指示功能:AT+CFGRI
设置命令设置WAKEUP_OUT脚(39PIN),在收到URC上报的时候是否会有低脉冲指示。如果打开指示功能,则相应的URC到来时,WAKEUP_OUT会产生一个120ms的低脉冲。
语法规则:

命令类型 语法 返回
设置命令 AT+CFGRI= OK
查询命令 AT+CFGRI? +CFGRI: OK
无论为何值,无论是0还是1,当收到短信的时候,都会产生一个120ms低脉冲;当来电话的时候,会跳变为低电平,直到接通或挂断电话才会变成高电平。(注:目前Air720/720G/720D/720S系列模块暂不支持电话)只有设置AT+CFGRI=1后,数据业务(包括TCPIP,HTTP,MQTT,FTP)到来时的URC上报,才会使WAKEUP_OUT产生120ms低脉冲
参数定义:

参数 定义 取值 对取值的说明
RI指示状态 0 RI指示功能关闭
1 RI指示功能打开(TCPIP/FTP/HTTP/MQTT及其他URC)
3 常见问题
模块在收到短信、网络数据等一系列urc上报时,MCU可以发送AT指令给模块吗?
可以,接收到网络数据时模块会被唤醒

模块休眠时能通过AT指令唤醒吗?
休眠模式一通过拉低AP_WAKEUP_MODULE管脚退出休眠模式,发送命令AT+CSCLK=2禁止模块休眠
休眠模式二可以通过连续发送AT唤醒模块,当模块未接收到网络数据和AT命令时,模块会自动休眠

飞行模式和超低功耗模式哪个更省电?
飞行模式的功耗更低,但退出飞行模式重新联网需要时间,飞行模式下,没法维持模块与服务器连接,根据实际业务情况选。
如果开关飞行频率过大,功耗也会增加。

为什么模块无法进入休眠
1.查看模块是否插入USB,USB连接的状态下模块保持唤醒,无法休眠
2.检查硬件电路

Air724UG 4G LTE 开发板实网待机功耗测试方法
Air724UG低功耗测试方法.pdf

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值