APM32F103xB 功耗——如何在mini板上测量功耗
#技术资源#APM32F103xB的工作模式有:运行模式、低功耗模式,其中低功耗模式分为sleep、stop、standby、Vbat供电备份域模式。以下记录了如实使用mini板测量以上工作模式的功耗(即电流)。1 分析mini板的电源供电结构,确定万用表串联的位置1.1 mini版本的电源供电结构分析需要测量的电流必现是MCU消耗的电流,因此可以在J6、J7、J8跳线帽处串联电流表,同时合理的设置GPIO状态,避免额外的消耗电流。
1.2 实际连接图如如下拔掉mini板的J6、J7、J8跳线帽,并串联万用表(选择电流档位),
2 测试代码及数据默认情况下系统时钟为72MHz,在测量功耗时,都是掉电再上电后测量的。2.1 运行模式直接运行while(1),功耗为12.6mA。2.2 sleep模式外设时钟都是关闭,进入sleep模式,功耗为5.6mA #include "main.h"int main(void){ __WFI(); while(1);}2.3 stop模式进入stop模式,功耗为25.4uA。注意:(1)所有的GPIO都需要配置为模拟输入,否则测量的功耗数据会偏大;(2)由于JTAG的IO默认情况是JTAG功能而不是GPIO功能,因此先重映射为GPIO,再配置为模拟输入 #include "apm32f10x_pmu.h"int main(void){ GPIO_Config_TconfigStruct; RCM_EnableAPB2PeriphClock(RCM_APB2_PERIPH_GPIOA|RCM_APB2_PERIPH_GPIOB|\ RCM_APB2_PERIPH_GPIOC|RCM_APB2_PERIPH_GPIOD|\ RCM_APB2_PERIPH_GPIOE|RCM_APB2_PERIPH_AFIO); GPIO_ConfigPinRemap(GPIO_REMAP_SWJ_DISABLE); configStruct.pin= GPIO_PIN_ALL; configStruct.mode = GPIO_MODE_ANALOG; GPIO_Config(GPIOA, &configStruct); GPIO_Config(GPIOB, &configStruct); GPIO_Config(GPIOC, &configStruct); GPIO_Config(GPIOD, &configStruct); GPIO_Config(GPIOE, &configStruct); RCM_EnableAPB1PeriphClock(RCM_APB1_PERIPH_PMU); PMU_EnterSTOPMode(PMU_REGULATOR_ON,PMU_STOP_ENTRY_WFI); while(1);}2.4 standby模式进入standby模式,测量功耗为3.1uA#include "apm32f10x_pmu.h"int main(void){ RCM_EnableAPB1PeriphClock(RCM_APB1_PERIPH_PMU); PMU_EnterSTANDBYMode(); while(1);}
测试工程如下:
看看,多了解一下 低功耗板子测试功耗的方法 可以用直流稳压电源。直接供电就能显示电压和电流,相乘就是功耗了。 低功耗是多少呢 如何看功耗 板子的功耗如何测量 功耗可以达到多低? 控制单片机系统的电流和功耗? 供电电源功率如何计算? 如何估算单片机的功耗? 如何较为准确的测量功耗? 怎样确定单片机的工作电压和功耗? 一般都是粗略的计算,单片机可根据IO脚正常工作电流来计算功耗 最小的电流数值怎么确定 ? APM32F103xB 最低功耗是多少? 串联电流表有什么要求?应该是比较精准的吧。 最小的电流是多少?怎么精确测量? 如果把频率降低下来,功耗是不是可以降低? L系列的应该是功耗最低的吧。
页:
[1]
2