打印
[活动专区]

【AT-START-L021测评】04 看看AT32L021的功耗有多低

[复制链接]
395|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 怀揣少年梦 于 2024-12-7 15:16 编辑

本篇测评来测试一下AT32L021这颗MCU在各个低功耗模式下功耗情况
一、官方数据
从官方的数据手册来看看,功耗数据。官方测试条件是:


1、运行模式功耗


2、睡眠模式


3、深度休眠和待机模式功耗


从以上数据可以看出:
睡眠模式>深度休眠模式>待机模式","marks":[]}]}],"state":{}}]">1)频率越高,功耗越高,因此要想功耗越低,必须让频率降低到合适的频率
2)在待机模式功耗最低,在同等条件下,在各模式功耗顺序为运行模式>睡眠模式>深度休眠模式>待机模式


二、测试官方数据
1、新建工程,只开启内部高速晶振,过程就赘述了。
2、编写进入功耗模式代码
/* add user code begin private define */
#define LOWER_POWER_SLEEP_MODE 0
#define LOWER_POWER_DEEP_SLEEP_MODE 1
#define LOWER_POWER_STANDY_MODE 0
/* add user code end private define */

/* private macro -------------------------------------------------------------*/
/* add user code begin private macro */

/* add user code end private macro */

/* private variables ---------------------------------------------------------*/
/* add user code begin private variables */

/* add user code end private variables */

/* private function prototypes --------------------------------------------*/
/* add user code begin function prototypes */

/* add user code end function prototypes */

/* private user code ---------------------------------------------------------*/
/* add user code begin 0 */

/* add user code end 0 */

/**
  * [url=home.php?mod=space&uid=247401]@brief[/url] main function.
  * @param  none
  * @retval none
  */
int main(void)
{
  /* add user code begin 1 */
uint32_t i = 0;
  /* add user code end 1 */

  /* system clock config. */
  wk_system_clock_config();

  /* config periph clock. */
  wk_periph_clock_config();

  /* nvic config. */
  wk_nvic_config();

  /* add user code begin 2 */
        //wk_delay_ms(8000);
        for(i=0;i < 16000000;i++);
  /* add user code end 2 */

  while(1)
  {
    /* add user code begin 3 */
                    /* disable systick */
    SysTick->CTRL &= (uint32_t)0xFFFFFFFE;

        #if LOWER_POWER_SLEEP_MODE
    /* enter sleep mode */
    pwc_sleep_mode_enter(PWC_SLEEP_ENTER_WFI);
        #endif
        
        #if LOWER_POWER_DEEP_SLEEP_MODE
                    /* reduce ldo before enter deepsleep mode */
    pwc_ldo_output_voltage_set(PWC_LDO_OUTPUT_1V0);
                        /* congfig the voltage regulator mode.only used with deep sleep mode */
    pwc_voltage_regulate_set(PWC_REGULATOR_LOW_POWER);
        /* enter deep sleep mode */
  pwc_deep_sleep_mode_enter(PWC_DEEP_SLEEP_ENTER_WFI);
        #endif
        #if LOWER_POWER_STANDY_MODE
                /* enter standy mode */
        pwc_standby_mode_enter();
        #endif
    /* add user code end 3 */
  }
}
       3、测试结果如下

  MCU电压3.3V,运行时钟频率为16M
  运行模式

  睡眠模式

  深度休眠模式

  待机模式

根据实测数据,深度休眠模式只有7.5uA和待机模式下1.2uA,从数据来看还是不错的,但是相比STML051,还是逊色一点。它的待机模式只有0.27uA。
相较之下,AT32还是有很大空间的





使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:一切皆有可能

34

主题

412

帖子

2

粉丝