《FASHMSP430外扩存储器.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文档。上传文档
查看更多
《FASHMSP430外扩存储器

FLASH K9F1G08U0M在MSP430F149嵌入式系统中的应用 NAND Flash是采用NAND结构技术的非易失存储器,具有ROM存储器的特点,存储在该芯片中的数据可在断电情况下维持10年不丢失,而芯片的引脚与访问又具有类似于RAM的特点。NAND FLASH 存储器将数据线与地址线复用为8条线,另外还分别提供了命令控制信号线,因此,NAND FLASH 存储器不会因为存储容量的增加而增加引脚数目。从而极大方便了系统设计和产品升级。 1 元件介绍 1.1 MSP430芯片 ? MSP430系列单片机是TI公司推出的16位RISC系列单片机,该系列是一组超低功耗微控制器,供电电压范围为1.8V—3.6V。考虑到本系统有微体积、低功耗的要求,在此选用MSP430F149,它具有60KB Flash Memory、2kb RAM、有8个通道采样率为200K的12位A/D转换器、硬件乘法器、2个带有大量捕获/比较寄存器的16位定时器、看门狗等,为系统的进一步开发扩展提供了良好的基础,特别适用于较复杂的系统开发。 1.2 NAND Flash ? NAND结构Flash是Sumsung公司隆重推出并着力开发的新一代数据存储器件,在此选用芯片K9F1G08U0M,电源电压2.7V—3.6V,与MSP430F149一致,功耗低,容量可达128M×8Bit,按页进行读写,按块擦除,通过I/O口分时复用作为命令引脚/地址引脚/数据引脚。有很高的可靠性。 2 硬件设计 ?本系统中,K9F1G08U0M的数据输入输出口与单片机的P6端口相连。片选信号与单片机的P2.4相连, CLE(命令锁存控制端)、ALE(地址锁存控制端)、WE(写操作控制端)、RE(读操作控制端)分别通过控制单片机P3.3、P2.3、P2.6、P2.5引脚的电平,决定对FLASH ?进行控制字操作、地址操作、写操作还是读操作。在此不使用写保护功能,所以WP接高电平。FLASH与单片机的部分连接组成电路如图1所示。 图1? MSP430F149与K9F1G08U0M的连接 ? 3 软件设计 ?MSP430的开发软件较多,本文采用IAR公司的集成开发环境—IAR Embedded workbench 嵌入式工作台,利用C430(MSP430系列的C语言)编写调试。单片机对FLASH的操作主要有写、读、擦除。 3.1 写操作 ? 向FLASH内部写数据是基于页的,K9F1G08U0M的命令字、地址和数据都是通过并行口线I/O0—I/O7在控制信号的作用下分时操作。地址A0—A10,A11—A26通过I/O0—I/O7分4次送入。同时K9F1G08U0M芯片提供了一根状态指示信号线 ,当该信号为低电平时,表示FLASH可能正处于擦除、编程或读操作的忙状态;而当其为高电平时,则表示为准备好状态,此时可以对芯片进行各种操作。本系统须写入126M数据写操作流程图如图2。 3.2 读操作 ? 读操作有串行页读、连续行读、随机读3种类型。在此选用串行页读取。首先将读操作控制字00h输入,再写入地址,写入控制字30h,待 信号变高后,将本页数据依次读出。随后再改变页地址读出其它页内数据。操作流程图如图3。 ???????????????????? 图2 写操作流程图 图3? 读FLASH数据程序流程图 3.3 擦除操作 ? 任何FLASH器件的写入操作都必须在空的或已擦除的单元内进行,因此在进行下一次存储数据之前都必须对FLASH进行擦除操作。 ? 擦除操作基于块,K9F1G08U0M内有1024块,块地址的输入需要两个周期,块操作的地址只有A18—A27有效,A12—A17备忽略。在地址后被送入的块擦除命令(D0h)启动块擦除操作,待 信号变高后,送入命令字70h,读出I/O0的值来判断数据擦除是否成功。图4为块擦除流程图。 图4? 擦除FLASH程序流程图 4 程序设计 ? 在此给出写操作部分程序,读操作和擦除操作均可参考文中流程图来编程,值得注意的是其它具体写地址操作应仔细阅读 K9F1G08U0M芯片资料。 #include #define?? CLE?? BIT3?? #define?? ALE?? BIT3 #define?? WE??? BIT6 #define?? CE??? BIT4 #define?? RE??? BIT5 #define?? RB??? BIT7 void? ReadFlash();?? //读FLASH子程序 void? WriteFlash();?? //写FLASH子程序 void? inituart(void); //初始化异步串行通信 void? Write10h();? //写控制字10h子程序 void? W

文档评论(0)

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

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

1亿VIP精品文档

相关文档