新闻中心

EEPW首页 > 网络与存储 > 设计应用 > 闪速存储器AT29C010A及其应用

闪速存储器AT29C010A及其应用

作者:天津大学精密仪器与光电子工程学院,易志明,林凌,郝丽宏,李树靖时间:2003-06-13来源:电子设计应用收藏
摘 要:文章以为例,介绍了ATMEL 29系列大容量的结构、特点、性能及使用方法,结合实际应用详细说明了在工业智能检测仪器中的硬件和软件编程注意事项。

关键词:

引言

FLASH是一种电擦除与再编程的快速存储器,又称为。它可以分为两大类:并行FLASH和串行FLASH。串行产品能节约空间和成本,但存储量小,又由于是串行通信,所以速度较慢,开发编程较复杂;并行产品具有存储量大,速度快,使用方便等特点。ATMEL公司生产的29系列存储器是一种并行、高性能、大容量闪速存储器。
AT29C010A的主要特点
ATMEL公司生产的29系列CMOS Flash存储器分为电池电压型AT29BV系列(2.7V-3.6V操作),低电压型AT29LV系列(3.0-3.6V操作),标准电压型AT29C(5V操作)。AT29C010A是一种5V 在线闪速可电擦除的存储器,具有掉电保护功能;方便的在线编程能力不需高的输入电压,指令系统在5V电压下即可控制AT29C010A。AT29C010A具有1M位的存储空间,分成1024个分区,每一分区有128个字节。从AT29C010A中读取数据与E2PROM的操作相似,再编程能力是以每一分区为单位的,128字节的数据装入AT29C010A的同时完成编程。在一个再编程周期里,存储单元的寻址和128字节数据通过内部锁存可释放地址和数据总线,这样可为其他操作提供地址和数据总线。编程周期开始,AT29C010A会自动擦除分区的内容,然后对锁存的数据在定时器的作用下进行编程。编程周期的结束是通过查询I/O7的有效时实现的,一旦编程周期结束,就可开始一个新的读或编程操作。

图1 AT29C010A内部结构图

AT29C010A具有以下主要特性:可电擦除、可编程的闪速存储器;快速读取时间—70ns;内部程序和定时器控制;2个8K的可锁定的自举模块;分区程序操作,擦除、编程单向循环方式,可超过10000次,1024个分区(128字节/分区),内部地址和128位数据锁存;硬件和软件;快速的的分区编程周期—10ms;数据轮询检测编程是否结束;低功率消耗—50mA有效电流,100mACMOS维持电流;单一5V±10%电源供电;CMOS和TTL可兼容的输入输出;有商用和工业用的温度可选范围。
AT29C010A的内部结构如图1所示。

器件操作
读操作
AT29C010A的存取类似于E2PROM,当和为低电平、WE为高电平时,由A0-A16寻址的内存单元中的数据会读到I/O0-I/O7输出管脚;若和为高电平,则I/O0-I/O7输出管脚为高阻态。这种双向控制的方式为使用者提供了避免总线竞争的灵活性。
字节装载
AT29C010A的字节装载是用于装入每一分区待编程的128K字节数据或是用于进行的软件编码。每一字节的装载是通过或各自有低电平,为高电平时实现的,数据是在或在一个上升沿时锁存的。
编程
AT29C010A以分区为单位进行再编程,如果某一分区中的一个数据需要改变,那么这一分区中的所有数据必须重新装入。一旦某一分区中的字节被装入,这些字节将同时在内部编程时间内进行编程,在此时间内若有数据装入,则会产生不确定的数据;当第一字节数据装入AT29C010A之后,接着其余字节将以同一方式依次装入,字节不需按顺序装载,可以任意方式装载。每一新装载的数据若要被编程,必须有(或)由高到低的跳变,这一跳变需在150ms内完成,同时前面字节的(或)由低到高的跳变时间也是150ms。如果一个由高到低的跳变在最后一个由低到高的150ms内没有被检测到,那么字节装载的时间段将结束,此时内部编程时间段开始。A7-A16提供分区地址,分区地址只在每一个(或)由高到低的跳变时才有效;A0-A6提供分区中每一字节的地址。一旦编程时间段开始,在写周期的维持时间内,读操作实际上是一种查询。
软件数据保护
AT29C010A具有软件控制数据保护的特性,这一特性在ATMEL公司出厂时没有开启,用户可根据需要开启或关闭。一旦开启,在未执行关闭指令之前这一特性始终有效;供电情况的改变不会重新设置这一特性,但需警惕在供电情况改变时随机的编程周期可能改变这一特性。若要开启软件数据保护,必须执行三条针对存放有特殊数据的特殊地址单元的程序指令。当开启软件数据保护之后,所需的程序若要出现,也必须执行同样的三条程序指令。软件保护使能的软件算法必须在程序可能执行之前发送到AT29C010A,所有的软件程序指令要按照分区程序的时序要求进行。在给出软件数据保护的指令代码之后便可进行字节的装载。图2给出了软件数据保护使能或撤销软件算法的流程图。

图2 软件数据保护使能或撤销流程图

图3 工业智能检测仪器框图

硬件数据保护
AT29C010A硬件保护有以下几种方法:
·VCC自动检测—如果VCC低于3.8V(典型值),程序的运行将中止。
·VCC供电延迟—如果VCC达到自动检测水平,AT29C010A将自动在编程前暂停5ms。
·编程禁止—当为低电平时,或为高电平时禁止编程。
·噪声滤波—当或输入脉宽少于15ns(典型值),则不启动编程周期。
数据轮询
AT29C010A采用数据轮询来识别程序是否结束。在编程周期内,试图读数据的操作将在装载最后一字节时在I/O7上产生装载数据完成的信号;一旦编程周期结束,有效的数据将送到输出端,并且开始下一编程周期,数据轮询可以在编程周期的任何时间进行。
重复位
另外,除数据轮询方式外,AT29C010A还提供另一种决定编程、擦除周期的方法。编程和擦除操作周期,连续的试图从AT29C010A中读数据的操作在I/O6上出现1和0,一旦编程周期结束,I/O6位将重复并且读取有效数据;检测重复位可在编程周期任何时间进行。

图4 硬件电路图

图5 数据写入流程框图

应用实例
下面介绍用AT29C010A作为工业智能检测仪器存储器的一个实际应用,主要用AT29C010A来存储一级汉字库汉字部分、单片机采集处理的数据和仪器设定的一些参数。该仪器采用AT89C52作为中央处理器,AT29C010A作为存储器,74HC373作为地址锁存器,点阵式LCD显示器用作显示图形和字符,X1203作为实时时钟;另外,还有上位机通信电路,继电器报警电路,按键操作电路、指示灯电路及检测电路等。图3为工业智能检测仪器框图。
硬件接口电路
AT29C010A存储器与单片机AT89C52的硬件接口电路图如图4所示。用AT89C52的P0口作为存储器的数据输入/输出端,通过P0口经74HC373输出低8位地址,P2口和P3.0出端作为存储器A8~A16地址,CE接ALE,WE接WR(P3.6),OE接RD(P3.7)。
软件注意事项
读取数据过程类似于普通E2PROM。但在写入(编程)时,它和普通E2PROM不同,AT29C010A是采用按扇区编程,每个扇区大小为128个字节。由于每次写入数据时,整个扇区数据都将重写,因此必须采用数据缓冲区来存放要写入的数据(包括该扇区内已存在的数据)。在此应用实例中,采用AT89C52作中央处理器,它具有256字节内部数据存储器(RAM),用其中128字节(80H_FFH)RAM作为数据缓冲区存放要写入的数据。图5为数据写入流程图。
在存储器进入软件数据保护状态、块锁定状态或软件产品标识状态时,无法对存储器进行写入。此时,必须用软件来退出软件数据保护状态、块锁定状态或软件产品标识状态。

参考文献
1 孙涵芳、徐爱卿.MCS—51/96系列单片机原理及应用.北京航空航天大学出版社,1988
2 Atmel Corporation Nonvolatile Memory Data Book May 1996



评论


相关推荐

技术专区

关闭