一、DDR简介
(1)DDR=Double Data Rate双倍速率同步动态随机存储器。严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。而DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。
(2)SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到更高的数据传输率。
(3)与SDRAM相比:DDR运用了更先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步;DDR使用了DLL(Delay Locked Loop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDR本质上不需要提高时钟频率就能加倍提高SDRAM的速度,它允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准SDRAM的两倍。从外形体积上DDR与SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚距离。但DDR为184针脚,比SDRAM多出了16个针脚,主要包含了新的控制、时钟、电源和接地等信号。DDR内存采用的是支持2.5V电压的SSTL2标准,而不是SDRAM使用的3.3V电压的LVTTL标准。
(4)目前市面上常用的DDR内存包括DDR(即DDR1)、DDR2、DDR3内存。DDR内存采用了双倍并发,即双倍速内存,同核心频率下,速度是SDRAM内存的2倍;DDR2内存采用了四倍并发,即四倍速内存,同核心频率下,速度是DDR内存的2倍,SDRAM内存的4倍;DDR3内存采用了八倍并发,即八倍速内存,同核心频率下,速度是DDR2内存的2倍,DDR内存的4倍,SDRAM内存的8倍。举例而言,如核心频率为133MHz的SDRAM内存,其实际工作频率也是133MHz;而核心频率为133MHz的DDR内存,其实际工作频率为133MHz X2=266MHz,即DDR 266MHz内存;而核心频率为133MHz的DDR2内存,其实际工作频率为133MHz X4=533MHz,即DDR2 533MHz内存;而核心频率为133MHz的DDR3内存,其实际工作频率为133MHz X8=1066MHz,即DDR3 1066MHz内存。
二、DDR电源设计
DDR的电源可以分为三类:
(1)主电源VDD和VDDQ,主电源的要求是VDDQ=VDD,VDDQ是给存储芯片输出缓冲器供电的电源,VDD是给主板主存储器供电的电源,但是一般的使用中都是把VDDQ和VDD合成一个电源使用。
有的芯片还有VDDL,是给DLL供电的,也和VDD使用同一电源即可。电源设计时,需要考虑电压,电流是否满足要求,电源的上电顺序和电源的上电时间,单调性等。电源电压的要求一般在±5%以内。电流需要根据使用的不同芯片,及芯片个数等进行计算。由于DDR的电流一般都比较大,所以PCB设计时,如果有一个完整的电源平面铺到管脚上,是最理想的状态,并且在电源入口加大电容储能,每个管脚上加一个100nF~10nF的小电容滤波。
(2)参考电源Vref,参考电源Vref要求跟随VDDQ,并且Vref=VDDQ/2,所以可以使用电源芯片提供,也可以采用电阻分压的方式得到。由于Vref一般电流较小,在几个mA~几十mA的数量级,所以用电阻分压的方式,即节约成本,又能在布局上比较灵活,放置的离Vref管脚比较近,紧密的跟随VDDQ电压,所以建议使用此种方式。需要注意分压用的电阻在100~10K均可,需要使用1%精度的电阻。Vref参考电压的每个管脚上需要加10nF的点容滤波,并且每个分压电阻上也并联一个电容较好。
(3)用于匹配的电压VTT,VTT为匹配电阻上拉到的电源,VTT=VDDQ/2。DDR的设计中,根据拓扑结构的不同,有的设计使用不到VTT,如控制器带的DDR器件比较少的情况下。如果使用VTT,则VTT的电流要求是比较大的,所以需要走线使用铜皮铺过去。并且VTT要求电源即可以吸电流,又可以灌电流才可以。一般情况下可以使用专门为DDR设计的产生VTT的电源芯片来满足要求。而且,每个拉到VTT的电阻旁一般放一个10Nf~100nF的电容,整个VTT电路上需要有uF级大电容进行储能。
(4)在使用DDR颗粒的情况下,已经基本全部不使用VTT电源,全部采用电阻上下拉的戴维南匹配,只有在使用内存条的情况下才使用VTT电源。
三、时钟设计
DDR的时钟为差分走线,一般使用终端并联100欧姆的匹配方式,差分走线差分对控制阻抗为100ohm,单端线50ohm。需要注意的是,差分线也可以使用串联匹配,使用串联匹配的好处是可以控制差分信号的上升沿缓度,对EMI可能会有一定的作用。
四、数据和DQS
DQS信号相当于数据信号的参考时钟,它在走线时需要保持和CLK信号保持等长。DQS在DDR2以下为单端信号,DDR2可作为差分信号,也可做单端,做单端时需要将DQS-接地,而DDR3为差分信号,需要走线100ohm差分线。由于内部有ODT,所以DQS不需要终端并联100ohm电阻。每8bit数据信号对应一组DQS信号。
DQS信号在走线时需要与同组的DQS信号保持等长,控制单端50ohm的阻抗。在写数据时,DQ和DQS的中间对齐,在读数据时,DQ和DQS的边沿对齐。DQ信号多为一驱一,并且DDR2和DDR3有内部的ODT匹配,所以一般在进行串联匹配就可以了。
五、地址和控制
地址和控制信号速度没有DQ的速度快,以时钟的上升沿为依据采样,所以需要与时钟走线保持等长。但如果使用多片DDR时,地址和控制信号为一驱多的关系,需要注意匹配方式是否适合。
六、PCB布局注意事项
PCB布局时,需要把DDR颗粒尽量靠近DDR控制器放置。每个电源管脚需要放置一个滤波电容,整个电源上需要有10uF以上大电容放在电源入口的位置上。电源最好使用独立的层铺到管脚上去。串联匹配的电阻最好放在源端,如果是双向信号,那么要统一放在同一端。如果是一驱多的DDR匹配结构,VTT上拉电阻需要放在最远端,注意芯片的排布需要平衡。下图是几种DDR的拓扑结构,首先,一驱二的情况下分为树状结构,菊花链和Fly-by结构,Fly-by是一种STUB很小的菊花链结构。DDR2和DDR3走菊花链结构都是比较适合的。走树状结构可以把两片芯片贴在PCB的正反两面,对贴减小分叉的长度。一驱多的DDR拓扑结构比较复杂,需要仔细进行仿真。
七、PCB布线注意事项
PCB布线时,单端走线走50ohm,差分走线走100ohm阻抗。
注意控制差分线等长±10mil以内,同组走线根据速度的要求也有不同,一般为±50mil。
控制和地址线及DQS线和时钟等长,DQ数据线和同组的DQS线等长。
注意时钟及DQS和其他的信号要分开3W以上距离。
组间信号也要拉开至少3W宽的距离。
同一组信号最好在同一层布线。
尽量减少过孔的数目。
八、 EMI问题
DDR由于其速度快,访问频繁,所以在许多设计中需要考虑其对外的干扰性,在设计时需要注意一下几点
原理有性能指标要求的,易受干扰的电路模块和信号,如模拟信号,射频信号,时钟信号等,防止DDR对其干扰,影响指标。
DDR的电源和不要与其他易受干扰的电源模块使用同一电源,如必须使用同一电源,要注意使用电感、磁珠或电容进行滤波隔离处理。
在时钟及DQS信号线上,预留一些可以增加的串联电阻和并联电容的位置,在EMI超出标准时,在信号完整性允许的范围内增大串联电阻或对地电容,使其信号上升延变缓,减少对外的辐射。
进行屏蔽处理,使用金属外壳的屏蔽结构,屏蔽对外辐射。
注意保持地的完整性。
九、测试方法
(1)注意示波器的探头和示波器本身的带宽能够满足测试要求。
测试点的选择要注意选到尽量靠近信号的接受端。
(2)由于DDR信令比较复杂,因此为了能快速测试、调试和解决信号上的问题,我们希望能简单地分离读/写比特。此时,最常用的是通过眼图分析来帮助检查DDR信号是否满足电压、定时和抖动方面的要求。
(3)触发模式的设置有几种,首先可以利用前导宽度触发器分离读/写信号。根据JEDEC规范,读前导的宽度为0.9到1.1个时钟周期,而写前导的宽度规定为大于0.35个时钟周期,没有上限。第二种触发方式是利用更大的信号幅度触发方法分离读/写信号。通常,读/写信号的信号幅度是不同的,因此我们可以通过在更大的信号幅度上触发示波器来实现两者的分离。
(4)测试中要注意信号的幅度,时钟的频率,差分时钟的交叉点,上升沿是否单调,过冲等。