位置:51电子网 » 技术资料 » 嵌入式系统

基于ARM9内核Processor外部NAND FLASH的控制实现

发布时间:2008/5/27 0:00:00 访问次数:437

1 nand flash

  nand写回速度快、芯片面积小,特别是大容量使其优势明显。页是nand中的基本存贮单元,一页一般为512 b(也有2 kb每页的large page nand flash),多个页面组成块。不同存储器内的块内页面数不尽相同,通常以16页或32页比较常见。块容量计算公式比较简单,就是页面容量与块内页面数的乘积。根据flash memory容量大小,不同存储器中的块、页大小可能不同,块内页面数也不同。例如:8 mb存储器,页大小常为512 b、块大小为8 kb,块内页面数为16。而2 mb的存储器的页大小为256 b、块大小为4 kb,块内页面数也是16。nand存储器由多个块串行排列组成。实际上,nand型的flashmemory可认为是顺序读取的设备,他仅用8 b的i/o端口就可以存取按页为单位的数据。nand在读和擦写文件、特别是连续的大文件时,速度相当快。

  2 nand flash与nor flash比较

  nor的特点是可在芯片内执行,这样程序应该可以直接在flash内存内运行,不必再把代码读到系统ram中。nor的传输效率很高,但

写入和读出速度较低。而nand结构能提供极高的单元密度,并且写入和擦除的速度也很快,是高数据存储密度的最佳选择。

  这两种结构性能上的异同主要为:nor的读速度比nand快;nand的写入速度比nor快很多;nand的擦除速度远比nor快;nand的擦除单元更小,相应的擦除电路也更加简单;nand的实际应用方式要比nor复杂得多;nor可以直接使用,并在上面直接运行代码,而nand需要i/o接口,因此使用时需要驱动程序。

  3 nand flash在系统中的控制

  在没有nand flash硬件接口的环境中,通过软体控制cpu时序和硬件特殊接线方式实现仿真nandflash接口,进而实现在嵌入式系统中脱离nandflash专用硬件接口进行对nand flash读、写、擦除等操作的实现方法。

  本方法主要工作在以下两个方面:

  软件方面:针对特殊硬件线路的软体设计和严格的cpu时序控制;

  硬件方面:硬件的线路设计,利用nor flash专用硬件接口控制nand flash。

  首先建立的开发平台如图1所示。

  本平台使用intel的pxa270 processor,无内建nand flash controller,使用nor flash controller控制nand flash,具体的线路连接方式如图2所示。

  nand flash的i/o0~i/07引脚用于对flash发送操作命令和收发数据,ale用于指示flash当前数据为地址信息,cle用于指示当前数据为操作命令信息,当两者都无效时,为数据信息。ce引脚用于flash片选。re和we分别为flash读、写控制,r/b指示flash命令是否已经完成。逭里选用的是ce don't care的nand flash。

  nand flash的读写操作以page方式进行,一次读写均为一个page,erase方式以block方式进行。这种方式,使其读写速度大大提高。

  在时序方面,以读操作为例,其时序如图3所示。

  操作过程主要分为以下几个步骤:

  (1)发送读操作命令

  ce有效,cle有效,we有效,i/o0~i/o8上面数据为command代码数据。

  (2)发送地址数据(需要读取的flash地址)

  ce有效,ale有效,we有效,i/o0~i/o8上面为所需地址数据。由于地址数据较多,所以需要分几次依次发送。每次发送都需要产生we信号以将其写入nandflash芯片。

  (3)等待r/b信号,最后读出数据

  在最后一个地址数据写入flash之后,r/b信号即变低。等待芯片完成整个page数据读取之后,r/b信号变高。此时,ce有效,ale,cle均拉低,依次产生re信号,从i/o0~i/o8读取出所需数据。

  对于写操作和擦除操作,其基本原理相同,只是信号顺序略有改变,就不再赘述。

  由于使用了cpu地址线a1,a2连接cle,ale引脚,对cpu低2、3位地址的读写操作就意味着对nandflash进行读写命令/数据操作。如果此程序工作在os上的application层的话,mmu已经屏蔽程序对底层硬件的直接访问,所以需要对mmu进行设定,为nandflash开辟一块。memory映像区域,这样就可以通过os对底层的nand flash进行操作。以该系统为例,

1 nand flash

  nand写回速度快、芯片面积小,特别是大容量使其优势明显。页是nand中的基本存贮单元,一页一般为512 b(也有2 kb每页的large page nand flash),多个页面组成块。不同存储器内的块内页面数不尽相同,通常以16页或32页比较常见。块容量计算公式比较简单,就是页面容量与块内页面数的乘积。根据flash memory容量大小,不同存储器中的块、页大小可能不同,块内页面数也不同。例如:8 mb存储器,页大小常为512 b、块大小为8 kb,块内页面数为16。而2 mb的存储器的页大小为256 b、块大小为4 kb,块内页面数也是16。nand存储器由多个块串行排列组成。实际上,nand型的flashmemory可认为是顺序读取的设备,他仅用8 b的i/o端口就可以存取按页为单位的数据。nand在读和擦写文件、特别是连续的大文件时,速度相当快。

  2 nand flash与nor flash比较

  nor的特点是可在芯片内执行,这样程序应该可以直接在flash内存内运行,不必再把代码读到系统ram中。nor的传输效率很高,但

写入和读出速度较低。而nand结构能提供极高的单元密度,并且写入和擦除的速度也很快,是高数据存储密度的最佳选择。

  这两种结构性能上的异同主要为:nor的读速度比nand快;nand的写入速度比nor快很多;nand的擦除速度远比nor快;nand的擦除单元更小,相应的擦除电路也更加简单;nand的实际应用方式要比nor复杂得多;nor可以直接使用,并在上面直接运行代码,而nand需要i/o接口,因此使用时需要驱动程序。

  3 nand flash在系统中的控制

  在没有nand flash硬件接口的环境中,通过软体控制cpu时序和硬件特殊接线方式实现仿真nandflash接口,进而实现在嵌入式系统中脱离nandflash专用硬件接口进行对nand flash读、写、擦除等操作的实现方法。

  本方法主要工作在以下两个方面:

  软件方面:针对特殊硬件线路的软体设计和严格的cpu时序控制;

  硬件方面:硬件的线路设计,利用nor flash专用硬件接口控制nand flash。

  首先建立的开发平台如图1所示。

  本平台使用intel的a270 processor,无内建nand flash controller,使用nor flash controller控制nand flash,具体的线路连接方式如图2所示。

  nand flash的i/o0~i/07引脚用于对flash发送操作命令和收发数据,ale用于指示flash当前数据为地址信息,cle用于指示当前数据为操作命令信息,当两者都无效时,为数据信息。ce引脚用于flash片选。re和we分别为flash读、写控制,r/b指示flash命令是否已经完成。逭里选用的是ce don't care的nand flash。

  nand flash的读写操作以page方式进行,一次读写均为一个page,erase方式以block方式进行。这种方式,使其读写速度大大提高。

  在时序方面,以读操作为例,其时序如图3所示。

  操作过程主要分为以下几个步骤:

  (1)发送读操作命令

  ce有效,cle有效,we有效,i/o0~i/o8上面数据为command代码数据。

  (2)发送地址数据(需要读取的flash地址)

  ce有效,ale有效,we有效,i/o0~i/o8上面为所需地址数据。由于地址数据较多,所以需要分几次依次发送。每次发送都需要产生we信号以将其写入nandflash芯片。

  (3)等待r/b信号,最后读出数据

  在最后一个地址数据写入flash之后,r/b信号即变低。等待芯片完成整个page数据读取之后,r/b信号变高。此时,ce有效,ale,cle均拉低,依次产生re信号,从i/o0~i/o8读取出所需数据。

  对于写操作和擦除操作,其基本原理相同,只是信号顺序略有改变,就不再赘述。

  由于使用了cpu地址线a1,a2连接cle,ale引脚,对cpu低2、3位地址的读写操作就意味着对nandflash进行读写命令/数据操作。如果此程序工作在os上的application层的话,mmu已经屏蔽程序对底层硬件的直接访问,所以需要对mmu进行设定,为nandflash开辟一块。memory映像区域,这样就可以通过os对底层的nand flash进行操作。以该系统为例,

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!