SPI串行Flash在數据存储系统中的应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SPI串行Flash在數据存储系统中的应用

SPI串行Flash在数据存储系统中的应用 摘要:ATMEL公司生产的串行Flash AT45系列存储器的容量已达到了16Mb,常用于数据存储系统。文中以AT45D041为例,详细介绍了该系列Flash存储器的命令集以及串行SPI接口的应用方法,并给出了相应的模式时序。 ??? 关键词:SPI Flash Buffer 中断 AT45D041 1 概述 在目前所有的非易失性存储器(PROM、EPROM、EEPROM和Flash)中,唯有Flash存储器几乎拥有现今讲究个性化的用户所需的所有特点,它具有掉电数据不丢失、快速数据存取速度、电可擦除、容量大、在线可编程、价格低廉以及足够多的擦除、容量大、在线可编程、价格低廉以及足够多的擦写次数(一百万次)和较高的可靠性等诸多优点,因而已为新一代嵌入式应用(如数字相机和MP3播放机)的首选存储器。现在FLASH的成本已低于PROM/EPROM,可以肯定,它将很快占邻PROM/EPROM市场,MASK(掩膜)ROM尽管在大指生产时具备一定的价格优势,但其升级不便的弱点将随着今后FLASH成本的进一步降低,而使得MASK ROM的前景并不乐观。 ATMEL生产的Flash AT45系列中的AT45D041为单5V供电的SPI接口器件,其封装形式有PLCC、TSOP和SOIC三种,图1给出了该器件采用SOIC封装形式的管脚排列和说明。 AT45D041的内部结构如图2所示。该器件有2048页(每页264字节)内存(Flash Memory,也叫主存Main Memory)和两具Buffer(每个Buffer为264字节的SRAM)组成。数据可以直接写入闪存,也可以选写入Buffer,然后再将Buffer的数据整个复制到闪存的某一天,也可以在闪存正处于编程时(页编程时间典型值7ms)将数据写入Buffer。以下是该器件的一些特点: ●一页主存传送到Buffer的典型时间为80μs; ●有效电流的典型值为15mA,空闲电流为20μA; ●最大时钟频率为10MHz; ●具有硬件擦、写保护功能,当WP脚为低时,前256页钭禁止编程。 ●输入输出与CMOS和TTL电平兼容; ●具有商业和工业两种温度范围; ●可单周期重编程(包括擦除和编程); ●带有串行接口,读写操作时地址会自动增1; ●复位时将终止正在进行的操作,当复位管脚恢复高电平时,操作也可以恢复; ●传送数据时,高位(MSB)在前。 2 操作命令介绍 对AT45D041的操作一共有18条命令,表1所列为AT45D041的操作命令集。其中: 表1 AT45D041的操作命令集 读主存 52H rrr PA10~PA0 BA8~BA0 32个× 读Buffer1 54H ×××× 11个× BFA8~BFA0 8个× 读Buffer2 56H ×××× 11个× BFA8~BFA0 8个× 主存传送到Buffer1 53H rrrr PA10~PA0 9个× 主存传送到Buffer2 55H rrrr PA10~PA0 9个× 主存与Buffer1比较 60H rrrr PA10~PA0 9个× 主存与Buffer2比较 61H rrrr PA10~PA0 9个× 写Buffer1 84H ×××× 11个× BFA8~BFA0 写Buffer2 87H ×××× 11个× BFA8~BFA0 带擦除的Buffer1传送到存 83H rrrr PA10~PA0 9个× 带擦除的Buffer2传送到主存 86H rrrr PA10~PA0 9个× 不带擦除的Buffer1传送到主存 88H rrrr PA10~PA0 9个× 不带擦除的Buffer2传送到主存 89H rrrr PA10~PA0 9个× Buffer1为缓冲对主存编程 82H rrrr PA10~PA0 BA8~BA0 Buffer2为缓冲对主存编程 85H rrrr PA10~PA0 BA8~BA0 Buffer1为缓冲自动重编程 28H rrrr PA10~PA0 9个× Buffer2为缓冲自动重编程 59H rrrr PA10~PA0 9个× 读状态寄存器 ???? 57H r为保留位,AD45D041用0代替,容量更大的器件一般可能会用到; ×为无关位(0或1均可,为了占时钟位); PA10~PA0用来指定页地址,对AT45D041而言,一共有2048页,占11位; BA8~BA0用来指定内字节的起始地址,每页264字节,占9位; BFA8~BFA0用来指定缓冲区内字节的起始地址,缓冲区也是264字节; 52H~61H、82H-89H分别是用来区别不同操作的命令字。 ??? 执行命令时,首先通过SPI串口往Flash发送一连串的数据,然后以命令字开头,除了“读状态寄存

文档评论(0)

s4as2gs2cI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档