拥有低功耗产品设计经验的专业人士都应该明白,产品功耗的关键不仅仅在硬件功耗,实际上,软件也是整个产品功耗的一个关键因素。
在今天的分享中,我将探讨有关STM32在低功耗状态下的IO引脚通用配置的内容。
将未使用的GPIO输入配置为模拟输入
GPIO始终包含一个输入通道,可以是数字或模拟通道。
当不需要读取GPIO数据时,首选将其配置为模拟输入。这样可以节省输入施密特触发器的能耗。
在STM32CubeMX配置中,存在一个选项:将未使用的引脚配置为模拟状态。
调节GPIO速度
上升时间,下降时间和最大频率可使用GPIOx_OSPEEDR配置寄存器进行配置。
这种调整对EMI(电磁干扰)和SSO(同时开关输出)有影响,因为开关电流峰值较高。因此必须平衡GPIO性能与噪声。
每个GPIO信号的上升时间和下降时间必须适应与相关信号频率和电路板容性负载兼容的最小值。
不使用时禁用GPIO寄存器时钟
如果某个GPIO组不需要长时间使用,禁用其时钟。
比如标准外设库,禁用GPIOA时钟:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, DISABLE);
HAL库,禁止GPIOA时钟:
__HAL_RCC_GPIOA_CLK_DISABLE();
进入低功耗模式时配置GPIO
进入低功耗模式时,所有引脚信号必须连接到VDD或接地。
如果GPIO连接到外部接收器(外部元件输入),则必须使用PP或PU/PD强制GPIO信号值。
当GPIO连接到驱动器(外部元件输出或总线)时,驱动器必须提供有效电平( VDD或接地)。如果未定义驱动器电平,则必须使用PU/PD强制GPIO上的信号。
出于实际原因,当GPIO是运行模式下的输入(模拟或数字)时,在低功耗模式下使用输入PU/PD可能更容易;当GPIO是运行模式下的输出时,则使用输出PP。这可以避免在进入或退出停止模式时管理更改
退出关机模式
退出关机(shut down)模式时, GPIO会在上电复位时重新配置为默认值。
在将它们重新编程为正确值之前,这会需要额外的系统消耗。
如果这是应用程序的问题,则必须使用待机(standby)模式替代关机模式。
(仅限STM32L4系列和STM32L4+系列)
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !