SDRAM 和 NAND FLASH

SDRAM

1 SDRAM逻辑原理图spa

  其存储结构的逻辑图,以下图所示。blog

              

  与表格的检索原理同样,先指定一个行(Row)而后再指定一个列(Column),就能够准确地找到所须要的单元格,这就是SDRAM寻址的基本原理 。这个单元格被称为存储单元,而这个表格就是逻辑Bank(Logical Bank),SDRAM通常含有4个L-Bank。接口

  任何一款SDRAM都须要注意它的一些信息,如位宽、列/行地址、刷新周期、以及Bank地址。其中,位宽是从原理图中能够获得,而 列/行地址、刷新周期 以及bank地址则是从芯片的数据手册中获得。内存

  SDRAM:在计算其地址空间时,即地址大小时,并不能看数据线的位数。例如一个SDRAM芯片它只有13根地址线,2的13次方8K,每一个地址对应4字节的话,也就只有32K。而芯片手册上一般都会比这个大,这是由于还有两根线,行地址(nSRAS),列地址(nSCAS)。另外,还有LnWBE0,LnWBE1,表示对应字节的写使能,意思就是若是SDRAM芯片是16位,但如今只想写低8位,那么此时咱们就能够只拉低LnWBE1,这样高字节部分写使能消失。若是没有这两个引脚的话,那只能先读16位,而后修改,再回写进SDRAM。flash

2 S3C2440 与 SDRAM原理

  链接配置

  一般能够看到,在原理图中,若是SDRAM是32位(多是由两个SDRAM合起来)的,那么S3C2440的A0/A1并不与SDRAM链接,而是从A2开始链接的,这是由于SDRAM是32位的,4个bytes。那么S3C2440发出地址便可以获得4个字节,而S3C2440是按字节寻址的,因此须要低2位来划分这4个字节并取出须要的字节。方法

  另外一般S3C2440的BANK6~BANK7比较特别,由于只有它们能够链接SDRAM,具体能够参看相关数据手册。im

  访问总结

  一般处理器外围会链接一系列存储的设备,如SDRAM\DM9000,那么如何访问这些芯片呢。就是CPU经过存储管理器实现。例如CPU须要读0x30000000读4字节数据。那么CPU只须要执行下列汇编指令便可:mov r1, #0x30000000; ldr r0, [r1]。由存储管理器,根据配置信息得知0x30000000是对应内存SDRAM的地址,因此须要有SDRAM的时序,如1发出片选信号,2bank选择信号,3列地址,4行地址。这4步都是由存储管理器实现。

3 其它

  内存分为SRAM\SDRAM\DDR。

  (1)SRAM速度快,但成本高,使用方法简单,直接发地址,而后读写。

  (2)SDRAM则是成本低,但访问方法复杂,地址还分为列地址、行地址并且须要不断地刷新它。另外DDR,是指传统的SDR SDRAM只能在信号的上升沿进行数据传输。

  (3)DDR SDRAM却能够在信号的上升沿和降低沿都进行数据传输,因此DDR内存在每一个时钟周期均可以完成两倍于SDRAM的数据传输量,这也是DDR的意义——Double Data Rate,双倍数据速率。

  网卡、NORFLASH的接口与SRAM同样,术语上称为ram-like。因此,若是须要接NORFLASH或者网卡,则能够直接接在bank0~bank5,而若是是SDRAM,则应该挂接在BANK6-7。

Nand Flash

1 分类

  一般能够分为大页nand flash 和小页nand flash,其中大页是指一页有2K字节,而小页只有512字节。64页组成一块。

2 地址空间

  NandFlash编址:1页大小其实是2048+64(OOB)。64在多数状况下是不参与编址的。而是作为冗余检测所用。

  因为nand flash是独立编址,因此大多数的时候,读写nand flash它是要先领先链接线,发命令、发地址、发数据,并不能直接寻址到相应的位置(不像SDRAM同样)。

总结寻址方式至少分为两种

1 SDRAM、DM9000它们的芯片上都有地址信号线

2 NandFlash的芯片上是没有地址信号线的

  诸如1类的存储器芯片(能够包括SDRAM\DM9000\SRAM\寄存器),它们用的地址都是CPU能够看见的,是CPU发出来的。即CPU统一编址。

  但诸如2类的CPU链接的NandFlash,那么显然它也是本身的独立的地址空间。因此它们是经过发送地址、命令、数据等信号。

相关文章
相关标签/搜索