zkyzhh 发表于 2021-11-24 16:38

GD32F450如何降低运行功耗

项目用的GD32F450,200MHz,已将未使用的引脚配置为模拟输入,无上下拉,未使用的外设时钟均关闭,但MCU部分电流达到200mA(拆除所有外围电路),有什么办法可以把这个功耗降下去,因产品特性,无法使用待机或者停机模式。

aozima 发表于 2021-11-24 17:08

看你的目标功耗了。

关PLL降频,WFI

zkyzhh 发表于 2021-11-25 08:50

aozima 发表于 2021-11-24 17:08
看你的目标功耗了。

关PLL降频,WFI

不能进入standby和stop模式,想在运行模式下,功耗降到100mA以内。

mcuisp 发表于 2021-11-25 10:29

看手册就是90多mA 典型值。是不是哪里短路了。

大秦正声 发表于 2021-11-25 11:03

未使用的引脚通常都是设置为io输出,输出为低电平,或者高电平。没见过设置为模拟输入的。

大秦正声 发表于 2021-11-25 11:04

本帖最后由 大秦正声 于 2021-11-25 19:17 编辑

......

大秦正声 发表于 2021-11-25 11:29

本帖最后由 大秦正声 于 2021-11-25 19:16 编辑

手册说不使用外部设备电流在60.1ma

大秦正声 发表于 2021-11-25 11:42

手册说200MHz,run 模式,没有外设,mcu耗电流60毫安。

大秦正声 发表于 2021-11-25 11:44

使用外设电流99ma。

海洋无限 发表于 2021-11-25 12:25

检查下无用的IO设置

james03 发表于 2021-11-26 10:51

可以考虑:
1)、关闭不适用的晶振,如内部高速晶振;
2)、如果主频降不了,那么就降低各外设的时钟频率;
3)、参考一下其他回复检查一些硬件电路是否有问题;

紫气东升 发表于 2022-6-21 18:40

james03 发表于 2021-11-26 10:51
可以考虑:
1)、关闭不适用的晶振,如内部高速晶振;
2)、如果主频降不了,那么就降低各外设的时钟频率; ...

说得对,如果项目没有用到需要高主频的功能,我推荐先把主频降下来,在 system_gd32f4xx.c 文件里,有以下选项:
/* select a system clock by uncommenting the following line */
//#define __SYSTEM_CLOCK_IRC16M                   (uint32_t)(__IRC16M)
//#define __SYSTEM_CLOCK_HXTAL                  (uint32_t)(__HXTAL)
//#define __SYSTEM_CLOCK_120M_PLL_IRC16M          (uint32_t)(120000000)
#define __SYSTEM_CLOCK_120M_PLL_8M_HXTAL          (uint32_t)(120000000)
//#define __SYSTEM_CLOCK_120M_PLL_25M_HXTAL       (uint32_t)(120000000)
//#define __SYSTEM_CLOCK_168M_PLL_IRC16M          (uint32_t)(168000000)
//#define __SYSTEM_CLOCK_168M_PLL_8M_HXTAL      (uint32_t)(168000000)
//#define __SYSTEM_CLOCK_168M_PLL_25M_HXTAL       (uint32_t)(168000000)
//#define __SYSTEM_CLOCK_200M_PLL_IRC16M          (uint32_t)(200000000)
//#define __SYSTEM_CLOCK_200M_PLL_8M_HXTAL      (uint32_t)(200000000)
//#define __SYSTEM_CLOCK_200M_PLL_25M_HXTAL         (uint32_t)(200000000)
可以选一个120M的,或者168M的。
页: [1]
查看完整版本: GD32F450如何降低运行功耗