首页>>科技 >>内容

微型计算机存储体系,基于SST25VF020的数据存储系统设计

发布时间:2023-08-13 09:30:34编辑:温柔的背包来源:

微型计算机存储体系,基于SST25VF020的数据存储系统设计

很多朋友对微型计算机存储体系,基于SST25VF020的数据存储系统设计不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

近年来,闪存已经应用于成千上万的产品中,尤其是工业产品,如移动通信、MP3音乐播放器、手持PC管理器、数码相机、网络路由器、机舱录音机等。闪存由于其非易失性和电可编程擦除,具有半导体存储器读取速度快、存储容量大的优点,同时又克服了DRAM和SRAM断电时存储数据丢失的缺陷。

与EPROM相比,闪存的优点是系统是电可擦可重编程的,不需要特别高的电压。此外,它还具有低成本、高密度的特点。

闪存因技术架构不同,可分为NOR技术、NAND技术、EEPROM衍生的技术和闪存。以EEPROM为闪存阵列的闪存,如SST的小扇区结构闪存,具有EEPROM和NOR技术闪存折中的性能特点:(1)读写的灵活性不如EEPROM,但与NOR技术闪存的块结构相比,其页面尺寸小,具有快速随机读取、快速编程和快速擦除的特点。

(2)与EEPROM相比,具有明显的成本优势。

SST25VF系列产品是业界首个完整系列的串行闪存产品,存储容量从512Kbit到16Mbit,采用行业标准的8针SOIC封装和超薄WSON封装技术。此外,SST最新串行闪存提供了最新的自动地址递增(AAI)数据写入模式,与单字节数据写入模式相比,可以减少整个闪存50%的数据写入时间。

SST25VF系列基于高性能超闪存技术,加上四线和串行外设接口(SPI)。与并行EEPROM等非易失性存储器解决方案相比,SST的串行闪存产品使用更少的引脚来传输系统CPU的数据,从而减少电路板空间、能耗和成本。

芯片介绍芯片引脚介绍SST25VF020是SST25VF系列产品中的一员,其芯片具有以下特点:总容量为2m;单电源读写操作,工作电压为2.7-3.3v;低功耗,工作电流7mA,等待电流3a;时钟频率高达33MHz,快速编程,快速擦除,快速读取;小均匀闪存区的大小为4kb;数据保存100年;CMOS I/O兼容性等。状态存储器

状态寄存器用于设置芯片的工作模式。在工作过程中,它可以提供芯片的工作状态,如读、写、写保护等。在工作过程中,首先设置状态寄存器来设置FLASH的工作模式、写使能和写保护区。在读写过程中,还可以通过读取寄存器的内容来判断FLASH当前的工作状态。设置好之后,就可以开始读写了。写入操作

选择自动地址增量写入(AAI)模式,在写入大量数据时可以缩短程序的运行时间。在写操作中,首先写入写使能命令字(0x06)。在AAI模式中,AF被用作写入命令,并且存储起始地址和存储数据被顺序写入。当传输一个字节的数据时,时钟位置为高电平,以准备写入下一个字节的数据。当所有数据写入后,写操作终止写使能命令字(0x04),写操作结束。

在整个写操作过程中,状态寄存器中的BUSY位始终为1,写操作完成后,BUSY自动复位。

读操作在读操作中,先写读命令字(0x03),再写读数据的起始地址,数据会按顺序读出,直到读完为止。如果地址累积到7FFFF,下一次数据读取将从00000地址开始。在整个读取过程中,状态寄存器中的BUSY位始终为1,写操作完成后,BUSY自动复位。擦除操作

SST25VF020提供三种芯片擦除方式:扇区擦除、块擦除和全擦除。命令字是0x20和0x52、0x60,可以在不同的范围内擦除。在整个擦除过程中,状态寄存器中的BUSY位始终为1,擦除操作完成后,BUSY自动复位。硬件电路

系统控制器选用MSP430F149单片机,对温度传感器信号进行模数转换后采样,并通过SPI串行通信将采集的数据存入FLASH。当系统通过异步串口连接到PC机时,通过SPI串行通信将存储在FLASH中的数据读取到PC机中,从而对采集到的数据进行分析处理。保存采集的数据后,可以擦除FLASH,为下一次采集做准备。存储电路连接如图4所示。

CE#和SO端子的初始状态通过上拉电阻设置为高电平,写保护端子始终为高电平。相应的输入/输出端、时钟信号端和使能端分别与单片机接口相连。

关键源程序案例0x 03:tx buf 1=0x 03;//发送读命令字while(IFG 20 x 20==0x 00);//发完了吗?for(I=0;I"=2;I) { tx buf 1=addr[I];while(IFG 20 x 20==0x 00);}//发完了吗?for(I=0;我“=19;I) { tx buf 1=0x 33;//发送伪数据用于生成接收数据clk file(IFG 20 x 20==0x 00);//发完了吗?while(IFG 20 x 10==0x 00);back data 1[I]=rx buf 1;}//存储读取数据延迟(2);

P5OUT |=0X01//Pull Ste1delay (200) high; Break; Case0xaf: p5out=~0x01; //pull the bottom ste1delay (2); TXBUF1=0X06while (IFG 20x20==0x00); //Have you finished sending? Delay (2); P5OUT |=0x01//Pull Ste1delay (12) high; P5OUT=~0x01//Ste1delay (2); TXBUF1=0xaf//Write command word while (IFG 20x20==0x00); //Have you finished sending? for(I=0; I"=2; I) {txbuf1=addr [I];

while(IFG 20 x 20==0x 00);}//发送完否?for(I=0;我"=19;I){ tx buf 1=data1[I];//连续写20字节的数据while(IFG 20 x 20==0x 00);//发送完否?如果(i==19)破;延迟(2);P5OUT |=0X01//拉高ste 1延迟(12);P5OUT=~ 0X01//拉底ste 1延迟(2);tx buf 1=0x afwhile(IFG 20 x 20==0x 00);} //发送完否?延迟(2);P5OUT |=0X01//拉高ste 1延迟(12);P5OUT=~ 0X01//拉底ste 1延迟(2);

Txbuf1=0x04/while (IFG 20x20==0x00); //Have you finished sending? Delay (2); P5OUT |=0X01//Summary of pulling up STE1break

ST系列闪存可用作硬盘、绘图卡、电子玩具、智能卡、MP3播放器、无线电话、蓝牙模块和GPS模块的理想存储解决方案。由于SST串行闪存的容量范围从512Kbit到16Mbit,因此它适用于存储来自低级智能卡的高容量声音文件,例如电话录音机和其他数据存储应用。

以上知识分享希望能够帮助到大家!