[AVR单片机] 问一个关于AVR低功耗的问题

[复制链接]
8090|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
笑苍天 发表于 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      输出高电平 (输出电流 )
  ----------------------------------------------------------- */
yidou 发表于 2010-3-16 22:52 | 显示全部楼层
11MA?还没见过这么大的
 楼主| 自民 发表于 2010-3-17 11:00 | 显示全部楼层
在执行
MCUCR |= (1 << SM1) | (1 << SE);//设定为掉电模式  
#asm("sleep")        //进入睡眠模式  
前电流为20MA
执行后,电流为11MA
但我用示波器测,怎么晶振还在工作啊!
SHSLZHZ 发表于 2010-3-17 11:29 | 显示全部楼层
7# 自民
你说晶振还在振,说明你的程序有问题.先查程序
笑苍天 发表于 2010-3-17 13:01 | 显示全部楼层
检查你的MCUCR前面有没有赋过值;
或者把
     MCUCR |= (1 << SM1) | (1 << SE);//设定为掉电模式
改为
     MCUCR = (1 << SM1) | (1 << SE);//设定为掉电模式
 楼主| 自民 发表于 2010-3-17 14:24 | 显示全部楼层
改为
MCUCR = (1 << SM1) | (1 << SE);//设定为掉电模式

晶振还在工作啊,电流为11MA
 楼主| 自民 发表于 2010-3-17 16:50 | 显示全部楼层
熔丝位OCDEN不编程,进入掉电模式,晶振不工作了
但电流还有9MA
五谷道场 发表于 2010-3-17 20:35 | 显示全部楼层
学习了
dadodo 发表于 2010-3-18 01:40 | 显示全部楼层
狗关好了吗?
笑苍天 发表于 2010-3-18 08:43 | 显示全部楼层
熔丝位中兼容mega103的选项关了吗?
SHSLZHZ 发表于 2010-3-18 12:32 | 显示全部楼层
11# 自民
现在你只要把JTAGEN熔丝取消,就是真正的休眠电流了
雅士侬家 发表于 2010-11-4 13:44 | 显示全部楼层
你好,请问您的省电模式搞定了吗?能不能共享一下?请加我QQ:369468608
我的也是在省电模式下也有9ma的电流
宇宙飞船 发表于 2010-11-4 14:59 | 显示全部楼层
M128 只是flash比M64大一倍,执行sleep指令后电流大小与flash 容量无关,应该没有这么大电流嘀。
楼主应仔细查看核对寄存器的值。
mxh0506 发表于 2010-11-4 21:52 | 显示全部楼层
怎么会有9mA那么大?关注。
hugo0chen 发表于 2014-4-1 17:17 | 显示全部楼层
过了多少年后,我经过,不知是否结贴
gll90 发表于 2016-1-18 10:11 | 显示全部楼层
hugo0chen 发表于 2014-4-1 17:17
过了多少年后,我经过,不知是否结贴

这种情况,估计是某些连接的管脚直连,没有加限流电阻,导致一高一低,电流为最大状态跑
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

195

帖子

2

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