铁电存储器在仪表中的应用
摘要:FRAM 是一种新型存贮器,最大特点是可以随总线速度无限次的擦写,而且功耗低。FRAM性能优越于EEPROM AT24C256。
关键词:存贮器;FM24C256;AT24C256;EEPROM
一. 概述:
FRAM是最近几年由RAMTRON公司研制的新型存贮器,它的核心技术是铁电晶体材料,拥有随即存取记忆体和非易失性存贮产品的特性。FM24C256是一种铁电存贮器(FRAM),容量为256KBIT存贮器,它和AT24C256容量等同,总线结构兼容,但FM24C256的性能指标远大于AT24C256。在存贮器领域中,FM24C256应用逐渐被推广和认可,尤其是大容量存贮器,它的优良特性远高于同等容量的EEPROM。在电子式电能表行业中,数据安全保存是最重要的。随着电子表功能的发展,保存的数据量越来越大,这就需要大容量的存储器,而大容量的EEPROM性能指标不是很高,尤其是擦写次数和速度影响电能表自身的质量。FM24C256在电能表中的使用,会提高电能表的数据安全存贮特性。
二. 铁电存贮器(FRAM)FM24C256的特性:
传统半导体记忆体有两大体系:易失性记忆体(volatile memory)和非易失性记忆体(non-volatile memory)。
易失性记忆体像SRAM和DRAM在没有电源的情况下都不能保存数据。但这种存贮器拥有高性能、易用等优点。
非易失性记忆体像EPROM,EEPROM和FLASH 能在断电后仍保存数据。但由于所有这些记忆体均起源自ROM技术,所以不难想象得到他们都有不易写入的缺点:写入缓慢、读写次数低、写入时工耗大等。
FM24C256是一个256Kbit 的FRAM,总线频率最高可达1MHz,10亿次以上的读写次数,工耗低。与典型的EEPROM AT24C256相比较,FM24C256可跟随总线速度写入,无须等待时间,而AT24C256必须等待几毫秒(ms)才能进行下一步写操作。FM24C256可读写10亿次以上,几乎无限次读写。而AT24C256只有10万之一百万次读写。另外,AT24C256读写能量高出FM24C256有2,500倍。从比较中看出,FM24C256包含了RAM技术优点,同时拥有ROM技术的非易失性特点。
三. FM24C256的应用:
在仪表设计中,数据的安全存贮非常重要。如电子式电能表,它在运行期间时刻都在记录数据,
如果功能设计比较多,那么保存的数据量大,擦写次数比较多。这要求有一个高性能的存贮器才能满足要求。现在的仪表设计,寿命要求长,数据保存安全期长。目前,FM24C256是非常适合仪表设计要求的存贮器。它的性能指标完全达到设计要求,解决了仪表中的设计忧虑。更重要的是,它的存贮时间短,能够在极短的时间内保存大量数据,解决了仪表在突然断电时数据及时、安全的存贮。RAMTRON公司研制的FM24C256,为了普及使用,存贮指令和AT24C256兼容,只是在读写指令和应答是不需要延时,提高了擦写速率。封装体积、功能管角和AT24C256一样,使设计者容易接受和运用。
javascript:window.open(this.src);" style="cursor:pointer;"/>
javascript:window.open(this.src);" style="cursor:pointer;"/>
javascript:window.open(this.src);" style="cursor:pointer;"/>
写子程序:
WRITE:
CLR1 PM.3 ;;设置P4.3为输出状态
CLR1 P4.2
CLR1 P4.3
CLR1 P4.1 ;;打开写保护
CALL !SENDSTART ;;发送起始位
MOV A,#10100000B
CALL !SENDCOM ;;发送写命令
BC $WNOACKX ;;没应答则错误返回
NOP
CLR1 P4.2
CLR1 PM4.3 ;; 设置P4.3为输出状态
MOV A,D ;;D中存放所写单元高地址
CALL !SENDCOM ;;发送所写单元高地址
BC $WNOACKX ;;;没应答则错误返回
CLR1 PM4.3 ;; 设置P4.3为输出状态
MOV A,E ;;;;E中存放所写单元低地址
CALL !SENDCOM ;;发送所写单元低地址
BC $WNOACKX ;;没应答则错误返回
CLR1 PM4.3 ;; 设置P4.3为输出状态
MOV A,[HL] ;;[HL] 中存放所写数据
CALL !A24SENDC ;;发送所写数据
CLR1 CY
SET1 P4.1 ;;写保护
WNOACKX:
SET1 CY
RET
SENDSTART: 发送起始位子程序
SET1 P4.2
SET1 P4.3 ;;发起始位
NOP
NOP
CLR1 P4.3
CLR1 4.2
RET
SENDCOM: 发送命令子程序
CALL !A24SENDC
CLR1 P4.2
SET1 PM4.3 ;;设置P4.3为输入状态
NOP
NOP
NOP
SET1 4.2
BT P4.3,$DCOM1 ;测试应答信号,有应答CY=1,否则CY=0
CLR1 CY
RET ;BR RNOACK
DCOM1:
SET1 CY
RET
A24SENDC: 发送数据子程序
CLR1 CY
MOV B,#08H ;;发送8位
SENDREP:
CLR1 P4.2
NOP
CLR1 P4.3
ROLC A,1 ;;左移一位
BNC $SENDPD
SET1 P4.3
SENDPD:
NOP
SET1 P4.2
NOP
DBNZ B,$SENDREP ;8位发送完返回
RET
读子程序:
READ:
CLR1 PM4.3 ;;;; 设置P4.3为输出状态
CALL !SENDSTART ;发送起始位
MOV A,#10100000B
CALL !SENDCOM ;; ;发送读命令
BC $RNOACK ;; 没应答则错误返回
CLR1 P4.2
CLR1 PM4.3 ;; 设置P4.3为输出状态
MOV A,D ;D中存放所读单元高地址
CALL !SENDCOM ;;发送所读单元高地址
BC $RNOACK ; 没应答则错误返回
CLR1 PM4.3 ;;设置P4.3为输出状态
MOV A,E ;;;E中存放所读单元低地址
CALL !SENDCOM ;;发送所读单元低地址
BC $RNOACK ;;没应答则错误返回
CLR1 P4.2
CLR1 PM4.3 ;;设置P4.3为输出状态
SET1 P4.2
SET1 4.3
NOP
NOP
CLR1 P4.3
CLR1 P4.2
CALL !SENDSTART ;发送