当前位置:首页 > 芯闻号 > 基础知识科普站
[导读]单片机在掉电时,电压低过一定的值。执行程序代码出错或是程序指针跑飞。刚好执行EEPORM 写入操作,才会出现所说的EEPROM 数据丢失!就算是外置EEPROM 在低于正常工作电压,进行写入操作,也会出现这种情况!

LinkedInEEPROM 数据被破坏的主要原因有:

1、电源异常使EEPROM的数据彻底丢失;

2、复位不好和软件跑飞可能会使EEPROM的数据被改写。

要防止EEPROM数据被破坏,主要在以下几方面做工作:

1、选用比MCU的电源范围宽并有WP引脚的EEPROM芯片;

2、做好电源滤波,而且要等电源开机稳定后才去读写EEPROM;

3、做好复位电路;

4、做好软件跑飞的处理;

5、SDA和SCK的上拉最好用I/O口控制,既可省电,也可在一定情况下保护EEPROM;

6、WP接MCU的RESET;如WP做软件保护,将写不进数据;接I/O,上电时WP的状态可能不稳定。

7、EEPROM空间富余时考虑双备份或多备份数据,每份数据都有校验和。

EEPROM数据丢失的原因与对策

选用比MCU的电源范围宽并有WP引脚的EEPROM芯片的原因:

1、EEPROM的芯片本身有一定的保护时序;

2、电源低于MCU工作电源高于EEPROM芯片的最低工作电源时,EEPROM芯片会处于稳定状态,不会丢失数据。

3、当电源较长时间低于EEPROM芯片的最低工作电压时非常容易丢失全部数据。否则MCU还能工作,但EEPROM芯片已不能工作时,EEPROM中的数据会全部丢失。

4、用I/O口线给EEPROM供电,只在读写EEPROM时才给器件供电,不仅能提高可靠性,而且能省电。

但有两点要注意:

一是一些单片机复位时所有I/O都是高电平,会使EEPROM芯片进入工作;

二是EEPROM芯片给电后需要有大于写周期的延时才能读写。

EEPROM数据丢失的原因与对策

1、环境因素

★原因:高温、高湿、辐射、静电、强电磁场均可能使EEPROM存储单元

造成数据丢失或数据保存时间缩短。

●对策:

①不要在高温、高湿、辐射、静电、强电磁场环境中存放EEPROM器,如果法避免,应采取适当的防护措施。

②在高温环境中使用EEPROM器件,须确认存储内容的更新时间和器件使用期限

③工作环境湿度较大时可考虑线路板灌胶防潮,防水胶要选用吸水率低的

④在辐射、静电、强电磁场环境中工作要做好屏蔽。

2、设计因素

★原因:器件在读写时系统状态不定。

●对策:

①增加上电复位电路,确保在上、掉电期间系统处于确定的状态。复位门槛电压应不小于MCU最低工作电压,EEPROM器件的工作电压范围应不小于MCU。

注意:某些MCU内置的POR电路在电源上升缓慢时不能保证可靠复位

②增加电源电压检测电路,确保在电源电压稳定正常后MCU才开始运而在电源状态不定时不访问EEPROM。启用MCU内的BOD电路不足以防止

EEPROM读写错误。

③利用器件的“写保护”引脚,可以减小EEPROM被意外改写的几率

★原因:器件在读写时被异常中断。

●对策:

①确认电源电压从正常值跌落至MCU复位门槛电压的时间足够保持EEPROM读写操作完成。根据需要增加电源储能电容或者使用备份电源。

②在检测到电源电压跌落时立即关闭所有无关外设,在访问EEPROM期间禁止MCU中断,或者设置EEPROM读写中断为最高优先级。

③使用“写入查询”加快写入过程。

★原因:模拟总线时序不够严格规范。

●对策:

①总线上拉电阻太大,使SDA、SCL边沿上升时间太长。对400kHz快速模式,当总线电容小于100pF时上拉电阻推荐值为2.7kΩ。

②MCU操作速度太快或延时不够,不满足总线信号的建立、保持时间查阅《I2C总线技术精要》,按示例规范时序编程。

③总线过长,使信号边沿不能满足要求。应缩短总线长度。

④总线电容超过400pF。应减少总线上所连接的器件。

★原因:器件在读写时总线受到干扰。

●对策:

①如应用板干扰较大,应重新设计电路或改变PCB布局布线,敷铜或多层板改善EMC。如环境干扰较大,应采取相应的屏蔽措施。

②使用数据编码和校验增加数据的可信性,或写入特定标志来识别数据完整性,如有可能,在每次写入完成后立即读出校验。

★原因:地线不合理或电源噪声干扰。

●对策:

①重新布置地线,注意区分模拟地、数字地、信号地、功率地、屏蔽地,安全地

②使用带屏蔽的隔离电源;在电源线上增加LC滤波器;IC器件的电源引脚加0.1uF瓷介退耦电容。别忘了三个基本电路元件之一的电感器,抑制电源噪声干扰,电感器通常有立竿见影的作用。必要时,加磁珠抑制高频噪声干扰。[page]

3、生产因素

★原因:焊接和装配过程中的高温、静电可能造成EEPROM器件数据丢失或保存时间缩短。

●对策:

①改进生产工艺,控制加工过程,加强防静电措施。

②如有可能,在线路板生产完成后再写入EEPROM数据。

4、器件因素

★原因:器件擦写次数已接近循环寿命。

●对策:更换器件。如果器件有剩余空间,软件通过更改每次写入的地址单元可延长

器件使用寿命。

★原因:器件质量问题。

●对策:更换不同厂家或批号的器件;控制采购过程。

只是单片机在掉电时,电压低过一定的值。执行程序代码出错或是程序指针跑飞。刚好执行EEPORM 写入操作,才会出现所说的EEPROM 数据丢失!就算是外置EEPROM 在低于正常工作电压,进行写入操作,也会出现这种情况!

BOD 的功能是低压复位。当电压低过一定的值,就会让单片机复位。不能继续程序代码,就没有出现所说的丢失数据!

EEPORM 进行数据备份,并在每份数据后里加入校验机制(如RCR)。我是这么做的,读取EEPROM 的数据组并进行校验检测。如果通不过,这组数据就不要。继续下一组数据检测,当所有的数据组都不能通过检测时,并加载默认的设置参数!在更新数据时,刷新所有的数据组。并给每组加入校验机制!但最好不要在掉电时对EEPROM 进行任务的操作!这样出错的机率很低!

在项目开发中经常使用到EEPROM,现在把自己开发中曾经遇到的陷阱和自己的解决方法列出。

(1)现象:加密型遥控器的ID自动丢失和改变。

原因:在更新EEPROM过程中,断开电源。

解决方法:

a.更改设计避免在写入EEPROM过程中断开电源;

b.增加100uF的电容,断电后瞬间维持EEPROM供电正常至EEPROM写入完成。

(2)现象:保存在EEPROM里的配置信息自动被改变。

原因:在EEPROM读写过程中进入了中断服务程序,而中断服务程序也调用了EEPROM读写函数。

解决方法:

a.保证EEPROM读写函数的第一句是cli(),最后一句是sei();

b.中断服务程序不直接调用EEPROM读写函数,如果SRAM足够大使用读写缓冲区代替直接读写EEPROM,中断返回后在主循环粒更新EEPROM;

c.如果检测到EEPROM已被占用,则进入阻塞状态,等待EEPROM释放后继续执行;

d.如果EEPROM里的数据长度大于EEPROM最小存储单元,必须保证该数据的读写不被打断。

(3)现象:突然断电时,EEPROM数据偶尔会丢失。 原因:在断电时刚好在进行EEPROM写操作。

解决方法:加大电源滤波电容的容量,增加电压检测功能,当电压偏低时禁止EEPROM写入操作。

(4)现象:当大功率交流或直流电机启动或后,EEPROM里的数据自动丢失或改变。

原因:在大功率电机启动或断开瞬间EMI干扰大。

解决方法:

a.避开这些时候读写EEPROM。

b.如果无法避开这些时候,启动EEPROM写保护功能,并且每个数据都保存多个副本。

c.使EEPROM和EEPROM的DAT,CLK等信号线远离可能产生干扰的元件,并且避免形成大的环路。

d.使用EMI抑制电路降低干扰幅度。

9.5 注意事项

单片机的断电保护虽然不是非常复杂,但是要做得好,使线路简洁、性能可靠却很不容易。下面列了几点设计时需要注意的事项。

(1)加大滤波电容的容量。单片机接收到电压监控电路送来的中断信号后,立即中断正在执行的程序,转入中断服务子程序,执行数据保护并最后使单片机和RAM进入低功耗状态。在执行中断服务程序期间,单片机上的电源还必须保持在能够正常工作的电压范围,也就是说电源VCC的跌落速度不能太快。为了达到这个目的,必须在主电源的滤波电路中,加大滤波电解电容的容量,一般应使其总电容为4700mF以上。为了缩小体积,也可以把几个电解电容器并联使用。

对于断电后数据保存在EEPROM的单片机系统,由于EEPROM的数据写入速度要比RAM慢得多,这样写同样的数据,需要的时间将会更多,因此要求主电源电压的降低速度更慢,也就是说滤波电容的容量要更大,才能保证数据安全完整地写入到EEPROM中。

(2)中断服务程序的执行速度要快。因为断电后执行断电保护中断程序期间,完全是靠滤波电容上的储电进行工作的,如果能加快中断服务程序的执行时间,将可以降低对电源滤波电路的要求,从节约成本和减少电路所占用的印制板空间来说都是非常有利的。为了加快中断服务程序的执行速度,建议采用汇编语言编写中断服务程序。

(3)中断服务程序中,往往是直接与存储器的绝对地址打交道,很容易算错地址,必须特别小心,反复验对,才能保证程序准确无误。

(4)由于电源突然断电,在断电的某一瞬间,将会出现电源将断未断,反复断开后又闭合,闭合后又断开的情景,反映在电源波形上就是有出现了许多毛剌,这些毛剌会给单片机系统造成非常强烈的干扰,严重时会导致断电保护中断程序无法正确执行,或使保护在RAM中的数据出错。为了解决这些个问题,对需要进行实时断电保护的单片机系统,在电源设计时,要比一般的单片机系统更注重抗干扰设计,必要时可以加强电源滤波、采用开关电源等方法,千方百计地提高系统的抗干扰性能,使断电保护更可靠。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭