欢迎来到天天文库
浏览记录
ID:10579854
大小:53.50 KB
页数:4页
时间:2018-07-07
《spi串行flash在数据存储系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SPI串行Flash在数据存储系统中的应用
2、第1摘要:ATMEL公司生产的串行FlashAT45系列存储器的容量已达到了16Mb,常用于数据存储系统。文中以AT45D041为例,详细介绍了该系列Flash存储器的命令集以及串行SPI接口的应用方法,并给出了相应的模式时序。关键词:SPIFlashBuffer中断AT45D0411概述在目前所有的非易失性存储器(PROM、EPROM、EEPROM和Flash)中,500)this.style.ouseg(this)">唯有Flash存储器几乎拥有现今讲究个性化的用
3、户所需的所有特点,它具有掉电数据不丢失、快速数据存取速度、电可擦除、容量大、在线可编程、价格低廉以及足够多的擦除、容量大、在线可编程、价格低廉以及足够多的擦写次数(一百万次)和较高的可靠性等诸多优点,因而已为新一代嵌入式应用(如数字相机和MP3播放机)的首选存储器。现在FLASH的成本已低于PROM/EPROM,可以肯定,它将很快占邻PROM/EPROM市场,MASK(掩膜)ROM尽管在大指生产时具备一定的价格优势,但其升级不便的弱点将随着今后FLASH成本的进一步降低,而使得MASKROM的前景并不乐观。AT
4、MEL生产的FlashAT45系列中的AT45D041为单5V供电的SPI接口器件,其封装形式有PLCC、TSOP和SOIC三种,图1给出了该器件采用SOIC封装形式的管脚排列和说明。AT45D041的内部结构如图2所示。该器件有2048页(每页264字节)内存(FlashMemory,也叫主存MainMemory)和两具Buffer(每个Buffer为264字节的SRAM)组成。数据可以直接写入闪存,也可以选写入Buffer,然后再将Buffer的数据整个复制到闪存的某一天,也可以在闪存正处于编程时(页编程时
5、间典型值7ms)将数据写入Buffer。以下是该器件的一些特点:●一页主存传送到Buffer的典型时间为80μs;●有效电流的典型值为15mA,空闲电流为20μA;●最大时钟频率为10MHz;●具有硬件擦、写保护功能,当OS和TTL电平兼容;●具有商业和工业两种温度范围;●可单周期重编程(包括擦除和编程);●带有串行接口,读写操作时地址会自动增1;●复位时将终止正在进行的操作,当复位管脚恢复高电平时,操作也可以恢复;●传送数据时,高位(MSB)在前。2操作命令介绍对AT45D041的操作一共有18条命令,表1所
6、列为AT45D041的操作命令集。其中:表1AT45D041的操作命令集读主存52HrrrPA10~PA0BA8~BA032个×读Buffer154H××××11个×BFA8~BFA08个×读Buffer256H××××11个×BFA8~BFA08个×主存传送到Buffer153HrrrrPA10~PA09个×主存传送到Buffer255HrrrrPA10~PA09个×主存与Buffer1比较60HrrrrPA10~PA09个×主存与Buffer2比较61HrrrrPA10~PA09个×写Buffer184H×
7、×××11个×BFA8~BFA0写Buffer287H××××11个×BFA8~BFA0带擦除的Buffer1传送到存83HrrrrPA10~PA09个×带擦除的Buffer2传送到主存86HrrrrPA10~PA09个×不带擦除的Buffer1传送到主存88HrrrrPA10~PA09个×不带擦除的Buffer2传送到主存89HrrrrPA10~PA09个×Buffer1为缓冲对主存编程82HrrrrPA10~PA0BA8~BA0Buffer2为缓冲对主存编程85HrrrrPA10~PA0BA8~BA0Buf
8、fer1为缓冲自动重编程28HrrrrPA10~PA09个×Buffer2为缓冲自动重编程59HrrrrPA10~PA09个×读状态寄存器57Hr为保留位,AD45D041用0代替,容量更大的器件一般可能会用到;×为无关位(0或1均可,为了占时钟位);PA10~PA0用来指定页地址,对AT45D041而言,一共有2048页,占11位;BA8~BA0用来指定内字节的起始地址,每页264字节,占9位;BFA8~BFA0用来指定缓冲区内字节的起始地址,缓冲区也是264字节;52H~61H、82H-89H分别是用来区别
9、不同操作的命令字。500)this.style.ouseg(this)">执行命令时,首先通过SPI串口往Flash发送一连串的数据,然后以命令字开头,除了“读状态寄存器”外,后面还要跟上页地址和页内的字节地址发及一些无关位。“读主存”时,首先需要往Flash发送64bit的命令,即:命令字52(8bit)+4个“r”+页地址(11bit)+页内字节的起始地址(9bit)+32个无关位
此文档下载收益归作者所有