STM32 进入Stop模式后电流还是很大怎么办?

STM32 进入Stop模式后电流还是很大怎么办?

STM32 进入停止模式后电流还是很大,可能椒几百个uA,怎么办?

通常做法有如下几点:

  • MCU外围管脚配置
  • 检查外围有无闭合回路
  • SWDIO,SWCLK 管脚
  • 设备运行时的外设功能,逐一关闭。

1. MCU外围管脚配置

要将MCU外围管脚配置一番,那如何配置呢,特别是嵌入式的软件工程师,因为对硬件电路不太熟悉,往往会感到疲惫感,调试了一整天,电流还是下不来,这怎么办才好呢?

不妨我们从头开始梳理。

STM32的GPIO工作方式
GPIO支持4种输入模式(浮空输入、上拉输入、下拉输入、模拟输入)和4种输出模式(开漏输出、开漏复用输出、推挽输出、推挽复用输出)。

GPIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD 下拉输入
GPIO_Mode_IPU 上拉输入
GPIO_Mode_Out_OD 开漏输出
GPIO_Mode_Out_PP 推挽输出
GPIO_Mode_AF_OD 复用开漏输出
GPIO_Mode_AF_PP 复用推挽输出

关于八种模式的详细介绍,论坛里大牛已经给出:https://blog.csdn.net/qq_38410730/article/details/79858906

这里就联相信展开了。

在这里插入图片描述

在进入Stop模式时候,通常是设置成为输入模式。
根据设备原理图查看IO外部引脚连接电路,

  • 如果闲置状态为悬空,设置为模拟输入;
  • 如果闲置状态为低电平,设置为下拉输入;
  • 如果闲置状态为高电平,设置为上拉输入;

原因:

当悬空时,斯密特触发器是打开的,要判断输入的是高电平还是低电平,需要一点电流损耗,但是设备模拟输入,这个触发器是关闭的

当IO通过外围电路电阻接地被拉低时,如果设置为上拉输入,则在芯片内部的上拉电阻和外围的下拉电阻构成回路,电流损耗取决于这两个电阻;

当IO通过外围电路电阻接电源被拉高时,则在芯片内部的下拉电阻和外围的上拉电阻构成回路,电流损耗也取决于这两个电阻;

2. 检查外围有无闭合回路

排查外围电路,某些驱动、电源转换IC如果是由软件使能,如果进入停止模式之后不需要则关闭,因为本身就有工作电流;如果是由硬件使能,则需要查看芯片手册看静态工作电流是多少,如果比较高,只能修改硬件电路或者用低耗ic代替。

外围是否有一些闭合回路,比如电压采集,虽然ADC已经关闭,但是这个分压电路还是有损耗的,大小一般取决于电阻和电源电压。

3、SWDIO,SWCLK 管脚

另外如果在线调试时,进入停止模式后,调试失去作用,看看是不是SWDIO、SWCLK两个引脚也直接设置成了模拟输入,还关闭了调试功能:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

4、设备运行时的外设功能,逐一关闭。

设备运行时开启的外设功能,视情况关闭,可以依次关闭看电流减小情况,并和数据手册做对比(要先关功能,再失能对应外设时钟,否则会关闭不成功,会有电流损耗。

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值