闪存芯片KM29N32000TS在单片机系统中的应用_存储器论文
关键词: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所示。
①在读操作子程序中,既可以一次读取一整页的数据,也可以读取指定地址处的数据。如果要连续读取多页数据,则需要根据存储器的读时序修改子程序。
②页编程子程序每次可以写一页的数据,也可以在起始地址所在的当前页中写入数据,但不能实现跨页编程。如果数据个数超出页边界,将会造成数据丢失。
结语
该芯片及应用系统已在石油钻井井下随钻测量系统中得到实际应用,虽历经多次系统掉电,但数据仍保存完好。实践证明,其可靠性高,性能稳定,有很高的实用价值。