楼主最近还看过
程序都是写在E2PROM中的,要丢失的话,看看下面的分析:
EEPROM数据丢失的原因与对策
1、环境因素
★原因:高温、高湿、辐射、静电、强电磁场均可能使EEPROM存储单元
造成数据丢失或数据保存时间缩短。
●对策:
①不要在高温、高湿、辐射、静电、强电磁场环境中存放EEPROM器
法避免,应采取适当的防护措施。
②在高温环境中使用EEPROM器件,须确认存储内容的更新时间和器
③工作环境湿度较大时可考虑线路板灌胶防潮,防水胶要选用吸水率
④在辐射、静电、强电磁场环境中工作要做好屏蔽。
2、设计因素
★原因:器件在读写时系统状态不定。
●对策:
①增加上电复位电路,确保在上、掉电期间系统处于确定的状态。复
应不小于MCU最低工作电压,EEPROM器件的工作电压范围应不
注意:某些MCU内置的POR电路在电源上升缓慢时不能保证可靠
②增加电源电压检测电路,确保在电源电压稳定正常后MCU才开始运
而在电源状态不定时不访问EEPROM。启用MCU内的BOD电路
EEPROM读写错误。
③利用器件的“写保护”引脚,可以减小EEPROM被意外改写的几率
★原因:器件在读写时被异常中断。
●对策:
①确认电源电压从正常值跌落至MCU复位门槛电压的时间足够保持
写操作完成。根据需要增加电源储能电容或者使用备份电源。
②在检测到电源电压跌落时立即关闭所有无关外设,在访问EEPRO
MCU中断,或者设置EEPROM读写中断为最高优先级。
③使用“写入查询”加快写入过程。
★原因:模拟总线时序不够严格规范。
●对策:
①总线上拉电阻太大,使SDA、SCL边沿上升时间太长。对400kHz
当总线电容小于100pF时上拉电阻推荐值为2.7kΩ。
②MCU操作速度太快或延时不够,不满足总线信号的建立、保持时间查阅《I2C总线技术精要》,按示例规范时序编程。
③总线过长,使信号边沿不能满足要求。应缩短总线长度。
④总线电容超过400pF。应减少总线上所连接的器件。
★原因:器件在读写时总线受到干扰。
●对策:
①如应用板干扰较大,应重新设计电路或改变PCB布局布线,敷铜或
改善EMC。如环境干扰较大,应采取相应的屏蔽措施。
②使用数据编码和校验增加数据的可信性,或写入特定标志来识别数
如有可能,在每次写入完成后立即读出校验。
★原因:地线不合理或电源噪声干扰。
●对策:
①重新布置地线,注意区分模拟地、数字地、信号地、功率地、屏蔽
②使用带屏蔽的隔离电源;在电源线上增加LC滤波器;IC器件的电
0.1uF瓷介退耦电容。别忘了三个基本电路元件之一的电感器,抑制
扰,电感器通常有立竿见影的作用。必要时,增加磁珠抑制高频噪
3、生产因素
★原因:焊接和装配过程中的高温、静电可能造成EEPROM器件数据丢失
时间缩短。
●对策:
①改进生产工艺,控制加工过程,加强防静电措施。
②如有可能,在线路板生产完成后再写入EEPROM数据。
4、器件因素
★原因:器件擦写次数已接近循环寿命。
●对策:更换器件。如果器件有剩余空间,软件通过更改每次写入的地址单
器件使用寿命。
★原因:器件质量问题。
●对策:更换不同厂家或批号的器件;控制采购过程。
[14392]
[13065]
[11268]
[15564]
[7423]
[9767]
[7787]
[10574]
[16902]
[17593]

客服
小程序
公众号