微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 铁电存储器FM24C16原理及其在多MCU系统中的应用

铁电存储器FM24C16原理及其在多MCU系统中的应用

时间:04-11 来源:互联网 点击:

1、铁电存储器技术原理、特性及应用

美国Ramtron公司铁电存储器(FRAM)的核心技术是铁电晶体材料。这一特殊材料使铁电存储器同时拥有随机存取记忆体(RAM)和非易失性存储器的特性。铁电晶体的工作原理是:当在铁电晶体材料上加入电场,晶体中的中心原子会沿着电场方向运动,达到稳定状态。晶体中的每个自由浮动的中心原子只有2个稳定状态,一个记为逻辑中的0,另一个记为1。中心原子能在常温、没有电场的情况下,停留在此状态达100年以上。铁电存储器不需要定时刷新,能在断电情况下保存数据。由于整个物理过程中没有任何原子碰撞,铁电存储器有高速读写、超低功耗和无限次写入等特性。 铁电存储器和E2PROM比较起来,主要有以下优点:

(1)FRAM可以以总线速度写入数据,而且在写入后不需要任何延时等待,而E2PROM在写入后一般要5~10ms的等待数据写入时间;

(2)FRAM有近乎无限次写入寿命。一般E2PROM的寿命在十万到一百万次写人时,而新一代的铁电存储器已经达到一亿个亿次的写入寿命。

(3) E2PROM的慢速和大电流写入使其需要高出FRAM 2 500倍的能量去写入每个字节。

由于FRAM有以上优点,其特别适合于那些对数据采集、写入时间要求很高的场合,而不会出现数据丢失,其可靠的存储能力也让我们可以放心的把一些重要资料存储于其中,其近乎无限次写入的使用寿命,使得他很适合担当重要系统里的暂存记忆体,用来在于系统之间传输各种数据,供各个子系统频繁读写。从FRAM问世以来,凭借其各种优点,已经被广泛应用于仪器仪表、航空航天、工业控制系统、网络设备、自动取款机等。

在设计的碳控仪系统中,由于对控制碳势适时性的要求较高,而且系统由2个子系统构成,每个子系统都要频繁读写存储器,所以我们把原来的X25045换成FM24C16以满足要求。

2 FM24C16引脚说明及工作过程

FM24C16-P(8脚双列直插)外形图及引脚定义如图1及表1所示。

FM24C16是串行非易失存储器,存储容量为2 048×8b,共分8页,每页256B;工作电压为+5V;接口方式为工业标准的2线接口:SDA和SCL;功能操作和串行E~PROM相似,有读和写两种操作状态,读、写时序和I2C总线类似。

FM24C16的写操作可以分为2种:字节写和页面写。字节写就是每次写入单个字节,页面写可以一次写入整页(256B)的数据。而且,由于没有写延时,数据写入速度很快(一般为μs级),特别是在页面写的时候,不需要数据缓冲,可以一次写入256B的数据,真正实现页面写,这是其他E2PROM做不到的,比如AT24C16,在页面写的时候,每次最多能写入16B数据。

FM24C16的写操作时序中可分为起始位(START)、数据位、从应答位、停止位(STOP),其中,从应答位(因为FM24C16为从器件,MCU为主器件,所以称为从应答)是FM24C16在每接收一个字节数据后发出的应答信号,是检验数据写入是否成功的惟一标志。写入过程为:MCU通过SDA,SCI。发出起始位,然后从SDA输出从器件固定地址位:1010,再输出3b页选择位(选择写入数据到FM24C16的哪一页),再输出写控制位0(读为1,写为0),然后接收来自FM24C16的从应答位,如果没有收到从应答,则退出操作。在接收到从应答后,MCU从SDA串行输出8位FM24C16字节地址以确定写入数据的字节单元,并在收到从应答后发送1b数据写入到FM24C16,然后等待从应答信号确认数据写入成功。如果是字节写,则由MCU发出停止位,结束写操作。如只是页面写,MCU输出第2个字节数据,FM24C16判断出MCU要继续写入数据后,自动使其内部的地址指针加1,并把数据写入到加1后的字节单元,然后给出从应答,MCU就继续写入数据到FM24C16。页面写操作时,当地址指针到7FH(页尾地址)单元的时候,在下一个写入周期时自动翻转到00H,写入的数据覆盖掉00H单元原来的数据。

具体写操作时序图和后面的读操作时序图比较繁琐,在这里不给出,如果需要,可以登录到Ramtron公司网站;http://WWW.Ramtron.com查阅技术资料,或者登录到其在大陆的代理商网站:http://WWW.ramtron.com.cn/china/product/data.asp去查
阅技术资料,也可以仿I2C总线时序图。

FM24C16读操作比写操作较为复杂,相应也可以分为2种:字节读和页面读,相应于字节写和页面写,两种读的功能也是单字节和整页的区别。读操作的另一种分法可分为:立即读和任意读(包括连续读),其区别在于立即读是在写人数据后马上读数,而任意读和连续读则是随时读,所以,在他们操作时,必须先执行伪写,然后再读数。所谓伪写,是指执行写操作到写入数据之前,其目的是确定要读出的字节单元地址。下面对

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top