关键词:KM29N32000TS Flash存储器 单片机系统
在许多测量和测试应用系统中,如便携式仪器等其它电池供电系统,需要保证数据的可靠性和可用性,即使整个系统掉电,而所采集到的数据仍能长时间的保持不丢失。闪存技术的发燕尾服提供了这种可能性。闪存的非易失性非常优越,数据可保存长达10的。本文将介绍32M位闪存芯片KM29N32000TS及其在87C552单片机系统中的应用。
1 KM29N32000TS简介
KM29N32000TS作为闪速存储器兼有E2PROM的可编程能力和非易失性,并且容量大、速度快,只需单5V供电便可做读、编程、擦除等操作。图1是它的存储器组织图。
KM29N32000TS是44(40)脚表面封装器件,封装 尺寸为18.80mm×11.78mm×1.20mm,内部有(4M+128K)×8位的存储空间,组织成8192行,(512+16)列,其中最后16列为后备列,列地址为512~527。可以进行以512字节为一页的页读、字操作和以8K字节为一块的块擦除操作,有一个528字节的页豁口用于页读、页编程时存储单元的数据传输。
KM29N32000TS的突出优点在于:命令、地址和数据信息均通过8条I/O线传输,这样4MB空间的22位地址需要分三次写入地址寄存器,经译码后访问相应单元。对单片机而言,当需扩展的存储空间超过64KB时,寻址便会存在一定困难,系统的连线复杂而使可靠性降低。采用这种闪速存储器便能克服上述困难,而且便于各式级到更大容量而无需要改外部连接。
图2为其引脚功能图,各引脚的功能如下:
CLE:命令锁存使能。其为高时,命令通过I/O口线在WE信号的上升沿被锁入命令寄存器。
ALE:地址锁存使能。当其为高时,地址在WE信号的上升沿被锁入地址寄存器;当其为低时,锁定输入数据。
CE:片使能。读操作期间,CE变高,器件转入standby模式;编程或擦除期间,器件处于忙状态时,CE高将被忽略。
WE:写使能。命令、地址和数据在WE信号的上升沿被锁定。
RE:读使能。下降沿有效。WP:写保护。在电源电压过渡期间,使WP为低电平时,可产生写/擦除保护。
R/B:操作状态指示。为低电平时,指示正在编程或读操作中,操作结束后变成高,开路输出。
I/O口:(I/O0~I/O7)三态。输入命令、地址和数据以及读操作时输出数据。
对该存储器的各种操作有着共同的特点:首先通过I/O口将操作命令字送入命令寄存器,然后在三个连续的写周期内送入欲操作单元的地址(顺序为A0~A7,A9~A16,A17~A21,A8会根据所访问的存储区域的不同而自动设定为高或低)。
2 与87C552单片机的连接
KM29N32000TS与87C552单片机的接口电路如图3所示。由单片机的P1口直接与存储器的I/O0~I/O7相连,实现命令、地址和数据的传输;P1.0接CLE,控制命令输入;P1.2接ALE,控制地址输入;P1.1接CE,控制片选;P1.3接R/B,监测存储器的工作状态;WR、RD分别接WE、RE,控制读、写操作。
图3中的MAX809是一个电源电压监测芯片。当电源电压低于某一个值时(门限电压),输出低电平,使得存储器进入写保护状态。当电源电压超过门限电压240ms后,才解除写保护状态,可以正常写入数据。这样可以保证写入存储器的数据都是有效的。MAX809的工作电流只有17μA。
3 软件设计
与存储器有关的操作有读数据、写数据(即页编程)和擦除数据,下面仅以读写操作来说明其操作过程,具体过程的程序流程如图4、图5所示。
①在读操作子程序中,既可以一次读取一整页的数据,也可以读取指定地址处的数据。如果要连续读取多页数据,则需要根据存储器的读时序修改子程序。
②页编程子程序每次可以写一页的数据,也可以在起始地址所在的当前页中写入数据,但不能实现跨页编程。如果数据个数超出页边界,将会造成数据丢失。
结语
该芯片及应用系统已在石油钻井井下随钻测量系统中得到实际应用,虽历经多次系统掉电,但数据仍保存完好。实践证明,其可靠性高,性能稳定,有很高的实用价值。