[AT32L021] 【AT-START-L021测评】低功耗之主频变化影响

[复制链接]
 楼主| jinyi7016 发表于 2024-12-10 18:02 | 显示全部楼层 |阅读模式
本帖最后由 jinyi7016 于 2024-12-11 08:52 编辑

从开发板的电路图上可以看出,单片机的电源有两个,1.8V与3.3V,为了实现更低的功耗,这里肯定选择1.8V的电源。
电源选择是通过JP2的跳线帽来选择的。
从下图可以看到,这里有两个电源VDD_MCU与VDD.
clipboard.png

这里VDD是单片机的电源,VDD_MCU除了给单片机供电,还给一个电平转换的芯片来供电的。

clipboard.png
所以,要单独测量单片机的功耗,只能是拆掉R13,在JP3上进行测量了。
JP3上也最好再焊接个排针,加上短路帽,这样方便后期测试。
我的做法就是,用R13,短掉VDD_MCU与1.8V,把JP2的排针拆下来,去掉一位,焊接到JP3上。

clipboard.png

不同主频下的功耗测试。
这里禁用低速时钟,只看高速时钟情况下。
由于LED灯的闪烁会造成电流的变化,主程序中,不添加代码,禁用其他的外设。
使用的测量设备为IoT Power。
设计了一个Type-c公头转换板,用于方便接各种电源。

代码修改:
使用AT32_Work_Bench生成的代码,在void wk_periph_clock_config(void)中,会启动GPIO的所有时钟,所以,这里要在这个函数里关闭一下GPIO的时钟。
在仿真状态下,电源功耗会比较大,测量时,要退出Debug

  1. /* enable gpioa periph clock */
  2. //crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE);  
  3. /* enable gpiob periph clock */
  4. //crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);
  5. /* enable gpiof periph clock */  
  6. //crm_periph_clock_enable(CRM_GPIOF_PERIPH_CLOCK, TRUE);


经过几种主频的测量,功耗数据如下 :
屏幕截图 2024-12-10 180019.jpg

如下 ,这是电压 在1.2与1.0时的,各时钟频率下的电流值,与在1.8V下的进行对比,

clipboard.png

最后,是这次实验的硬件连接图。

微信图片_20241210180128.jpg




呐咯密密 发表于 2024-12-12 10:05 | 显示全部楼层
实测比手册还低
 楼主| jinyi7016 发表于 2024-12-13 14:50 | 显示全部楼层

与官方的测试数据的差异,主是要由于工作电压不同,还有代码差异。我的测试,就没打算让单片机可以运行任务。但大体上基本一致。
LEDyyds 发表于 2024-12-16 14:55 | 显示全部楼层
一般主频个功耗都是有个系数关系的
深渊之海 发表于 2024-12-20 10:45 | 显示全部楼层
对比实验很好,测试的比较全面
您需要登录后才可以回帖 登录 | 注册

本版积分规则

148

主题

1411

帖子

12

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