- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、了解NAND Flash
?
Flash即是存储芯片的一种,其结合了ROM和RAM的特点,既具备电可擦除编程的性能,又可以快速读取数据,数据不会因断电丢失。目前市面上Flash主要有NOR Flash和NAND Flash。
简单的理解就是,NOR?Flash具有随机存取和随字节执行写操作的能力,即可以访问到存储器内部的任意一个字节,且具有读取速度快等特点,它占据1MB—16MB闪存的大部分市场,根据其读取数据速度快的特点主要应用在代码存储;而NAND Flash以“页”为单位进行对数据的读写操作,且具有写入和擦除速度快等特点,它应用在8MB—256MB的产品中,根据其特点主要应用在数据存储上。
以型号HY27UF081G2A的NAND Flash芯片为例,其总线宽度为8bit,总内存大小为1Gbit(即128MB),共分为1024块(Block),每块又分为64页(Page),每页共2KB(main memory)+64B(spare memory),main memory用来存放数据,spare?memory用来标记已坏的块区和保存对main?memory的ECC校验码等(正常情况下不用)。更多的HY27UF081G2A资料参照相关Datasheet。
?
二、了解HY27UF081G2A芯片引脚功能和NAND?Flash接口时序及控制命令
1、引脚说明
图1??引脚图 图2??引脚名称 ?
?
??????2、地址周期
图3??地址周期 其中A10—A0表示页内地址偏移(表示0—2047字节,1页大小即为2K)
??????A11表示上半页或者下半页(这位程序员无需关心,决定A10—A0时也间接决定了A11)
??????A17—A12表示页地址(表示0—63页)
??????A27—A18表示块地址(表示0—1023块)
由于NAND Flash访问的单位是“页”,设置访问地址时只需要确定A27—A12的值即可确定到某一页,如果要从页内的某一位置开始访问,则根据需要设置A10—A0位来确定从页内第几个字节开始访问,如:要访问存储空间为第3块的第5页,且从第100字节开始进行访问,则对应的4个Cycle周期的地址信号为:1?st?:0x64??,?2 nd?:0x00???,??3?rd?:0xC5??,??4th?:0x00
?
3、了解控制命令,如下所示
图4??控制命令 ?
4、了解接口时序,对该存储器进行访问操作有读取芯片ID、读页数据、写页数据,块擦除等共有13种,每种不同的操作对应不用的接口时序,此处只例举其中的4种操作:读取芯片ID、读页数据、写页数据、块擦除相应的接口时序图,更多操作参阅其Datasheet。
图5??读取芯片ID时序 图6??读取一页数据 图7??写一页数据(页编程) 图8??块擦除
? 同时应注意一些时序参数,如在上几幅时序图中出现的tAR(ALE至~RE的延时),tCLR(CLE至~RE的延时)等等,这些时间参数都有不同的取值范围(ns级别),时序图中出现的Col?Add1、Col Add2为列地址表示页内地址偏移,对应4个Cycle地址中的第1、第2个,Row Add1、Row Add2为行地址标识某块某页地址,对应4个Cycle地址中的第3、第4个。更多详细资料参见相关Datasheet。
?
三、STM32F10x增强型控制器的FSMC模块
??????FSMC(可变静态存储控制器)是STM32系列微控制器采用的一种新型的存储器扩展技术,可根据系统的需要方便的进行不用类型大容量静态存储器的扩展;简单的理解FSMC模块可对多种外接存储器进行控制,其主要包括NOR?Flash、NAND?Flash、PC卡,下面对访问NANDFlash介绍。
?
1、STM32F10x控制器与HY27UF081G2A的对接
先看STM32F10x控制器提供的NAND Flash接口(这里为8位的NAND闪存)
图9??STM32F10x控制器的NAND Flash接口 接口各信号对应的GPIO口为:
A[17]?:?PD12
A[16]?:?PD11
D[0:7]?:?PD14,PD15,PD0,PD1,PE7,PE8,PE9,PE10
NCE[x] : 这里使用NCE[2],对应GPIO口为PD7
NOE(=NER)?:?PD4
NWE?:?PD5
NWAIT/INT[3:2]?:?PD6(根据情况使用该引脚信号,这里不使用)
?
结合HY27UF081G2A的引脚功能说明,STM32与HY27UF081G2A的连线方式选择如下:
????????????STM32F10x的NAND接口??????????????????HY27UF081G2
文档评论(0)