EEPROM读写操作常见的陷阱

发布者:茶叶侠最新更新时间:2018-07-17 来源: eefocus关键字: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抑制电路降低干扰幅度。

关键字:EEPROM  读写操作 引用地址:EEPROM读写操作常见的陷阱

上一篇:[STM32/8经验] 经验分享——EEPROM读写及数据管理
下一篇:STM8S学习05——EEPROM读写操作C语言程序

推荐阅读最新更新时间:2024-03-16 16:09

ATmega64 EEPROM数据存储器
EEPROM 数据存储器 ATmega64 包含2K 字节的 EEPROM 数据存储器。它是作为一个独立的数据空间而存在 的,可以按字节读写。EEPROM 的寿命至少为100,000 次擦除周期。EEPROM 的访问 由地址寄存器、数据寄存器和控制寄存器决定。 P281“ 存储器编程” 包含使用SPI、JTAG 或并行编程模式对EEPROM 编程。 EEPROM 读/ 写访问 EEPROM 的访问寄存器位于I/O 空间。 EEPROM 的写访问时间由 Table 2 给出。自定时功能可以让用户软件监测何时可以开始 写下一字节。用户操作EEPROM 需要注意如下问题:在电源滤波时间常数比较大的电路 中,上电/ 下电
[单片机]
ATmega64 <font color='red'>EEPROM</font>数据存储器
意法半导体推出全球首款内置多I2C地址的4焊球WLCSP封装 EEPROM
中国,2016年1月22日 横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)的M24系列EEPROM存储器新增四款完全兼容工业标准4焊球WLCSP封装(Wafer Level Chip Scale Package,晶圆级芯片封装) 的产品,同时也是首个准许在同一条I2C总线上连接两颗以上4针EEPROM芯片,这是因为每款产品都有一个独立、内部固化连接的I2C地址。因此设计人员可以在同一条总线上连接多个专用设备,例如前后摄像头模块。 新产品可满足设备厂商客户多方采购的需求,提供与同类竞争产品相同的引脚间距、裸片方向、引脚布局,同时
[单片机]
MSP430单片机对片内FLASH的读写操作程序范例
MSP430 单片机对片内 FLASH 的读写操作程序范例 // 参数: wAddr 为地址 , 范围 0x1000~0xFFFF void ReadFlash(U16 wAddr,U8 *bBuf,U8 bLen) { while (bLen--) *bBuf++=*(U8 *)wAddr++; return; } void WriteFlash(U16 wAddr,U8 *bBuf,U8 bLen) { U8 reg1,reg2; reg1=_BIC_SR(GIE); reg2=IE1;IE1=0; // 保护原来中断标志,并关闭有关中断。 // 写一个字节数据到指定 flash 地址 while (bLen--) { whi
[单片机]
AVR的EEPROM实验
系统功能 对AVR内部的EEPROM写入数据,再读出EEPROM的数据,用LED进行指示,观察读出的数据与写入的数据是否一致。 硬件设计 AVR主控电路原理图 LED控制电路原理图 软件设计 //目标系统:基于AVR单片机 //应用软件: ICC AVR /*01010101010101010101010101010101010101010101010101010101010101010101 ---------------------------------------------------------------------- 实验内容: 写入一些测试数据进EEPROM,再读出,
[单片机]
AVR的<font color='red'>EEPROM</font>实验
AT93C46/56/55串行EEPROM及单片机程序
摘要:AT93C46/56/66是Atmel公司生产的低功耗、低电压、电可擦除、可编程只读存储器,采用CMOS工艺技术制造并带有3线串行接口,其容量分别为1kB/4kB,可重复写100万次,数据可保存100年以上。文中介绍了该存储器的引脚功能和指令时序,给出了AT93C46/56/66和单片机的接口应用电路和软件程序。 关键词:EEPROM 存储器 接口应用 程序 AT93C46/56/66 16位单片机以其适于高速控制场合及功能多等优点已在工业控制领域中占领了一定的市场。由于EEPROM能在不脱离系统的情况下修改其存储单元中的内容,故在16位单片机中的应用愈来愈广泛。本文结合16位机的特点,详细介绍AT93系列EEPROM
[应用]
STM32使用I2C读写EEPROM流程总结
配置I/O端口,配置的模式,使能GPIO和时钟 写: 检测SDA是否空闲。 检测“事件”是否成功。 按协议发出起始信号 检测“事件”是否成功。 发出7位器件地址和写模式。 检测“事件”是否成功。 要写入的存储区首地址。 检测“事件”是否成功。 用页写入方式或字节写入方式写入数据。 检测EEPROM是否进入Standby状态。 检测“事件”是否成功。 发送通信结束信号。 读: 检测SDA是否空闲。 按协议发出起始信号。 发出7位器件地址和写模式。(伪写) 发出要读取的存储区的首地址。 重发起始信号。 发出7位器件地址和读模式。 接收数据。 类似写操作,每个操作后要检测“事件”是否成功。
[单片机]
AVR内部EEPROM读写函数 EEPROM.H
#pragma used+ ///写单字节EEPROM void EEPROM_write(unsigned int uiAddress, unsigned char ucData); ///读单字节EEPROM unsigned char EEPROM_read(unsigned int uiAddress); ///写双字节EEPROM void EEPROM_write2(unsigned int uiAddress, unsigned int ucData); ///读双字节EEPROM unsigned int EEPROM_read2(unsigned int uiAddress); ///读4字节EE
[单片机]
MAX16047A/MAX16049A EEPROM可配置系
 MAX16047A /MAX16049A EEPROM 可配置系统管理器能够对多个系统电压进行监测、排序和跟踪。MAX16047A可以同时管理12路系统电压,MAX16049A可以管理8路电源电压。该系列器件都集成了用于监控电源电压的模/数转换器(ADC)和用于排序、跟踪电源(在上电和掉电时)的可配置输出。非易失EEPROM寄存器可配置用于记录电压的上限和下限,根据要求设置定时和排序,也可以存储关键的故障数据,以便在发生故障后回读故障信息。   内部1%精度的10位ADC对每路输入进行测量,并将结果与上、下限电压门限以及一路可配置为上限或下限的电压进行比较。当检测电压超出设定门限时,产生故障报警信号。针对不同的故障条件可以
[模拟电子]
MAX16047A/MAX16049A <font color='red'>EEPROM</font>可配置系
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved