关键词:闪速存储器;接口;AT29C010A;数据保护
引言
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的有效时实现的,一旦编程周期结束,就可开始一个新的读或编程操作。

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

图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
