学海荡舟手机网

主页 > 实用文摘 > 教育文摘_22 > > 详细内容

铁电存储器在仪表中的应用_存储器论文

摘要: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一样,使设计者容易接受和运用。

   

    写子程序:


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  ;发送起始位
          mov a,#10100001b
          call !sendcom     ;;发送读命令
          bc $rnoack

         clr1 p4.2
            set1 pm4.3
 call !n24readb     ;;读数据
         clr1 sk256
            clr1 pm4.6
        call !sendstop    ;;发送停止位
readret:
    clr1 cy 
ret
rnoack:
set1 cy 
ret

n24readb:
         mov b,#08h
readrepx:
        clr1 p4.2
   nop
   nop
   nop 
set1 p4.2
          nop
       nop
       nop
       clr1 cy
 bf p4.3,$readpd
       set1 cy
readpd:
      rolc a,1    ;;左移1位
      nop
      nop
      nop
      dbnz b,$readrepx    ;;判断是否接受8位

 ret
sendstop:     发送停止位
     clr1 p4.3
        nop
 set1 p4.2
        nop            
     set1 p4.3
        nop
        ret

    四. 小结:

    fm24c256 是一种高性能的存贮器,性能指标远远大于eeprom。在电子式电能表应用中,数据擦写次数比较频繁,而且在掉电存贮时数据量大、时间短,怎样安全可靠快速的保存数据一个关键的技术。所以,fm24c256的优良特性非常适合仪表中使用,如电能表、水表、煤气表、暖气表、计程车表、医疗仪表等应用广泛。它的封装形式有soic和dip。