STM32L476停机模式下设置唤醒功耗很大
遇到一个棘手的问题,大家帮忙出出点子解决,非常感谢!STM32L476最小系统板,单纯进入关机模式,不设置唤醒的功耗大概是40nA
http://5.eewimg.cn/data/attachment/forum/201801/15/161530sgy6d5dfa5q58x5x.jpg.thumb.jpg IMG_20180115_151755.jpg (1.78 MB, 下载次数: 0)下载附件保存到相册2 小时前 上传
当设置PC13为唤醒引脚进行唤醒时,进入关机模式的功耗竟然高达28uA
http://5.eewimg.cn/data/attachment/forum/201801/15/162228jebtkb95yzg9w3yx.jpg.thumb.jpg
/* Set all GPIO in analog state to reduce power consumption */
GPIO_AnalogState_Config();
/* Disable all used wakeup sources: WKUP pin */
HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN2);
/* Clear wake up Flag */
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WUF2);
/* Enable wakeup pin WKUP2 */
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN2_LOW);
/* Ensure that MSI is wake-up system clock */
__HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_MSI);
/* Enter the SHUTDOWN mode */
HAL_PWREx_EnterSHUTDOWNMode();
调试发现HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN2_LOW);只要屏蔽这个使能就降到40nA,打开这个使能就28uA
不知道大家是怎么设置外部中断唤醒的,这个使能没有遇到这样的情况吗?
本帖最后由 morphlings2014 于 2018-2-2 15:17 编辑
使能该引脚为低,应该是开启了相应的引脚时钟,可能还有下拉,导致的异常耗电。
但28UA好像有点大,检查下该管脚是不是处于唤醒状态,导致没有睡。 引脚唤醒一般用低电平触发,平时维持上拉,不能有下拉,这样不会由于外部电平差吸收电流。
另外就是唤醒引脚速度改为Low,这样会减低驱动电流,驱动的漏电流也相应减少。
如果供电是3.3V的话,3.3V / 28uA = 117.8K ,相当于有118K的下拉电阻。GPIO口的上下拉电阻大概在55K左右,难道这是巧合?
在eeworld上也看到了楼主的帖子,说是问题解决了,外部上拉了一个10K电阻。
当你用内部上拉PC13时就不行,电流到28uA。
我想问,你用的上拉是什么模式呢?是普通IO口上拉呢,还是专用的电源模式(可能翻译不准确)上拉?我想这两者应该是有区别的
电源模式上下拉
GPIO口上下拉
页:
[1]