SDRAM学习笔记1

Posted on 2023-01-21 23:22  _Chapman  阅读(204)  评论(0编辑  收藏  举报

简介

SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机访问存储器。同步指的是SDRAM里面所有工作都是基于同一个时钟进行的,动态指的是不停刷新数据保持数据不丢失,随机指的是数据访问的地址不是线性递增或者递减的,而是可以自由指定的。 SDRAM存储量大,读写快,便宜。但是由于内部数据是利用电容来保存的,但是电容里面的电荷是会随着时间增加而流失的,所以要不停刷新。 当SDRAM掉电时,里面数据随之丢失。因此,在使用SDRAM时,需要考虑行列管理,操作延时等。从而导致控制逻辑复杂。

结构

SDRAM内部是一个个存储器阵列,就像一张表格一样,有行地址和列地址。
image
此外,SDRAM里面的存储器阵列并不只一个,通常被分为一个个bank(通常为4个)。对于SDRAM来讲,最小存储单元的宽度取决于总线数据宽度,其单位为bit。因此,SDRAM的总存储量计算公式为:

SDRAM 总存储容量 = L-Bank 的数量×行数×列数×存储单元的容量

在存储单元内部,每一个bit的存储电路图大概如下:
image
当每个存储单元被选中后,其行列选通三极管就会打开,从而给电容充放电,实现数据的读写以及存储。
image

上图是SDRAM的结构框图。

上电初始化

下图为上电后SDRAM的工作流程,在PLL时钟信号输出稳定之后:
1、开始大越100~200us的输入稳定期(芯片型号差异,现需要查表)。
2、所有Bank进行预充电。
3、进行八个周期的刷新。
4、设置模式寄存器(MR,Mode Registe,设置模式寄存器这段时间叫MRS)。
image
关于模式寄存器设计,如下图所示。其中,模式寄存器的设置,是通过地址线进行的。(A0~A11以及AB0、AB1),这一段时间称为:tRSC。

操作模式设置

通过设置BA1\BA0\A11\A10\A9\A8\A7,可以设置以下两种模式:
突发读&突发写(0000000)和
突发读&单一写(0000100)
突发读写指的是在读写一个指定存储单位的时候,会连带后面好个存储单元连续读出或者写入。单一写指的是只进行一个存储单位写入。

CAS潜伏期

只有010(2个时钟周期)、011(3个时钟周期)、100(4个时钟周期)三个设置方式,其他保留。潜伏期指的是从发出操作指令到读取数据之间的时间长度。这个数越小响应越快,但不是越快越好,时间应该设置多长这个和芯片有关(查数据手册)。

突发传输方式

设置A3这一位:0为顺序、1为交错。交错,值得是不按顺序读取(例如:第一个读取地址为n,下一个并不是的读取n+1,而是n+2或者其他这个很少用。),顺序指的是按照顺序读写。

突发长度

指的是突发读写的时候,连续读写多少个存储单元。有如下配置:
在顺序情况下:
000(1个)、001(2个)、010(4个)、011(8个)、111(同一行上全部存储单元),其他保留。
叫交错情况下:
000(1个)、001(2个)、010(4个)、011(8个),其他保留。

image

在完成上电初始化之后,SDRAM才可以正常工作。