本帖最后由 jinyi7016 于 2024-12-11 08:52 编辑
从开发板的电路图上可以看出,单片机的电源有两个,1.8V与3.3V,为了实现更低的功耗,这里肯定选择1.8V的电源。
电源选择是通过JP2的跳线帽来选择的。
从下图可以看到,这里有两个电源VDD_MCU与VDD.
这里VDD是单片机的电源,VDD_MCU除了给单片机供电,还给一个电平转换的芯片来供电的。
所以,要单独测量单片机的功耗,只能是拆掉R13,在JP3上进行测量了。
JP3上也最好再焊接个排针,加上短路帽,这样方便后期测试。
我的做法就是,用R13,短掉VDD_MCU与1.8V,把JP2的排针拆下来,去掉一位,焊接到JP3上。
不同主频下的功耗测试。
这里禁用低速时钟,只看高速时钟情况下。
由于LED灯的闪烁会造成电流的变化,主程序中,不添加代码,禁用其他的外设。
使用的测量设备为IoT Power。
设计了一个Type-c公头转换板,用于方便接各种电源。
代码修改:
使用AT32_Work_Bench生成的代码,在void wk_periph_clock_config(void)中,会启动GPIO的所有时钟,所以,这里要在这个函数里关闭一下GPIO的时钟。
在仿真状态下,电源功耗会比较大,测量时,要退出Debug
/* enable gpioa periph clock */
//crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE);
/* enable gpiob periph clock */
//crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);
/* enable gpiof periph clock */
//crm_periph_clock_enable(CRM_GPIOF_PERIPH_CLOCK, TRUE);
经过几种主频的测量,功耗数据如下 :
如下 ,这是电压 在1.2与1.0时的,各时钟频率下的电流值,与在1.8V下的进行对比,
最后,是这次实验的硬件连接图。
|