历史上的今天
今天是:2025年02月28日(星期五)
2020年02月28日 | AVR操作EEPROM应注意的问题
2020-02-28 来源:eefocus
简介:本文介绍了AVR单片机在实际使用时电源检测的问题。
作为一个正式的系统或产品,当系统基本功能调试完成后,一旦进行现场测试阶段,请注意马上改写熔丝位的配置,启用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本身的原因,实际任何的单片机都是这样的),非常容易造成EEPROM、FALSH的破坏。有人问51怎么不会?实际上51也是这样,只是51内部没有直接写EEPROM、FLASH的指令,它的程序乱飞留不下痕迹。还有人有疑问:外挂EEPROM,掉电时怎么不会改写?实际是外挂EEPROM,当电压低于4V(2.7V)时,它已经不工作了,程序去改内容也改不了。而AVR内部的东西在临界电压时都能工作,但非常不稳定。
AVR的BOD功能必须要使用,我早期使用51时,凡是产品外部都要使用电源监测芯片,现在AVR自己本身就有该功能,一定要使用。
下一篇:AVR并口下载线制作注意问题
史海拾趣
|
最近发现竞赛专栏更新速度惊人。火爆程度可想而知。。。。 版主和管理员想必都忙的不行了。好的帖子也下沉的太快。 想出一个馊主意。吧一些很有的价值的帖子。能否设置成保护状态。 也就是说只有回复才能够查看全部内容。下载附件。。。。 呵呵 ...… 查看全部问答> |
|
如题,附上相关源码,请大家帮我看看是什么问题. ============================================================================== D:\\WINCE600\\PLATFORM\\SMDK2410\\SRC\\DRIVERS\\TOUCH\\s3c2410x_touch_2410.cpp ======================= ...… 查看全部问答> |
|
我在smdk2440a.bat文件中加入 set BSP_NOCAMERA=1 在 platform.bib中也注释了 camera 部分,前加分号。 编译出错: BUILD: [01:0000000560:INFO ] hwctxt.cpp BUILD: [01:0000000561:INFO ] Stubbing the PPLOG functio ...… 查看全部问答> |
|
各位兄弟: 我在编写EVC程序时 在CLASSVIEW中有个DlgSeriesSetup的类忽然消失了 请问怎么解决?? 上网找解决方法都是VC下的:删了clw文件或者删除 ncb,重试。 但是在EVC下的工程中没发现这两个文件!!!!!!!!! 急 !! ...… 查看全部问答> |
|
在evc4.0下 如何调用软键盘 头文件里已经包含了 #include \"Sipapi.h\" 在Edit获得焦点,和失去焦点是这样写的 void student::OnSetfocusEdit1() { HWND m_h ...… 查看全部问答> |
|
重量级文档--基于AT91RM9200 OHCI的USB主机 基于AT91RM9200 OHCI的USB主机 1 第一部分 概述... 4 1.1 前言... 4 1.2 &n ...… 查看全部问答> |
|
老师让我们做的,我也不知道错哪了?大虾们看看,,,XIEIXE MSP430 X22X4学习板 4*4键盘在自己焊的两个七段数码管显示 #include <msp430x22x4.h> int tmp; typedef unsigned int uchar; typedef unsigned int uint; uchar cnt = 0; //位码 uchar scandata[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0 ...… 查看全部问答> |




