返回列表 发新帖我要提问本帖赏金: 30.00元(功能说明)

[活动专区] 【AT-START-L021测评】04 看看AT32L021的功耗有多低

[复制链接]
 楼主| 怀揣少年梦 发表于 2024-12-6 23:26 | 显示全部楼层 |阅读模式
本帖最后由 怀揣少年梦 于 2024-12-7 15:16 编辑

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

1、运行模式功耗
官方运行模式功耗.png

2、睡眠模式
官方睡眠模式功耗.png

3、深度休眠和待机模式功耗
官方待机和深度休眠模式功耗.png

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


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

  6. /* private macro -------------------------------------------------------------*/
  7. /* add user code begin private macro */

  8. /* add user code end private macro */

  9. /* private variables ---------------------------------------------------------*/
  10. /* add user code begin private variables */

  11. /* add user code end private variables */

  12. /* private function prototypes --------------------------------------------*/
  13. /* add user code begin function prototypes */

  14. /* add user code end function prototypes */

  15. /* private user code ---------------------------------------------------------*/
  16. /* add user code begin 0 */

  17. /* add user code end 0 */

  18. /**
  19.   * [url=home.php?mod=space&uid=247401]@brief[/url] main function.
  20.   * @param  none
  21.   * @retval none
  22.   */
  23. int main(void)
  24. {
  25.   /* add user code begin 1 */
  26. uint32_t i = 0;
  27.   /* add user code end 1 */

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

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

  32.   /* nvic config. */
  33.   wk_nvic_config();

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

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

  43.         #if LOWER_POWER_SLEEP_MODE
  44.     /* enter sleep mode */
  45.     pwc_sleep_mode_enter(PWC_SLEEP_ENTER_WFI);
  46.         #endif
  47.         
  48.         #if LOWER_POWER_DEEP_SLEEP_MODE
  49.                     /* reduce ldo before enter deepsleep mode */
  50.     pwc_ldo_output_voltage_set(PWC_LDO_OUTPUT_1V0);
  51.                         /* congfig the voltage regulator mode.only used with deep sleep mode */
  52.     pwc_voltage_regulate_set(PWC_REGULATOR_LOW_POWER);
  53.         /* enter deep sleep mode */
  54.   pwc_deep_sleep_mode_enter(PWC_DEEP_SLEEP_ENTER_WFI);
  55.         #endif
  56.         #if LOWER_POWER_STANDY_MODE
  57.                 /* enter standy mode */
  58.         pwc_standby_mode_enter();
  59.         #endif
  60.     /* add user code end 3 */
  61.   }
  62. }
       3、测试结果如下

  MCU电压3.3V,运行时钟频率为16M
  运行模式
3.3-运行模式.jpg
  睡眠模式
3.3-睡眠模式.jpg
  深度休眠模式
3.3-深度休眠模式jpg.jpg
  待机模式
3.3-待机模式.jpg
根据实测数据,深度休眠模式只有7.5uA和待机模式下1.2uA,从数据来看还是不错的,但是相比STML051,还是逊色一点。它的待机模式只有0.27uA。
相较之下,AT32还是有很大空间的
720986753f60a74662.png




打赏榜单

ArteryMCU 打赏了 30.00 元 2025-01-09
理由:[L021开发板评测活动]内容优质

您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:一切皆有可能

45

主题

473

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部