做低功耗设计时,STM32的GPIO应该怎么配置?
做低功耗设计时,STM32的GPIO应该怎么配置?将未使用的GPIO输入配置为模拟输入
GPIO肯定有一个输入通道,可以是数字或模拟通道。 如果不需要读取GPIO数据,则优先配置为模拟输入。这节省了输入施密特触发器的消耗。
调节GPIO速度
较低的GPIO速度可以实现更低的功耗。
上升时间,下降时间和最大频率可使用GPIOx_OSPEEDR配置寄存器进行配置。这种调整对 EMI(电磁干扰)和SSO(同时开关输出)有影响,因为开关电流峰值较高。因此必须平衡 GPIO性能与噪声。
每个GPIO信号的上升时间和下降时间必须适应与相关信号频率和电路板容性负载兼容的最小值。
不使用时禁用GPIO寄存器时钟
如果某个GPIO组不需要长时间使用,请使用HAL_RCC_GPIOx_CLK_DISABLE()函数禁用其时 钟。
进入低功耗模式时配置GPIO
进入低功耗模式时,所有引脚信号必须连接到VDD或接地。
如果GPIO连接到外部接收器(外部元件输入),则必须使用PP或PU/PD强制GPIO信号值。
当GPIO连接到驱动器(外部元件输出或总线)时,驱动器必须提供有效电平(VDD或接 地)。
如果未定义驱动器电平,则必须使用PU/PD强制GPIO上的信号。
出于实际原因,当GPIO是运行模式下的输入(模拟或数字)时,在低功耗模式下使用输入 PU/PD可能更容易;当GPIO是运行模式下的输出时,则使用输出PP。这可以避免在进入或 退出停止模式时管理更改。
使用待机模式代替关机模式
当单片机退出关机模式时,GPIO会在上电复位时重新配置为默认值。在将它们重新编程为正确值之前,这会需要额外的系统消耗。
所以需要平衡关机模式和待机模式的功耗情况。进行功耗计算时,不能仅仅对比关机模式时的功耗情况,也需要关注从关机模式退出时消耗的电流。
在有必要时,可以使用待机模式替代关机模 式。
页:
[1]