热度 25
2017-10-29 12:32
7677 次阅读|
0 个评论
DDR3是目前DDR的主流产品,DDR3的读写分离作为DDR最基本也是最常用的部分,本文主要阐述DDR3读写分离的方法。 最开始的 DDR, 芯片采用的是 TSOP 封装,管脚露在芯片两侧的,测试起来相当方便;但是, DDRII 和 III 就不一样了,它采用的是 BGA 封装,所有焊点是藏在芯片的底部的,测试起来非常不便,一般需要提前预留测试点。 在 DDR 读写 burst 分析之前,首先得把 read burst 和 write burst 分离出来,读写双向的数据全部都搁在 DQS 和 DQ 上。那么, DDR 的手册中,留下了那些线索供我们进行都写的分离呢? 要实现 DDR 的快速的便捷的分离,在读写分离之前,我们必须得知道 DDR 读写信号之间的特征差异。 首先,看看 SPEC 里面的定义: 方法一: preamble 的差异 在每次的 burst 之前, DQS 会从高阻态切换到一段负脉冲,然后才开始正常的读写。这段负脉冲,我们叫做 preamble ( preamble 实际上是在读写前, DQS 提前通知 DRAM 芯片或者是 controller 的信号)。一般说来,读数据 DQS 的 preamble 宽度要大于写数据。 对于 DDR3, 情况就更简单了。因为在 DDR3 中,读数据的 preamble 是负脉冲,写数据的 preamble 是正脉冲。 方法二:幅度上的差异 一般在 DRAM 端进行测试,写数据从 memory controller 出来,经过了主板 PCB 板,内存插槽和内存条 PCB 板,到达 DRAM 颗粒的时候,信号已经被衰减了,而读数据刚刚从 DRAM 出来,还没有经过任何的衰减,因此读数据的幅度要大于写数据。如下图所示 Read Write 方法三: 写数据是 DQS 和 DQ centre-align( 中间对齐 ), 读数据 DQS 和 DQ 是 edge align( 边沿对齐 ) , memory controller 在接收到内存的读数据时,在 controller 内部把 DQS 和 DQ 的相位错开 90 度,实现中间对齐来采样(这个过程示波器就看不到咯); 方法四:斜率的差异 : 读数据的斜率大于写数据。一般在 DRAM 端进行测试,写数据从 memory controller 出来,经过了主板 PCB 板,内存插槽和内存条 PCB 板,到达 DRAM 颗粒的时候,信号已经被衰减了,所以,斜率也小一些;而读数据刚刚从 DRAM 出来,还没有经过任何的衰减,因此读数据的斜率要大于写数据。也可以从下图得到区分。 Read Write