位置:51电子网 » 技术资料 » 接口电路

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

发布时间:2008/5/28 0:00:00 访问次数:583

前言

  近年来,闪速存储器已应用在数以千计的产品中,特别是移动通信、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 (i

前言

  近年来,闪速存储器已应用在数以千计的产品中,特别是移动通信、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 (i

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!