基于at89c51实现海量存储系统的设计

基于at89c51实现海量存储系统的设计

ID:21864560

大小:61.50 KB

页数:8页

时间:2018-10-25

基于at89c51实现海量存储系统的设计_第1页
基于at89c51实现海量存储系统的设计_第2页
基于at89c51实现海量存储系统的设计_第3页
基于at89c51实现海量存储系统的设计_第4页
基于at89c51实现海量存储系统的设计_第5页
资源描述:

《基于at89c51实现海量存储系统的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于AT89C51实现海量存储系统的设计:解决MSC51单片机数据存储空间容量的访问容量限制,在很大程度上可以扩展和提高单片机应用系统的总体功能。文章以三星公司NAND型闪存芯片K9K2GXXU0M为例,扩展了AT89C51芯片的数据存储器,实现了单片机的海量存储系统。  关键词:NAND;闪存;海量存储;汇编语言  :TP368:A:1009-3044(2011)10-2287-03  DesignofMassStorageSystemforMetadataBasedonAT89C51SCM  LIUQin

2、g-hai,LIUGuang-feng,YANGLi-guo  (FeixianCampusofQingdaoTechnologicalUniversity,Linyi273400,China)  Abstract:MSC51microcontrollersolvetheaccessdatastoragecapacityofcapacityconstraints,inlargemeasuretoextendandimprovetheoverallfunctionofSCMapplications.Articl

3、esbySamsungNANDflashmemorychips-K9K2GXXU0M,forexample,extendstheAT89C51chipdatamemory,toachieveasinglechipmassstoragesystem.  Keyemory;massstorage;assemblylanguage  在开发单片机应用系统,经常需要存储海量数据,对于数据采集系统或嵌入式系统更是如此[1]。但是单就单片机本身的存储能力而言,存储这些数据的解决方案相当复杂或成本较大,甚至不现实。目前,多

4、数研发人员开始寻找其他方式进行扩展存储能力,如文献[2]采用AT29C040芯片来解决此类问题,但是该闪存芯片容量太小,不能再满足系统的需求,于是本文采用超大容量闪存K9K2GXXU0M和AT89C51单片机相结合实现了海量数据的存储系统。  1系统引脚说明  Atmel公司的AT89C2051是一种带2K字节闪烁可写操作可擦除只读存储器的高效单片机,而三星公司的K9K2GXXU0M是一种可以进行电擦写,功耗低,单片容量高达256MB的NAND型闪存芯片。正是闪存非易失性和可擦写性的特点,使得该文中的存储系统

5、具有可靠性高、操作简便的优点。图1给出了该系统硬件设计的主要部分原理图。  系统设计中用到的芯片引脚,主要有AT89C51的P0.0~P0.7、P1.0~P1.2、P1.4~P1.6引脚分别与闪存的I/O、CLE、ALE、RE、CE、由1K个块(BLOCK)组成,每个块有512页,每页有528字节,这528字节分成A、B、C三个区。对每一页的寻址需要通过I/O口送出4个地址,第二、三、四行地址(A9~A28)指明寻址到某一页,第一列地址指明寻址到页的指定区中某一字节。对页的分区命令如表1所列,其中00H、01

6、H、50H为选区指针,选定区的内部寻址是由第一个列地址完成的,A0~A7可以最大寻址256字节。  系统在对K9K2GXXU0M芯片进行写操作时,写页操作确认指令(10H)即可开始写操作操作,但写入指令(10H)前还必须输入连续数。连续装载数据在写入连续数据输入指令(80H)后,将开始4个周期的地址输入和数据装载,而字却不同于写操作的数据,它不需要装载。  3系统程序设计  通过分析文献[4]中K9K2GXXU0M和AT89C51芯片的特点,给出了系统读、擦除和写操作的程序流程图(如图2所示),并用汇编语言实

7、现了这3个程序。  (a)读操作(b)擦除操作(c)写操作  图2程序流程图  3.1读操作子程序:READ.ASM  PUSHPSOVP0,#00H;送读操作命令字  MOVR7,#04H;送地址的次数  ;地址传送模块  MOVR0,#00H;地址指针的首地址  CLRP1.0;置命令锁存无效  SETBP1.1;置地址锁存有效  SET:  MOVP0,R0;将地址送入P0口  NOP  DECR7;地址次数减1  INCR0;地址指针加1  JNZSET;地址未传送完,继续传送  CLRP1.1;置地

8、址锁存无效;结束传送地址  CLRP1.2;使读有效  JNBP1.6,$;查看R/B是否忙  MOVDPTR,OUTBUF;所送数据地址指针的首地址  LOOP:  [email protected],P0;将数据送入片内存储器内  INCDPTR;地址指针加1  MOVR0,DPTR;所送数据的个数放入R0中  CJNER0,#512,LOOP;读不完继续读  SETBP1.4;置片选

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。