当前位置:首页 > 单片机 > 单片机
[导读]只测试了待机模式,待机模式实现系统的最低功耗。原理图如下,一开始全部焊接了,其中S2用来进入待机,S1用来唤醒测试程序为:#include"stm32f10x.h"#include"system_stm32f10x.h"voidSys_Standby(void){RCC_APB1Per

只测试了待机模式,待机模式实现系统的最低功耗。
原理图如下,一开始全部焊接了,其中S2用来进入待机,S1用来唤醒

测试程序为:

#include"stm32f10x.h"#include"system_stm32f10x.h"voidSys_Standby(void){RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//使能PWR外设时钟PWR_WakeUpPinCmd(ENABLE);//使能唤醒管脚功能PWR_EnterSTANDBYMode();//进入待机(standby)模式}//系统进入待机模式voidSys_Enter_Standby(void){RCC_APB2PeriphResetCmd(0X01FC,DISABLE);//复位所有IO口,屏蔽这条语句也没有看到什么影响Sys_Standby();}voidIO_Init(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;//PB6上拉输入,对应按键S2GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);}intmain(){IO_Init();while(1){if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)==0){Sys_Enter_Standby();}}}123456789101112131415161718192021222324252627282930313233343536373839

电流的测量用的是万用表,串联在电源的输入端,也就是说,实际测量的电流值为电路板消耗电流。电机、喇叭、OLED-0.9寸屏这些外部器件均未接入。
系统时钟选择外部8M晶振,电源为电脑USB口取电,上电后按下S2,进入待机模式,按下S1唤醒。
上电, 正常运行电流7.9mA,待机电流205uA,待机电流比较大;
取下DS1302芯片,正常运行电流7.9mA,待机电流10.5uA;
再取下DS1302芯片的三个上拉电阻,和上面一样,没变化;(看来即便有外部上拉,在待机模式时也是不用管的,只是不知道这上拉电阻接到了外围芯片上对外围电路的功耗有怎样的影响。)
再取下AT24C02芯片模块,正常电流7.7mA,待机电流10.5uA;
再取下L9110S电机驱动芯片,正常电流7.7mA,待机电流10.5uA,没有变化;
再取下SK040G语音芯片,就剩电源和按键部分了,正常电流7.6mA,待机7.4uA。
修改程序,开RTC后(选外部32.768k晶振),待机时电流为8.6uA。
装上OLED 0.9寸小128x64液晶屏测试了下,待机时120uA,此时若取下液晶屏,电流由120uA变到正常待机的7.4uA。

待机模式可实现 STM32的最低功耗。该模式是在 CM3 深睡眠模式时关闭电压调节器,整个 1.8V 供电区域被断电,PLL、HSI和 HSE振荡器也被断电,SRAM和寄存器内容丢失,仅备份的寄存器和待机电路维持供电。

从待机模式唤醒后的代码执行等同于复位后的执行(采样启动模式引脚,读取复位向量等),电源控制/状态寄存器(PWR_CSR)将会指示内核由待机状态退出。

待机模式下的输入/输出端口状态
在待机模式下,所有的I/O引脚处于高阻态,除了以下的引脚:
● 复位引脚(始终有效)
● 当被设置为防侵入或校准输出时的TAMPER引脚
● 被使能的唤醒引脚
<既然进入待机模式后各IO处于高阻态,那么所谓的IO口进待机前需配置为AIN、或者弱上拉弱下拉模式的,其实都没必要了,但看其他的网络文章有说需配置的,我也是弱上拉、弱下拉、模拟输入、浮空输入都测试了下,对于最小系统,没看到待机电流有什么变化,也测试了下开串口、SPI口什么的,对待机电流都没有发现影响,文档上“进入待机模式后,只有备份的寄存器和待机电路维持供电,其他部分没有供电”,那自然不会产生功耗,进入待机模式前就没必要配置。对外围硬件电路进入待机前根据情况才看是否有设置外围芯片工作模式的必要。主芯片进入待机后,管脚都为高阻态,要看这种状态对外围芯片电路会带来怎样的影响,如果不合适就要考虑停止模式,在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。>

对于唤醒管脚PA0(WKUP),在寄存器PWR_CSR中的第8位EWUP位有说明:
EWUP:使能WKUP引脚
0: WKUP引脚为通用I/O。 WKUP引脚上的事件不能将CPU从待机模式唤醒
1:WKUP引脚用于将CPU从待机模式唤醒,WKUP引脚被强置为输入下拉的配置(WKUP引脚上的上升沿将系统从待机模式唤醒)
注:在系统复位时清除这一位。(即系统复位重启后该位为0)
也就是说进待机模式后,WKUP自动被设置为下拉输入(下拉电阻典型值40K),无需额外配置端口A时钟及PA0管脚功能。

正常运行时IO口的损耗及响应配置:
以下为转载http://blog.csdn.net/beep_/article/details/47975227
I/O模块损耗:
静态损耗:
内部上下拉电阻损耗:这部分损耗主要取决于内部电阻的大小,一般为了降低内部电阻损耗常常需要降低电阻两端电压,若引脚为低电压则采用下拉电阻,若引脚为高电压则采用上拉电阻。
I/O额外损耗:当引脚设为输入I/O时,用来区分电压高低的斯密特触发器电路会产生一部分消耗,为此可将引脚设为模拟输入模式。
动态损耗:对于悬浮的引脚,由于其电压不稳定会产生外部电磁干扰和损耗,因此必须把悬浮引脚设为模拟模式或输出模式。
引脚电压的切换会对外部和内部电容负载产生动态损耗,其损耗与电压切换频率和负载电容有关。具体损耗值如下:


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

对于PIC入门者来说,不需要盲目追求高端开发板,一块功能均衡、资料丰富的入门款就能满足需求。比如Microchip官方推出的PIC16F84A开发板,它搭载经典的8位PIC内核,引脚布局清晰,自带LED、按键等基础外设,...

关键字: PIC 单片机

在PCB的EMC设计考虑中,首先涉及的便是层的设置;单板的层数由电源、地的层数和信号层数组成;在产品的EMC设计中,除了元器件的选择和电路设计之外,良好的PCB设计也是一个非常重要的因素。

关键字: PCB EMC

在开关电源领域,升压型DC/DC转换器(Boost Converter)凭借其能将低电压转换为高电压的特性,广泛应用于便携式设备、新能源系统、工业控制等场景。然而,看似简单的电路拓扑,若PCB布局不合理,轻则导致转换效率...

关键字: PCB DCDC转换器

在开关电源领域,升压型DC/DC转换器(Boost Converter)凭借其独特的拓扑结构,能轻松实现低电压到高电压的转换,广泛应用于便携式设备、新能源汽车、工业控制系统等场景。然而,看似简单的电路拓扑,若接地设计不合...

关键字: PCB DCDC转换器

Feb. 5, 2026 ---- 根据TrendForce集邦咨询最新MLCC(多层片式陶瓷电容器)研究,2026年第一季全球MLCC产业呈现极度分化的格局。尽管全球局势变化加剧供应链的不确定性,但受惠于「实体AI(E...

关键字: 消费电子 MLCC 电容器

Feb. 2, 2026 ---- 根据TrendForce集邦咨询最新存储器产业调查,2026年第一季AI与数据中心需求持续加剧全球存储器供需失衡,原厂议价能力有增无减,TrendForce集邦咨询据此全面上修第一季D...

关键字: 存储器 DRAM NAND Flash
关闭