创建博客
1.SDRAM简介:
SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器。同步、动态、随机是其性能特点的外在说明:
- 同步(Synchronous )是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准
- 动态(Dynamic )是指存储阵列需要不断的刷新来保证数据不丢失
- 随机(Random )是指数据不是线性依次存储,而是自由指定地址进行数据读写
SDRAM具有空间存储量大、读写速度快、价格相对便宜等优点。然而由于SDRAM内部利用电容来存储数据,为保证数据不丢失,需要持续对各存储电容进行刷新操作;同时在读写过程中需要考虑行列管理、各种操作延时等,由此导致了其控制逻辑复杂的特点
对于 SDRAM,我们将类比于单元格的存储空间称之为存储单元,N(行列个数乘积)个存储单元构成一个存储阵列,这个存储阵列称之为一个逻辑Bank(Logical Bank,Bank)。SDRAM 内部分割为若干个 Bank。若干 Bank 的分割,原因一是基于技术、成本考量;二是由于 SDRAM 的工作原理限制,单一 Bank 可能会造成非常严重的寻址冲突。
这样一来,在对 SDRAM 进行数据读写时,要先确定 Bank 地址,再依次确定行地址和列地址,进而进行数据的读写操作,而且一次只能对一个 Bank 的一个存储单元进行操作
对SDRAM的读写是针对存储单元进行的,对SDRAM来说一个存储单元的容量等于数据总线的位宽,单位是bit
SDRAM存储数据是利用了电容能够保持电荷以及其充放电特性。一位数据的存取电路如上图所示,该存储单元主要由行列选通三极管,存储电容,刷新放大器组成。对于这一位的数据,要想将其读取出来,首先需要打开行地址(激活/active),然后打开列地址,则电容的电平状态就能呈现在数据IO(data bit)上,即实现了读取。或者,数据线上的电平值被送到电容上,从而实现写入数据。
SDRAM 内部功能框图如下:
对SDRAM的操作,是通过对应命令来实现的,这些命令由CS_N,RAS_N,CAS_N,WE_N这几个控制信号组合成不同的状态以表示。同时,ADDR总线和DQM总线作为辅助信号,提供与命令相对应的参数(设置模式寄存器)或地址(读写命令)
需要的命令如下:
2.SDRAM初始化:
SDRAM 的初始化是芯片上电后必须进行的一项操作,只有进行了初始化操作的 SDRAM 芯片才可被正常使用。SDRAM 的初始化是一套预先定义好的