历史上的今天
今天是:2025年04月12日(星期六)
2018年04月12日 | AT28C系列EEPROM中数据的保护
2018-04-12 来源:eefocus
1 前言
EEPROM是一种具有掉电记忆功能的存贮器,其内容可以象普通RAM一样进行改写,而且改写时能够自动擦除并换成新内容。它不象EPROM那样需要紫外线擦除;而只需用电即可擦除并改写存贮在其内部的内容。EEPROM通常在内部带有编程电源。由于它只需外接单一+5V电源,因此使用起来十分方便。和串行芯片相比,并行EEPROM的电路接口和编程设计均简单得多,所以在对电路板面积要求不很苛刻的情况下,使用EEPROM存贮器还是十分的方便。
2 并行EEPROM中数据丢失的原因
并行EEPROM通常采用总线扩展接口方法,图1所示是基于AT28C256的接口电路,其中为地址译码产生的片选信号为单片机的读、写信号。

编程时,只需一句MOVX指令即可完成EEP-ROM存贮器的读、写操作,使用十分方便,但并行EEPROM在工业现场往往会受到干扰而导致其存贮在内部的数据内容发生改变,从而造成数据的损坏或丢失。
经分析,EEPROM存贮器的数据丢失主要发生在系统上电、掉电或复位等情况下。主要表现在以下两种情况:
(1)当整个数据存贮系统中的CPU在复位信号解除后,一般都将会延时数百μs时间,因此,在这段时间内,读信号、写信号、地址信号和数据信号都可能随机变化,从而造成对存贮器的误写操作而使其中的数据改变。
(2)在电源缓慢升降过程中,当CPU处于临界工作状态时,其读写时序可能会出现混乱,从而使存贮器中的数据发生改变。
3 AT28C系列EEPROM简介
图2所示是ATMEL公司的AT28C系列并行EEPROM存贮器的逻辑框图,该系列中的主要产品有AT28C64(8K×8)、AT28C256(32K×8)、AT28C010(128K×8)、AT28C040(512K×8)等型号,它们的结构基本相同。和普通的28系列EEPROM相比,AT28C系列EEPROM具有如下特点:
●具有64、128或256字节的标识字节(不同型号有不同);
●可快速读取,读取时间范围为120ns~150ns;
●具有字节和页两种写模式,在页写模式中,EEPROM存贮器的内部定时器控制时序可在一个内部编程周期内写入一页数据,其页容量为64、128或256字节(依型号不同而不同);
●可提供数据保护功能,具有卓越的抗干扰能力。
在上述特性中,最具吸引力的无疑是完善的数据保护功能。
4 AT28C系列的数据保护措施
AT28C系列EEPROM一般采用硬件数据保护和软件数据保护(SDP)两类措施。
4.1 硬件数据保护
AT28C系列EEPROM的硬件数据保护措施有以下几种:
第一种措施是对VCC实施监控,当Vcc低于3.8V时,禁止对EEPROM的写入;第二种是采用上电延时,即在系统上电时,当Vcc上升到3.8V后再延时5ms才允许写入数据;第三种是写入禁止,即在为低电平、为高电平或为高电平这三个条件中的任何一个出现时,禁止写入数据;最后一种是采用噪声滤波,以便使得和信号线上窄于15ns的脉冲不能触发写操作。
史海拾趣
|
大侠好,我最近买了STM3210E-EVAL开发板用来学习,还下载了最新的配套示例程序,用的开发环境是:IAR Embedded Workbench for ARM 5.40 在示例工程里有一些代码不懂,请大侠帮我分析一下,最好对照代码在后面写出一些详细的注释,先谢谢了。 文件 ...… 查看全部问答> |
|
各位大侠,正在做一个系统,里面在程序运行过程中会涉及到对片外FLASH的读写操作,现在只知道读数据是只要知道地址,通过指针直接读取就可以,但写数据的时候好像需要先擦除再写,而且擦出的时候一般只能通过对块(sector)擦除,不知道这个该怎么 ...… 查看全部问答> |
|
公司花1W5买了个自动售货机,拆了研究学习准备重新设计一个,有无有兴趣的兄弟?[附图] 有没有有兴趣的同学? 全拆了,先学习它的MDB协议VMC实现: 用52单片机读MDB总线上的数据,再送到PC上: … 查看全部问答> |
|
求购带WINCE6.0 BSP并且有activesync功能的ARM开发板 有没有哪位知道现在在哪里可以买到 wince6.0 BSP的ARM开发板,要求有BSP源代码, 能够通过USB连接activesync,并且能更新wince image … 查看全部问答> |
|
Wince下,我在Dialog1中创建了一个模态对话框Dialog2。 CDialogTime m_DiaTime; m_DiaTime.DoModal(); 然后在Dialog2中分别使用下面函数,关闭。 用 (1)OnOK(); (2)DestroyWindow(); (3)CDialog::EndDialog(0); 这三个函数都不行。 win ...… 查看全部问答> |
|
求给ARMS3C2440开发板wince5.0下自制矩阵键盘具体方法! 同过注册表和oal_intr.h文件可知开发板外部中断EINT1是板子的默认键盘中断号,接口设置为GPG3,GPG5,GPG6,GPG7为SPI接口,现在请高手说下在那些函数要加入寄存器的设置!设置哪些寄存器!设成什么值!谢谢了!!… 查看全部问答> |




