基于SST25VF020的数据存储系统设计

2013-05-21 22:05:41来源: 互联网
前言

  近年来,闪速存储器已应用在数以千计的产品中,特别是移动通信、MP3音乐播放器、手持PC管理器、数码相机、网络路由器、舱内录音机等工业产品。闪速存储器由于具有非易失性和电可编程擦除性,从而具有半导体存储器的读取速度快、存储容量大等优点,同时又克服了DRAM及SRAM断电丢失所存数据的缺陷。与EPROM相比较,闪速存储器的优势在于系统电可擦除和可重复编程,且不需要特殊的高电压,此外,它还有成本低,密度大的特点。

  闪速存储器由于各自技术架构的不同,又可分为NOR技术、NAND技术、AND技术和由EEPROM派生的闪速存储器。以EEPROM做闪速存储阵列的Flash Memory,如SST的小扇区结构闪速存储器具有EEPROM与NOR技术Flash Memory二者折中的性能特点:(1)读写的灵活性逊于EEPROM,但与NOR技术Flash Memory的块结构相比,其页尺寸小,具有快速随机读取和快编程、快擦除的特点。(2)与EEPROM比较,具有明显的成本优势。

  SST25VF系列产品,是业界第一个完整的串行闪存产品系列,其记忆容量包含512Kbit至16Mbit,且采用产业标准的8接脚SOIC封装及超薄型WSON封装技术。此外,SST最新串行闪存提供最新自动地址增值(AAI)资料写入模式,与单一字节资料写入模式相比,该资料写入模式能够将整个闪存的资料写入时间减少50%。SST25VF系列是以高效能超快闪技术为基础,加上四线及串行外围界面(SPI),相对平行EEPROM等非挥发性内存解决方案而言,SST的串行式闪存产品使用较少的接脚,将资料往返于系统CPU,因此可减少电路板空间、耗能及成本。

  芯片介绍

  芯片引脚介绍

  SST25VF020是SST25VF系列产品中的一员,其芯片具有以下特点:总容量为2M;单电源读和写操作,工作电压为2.7-3.3V;低功耗,工作电流为7mA,等待电流为3μA;时钟频率高达33MHz,快速编程、快速擦除、快速读取;小型一致闪区尺寸4KB;数据保存100年;CMOS I/O兼容等。

  状态寄存器

  状态寄存器用来对芯片的工作模式进行设定,在工作过程中,可以提供芯片的工作状态,比如读、写、写保护等。

  工作过程

  首先设置状态寄存器,对FLASH的工作模式、写使能以及写保护区域进行设定。在读写的过程中,还可以通过读寄存器内容来判断FLASH当前的工作状态。设定结束后,可以开始读写操作。

  写操作

  选用自动地址增值写入(AAI)模式,这种模式在写入大量数据时可以缩短程序运行时间。在写操作中,首先写入写使能命令字(0x06),AAI模式以AF为写命令,顺序写入存储起始地址和存储数据,每传送完一字节的数据时,时钟位置高,为写下一字节数据做准备。当数据全部写入时,写终止写使能命令字(0x04),写操作结束。在整个写过程中,状态寄存器中的BUSY位始终为1,写操作结束后,BUSY自动复位。

  读操作

  在读操作中,首先写入读命令字(0x03),然后写入读取数据的起始地址,数据会顺序读出,直至读完。如果地址累加至7FFFF,下次数据读取会从00000地址开始。在整个读过程中,状态寄存器中的BUSY位始终为1,写操作结束后,BUSY自动复位。

  擦除操作

  SST25VF020提供3种芯片擦除方式:扇区擦除、块擦除和全擦除。命令字分别为0x20、0x52、0x60,可分别实现不同范围的擦除。在整个擦除过程中,状态寄存器中的BUSY位始终为1,擦除操作结束后,BUSY自动复位。

  硬件电路

  系统控制器选用MSP430F149单片机,对温度传感器信号进行模数转换后采样,将采集到的数据通过SPI串行通信存储到FLASH中。当系统通过异步串口和PC机相连时,通过SPI串行通信将储存到FLASH中的数据读到PC机中,从而对采集的数据进行分析、处理。将采集到的数据保存后,即可擦除FLASH,为下一次采集做准备。存储电路连接如图4所示。通过上拉电阻将CE#、SO端的初始状态置为高电平,写保护端始终为高电平。相应的输入输出端、时钟信号端和使能端分别和单片机接口相连。

  关键源程序

  case 0x03: /* 读数据 */

  TXBUF1 =0x03; // 发读命令字

  while (IFG2&0x20==0x00); // 发送完否?

  for(i=0;i《=2;i++) /* 发送地址 */

  {TXBUF1=addr[i];

  while (IFG2&0x20==0x00);}//发送完否?

  for(i=0;i《=19;i++) /* 读取数据 */

  { TXBUF1=0X33 ; // 发送伪数据用于产生接收数据CLK

  while (IFG2&0x20==0x00); // 发送完否?

  while( IFG2&0x10==0x00) ;

  backdata1[i]=RXBUF1 ;} //存放读取的数据

  delay(2) ;

  P5OUT |=0X01 ; // 拉高 STE1

  delay(200) ;

  break;

  case 0xaf: /* AAI 模式 写数据 */

  P5OUT &=~0X01 ; // 拉 底 STE1

  delay(2) ;

  TXBUF1 =0X06 ; /* write enable */

  while (IFG2&0x20==0x00); // 发送完否?

  delay(2) ;

  P5OUT |=0x01 ; // 拉高 STE1

  delay(12);

  P5OUT &=~0x01 ; // 拉底 STE1

  delay(2) ;

  TXBUF1 =0xaf; // 发写命令字

  while (IFG2&0x20==0x00); // 发送完否?

  for(i=0;i《=2;i++) /* 发送地址 */

  { TXBUF1=addr[i];

  while (IFG2&0x20==0x00); }//发送完否?

  for(i=0;i《=19;i++)

  { TXBUF1=data1[i] ; // 连续写20字节的数据

  while (IFG2&0x20==0x00) ; // 发送完否?

  if(i==19) break ;

  delay(2) ;

  P5OUT |=0X01 ; // 拉高 STE1

  delay(12) ;

  P5OUT &=~0X01 ; // 拉底 STE1

  delay(2) ;

  TXBUF1 =0xaf ;

  while (IFG2&0x20==0x00); } // 发送完否?

  delay(2) ;

  P5OUT |=0X01 ; // 拉高 STE1

  delay(12);

  P5OUT &=~0X01 ; // 拉底 STE1

  delay(2) ;

  TXBUF1 =0X04 ; // /* 结束AAI模式*/

  while (IFG2&0x20==0x00); // 发送完否?

  delay(2) ;

  P5OUT |=0X01 ; // 拉高 STE1

  break;

  总结

  S ST串行式闪存因具备低耗能与小型接脚的特色,可作为硬盘、绘图卡、电子玩具、智能卡、MP3播放器、无线电话、蓝牙模块及GPS模块等装置比较理想的存储解决方案。由于SST串行式闪存的容量从512Kbit至16Mbit不等,因此适用于从低阶智能卡至高容量的声音档案存储,如电话录音机等各类资料存储 应用装置。

关键字:SST25VF020  数据存储  系统设计

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2013/0521/article_18477.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
SST25VF020
数据存储
系统设计

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved