铁电存储器fm31256的使用.doc
带RTC(REALTIMECLOCK)的I2C总线铁电存储器FM31256内容摘要FM31256是一种基于I2C总线、采用铁电体技术的多功能存储芯片。除了非易失存储器外,该器件还具有实时时钟、低电压复位、看门狗计数器、非易失性事件计数器、可锁定的串行数字标识等多种功能。文章主要介绍了FM31256的基本功能、原理,并结合实例给出了其在电磁铸轧电源控制装置中的具体应用方法。FM31256是由RAMTRON公司推出的新一代多功能系统监控和非易失性铁电存储芯片。与其他非易失性存储器比较,它具有如下优点读/写速度快,没有写等待时间;功耗低,静态电流小于1MA,写入电流小于150MA;擦写使用寿命长,芯片的擦写次数为100亿次,比一般的EEPROM存储器高10万倍,即使每秒读/写30次,也能用10年;读/写的无限性,芯片擦写次数超过100亿次后,还能和SRAM一样读/写。铁电存储器FRAM的核心技术是铁电晶体材料。这一特殊材料使铁电存储器同时拥有随机存取存储器RAM和非易失性存储的特性。本文介绍了FM31256的主要功能,并具体给出了基于嵌入式C语言编写的存储器读/写程序。1FM31256的基本结构及原理FM31256由256KB存储器和处理器配套电路(PROCESSORCOMPANION)两部分组成。与一般的采用备份电池保存数据不同,FM31256是真正意义上的非易失(TRULYNONVOLATILE)存储器,并且用户可以选择对不同的存储区域以软件方式进行写保护。FM31256器件将非易失FRAM与实时时钟(RTC)、处理器监控器、非易失性事件计数器、可编程可锁定的64位ID号和通用比较器相结合。其中,通用比较器可提前在电源故障中断NMI时发挥作用或实现其他用途。采用先进的035ΜM制造工艺,这些功能通过一个通用接口嵌入到14个引脚的SOIC封装中,从而取代系统板上的多个元件。存储器的读/写以及其他控制功能都通过工业标准的I2C总线来实现。图1为FM31256的原理图。其中,SDA和SCL引脚用于与CPU进行数据交换和命令写入,数据输出部分均具有施密特触发器,以提高抗干扰性能;同时,SDA作为二线接口中的双向信号线,集电极开路输出,可与二线总线上其他器件进行“线或”。A1~A0为器件地址选择信号,即总线上可同时使用4个同类器件。正常模式下,PFI引脚分别为比较器的输入(不可悬空),CAL/PFO引脚输出PFI引脚的输入信号与12V参考电压之间的比较结果;校准模式下,CAL/PFO引脚将输出512HZ的方波用于时钟校准。CNT2~CNT1是通过备份电池支持的事件计数器的两路输入端,通过边沿触发启动计数器,触发沿由用户自由选择。图1FM31256原理图2FM31256功能及使用方法在FM31256中,有25个特殊功能寄存器(SFR)00H~18H。通过对这些功能寄存器进行操作,可以实现各种功能。21特殊功能寄存器(1)实时时钟和比较器实时时钟包括晶体振荡器、时钟分频器和寄存器系统。它分割32768HZ的时基信号以提供1S(1HZ)的分辨率,寄存器(02H~08H)以BCD格式提供秒、分、时、星期、日、月、年信息,用户可对其进行读/写访问。启动时钟前须将SFR中01H地址的OSCEN位(D7)置位,振荡器起振;同时将00H地址的R位(D0)置位,可将时钟数据写入寄存器用于读出。若此时正处于时钟刷新阶段,则由于刷新操作优先于写入寄存器的操作,因而保证了时钟的准确性。重新设置时钟时,只须设定00H地址的W位。FM31256的时钟精度可通过软件校准,将00H地址的CAL位(D2)置位,时钟进入校准模式,比较器输出512HZ的频率信号,并可通过设置01H地址的CAL4~CAL0位(D4~D0)确定校准值。当00H地址的CAL位(D2)为0时,进入比较器模式。(2)处理器伴侣处理器伴侣包括CPU通常需要的功能。系统监测由低电平状态或看门狗计数溢出的中断输出信号。当系统电源电压低于设定的阈值或看门狗计数器溢出时,FM31256将输出低电平复位脉冲,复位信号持续100MS。改变0BH地址的VTP1~VTP0位(D1~D0),可以设定电平检测的阈值;改变0AH地址的WDT4~WDT0位(D4~D0),看门狗的溢出时间可以在100MS到3S之间选择,其中0AH地址的WDE位(D7),用于看门狗启动或停止;09H地址用于监视复位信号来源(看门狗计数器、上电复位或后备电源电压)以及控制看门狗计数器清零。系统软件须在要求的时间周期内,向09H地址的WR3~WR0位(D3~D0)写入1010,使计数器清零。(3)事件计数器FM31256有2个独立的后备电池支持的16位事件计数器CN1和CN2,位于寄存器0DH~10H中。若将SFR中0CH地址的CC位(D2)置位,则可以组成一个32位的计数器。CIN1和CIN2是事件计数器信号输入端,在32位计数器模式下CIN2无效。计数采用可编程边沿触发方式,若0CH地址的C1P位(D0)置位,则CIN1采用上升沿触发,否则是下降沿触发;0CH地址的C2P位(D1)用于控制CIN2。(4)串行数据标识区FM31256的SFR中的11H~18H地址串行标识区中可以保存8字节(64位)数据。该存储区为非易失性存储区,可对其进行无限次的读/写操作,但如果将0BH地址的SNL位(D7)置位,则不能再对该存储区进行操作,且这种操作是不可逆的。22FM31256的读/写操作FM31256作为从机,集成了两个功能不同的部件,每个部件都可以被独立访问。一个是存储器,访问时从机地址的位7~4必须被设置为1010B;若要访问实时时钟/处理器伴侣,则从机地址的位7~4必须被设置为1101B。该器件采用二线制的I2C接口,二线协议由SDA和SCL两个引脚的状态确定。共有4种状态开始、停止、数据传输及应答。其通信基本格式如图2所示。图2I2C总线通信基本格式FM31256严格按I2C总线的时序和数据格式操作,其访问操作过程可描述为如下步骤启动从机地址应答目标地址应答启动从机地址应答数据单或多字节应答停止(注从机地址中包含了读写命令;括号中的步骤为当前地址读和连续地址读命令所特有的。这里对应答信号作些说明。应答脉冲发生在第8个数据位传送之后。在这个状态下,发送方须释放SDA让接收方驱动;当接收方发出低电平时,表示正常应答,当发出高电平时,表示无应答。不应答有两种情况一是数据传送出错,无应答使发送方终止当前操作,以便重新寻址;二是接收方有意不作应答,以结束当前操作。在对SFR操作时,首先发送的命令字节为“1101XA1A0R/W”,目标地址为单字节范围(00H~18H)。FM31256的32KB存储单元地址为0000H~7FFFH,对其进行操作时,首先发送的命令字节为“1010XA1A0R/W”,目标地址长度为双字节,即RAM区的寻址能力为0~65535。FM31系列存储器具有内部地址锁存和自动累加功能,当对连续地址区进行读/写操作时,只须发送存储区首地址。3FM31256在电磁铸轧电源控制中的应用将FM31256应用在电磁铸轧电源控制装置当中,实现主控系统的看门狗复位、给定参数、实时时钟及故障记录保存的功能。作为一种解