STM32低功耗时引脚配置

置顶/星标公众,不错过每一条消息!

640?wx_fmt=jpeg

    今天回答一位读者问的关于STM32低功耗问题。

1写在前面

有低功耗产品设计经验的朋友都应该知道,一个产品的功耗不光是硬件功耗的事,其实软件也是影响整个产品功耗的一个关键因素


我之前也开发过几款使用电池供电的产品,调试起来,那叫一个痛苦,软件和硬件各种因素都要考虑。


当你确信软件没问题了,可能硬件某个地方又存在漏电流,这其中的“痛苦”我也不再这里描述了。


下面给出STM32低功耗时,其引脚的相关配置。

2

实现功耗优化的GPIO软件指南

1.将未使用的GPIO输入配置为模拟输入

GPIO始终有一个输入通道,可以是数字或模拟通道。


如果不需要读取GPIO数据,则优先配置为模拟输入。这节省了输入施密特触发器的消耗。


在STM32CubeMX配置中都有这么一个选项:将不用引脚配置为模拟状态。

640?wx_fmt=png

2.调节GPIO速度

上升时间,下降时间和最大频率可使用GPIOx_OSPEEDR配置寄存器进行配置。


这种调整对EMI(电磁干扰)和SSO(同时开关输出)有影响,因为开关电流峰值较高。因此必须平衡GPIO性能与噪声。


每个GPIO信号的上升时间和下降时间必须适应与相关信号频率和电路板容性负载兼容的最小值。

3.不使用时禁用GPIO寄存器时钟

如果某个GPIO组不需要长时间使用,请使用HAL_RCC_GPIOx_CLK_DISABLE()函数禁用其时钟。

4.进入低功耗模式时配置GPIO

进入低功耗模式时,所有引脚信号必须连接到VDD或接地。

如果GPIO连接到外部接收器(外部元件输入),则必须使用PP或PU/PD强制GPIO信号值。

当GPIO连接到驱动器(外部元件输出或总线)时,驱动器必须提供有效电平( VDD或接地)。如果未定义驱动器电平,则必须使用PU/PD强制GPIO上的信号。

出于实际原因,当GPIO是运行模式下的输入(模拟或数字)时,在低功耗模式下使用输入PU/PD可能更容易;当GPIO是运行模式下的输出时,则使用输出PP。这可以避免在进入或退出停止模式时管理更改。

5.退出关机模式

退出关机模式时, GPIO会在上电复位时重新配置为默认值。


在将它们重新编程为正确值之前,这会需要额外的系统消耗。


如果这是应用程序的问题,则必须使用待机模式替代关机模式。

(仅限STM32L4系列和STM32L4+系列)

(以上内容来自应用笔记:AN4899)

推荐阅读:

1.今天有幸受邀面见了ST中国市场总监-曹总

2.HAL库中do{...} while(0U)宏定义的作用和意义

3最后

我的知乎:strongerHuang

我的网站:www.strongerhuang.com

若觉得文章对你有帮助,随手点“在看、转发分享,也是我继续更新的动力。

扫描下面二维码、关注公众号,在底部菜单中查看更多精彩内容!

640?wx_fmt=jpeg

长按识别图中二维码关注

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值