Sam131208 发表于 2024-12-18 14:20

GD32L233在PMU_DEEPSLEEP2模式功耗过高

    GD32L233怎么配置才可以降低功耗? 用例程“GD32L23x_Firmware_Library_V2.0.2\Examples\PMU\Deepsleep_wakeup_RTC”测试,无论如何也降低不了功耗,3.3v电压测试条件下,一直有几个mA。
    GD32l23x的产品系列,是只做广告不管疗效的吗?浪费了太多时间测试需要的功能,结果发现功耗根本不行。
   如果 GD32l23x能达到数据手册的功耗,请提供 测试例程出来。

jcky001 发表于 2024-12-19 14:24

内部Flash未正确进入待机状态

elephant00 发表于 2024-12-19 14:25

在进入深度睡眠模式前,确保Flash有read动作,使CS片选信号恢复高电平,从而使Flash进入待机状态。

cr315 发表于 2024-12-19 15:26

未使用的引脚配置不当

Sam131208 发表于 2024-12-19 15:56

cr315 发表于 2024-12-19 15:26
未使用的引脚配置不当
没有使用GPIO做其它功能,单纯测试电流, 所有GPIO都尝试过四种方式: 输入三种,不上拉下拉, 上拉, 下拉, 输出一种。 电流只有更高,没有低于1.8mA. 不知道你指的“引脚配置得当”应该是怎样的?

Sam131208 发表于 2024-12-19 16:13

jcky001 发表于 2024-12-19 14:24
内部Flash未正确进入待机状态

    可以说下怎么让flash进入待机状态?测试使用了fmc里面的几个睡眠程序,有的无影响,有的更大。

Sam131208 发表于 2024-12-19 16:15

elephant00 发表于 2024-12-19 14:25
在进入深度睡眠模式前,确保Flash有read动作,使CS片选信号恢复高电平,从而使Flash进入待机状态。 ...

   可以说下怎么做吗?使用了下面代码,未见效果。
      testflashread = REG32(0x08000000 + 0x8000);
      pmu_to_deepsleepmode(PMU_LDNPDSP_LOWDRIVE, WFI_CMD, PMU_DEEPSLEEP2);

zeshoufx 发表于 2024-12-19 17:18

把测试代码贴出来,,光描述大家都不知道测试原理和你的配置

zeshoufx 发表于 2024-12-19 17:21

官方的应用文档注意看一下,怎么配置,,按使用流程来

zeshoufx 发表于 2024-12-19 17:23

多看看,,官方都提供了很多参考程序,,有没有符合你的应用的
,没有的话,可以加官方群

两只袜子 发表于 2024-12-19 18:26

PMU的配置可能影响MCU在深度睡眠模式下的功耗。例如,如果LDO(电压调节器)未正确配置为低功耗状态,或者COREOFF1电源域未断电,都可能导致功耗增加。

laocuo1142 发表于 2024-12-19 19:00

将所有未使用的引脚配置为模拟输入,禁用施密特触发器,以减少额外的电流消耗。

flycamelaaa 发表于 2024-12-19 21:23

配置外设为低功耗模式,优化PMU配置

powerantone 发表于 2024-12-19 22:26

使用直接内存访问

stormwind123 发表于 2024-12-19 23:00

检查并优化代码,没有不必要的循环或等待操作

Sam131208 发表于 2024-12-20 09:32

本帖最后由 Sam131208 于 2024-12-20 09:37 编辑

zeshoufx 发表于 2024-12-19 17:18
把测试代码贴出来,,光描述大家都不知道测试原理和你的配置
官网下载的GD32L23x Firmware Library,最新版本2.02, 里面例程:
         GD32L23x_Firmware_Library_V2.0.2\Examples\PMU\Deepsleep_wakeup_RTC

   开发板所有IO,除了boot脚位下拉,都已经移除了所有的外部连接,包括外部上拉,下拉电阻,以及开发板上所有的LED。稳压LDO已经拆除, 复位脚上拉电阻,下拉电容还在,没有外部晶振(简单说,除了boot脚的下拉电阻,VDD的滤波电容,其它脚位没有连接任何外部元件)。

    只修改了main.c中的main函数中while(1)包含的代码,代码如下面所示:   
int main(void)
{
    /* configure nvic */
    nvic_configuration();
    /* configure led */
    led_config();
    /* configure systick */
    systick_config();
    gd_eval_led_on(LED2);
    delay_1ms(2000U);
    gd_eval_led_off(LED2);
    /* configure RTC */
    rtc_configuration();
    /* configure FWDGT */
    fwdgt_configuration();

    while(1) {
      delay_1ms(50U);
      //New attachment command before going to sleep
      pmu_deepsleep2_retention_enable();
      pmu_deepsleep2_sram_power_config(PMU_SRAM1_POWER_REMAIN);
      pmu_flag_clear(PMU_FLAG_DEEPSLEEP_2);
      /* PMU enters deepsleep mode */
      pmu_to_deepsleepmode(PMU_LDNPDSP_LOWDRIVE, WFI_CMD, PMU_DEEPSLEEP2);
      gd_eval_led_toggle(LED1);
    }
}

页: [1]
查看完整版本: GD32L233在PMU_DEEPSLEEP2模式功耗过高