数字 IC 技能树之(19)了解 DDR3 的时序协议

了解 DDR3 的时序协议,这里,我们只需要了解一些概念即可。实际设计中,DDR3 的操作可以通过 MIG IP 来进行控制读写,比较容易,要是再通过 CPU 进行控制,那简直就没有硬件的事情了。

1、DDR3 的控制时钟是一个差分时钟,是由一个有源差分晶振电路产生的,优点是速度翻倍、电压更低、抗噪更强等等。

2、DDR3 芯片位宽是指一次能够传输的数据量,等同于数据线的条数,这里为 16 Bits(CPU芯片位宽为 64 Bits)。

3、两片 DDR3 组合而成并联工作,与 32bits 的系统总线宽度相对应,每一片 DDR3 对应不同的 Physical Bank。

4、每一个 Physical Bank 对应不同的 Logic Bank,可以想象成一个表格,然后表格里有行 Row 和列 Column

5、对于 16 Rows、10 Columns、8 L-Banks 的 SDRAM Device,512M*8bits 的格式的 DDR3 容量计算公式如下:

一个 Logic Bank 的总单元数:2^16*2^10 = 2^26 = 2^6M = 64M

一片芯片的总单元数:64M*8L-Banks = 512M

一片芯片的容量:512M*8bits = 512MB

八片芯片的总的字节数:512MB*8 = 4GB

数字 IC 技能树之(19)了解 DDR3 的时序协议_第1张图片

6、在实际工作中,Bank 地址与对应的 Row 地址是同时发出的,该命令称为“行激活”(Row Active),之后,Column 地址读写操作也是同时发出的,该命令称为“读/写命令”。

从行激活到读/写命令发出之间的时间间隔被定义为 tRCD,即 RAS to CAS Delay(RAS 就是行地址选通,CAS 就是列地址选通)。tRCD 是 DDR 的一个重要的时序参数,广义的 tRCD 以时钟周期数为单位,比如 tRCD = 3,就代表延迟 3 个时钟周期数。

接下来,列地址被选中之后,就会触发数据传输,但是,从存储单元中输出到内存芯片的 I/O 接口之间还需要一定的时间(数据触发本身就有延迟,而且还需要进行信号放大),这段时间就是 CLCAS Latency,CAS 潜伏期)。CL 的数值与 tRCD 一样,以时钟周期数表示。

目前内存的读写基本上都是连续的,因为与 CPU 交换的数据量是以一个 Cache Line(即 CPU 内 Cache 的存储单位)的容量为准,一般为 64 Bytes,而现有的 Rank 位宽为 8 Bytes(64 Bits),那么就要一次连续传输 8 次,即突发传输。突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输的周期数就是突发长度(Burst Lengths,简称BL)。在进行突发传输时,只要指定起始列地址突发长度,内存就会依次地自动对后面相应数量的存储单元进行读/写操作而不需要控制器连续地提供列地址(还有低功耗的效果哟)。这样,除了第一笔数据的传输需要若干个周期外(主要是之前的延迟,一般的是 tRCD + CL),其后每个数据的传输只需一个周期的即可获得。只要控制好两段突发读取命令的间隔周期(与 BL 相同)即可做到连续的突发传输。

如果 BL = 4,也就是说一次就传送 4×64 Bits 的数据,但是,第二笔数据是不需要的,怎么办呢?还传输吗?是的!还传输!但是我们会在输出端将其屏蔽掉,为了屏蔽不需要的数据,引入了数据掩码Data I/O Mask,简称 DQM)技术。通过 DQM,内存可以控制 I/O 端口取消哪些输出或输入的数据。

在数据读取完之后,内存芯片将进行预充电的操作来关闭当前工作行。从开始关闭现有的工作行,到可以打开新的工作行之间的间隔就是 tRPRow Precharge Command Period,行预充电有效周期),单位也是时钟周期数。

数据选取脉冲(DQS)是 DDR 中的一个重要的功能,主要用来在一个时钟周期内准确的区分出每个传输周期,便于接收方准确接收数据。每一颗芯片都有一个 DQS 信号线,它是双向的,在写入时它用来传送由北桥发来的 DQS 信号,读取时,则由芯片生成 DQS 向北桥发送。完全可以说,它就是数据的同步信号

在读取时,DQS 与数据信号同时生成(也是在 CK 与 CK# 的交叉点),而 DDR 内存中的 CL 也就是从 CAS 发出到 DQS 生成的间隔,DQS 生成时,芯片内部的预取已经完毕了,由于预取的原因,实际的数据传出可能会提前于 DQS 发生(数据提前于 DQS 传出)。

7、芯片初始化:

充电、刷新、模式寄存器MRS的设置。

片选/L-Bank选、行地址。

列地址、读写命令。

8、常见的命令:

数字 IC 技能树之(19)了解 DDR3 的时序协议_第2张图片

9、信号的表示与作用:

数据 DQ [31:0]:数据输入输出,双向数据。

行地址选通 RAS

列地址选通 CAS

写允许 WE

数据选取脉冲 DQS [3:0]:差分信号。读时输出,写时输入。用于同步数据信号;

地址线 A [14:0]:地址输入。

L-Bank 地址线 BA [2:0]:定义了 ACTIVATE、READ、WRITE、PRECHARGE 命令是对哪一个 Bank 操作的,定义在 LOAD MMODE 命令期间哪个模式(MR0、MR1、MR2)被装载等等。

片内终结 ODT:高电平使能、低电平禁止片内终端电阻。让信号在电路的终端被吸收掉。

差分时钟 CLK_P/CLK_N:所有控制信号和地址信号在 CLK_P 的上升沿和 CLK_N 的下降沿交叉处被采样,数据选取脉冲参考为 CK 和 CK# 的交叉点。

时钟有效 CKE:高电平使能、低电平禁止内部电路和 DRAM 上的时钟。

片选 CS:低电平使能、高电平禁止命令译码。

数据掩码 DM [3:0]:数据输入屏蔽。

你可能感兴趣的:(数字,IC,技能树拓展延伸)