STM32F103C8T6低功耗至25uA,再也下不去了,请教高手

[复制链接]
33678|66
 楼主| dzxxlxd 发表于 2013-5-29 16:17 | 显示全部楼层 |阅读模式
stm32最小系统,停止模式和待机模式都是25uA,停止模式的功耗还是可以接受,但是待机模式远达不到理论值。求教达到10uA一下的高手。
自己考虑到原因可能有这几个:
1、调试口用2线制模式,用了10K上拉电阻,尽管在进待机模式前端口已经改为上拉输入,但是此块是否造成影响。
2、boot0脚用10K电阻接地,这个地方耗电吗?
3、如果外围耗电相同,待机和停止至少有10几uA的电流差值,怎么会没有能!!!如果没有,难道是芯片内部没进待机模式?(我用了官方的库)
4、这个型号的stm32是否最低就是这样了?

请做过低功耗的朋友帮忙分析一下!!!提供点经验
airwill 发表于 2013-5-29 16:26 | 显示全部楼层
PWR,WD 有没有关闭? 有没有外设还开着.
boot0 是纯输入. 应该不会
 楼主| dzxxlxd 发表于 2013-5-30 08:53 | 显示全部楼层
都关了呢,肯定只有一个地方没注意到,就是找不出来,否则也到不了25uA。哎,痛苦中
grasswolfs 发表于 2013-5-30 09:00 | 显示全部楼层
停止和待机没有区别,感觉还是没进待机模式
 楼主| dzxxlxd 发表于 2013-7-15 16:10 | 显示全部楼层
找到方法了,最终板级数据:
stop模式,外部中断唤醒:13uA
standby模式,2.5uA
 楼主| dzxxlxd 发表于 2013-7-15 16:22 | 显示全部楼层
具体要点为:
1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉输入,如果高阻是中间状态,设成模拟输入。这个很多人都提到过,必须的。作为输出口就免了,待机你想输出个什么东西,一定要输,硬件上加上下拉就可以了
2、两个晶振输入脚要remap成普通IO!!!使用内部晶振。
3、pwr的时钟要使能,即RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);这个也相当重要
4、关闭jtag口,并设成普通IO;
5、注意助焊膏的质量!!!注意电路板层之间是否进水!!!!
掌握这几项要点,再设中断什么的都行,整个世界清静了!!!完全低能耗。
 楼主| dzxxlxd 发表于 2013-7-15 16:24 | 显示全部楼层
分数如何给自己??
sxhhhjicbb 发表于 2013-7-15 16:26 | 显示全部楼层
收着了。
hkcj 发表于 2013-7-15 19:13 | 显示全部楼层
自问自答   呵呵   这样不好啊   楼主
 楼主| dzxxlxd 发表于 2013-7-16 09:42 | 显示全部楼层
hkcj 发表于 2013-7-15 19:13
自问自答   呵呵   这样不好啊   楼主

注意是想把经验分享给大家,免得走弯路
lych9139 发表于 2013-7-16 09:59 | 显示全部楼层

具体要点为:
1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉输入,如果高阻是中间状态,设成模拟输入。这个很多人都提到过,必须的。作为输出口就免了,待机你想输出个什么东西,一定要输,硬件上加上下拉就可以了
2、两个晶振输入脚要remap成普通IO!!!使用内部晶振。
3、pwr的时钟要使能,即RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);这个也相当重要
4、关闭jtag口,并设成普通IO;
5、注意助焊膏的质量!!!注意电路板层之间是否进水!!!!
掌握这几项要点,再设中断什么的都行,整个世界清静了!!!完全低能耗。

我帮你顶了一下,分数就给我吧:lol
cool_coder 发表于 2013-7-16 15:48 | 显示全部楼层
不错,好贴!
IJK 发表于 2013-7-16 16:25 | 显示全部楼层
有些误导的地方,下面2点对于STANDBY模式不是必需的:
2、两个晶振输入脚要remap成普通IO!!!使用内部晶振。
4、关闭jtag口,并设成普通IO;
sun1238898 发表于 2013-7-16 17:46 | 显示全部楼层
可以,不错,奋斗的小孩是好样的。
zeluo 发表于 2013-7-16 18:47 | 显示全部楼层
好帖子 楼主 谢谢了   需要好好向你学习   顶一个
lei129210 发表于 2013-7-17 09:20 | 显示全部楼层
这个要MARK下。
dyf1003 发表于 2013-7-17 09:24 | 显示全部楼层
关注,顶一个、、、
lanmanck 发表于 2014-2-25 09:00 | 显示全部楼层
dzxxlxd 发表于 2013-7-15 16:22
具体要点为:
1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉 ...

这个真能低功耗?那些本来不用的GPIO Port,也要使能时钟并设为你说的输入输出状态么?使能了时钟还能低功耗?
killer523 发表于 2014-12-23 09:42 | 显示全部楼层
非常好的帖子,受用了,谢谢
killer523 发表于 2014-12-23 10:29 | 显示全部楼层
3、pwr的时钟要使能,即RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);这个也相当重要
为什么加入这条后原来输出高电平的引脚会变为低电平
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

1

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