你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32低功耗开发时,需要注意的GPIO配置问题

[复制链接]
STMCU小助手 发布时间:2022-6-6 23:02
    一个产品的功耗不光是硬件功耗的事,其实软件也是影响整个产品功耗的一个关键因素。进行STM32低功耗产品开发时,可以通过下**PIO配置方式来降低功耗。

* c5 B$ j# u8 S# A  f5 C" g
把闲置GPIO输入配置为模拟输入
; m% t: w5 a  \; M% _6 p
    GPIO始终有一个输入通道,可以是数字或模拟通道。    如果不需要读取GPIO数据,则优先配置为模拟输入。这节省了输入施密特触发器的消耗。    在STM32CubeMX配置中都有这么一个选项:将不用引脚配置为模拟状态。

0 S! w4 X. d. B$ I5 o, o
调节GPIO速度' X5 d: M7 u. E
    上升时间,下降时间和最大频率可使用GPIOx_OSPEEDR配置寄存器进行配置。    这种调整对EMI(电磁干扰)和SSO(同时开关输出)有影响,因为开关电流峰值较高。因此必须平衡GPIO性能与噪声。$ h' R" q0 H7 e; M- t/ ^
    每个GPIO信号的上升时间和下降时间必须适应与相关信号频率和电路板容性负载兼容的最小值。

1 L; H/ L0 d4 A1 G. S) e9 Q
不使用时禁用GPIO寄存器时钟
: k5 k5 s9 [  |# ~+ X
    如果某个GPIO组不需要长时间使用,禁用其时钟。    比如:
  • 标准外设库,禁用GPIOA时钟:
    1. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, DISABLE);
    复制代码
    8 h. C, z( c& _
  • HAL库,禁止GPIOA时钟:
    1. __HAL_RCC_GPIOA_CLK_DISABLE();
    复制代码

    2 G  p2 X3 A" _1 W8 I
进入低功耗模式时配置GPIO3 F0 Z# R% l8 x
    进入低功耗模式时,所有引脚信号必须连接到VDD或接地。    如果GPIO连接到外部接收器(外部元件输入),则必须使用PP或PU/PD强制GPIO信号值。
& \" u" i2 @* @7 Y; d' g- H
    当GPIO连接到驱动器(外部元件输出或总线)时,驱动器必须提供有效电平( VDD或接地)。如果未定义驱动器电平,则必须使用PU/PD强制GPIO上的信号。
! P' o7 @% [) {5 C
    出于实际原因,当GPIO是运行模式下的输入(模拟或数字)时,在低功耗模式下使用输入PU/PD可能更容易;当GPIO是运行模式下的输出时,则使用输出PP。这可以避免在进入或退出停止模式时管理更改。
: H/ @9 ]: u, a' L. W; c" \4 \
7 D$ p4 N# n: Y. m; {
退出关机模式; h. Q3 A  Y/ m8 n5 [6 B
    退出关机(shut down)模式时, GPIO会在上电复位时重新配置为默认值。    在将它们重新编程为正确值之前,这会需要额外的系统消耗。
9 u- Y" S$ m0 C; r: B3 D8 Y" `( q( t
    如果这是应用程序的问题,则必须使用待机(standby)模式替代关机模式。
" F- o. C+ J1 }; u3 E  s  C
" W+ n: R% a) V4 h6 h8 m& f7 m* _
赞 收藏 评论0 发布时间:2022-6-6 23:02

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版