你是否曾遇到过?
在使用ESP32-C3-MINI-1U模组,ESP-IDF版本为idf5.0.1时,在睡眠模式下上电唤醒有概率失败,模组死机,串口没有任何信息打印,为什么呢?
启明云端/ 02
这是咋回事呢?
主板是220V交流电输入,主板在断电的时候模组进入睡眠模式,主板在上电后通过GPIO3输出低电平唤醒模组。GPIO3信号控制电路见下图:
(1)我们发现主板上电后发现主板指示灯没有亮,串口没有打印信息,短接模组EN脚后,主板指示灯恢复正常,串口打印信息显示模组启动成功。
(2)使用万用表测量模组电源电压,模组电源电压正常。
(3)使用示波器抓取GPIO3脚信号波形,发现GPIO3信号波形有抖动(波形见下图),电压波形下降缓慢,因为芯片管脚电气特性决定(芯片管脚低电平输入电压范围在-0.3V~0.825V,高电平输入电压范围在2.475V~3.33V,具体见下图表格),导致芯片在判断高低电平之间存在一个间隔。所以判断电压的抖动导致信号输出不稳定。
(4)通过更改GPIO3脚滤波电容容值消除信号抖动(波形见下图),模组唤醒失败的几率减少。
(5)在主板上跳过AC转DC的整流电路,直接输入直流电压代替供电,再次测试后发现模组唤醒失败的情况没有出现了,再次抓取GPIO3信号,发现下降时间变快(波形见下图),对比差异明显。判断是整流转换电路干扰GPIO3的电平信号。
(6)综上过程确认模组唤醒失败是因为主板前端的整流电路导致GPIO3信号抖动和电压下降缓慢造成的。
启明云端/ 03
这时该咋整?
SO easy!更改GPIO3滤波电容,改善信号抖动;优化PCB设计,减少电源电磁干扰。
全部0条评论
快来发表一下你的评论吧 !