1.SDRAM简介
SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器。同步是指其时钟频率与CPU前端总线的系统时钟频率相同,并且内部的命令发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是指定地址进行数据的读写。
物理Bank:传统内存系统为了保证CPU能正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输周期内能接受的数据容量就是CPU数据总线的位宽,单位是bit(位)。
芯片位宽:每一片SDRAM缓存芯片本身的位宽。
当物理位宽和芯片位宽不一致时可以多片并行使用。
2. SDRAM物理结构
逻辑bank(Logical Bank 简称L-Bank):SDRAM内部存储空间划分的片区。
3.SDRAM引脚介绍
引脚 | 位宽 | 类型 | 功能描述 |
---|---|---|---|
CLK | 1Bit | Input | 系统时钟:SDRAM 由系统时钟驱动,所有 SDRAM 输入信号都在时钟上升沿采样,同时CLK 还递增内部突发计数器并控制输出寄存器。 |
CKE | 1Bit | Input | 时钟使能:屏蔽系统时钟,冻结当前操作,高电平有效,信号有效时,所有信号才能被正确送入 SDRAM。 |
CS_N | 1Bit | Input | 片选信号:屏蔽和使能所有输入输出端口,CLK、CKE、DQM 除外,低电平有效。为高电平时,屏蔽所有命令,但已经突发的读/写操作不受影响。 |
CAS_N | 1Bit | Input | 列选通信号:低电平有效,为低电平时,A[8:0]输入的为列地址。 |
RAS_N | 1Bit | Input | 行选通信号:低电平有效,为低电平时,A[12:0]输入的为行地址。 |
WE_N | 1Bit | Input | 写使能信号,低电平有效,为低电平时,使能写操作和预充电。 {CS#、CAS#、RAS#、WE#}构成 SDRAM 操作命令。 |
DQM[1:0] | 2Bit | Input | 数据掩码:DQML(H),低(高)字节掩码,若信号为高电平,在下一个时钟周期的时钟上升沿,数据总线的低(高)字节为高阻态。 |
BA[1:0] | 2Bit | Input | L-Bank 地址:选择不同的逻辑 Bank 进行相关数据操作。 |
A[12:0] | 13Bit | Input | 地址总线:不同命令下含义不同,后文中会有详细介绍。 |
DQ[15:0] | 16Bit | Inout | 数据总线:数据输入/输出复用。 |
4.SDRAM的存储容量和速度等级
4.1 存储容量
MT48LC64M4A2 - 16Meg x 4 x 4 banks
MT48LC32M8A2 - 8Meg x 8 x 4 banks
MT48LC16M16A2 - 4Meg x 16 x 4 banks
“4Meg × 16 × 4Banks”才是表示 SDRAM 存储容量的具体参数,其中“4Meg”表示单个 L-Bank 包含的存储单元的个数,计算方法为单个存储阵列行地址数和列地址数的乘积,以此芯片为例,
行地址总线为 A0-A12,行地址位宽为13 位,行地址数为 8192 (2^13)行,列地址位宽为 9 位,列地址数为 512(2^9)列,单个 LBank 中包含的存储单元个数地址数(8192)与列地址数(512)相乘,乘积为 4M(8192 ×512 = 4194306);
“16”表示数据位宽,即每个存储单元存储数据的 bit 数;4Meg 与 16 相乘表示单个 L-Bank 中可存储的 Bit 数;
“4BANKS”表示一片 SDRAM 中包含的 L-Bank个数,此 SDRAM 芯片包含 4 个 L-Bank;由此可得 SDRAM 芯片的存储容量为:256MBit(4Meg × 16 × 4BANKS)。
4.2速度等级
时钟频率(Clock Frequency),单位MHz,所列举的具体参数为 SDRAM 正常工作的最高时钟频率,SDRAM 工作时只能等于或低于这一时钟频率;
tRCD 表示写入自激活命令到开始进行数据读写,中间所需的等待时间,列举的数值表示等待时间的最小值,单位为 ns;
tRP 表示自预充电指令写入到预充电完成所需的等待时间,列举的数值表示等待时间的最小值,单位为 ns;
CL(CAS(READ) latency)列选通潜伏期,表示自数据读指令写入到第一个有效数据输出所需等待时间,单位ns;
Target tRCD-tRP-CL 表示最大工作频率下,tRCD、tRP、CL 等待的最小时钟周期数。