目前非易失性的数据保存方法多采用EEPROM。但EEPROM也有其弱点,一是擦次数有限(多为10万次),二是定入速率慢,这样就限制了其在许多需要频繁更新数据且需高速传输数据场合中的应用。
本文介绍的存储器芯片X24C45,可以较好地解决上述非易失性数据存储过程中遇到的难题。
1 X24C45的功能特点
X24C45的引脚图如图1所示。
脚1为片选端,当该脚为高时片选有效,当该脚为低时芯片处于低功耗待机状态,且X24C45中的指令寄存器被复位;脚2为串行时钟端;脚3为串行数据输入;脚4为串行数据输出;脚5为接地端,脚8为电源端;脚7为漏极开路输出,当电源电压降至低于自动存储阀值电压VASTH(VASIT在4.0V~4.3V范围)时,脚7为低,对外部电路发出一个掉电报警或掉电复位信号,可见该芯片同时具有电源监视功能。脚6输入一个低电平时,将会执行由EEPROM将数据传输到RAM的操作。
2 X24C45的指令集及工作时序
X24C45的各种功能主要是由软件来实现。CPU通过DI端口向X24C45中的指令寄存器传送一个指令,以实现某个功能。其指令集如表1所示。
表1 X24C45指令集
指 令 | 格 式 | 功 能 |
WRDS STO ENAS WRITE WREN RCL READ | 1XXXX000 1XXXX001 1XXXX010 1AAAA011 1XXXX100 1XXXX101 1AAAA11X | 写使能复位(写和存储被禁止) 将RAM中数据存储进EEPROM 自动存储使能 将数据写入RAM,地址为AAAA 写使能置位(写和存储被允许) 将EEPROM中数据送回RAM 从RAM中读出数据,地址为AAAA |
由表1可见,所有指令的最高位都为“1”。所以在片选信号CE为高有效时,DI口由低电平跳变出一个时钟周期的高电平,表明开始输入一个指令,其工作时序如图2所示。
由RAM将数据存入EEPROM的操作条件限制较严格,为的是防止对EEPROM的意外写操作(因为EEDPROM的擦写次数有限,不必要的写操作应避免)。所以该存储功能的实现,必须满足以下三个条件同时成立:接收到STO指令;接收到WREN指令;接收到RCL指令或脚6电平被拉低。在将EEPROM的数据送回到RAM中的同时,应使X24C45内部的“前次数据恢复”锁存器置位。另外需要说明的是,在将RAM中的数据存入EEPROM的操作过程中,X24C45的其它所有功能都被禁止。
ENAS指令将X24C45内部的“自动存储器使能”锁存器置位,从而允许在电源电压降至低于自动存储阀值电压VASTH时,自动执行将RAM中的数据存入EEPRO的操作。