“当我们在面对黑暗和死亡的时候,我们害怕的只是未知,除此之外,没有别的”——阿不思·邓布利多
SDRAM 定义
SDRAM: Synchronous Dynamic Random Access Memory (同步动态随机存储器)
同步:指其时钟频率与CPU前端总线的系统时钟频率相同,并且内部命令的发送以及数据的传输都以它为基准
动态:指存储阵列需要不断的刷新来保证数据不丢失;
随机:指数据不是线性依次存储,数据的读写可随机指定地址。`
SDRAM内存计算
P-BANK:Physical Bank(物理BANK)
CPU 数据总线的位宽:CPU 在一个传输周期能接受的数据容量,单位是 bit;
内存芯片位宽:即每个传输周期能提供的数据量
如果要想CPU正常工作,内存芯片数据位宽应当等同于CPU数据总线的位宽。
P-BANK为一组内存芯片的集合,该集合的容量不限,但这个集合的总位宽必须与 CPU 数据位宽相符。
L-BANK:Logical Bank(逻辑BANK)
内存芯片寻址的基本原理:先指定一个行(Row),再指定一个列(Column),就可以准确地找到所需要的单元格。
对于内存来说,该单元格可称为存储单元,存储阵列即为L-BANK。
SDRAM 的内部是一个存储阵列。
基于技术、成本等因素以及SDRAM工作原理的限制,不可能只做一个全容量的 L-Bank,且单一的 L-Bank 将会造成非常严重的寻址冲突,故人们在 SDRAM 内部分割为多个 L-Bank,通常 SDRAM 的存储空间被划分为 4 个 L-Bank,在寻址时需要先指定其中一个 L-Bank,然后在这个选定的 L-Bank 中选择相应的行与列进行寻址.
那么 SDRAM 芯片的总存储容量如何计算呢?
SDRAM 的容量计算方式为:
S
D
R
A
M
存储容量
=
数据位宽
×
存储单元数量
SDRAM\text{存储容量}=\text{数据位宽}\times \text{存储单元数量} \\
SDRAM存储容量=数据位宽×存储单元数量
存储单元数量
=
行数
×
列数
×
L
−
B
a
n
k
数
\text{存储单元数量}=\text{行数}\times \text{列数}\times L-Bank\text{数}
存储单元数量=行数×列数×L−Bank数
SDRAM存取原理
SDRAM 存取数据是利用了电容两个特性:
- 能够保持电荷
- 充放电特性
一个单bit存储单元结构如下所示:主要由行、列选通三极管,存储电容及刷新放大器组成。经过行、列选通,存储电容与数据线导通,利用电容的充放电实现数据的写入与读取。
SDRAM硬件介绍
SDRAM管脚定义
SDRAM管脚一般由电源线、数据线、地址线和控制线组成。
- 电源线
VDD为内核供电,VDDQ为I/O buffer供电
主电源要求VDDQ=VDD
管脚符号 | 类型 | 描述 |
---|---|---|
VDD | Supply | 电源电压,用于DRAM内部输入缓冲器和逻辑电路电源 |
VSS | Supply | 地,DRAM内部输入缓冲器和逻辑电路的接地 |
VDDQ | Supply | I/O缓冲区的地,将电源与VDD分离,提高DQ抗噪能力 |
VSSQ | Supply | I/O缓冲区的地,将地面与VSS分离,提高DQ抗噪能力 |
- 数据、地址、控制
管脚符号 | 类型 | 说明 | 描述 |
---|---|---|---|
CLK | Input | 系统时钟 | 时钟上沿对所有输入进行采样 |
CKE | Input | 时钟使能 | 该引脚为高电平时, 所有引脚电平才能被正确送入 SDRAM 芯片。 1:CLK有效 0:CLK无效 |
CS# | Input | 片选 | 低电平有效,只有当片选信号有效后, SDRAM才能识别控制器发送来的命令 |
RAS# | Input | 行地址选通 | 低电平有效,在时钟的上沿锁存行地址,使能行访问和 预充电 |
CAS# | Input | 列地址选通 | 低电平有效,在时钟的上沿锁存行地址,使能行访问和 预充电 |
WE# | Input | 写使能 | 低电平有效,使能写操作和预充电 |
DQ0~DQ15 | I/O | 数据总线 | 数据的输入输出 |
LDQM、UDQM | Input | 数据掩码 | L(U)DQM,低(高)字节掩码,当其为高时,下一个时钟的 上沿,数据总线的低(高)字节为高阻态 |
BA[1:0] | Input | Bank地址 | 00,01,10,11来进行Bank选择 |
A[12:0] | Input | 地址总线 | A0-A11:行地址 A0-A8 :列地址 A10 :自动预充电标志 |
注:CKE 信号的用途有两个:一、关闭时钟以进入省电模式;二、进入自刷新状态。
CKE 无效时, SDRAM 内部所有与输入相关的功能模块停止工作。
接下来将与大家一同学习SDRAM的操作命令,敬请期待吧!!!