原创 AVR操作EEPROM应注意的问题

2009-4-21 13:15 6284 12 14 分类: MCU/ 嵌入式
作为一个正式的系统或产品,当系统基本功能调试完成后,一旦进行现场测试阶段,请注意马上改写熔丝位的配置,启用AVR的电源检测(BOD)功能。

对于5V系统,设置BOD电平为4.0V;对于3V系统,设置BOD电平为2.7V。然后允许BOD检测。

这样,一旦AVR的供电电压低于BOD电平,AVR进入RESET(不执行程序了)。而当电源恢复到BOD电平以上,AVR才正式开始从头执行程序。保证了系统的可靠性!

原因分析如下:
AVR
是宽电压工作的芯片,当电压跌至2.5V,系统程序还能工作。这是有2个可怕的现象可能出现,
1
。外围芯片工作已经混乱,AVR读到的东西不正确,造成程序的执行发生逻辑错误(不是AVR本身的原因)。
2
。当电源低到临界点,如2.4V时,并且在此互上互下的,AVR本身的程序执行也不正常,取指令、读数据都可能发生错误,或程序乱飞、不稳定(AVR本身的原因,实际任何的单片机都是这样的),非常容易造成EEPROMFALSH的破坏。有人问51怎么不会?实际上51也是这样,只是51内部没有直接写EEPROMFLASH的指令,它的程序乱飞留不下痕迹。还有人有疑问:外挂EEPROM,掉电时怎么不会改写?实际是外挂EEPROM,当电压低于4V2.7V)时,它已经不工作了,程序去改内容也改不了。而AVR内部的东西在临界电压时都能工作,但非常不稳定。

AVR
BOD功能必须要使用,我早期使用51时,凡是产品外部都要使用电源监测芯片,现在AVR自己本身就有该功能,一定要使用。

文章评论2条评论)

登录后参与讨论

用户53525 2008-3-13 13:51

我想问一下,它的bit型变量该怎么定义? 多谢了!

用户1360014 2007-11-2 23:03

努力吧,我为你加油!!

相关推荐阅读
用户1360014 2010-06-18 16:46
AVR 单片机采用定时器实现精确延时
AVR 单片机采用定时器实现精确延时       我们在编写程序中经常会用到延时程序,如果对延时的精度不是很高的情况下,采用等待延时就足够用了,但是在某些应用中对延时的精确度较高,这里就简单的介绍使用...
用户1360014 2010-03-19 13:16
LPC1114-SK原理图
        此图为IAR设计的基于LPC1114的原理图,名称为LPC1114-SK原理图_Rev_B,希望能够为有共同爱好的朋友提供参考资料!       说明:本博客所提供的原理图或整理的资料...
用户1360014 2010-03-19 13:07
keil mcb1700 原理图
     此图为KEIL mcb1700 原理图,希望能够为有共同爱好的朋友提供参考,共同学习!说明:本博客所提供的原理图或整理的资料均来源于网络,版权归原作者所有,在此对原作者表示感谢,只供有共同爱...
用户1360014 2009-12-09 15:53
32位MCU开发攻略-基于LPC17XX系列(下)
这是32位MCU开发攻略-基于LPC17XX系列(下),共分为四个分卷,全部下载之后解压缩即可。说明:本博客所提供的原理图或整理的资料均来源于网络,版权归原作者所有,在此对原作者表示感谢,只供有共同爱...
用户1360014 2009-12-09 09:26
32位MCU开发攻略-基于LPC17XX系列(上)
 这是32位MCU开发攻略-基于LPC17XX系列(上),共分为三个分卷,全部下载之后解压缩即可。说明:本博客所提供的原理图或整理的资料均来源于网络,版权归原作者所有,在此对原作者表示感谢,只供有共同...
用户1360014 2009-12-09 09:05
你必须知道的495个C语言问题
说明:本博客所提供的原理图或整理的资料均来源于网络,版权归原作者所有,在此对原作者表示感谢,只供有共同爱好的朋友参考学习使用,请不要用于任何商业用途,如若产生法律纠纷,均与本人无关,如果你是版权所有人...
我要评论
2
12
关闭 站长推荐上一条 /2 下一条