今天回答一位读者问的关于stm32低功耗问题。
1写在前面
有低功耗产品设计经验的朋友都应该知道,一个产品的功耗不光是硬件功耗的事,其实软件也是影响整个产品功耗的一个关键因素。
我之前也开发过几款使用电池供电的产品,调试起来,那叫一个痛苦,软件和硬件各种因素都要考虑。
当你确信软件没问题了,可能硬件某个地方又存在漏电流,这其中的“痛苦”我也不再这里描述了。
下面给出stm32低功耗时,其引脚的相关配置。
2
实现功耗优化的gpio软件指南
1.将未使用的gpio输入配置为模拟输入
gpio始终有一个输入通道,可以是数字或模拟通道。
如果不需要读取gpio数据,则优先配置为模拟输入。这节省了输入施密特触发器的消耗。
在stm32cubemx配置中都有这么一个选项:将不用引脚配置为模拟状态。
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)
光纤熔接机的保养与清洁技巧
工信部截至7月底已核发5G设备进网批文7张进网标志37万个
小米手表Color全新体验,或将代替智能手环
对基于SoC系统设计的探查
前“锁”未有---信驰达智能门锁创新解决方案
如何配置STM32低功耗时的引脚
MOSFET切割实用案例
串口屏服务器如何让工业称重变得更加智能
吉普新SUV只卖国内,车长5米不能越野,但比汉兰达还便宜!
NVIDIA总监:GPU在可编程比FPGA有优势
兼容树莓派,适配多种模块--米尔STM32MP1开发板演示
将建筑信息模型1:1还原 传统建筑行业的AR探索
5G助力,上海市第一人民医院打造首个5G智慧医疗联合创新中心
一文了解西门子V20变频器与S7-200之间的USS通讯
关于半导体的未来发展趋势分析
大涨之后又大跌?虚拟货币比特币暴跌背后:被国人全力打压
雷格斯开通2,500个视频通信会议室及设备,建成目前全球最大
电源管理IC如何支持智能建筑
一种基于MAX5980芯片的POE网络交换机设计方案
三星将在全球起售移动设备配件 以弥补Note7损失