当前位置:首页 > 消费电子 > 消费电子
[导读]在智能化电子产品的设计过程中,经常会遇到一些重要数据的非易失性保存问题。早期普遍采用的是电池维持RAM供电以实现整机掉电后的数据保存。但这样做会由于电池本身的原因,如

在智能化电子产品的设计过程中,经常会遇到一些重要数据的非易失性保存问题。早期普遍采用的是电池维持RAM供电以实现整机掉电后的数据保存。但这样做会由于电池本身的原因,如电池的使用寿命相对较短及某些恶劣环境(高湿高温等)导致电池失效,而引起数据丢失的情况出现。同时电池体积相对较大,会严重限制某些电子产品的微型化设计。

目前非易失性的数据保存方法多采用EEPROM。但EEPROM也有其弱点,一是擦次数有限(多为10万次),二是定入速率慢,这样就限制了其在许多需要频繁更新数据且需高速传输数据场合中的应用。


本文介绍的存储器芯片X24C45,可以较好地解决上述非易失性数据存储过程中遇到的难题。

1 X24C45的功能特点

X2C45是Xicor公司开发的一种设计思想独特的非易失性存储器。这种器件将RAM和EEPROM制作在同一块芯片上,RAM存储阵列(16×16)的各个bit与EEPROM存储阵列的各个bit一一对应,通过软件指令或外部输入能够使数据在两个存储阵列之间相互传送。其中的RAM存储阵列正常工作时能实现数据与外部芯片的随机存取功能,这样可保证该芯片适合数据快速存取的场合;而在电源电压降至阈值电压时,该芯片能自动将RAM中的当前数据传输至EEPROM中,这样就保证了掉电时的数据非易失性保存。掉电情况在绝大多数系统中都不会频繁出现,故对EEPROM的擦写次数相应地不会太多。而X24C45中EEPROM的擦写闪数又高达100万次,可见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”。所以在片选信号CE为高有效时,DI口由低电平跳变出一个时钟周期的高电平,表明开始输入一个指令,其工作时序如图2所示。


由RAM将数据存入EEPROM的操作条件限制较严格,为的是防止对EEPROM的意外写操作(因为EEDPROM的擦写次数有限,不必要的写操作应避免)。所以该存储功能的实现,必须满足以下三个条件同时成立:接收到STO指令;接收到WREN指令;接收到RCL指令或脚6电平被拉低。在将EEPROM的数据送回到RAM中的同时,应使X24C45内部的“前次数据恢复”锁存器置位。另外需要说明的是,在将RAM中的数据存入EEPROM的操作过程中,X24C45的其它所有功能都被禁止。

ENAS指令将X24C45内部的“自动存储器使能”锁存器置位,从而允许在电源电压降至低于自动存储阀值电压VASTH时,自动执行将RAM中的数据存入EEPRO的操作。

为了少占用CPU的I/O端口,X24C45的DI脚和DO脚通常连接到CPU的同一个I/O口(如图1所示)。READ指令将RAM中AAAA地址的数据读出,该指令的最低位为无关位,这样正好允许在READ指令的第八个时钟周期内将I/O口由输出转换为输入。RAM的读操作时序如图3所示。

WRITE指令将数据写入RAM的AAAA地址中,其时序如图4所示。需要说明的是,RAM中的每个地址存储16bit数据。

3 X24C45应用时需注意的问题

X24C45实际应用时与CPU的连接如图1所示。前面已经提到为节省CPU的I/O端口,可以将DI脚和DO脚连接到CPU的同一个I/O口(PA4)。

在此要特别强调的是,电容C和二极管D本来是没有加上去的,X24C45芯片手册中也没有这样说明。但在实际应用中笔者发现,在没有加上电容C和二极管D的情况下,X24C45会出现掉电时备份数据出错的现象。究其原因,是因为在X24C45中将当前数据由RAM存储到EEPROM时需要一定的时间(该时间典型数值为2ms,最长可达5ms),而且启动自动存储的阈值电压在4.0V~4.3V之间,数据由RAM存储到EEPROM所需要的最低电源电压为3.5V,掉电后电源电压由阀值电压电路和负载的不同而不同。显然,掉电后电源电压由阀值电压下降到3.5V所需的时间如果少于数据由RAM存储到EEPROM所需的时间,就会出现一部分数据因不能被及时备份而丢失的问题,而这种问题的出现如果不采取相应的措施是可能被避免的。图1中的电容C和二极管D可以保证掉电后X24C45电源端的电压由阀值电压下降到3.5V所需时间足够长,从而杜绝掉电时备份数据出错的情况。

4 X24C45相关操作的软件实现


 X24C45与MC68HC05C4单片机的硬件连接如图1所示。下面给出与其对应的有关X24C45的前次数据恢复到RAM和自动存储功能能使设置等操作的软件编程。

SAMP:LDA #$1C $1C=00011100
STA $04 设置PA2、PA3、PA4为输出
LDA #$00
STA $00 初始化PA2、PA3、PA4为0
LDA #$85 $85=10000101为RCL指令
STA $81 将RCL指令送至待发送地址
JSR CEHI 调用置CE为高子程序
JSR OUTB 调用输出8bit子程序
JSR CELO 调用置CE为低子程序
LDA #$82 $82=10000010为ENAS指令
STA $81 将ENAS指令送至待发送地址
JSR CEHI 调用置CE为高子程序
JSR OUTB 调用输出8bit子程序
JSR CELO 调用置CE为低子程序
……
CEHI:BSET 2,$00 置CE(PA2)为高
RTS
OUTB:LDA #$08 准备移出8个bit
STA $84 将8送至计数器
LOOP:ROL $81 待发送内容循环左移
BCC IS0 C=0转移至IS0
BSET 4,$00 送1至DI/O(PA4)
BRA IS1 跳转至IS1
IS0:BCLR 4,$00 送0至DI/O(PA4)
IS1:JSR CLOCK 调用时钟信号子程序
DEC $84 计数器减1
BNE LOOP 计数器内容≠0跳转
RTS 计数器内容=0结束
CELO:BCLR 4,$00 将DI/O(PA4)拉低
BCLR 2,$00 置CE(PA2)为低
RTS
CLOCK:BSET 3,$00 置SK(PA3)为高
BCLR 3,$00 置SK(PA3)为低
RTS


限于篇幅,CPU对X24C45其它操作的软件编程不再赘述。按照上述硬件、软件的设计思想,已将X24C45成功地应用在电话计费器的设计中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2025年9月5日 /美通社/ -- 由上海市经济和信息化委员会、上海市发展和改革委员会、上海市商务委员会、上海市教育委员会、上海市科学技术委员会指导,东浩兰生(集团)有限公司主办,东浩兰生会展集团上海工业商务展览有...

关键字: 电子 BSP 芯片 自动驾驶

9月1日消息,继小鹏、零跑后,现在小米汽车也宣布了8月的交付量。

关键字: 小米汽车 芯片

当地时间 8 月 22 日,美国芯片制造商英特尔公司宣布与美国联邦政府达成协议,后者将向英特尔普通股投资 89 亿美元,以每股 20.47 美元的价格收购 4.333 亿股英特尔普通股,相当于该公司 9.9% 的股份。

关键字: 英特尔 半导体 芯片

在当今数字化时代,人工智能(AI)和高性能计算(HPC)的迅猛发展对 GPU 芯片的性能提出了极高要求。随着 GPU 计算密度和功耗的不断攀升,散热问题成为了制约其性能发挥的关键因素。传统的风冷方案已难以满足日益增长的散...

关键字: 人工智能 高性能计算 芯片

8月20日消息,博主数码闲聊站暗示,9月底大概率只有小米16系列会亮相,其它骁龙8 Elite 2旗舰、天玑9500旗舰新品都将排到10月份,新机大乱斗会在国庆假期之后开始。

关键字: 小米雷军 芯片

8月21日消息,据媒体报道,英伟达宣布将自研基于3nm工艺的HBM内存Base Die,预计于2027年下半年进入小规模试产阶段,此举旨在弥补其在HBM领域的技术与生态短板。

关键字: 英伟达 黄仁勋 芯片 显卡

继寻求收购英特尔10%的股份之后,近日又有消息称,特朗普政府正在考虑通过《芯片法案》资金置换股权的方式,强行收购美光、三星、台积电三大芯片巨头的股份。若此举落地,美国政府将从“政策扶持者”蜕变为“直接股东”,彻底重塑全球...

关键字: 芯片 半导体

传统数据库架构已无法应对设备数据的高并发写入、低价值密度与长周期存储需求。M2M数据湖架构通过分布式存储、智能索引与弹性查询引擎的深度整合,构建起支撑万亿级设备数据管理的技术底座。本文从架构设计、核心技术、工程实践及典型...

关键字: M2M 数据存储

在集成电路设计流程中,网表作为连接逻辑设计与物理实现的关键桥梁,其分模块面积统计对于芯片性能优化、成本控制和资源分配具有重要意义。本文将详细介绍如何利用 Python 实现网表分模块统计面积的功能,从网表数据解析到面积计...

关键字: 网表 芯片 分模块

8月19日消息,封禁4个多月的H20为何突然又被允许对华销售,这其实是美国设计好的。

关键字: 英伟达 黄仁勋 芯片 显卡
关闭