你是否曾遇到过?
在游戏机产品上,使用ESP32-WROOM-32E/ESP32-WROOM-32UE模组,ESP-IDF版本为IDF v5.1.1时,根据外围设计原理图介绍,在模组内置esp32芯片类型使用了QSPI PSRAM的情况下,IO16引脚必须接上拉电阻10K且不能用作其他功能。在这个设计下,外部psram启用时,psram的cs是输出低有效,IO16一直输出低电平会跟VDD33形成短路,即使串了一个10K电阻又因为外面无法修改IO16的引脚状态,从而导致深度睡眠的时有140uA的大电流,针对这种情况,该怎么去降低模组功耗呢?
启明云端/ 02
这是咋回事呢?
通过验证,之前使用不带psram的模组,深度睡眠的功耗测试为10uA;在10K上拉后IO16引脚端电压是1.67v, 计算 (3.3v-1.67)/10K=140ua,与目前的实际测试功耗值正好对应。根据以上信息确定是IO16上拉电阻10K电阻导致深度睡眠模式下的功耗增加。
启明云端/ 03
解决方案
SO easy!
解决方案1:硬件方案、由于该上拉电阻的作用是PSRAM 运行稳定性,无法直接去除,但是可以适当加大这个电阻的阻值来降低功耗;
解决方案2:软件方案、在项目的menuconfig配置中启用CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND配置项,此选项将设置 PSRAM 的 CS 管脚在睡眠期间为 PULL-UP 状态,从而避免psram的cs 引脚在浮空状态被识别为低电平时产生大的电流泄漏和保护PSRAM 中的数据不被被其他 SPI 引脚上的随机信号破坏。
全部0条评论
快来发表一下你的评论吧 !