格兰芬多学院(FPGA板块)之SDRAM

“当我们在面对黑暗和死亡的时候,我们害怕的只是未知,除此之外,没有别的”——阿不思·邓布利多


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 的内部是一个存储阵列。
L-BANK 存储阵列图

L-BANK 存储阵列图

基于技术、成本等因素以及SDRAM工作原理的限制,不可能只做一个全容量的 L-Bank,且单一的 L-Bank 将会造成非常严重的寻址冲突,故人们在 SDRAM 内部分割为多个 L-Bank,通常 SDRAM 的存储空间被划分为 4 个 L-Bank,在寻址时需要先指定其中一个 L-Bank,然后在这个选定的 L-Bank 中选择相应的行与列进行寻址.
在这里插入图片描述

4个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{数} 存储单元数量=行数×列数×LBank

SDRAM存取原理

SDRAM 存取数据是利用了电容两个特性:

  • 能够保持电荷
  • 充放电特性

一个单bit存储单元结构如下所示:主要由行、列选通三极管,存储电容及刷新放大器组成。经过行、列选通,存储电容与数据线导通,利用电容的充放电实现数据的写入与读取。
在这里插入图片描述

SDRAM存取原理
先打开行地址线,再打开列地址线,选中存储单元。 接着打开行选通三极管,再打开列选通三极管,对存储电容进行放电,则电容的电平状态就呈现在数据线上,这样就实现了数据读取。 当数据线的电平值送到存储电容上,对存储电容进行充电,这样就实现了数据写入。

SDRAM硬件介绍

SDRAM管脚定义

SDRAM管脚一般由电源线数据线地址线控制线组成。

  1. 电源线
    VDD为内核供电,VDDQ为I/O buffer供电
    主电源要求VDDQ=VDD
管脚符号类型描述
VDDSupply电源电压,用于DRAM内部输入缓冲器和逻辑电路电源
VSSSupply地,DRAM内部输入缓冲器和逻辑电路的接地
VDDQSupplyI/O缓冲区的地,将电源与VDD分离,提高DQ抗噪能力
VSSQSupplyI/O缓冲区的地,将地面与VSS分离,提高DQ抗噪能力
  1. 数据、地址、控制
    在这里插入图片描述
SDRAM接口定义
管脚符号类型说明描述
CLKInput系统时钟时钟上沿对所有输入进行采样
CKEInput时钟使能该引脚为高电平时, 所有引脚电平才能被正确送入 SDRAM 芯片。
1:CLK有效
0:CLK无效
CS#Input片选低电平有效,只有当片选信号有效后, SDRAM才能识别控制器发送来的命令
RAS#Input行地址选通低电平有效,在时钟的上沿锁存行地址,使能行访问和 预充电
CAS#Input列地址选通低电平有效,在时钟的上沿锁存行地址,使能行访问和 预充电
WE#Input写使能低电平有效,使能写操作和预充电
DQ0~DQ15I/O数据总线数据的输入输出
LDQM、UDQMInput数据掩码L(U)DQM,低(高)字节掩码,当其为高时,下一个时钟的 上沿,数据总线的低(高)字节为高阻态
BA[1:0]InputBank地址00,01,10,11来进行Bank选择
A[12:0]Input地址总线A0-A11:行地址
A0-A8 :列地址
A10 :自动预充电标志

注:CKE 信号的用途有两个:一、关闭时钟以进入省电模式;二、进入自刷新状态。
CKE 无效时, SDRAM 内部所有与输入相关的功能模块停止工作。

接下来将与大家一同学习SDRAM的操作命令,敬请期待吧!!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值