"); //-->
这周接手了另一个同事用合宙Air780EP模块没做完的项目,刚上手之后就发现了一个问题:
在通过AT+CSCLK=2进入休眠之后,连接MQTT服务器,从服务器端下行消息到模块唤醒,并且触发RI脚的下降沿,以此唤醒MCU——但实际却唤醒不了。
问题排查及解决方式记录如下,希望对遇到类似情况的朋友有所帮助。

一、通过自测缩小问题范围
在做过以下测试后,问题基本上锁定了。
1. 进入休眠后,MQTT链接是否有断开:
使用AT+MQTTSTATU指令查看MQTT链接状态,
返回结果是:+MQTTSTATU :1
说明链接是存在的,没有断开。
2. 服务端下行的数据模块是否有收到:
检测main_uart串口的URC上报,发现在下发消息的时候,模块有上报:
+MSUB: "/topic",10 byte,1234567890
说明数据可以正常收到。
3. 用逻辑分析仪或者示波器检测下RI脚波形:
发现在进入休眠后,和服务器下发消息,模块收到URC整个流程中——RI脚都没有出现下拉的波形,说明RI脚的功能有问题?
从Air780EP官网资料的硬件设计手册,找下RI脚的位置有没有量错,嗯~ 是20脚没有错。
合宙Air780EP最新资料:
https://www.air780ep.cn/

二、找到了解决方法
通过合宙资料摸索了一小下,看到AT手册第58页有一条指令:
设置RI指示功能:AT+CFGRI
这条指令的功能,就是打开在Air780EP模块接收到TCP/UDP/FTP/HTTP/MQTT的URC时,就会产生RI脚120ms的低脉冲,也就是给予MCU的下降沿。
AT指令手册:
https://doc.openluat.com/article/4985

休眠流程中,进入休眠之前加一条这个AT+CFGRI=1的指令后,重新尝试了下,果然可以了。
在收到MQTT下行数据时,RI脚正确产生一个下降沿,唤醒了主控,大致业务逻辑没问题了!
三、总结及建议
要想Air780EP模块可以通过网络服务端下行数据,以此来唤醒模块以及唤醒主控,节省功耗的话:
需要接入模块的RI脚,并且在流程中(最好是开机后就配置,作为初始化的流程)加入一条 AT+CFGRI=1 指令才可以。
并且通过实测,不管进入任何休眠模式:
例如:
AT+CSCLK=1
AT+POWERMODE="PSM+"
都需要配置AT+CFGRI=1这个指令后,才可以触发RI中断。看样子是和休眠模式没有关系的。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
芯科科技驱动和重塑智能门锁行业格局
5V 单片机与5V 耐压单片机有何区别,为什么至关重要
长虹R2118A型彩电开关电源(LA单片机)电路
16位语言函数工具库
MSP430单片机TIMER_A在产品设计中的应用
利用PIC12C508单片机来实现加密狗技术[转帖]
SmartDV展示完整的边缘与连接IP解决方案,以高速和低功耗特性赋能移动、物联网和媒体处理设备创新
物联网与RFID芯片
用单片机制作的纯正弦波逆变电源电路
单片机语言C51应用实战集锦
超低功率高性能新一代产品MSP430F5xx
低代码利器!MIT 可视化编程赋能 AI + 物联网移动端开发
《ATmega8原理及应用手册》
AVR 单片机专栏,资料下载!
MSP430x2xx4xx系列
倾情奉献:MSP430汇编指令集(中文),详解带实例!
TDK 发布 SensorStage 传感器评估平台,大幅加速 IMU 开发进程
[转帖]从Cygnal C8051F看8位单片机发展之路
《AVR单片机C语言库》
嵌入式系统与物联网
GD32E230F6V6实用指南:为下一个项目选择合适单片机
基于物联网的电池组均衡充电与监控系统
AVR 单片机专栏,资料下载!之二
用AT89C2051单片机实验合弦乐
创维数码5000系列彩电开关电源(AN单片机)电路
被收购后的芯科实验室:物联网与人工智能的未来走向
MSP430 电表解决方案
Kwikset:超低功耗Wi-Fi解锁无缝体验
语音合成芯片T6668和单片机8031的接口电路图
边缘计算与人工智能(Edge AI)如何引领新一轮技术革命