打印
[AVR单片机]

问一个关于AVR低功耗的问题

[复制链接]
7218|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
自民|  楼主 | 2010-3-16 10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个小模块:就一片AVR128L和一片SST29VE010,3.3V供电,7.3728MHZ,工作时测电流是20MA
进入睡眠模式:

MCUCR |= (1 << SM1) | (1 << SE);//设定为掉电模式
#asm("sleep")        //进入睡眠模式

,测量电流是11MA,睡眠状态下功耗怎么会这么大。问题出在哪里

相关帖子

沙发
笑苍天| | 2010-3-16 12:35 | 只看该作者
每个管脚都要有固定电平:外接了上拉或下拉的可设置为输入;没接的看情况设置为输出高或低。
我做过mega64L的低功耗,掉电模式下低于10uA。

使用特权

评论回复
板凳
自民|  楼主 | 2010-3-16 16:40 | 只看该作者
已经把所有没用的端口,设置为输入口
不用的管脚使能内部上拉电阻
DDRx=0x00,PORTx=0xFF

使用特权

评论回复
地板
自民|  楼主 | 2010-3-16 16:42 | 只看该作者
电流还是11MA

使用特权

评论回复
5
笑苍天| | 2010-3-16 16:56 | 只看该作者
本帖最后由 笑苍天 于 2010-3-16 16:57 编辑

自己对比着看一下
/* -----------------------------------------------------------
  笑苍天+ 2008-04-11  add this note
  ------------------------------------------------------------
  DDRxn PORTxn PUD  I/O  上拉电阻  说明
      0        0          X    输入   No      高阻态 (Hi-Z)
      0        1          0    输入   Yes     被外部电路拉低时将输出电流
      0        1          1    输入   No      高阻态 (Hi-Z)
      1        0          X    输出   No      输出低电平 (吸收电流 )
      1        1          X    输出   No      输出高电平 (输出电流 )
  ----------------------------------------------------------- */

使用特权

评论回复
6
yidou| | 2010-3-16 22:52 | 只看该作者
11MA?还没见过这么大的

使用特权

评论回复
7
自民|  楼主 | 2010-3-17 11:00 | 只看该作者
在执行
MCUCR |= (1 << SM1) | (1 << SE);//设定为掉电模式  
#asm("sleep")        //进入睡眠模式  
前电流为20MA
执行后,电流为11MA
但我用示波器测,怎么晶振还在工作啊!

使用特权

评论回复
8
SHSLZHZ| | 2010-3-17 11:29 | 只看该作者
7# 自民
你说晶振还在振,说明你的程序有问题.先查程序

使用特权

评论回复
9
笑苍天| | 2010-3-17 13:01 | 只看该作者
检查你的MCUCR前面有没有赋过值;
或者把
     MCUCR |= (1 << SM1) | (1 << SE);//设定为掉电模式
改为
     MCUCR = (1 << SM1) | (1 << SE);//设定为掉电模式

使用特权

评论回复
10
自民|  楼主 | 2010-3-17 14:24 | 只看该作者
改为
MCUCR = (1 << SM1) | (1 << SE);//设定为掉电模式

晶振还在工作啊,电流为11MA

使用特权

评论回复
11
自民|  楼主 | 2010-3-17 16:50 | 只看该作者
熔丝位OCDEN不编程,进入掉电模式,晶振不工作了
但电流还有9MA

使用特权

评论回复
12
五谷道场| | 2010-3-17 20:35 | 只看该作者
学习了

使用特权

评论回复
13
dadodo| | 2010-3-18 01:40 | 只看该作者
狗关好了吗?

使用特权

评论回复
14
笑苍天| | 2010-3-18 08:43 | 只看该作者
熔丝位中兼容mega103的选项关了吗?

使用特权

评论回复
15
SHSLZHZ| | 2010-3-18 12:32 | 只看该作者
11# 自民
现在你只要把JTAGEN熔丝取消,就是真正的休眠电流了

使用特权

评论回复
16
雅士侬家| | 2010-11-4 13:44 | 只看该作者
你好,请问您的省电模式搞定了吗?能不能共享一下?请加我QQ:369468608
我的也是在省电模式下也有9ma的电流

使用特权

评论回复
17
宇宙飞船| | 2010-11-4 14:59 | 只看该作者
M128 只是flash比M64大一倍,执行sleep指令后电流大小与flash 容量无关,应该没有这么大电流嘀。
楼主应仔细查看核对寄存器的值。

使用特权

评论回复
18
mxh0506| | 2010-11-4 21:52 | 只看该作者
怎么会有9mA那么大?关注。

使用特权

评论回复
19
hugo0chen| | 2014-4-1 17:17 | 只看该作者
过了多少年后,我经过,不知是否结贴

使用特权

评论回复
20
gll90| | 2016-1-18 10:11 | 只看该作者
hugo0chen 发表于 2014-4-1 17:17
过了多少年后,我经过,不知是否结贴

这种情况,估计是某些连接的管脚直连,没有加限流电阻,导致一高一低,电流为最大状态跑

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

195

帖子

2

粉丝