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

[复制链接]
29245|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

粉丝