DDR内存的布线经验 1

                                                           DDR内存的布线经验

       目前的嵌入式系统普遍使用DDR内存,有些可以支持DDR2内存,这些系统中PCB Layout就成为很关

键的环节。PCB Layout做的不好可能造成系统运行不稳定甚至无法跑起来。以下是做硬件设计的一点

经验。

   高速PCB信号完整性要考虑的因素很多,从PCB Layout角度出发主要有PCB叠层结构、阻抗结构、互

联拓扑结构、延时匹配(等长)、串扰等,这些因素不仅要考虑,而且相互的影响。我都知道DDR需

满足严格的时序要求,因此对信号走线的延时是有要求的,做硬件设计的几乎都知道DDR布线要做等长

匹配。而另外几个方面就有不少人忽略掉了。

   信号完整性中最常见的问题就是信号的反射,反射会造成信号过冲和振铃,就会影响到电平的判断,

如果过冲和振铃的幅度达到了判断门限,就会出现错误的时序信号。要减小信号的反射就要使驱动端

和接收端的阻抗匹配。为了达到这个目的通常可以在信号之间串接匹配电阻,并且控制信号走线的阻抗。

PCB的叠层结构对阻抗影响很大,因此必须要选择一个好的叠层结构,不能光为了成本减小PCB的层数。

除了控制阻抗外,还要考虑信号的回流路径,和阻抗的连续性。一般信号以(GND)或电源层作为参考

平面。高速信号优先选择沿着信号走线的垂直方向作为回流路径,所以为了保证尽可能短的回流路径

和阻抗的连续性,关键的信号必须有一个完整的参考平面。有些层的信号会以电源层作为参考平面,

但电源层通常被切割层几个区域,信号以电源层作参考平面就会出现跨分割的问题,应该尽量避免这

种现象,对于关键的信号不要布在以电源层作参考平面的层,如果不得已,可以采用跨接电容的方式

来弥补。

   CPU与DDR之间的连线需要综合的考虑上面的几个问题。如阻抗要求,拓扑结构,间距要求(串扰

,等长匹配。阻抗可以通过芯片厂家的提供资料来控制,或者通过仿真来确定最佳的阻抗值。根据阻抗

要求控制走线的线宽和间距。常用的DDR走线策略:

1走线分组

  ARM系统中内存一般为32位或16位,通常使用一片或两片内存芯片组成。可以将数据线分成一组,两

组或4组。

一组的分法即:DATA0—31,DQS0-3,DQM0-3作为一组;

两组的分法即:DATA0-15,DQS0-1,DQM0-1为一组DATA16-31,DQS2-3,DQM2-3为一组;

四组的分法即:DATA0-7,DQS0,DQM0为一组;DATA8-15,DQS1,DQM1为一组;DATA16-23,DQS2,

DQM2为一组;DATA24-31,DQS3,DQM3为一组。

  具体分几组可以根据芯片的数量和走线的密度来确定。布线的时候,同一组的信号线必须要走同一

层。剩下的是时钟信号,地址信号和其它的控制信号,这些信号线为一组,这组信号线也尽量在同一层

布线。

2 等长匹配:

a.DDR的DATA0—31,DQS0-3,DQM0-3全部等长匹配,每一组数据线以对应的DQS为等长目标。不管分

   为一组,两组或四组,误差控制在±25mil。

b.时钟信号,地址信号和其它的控制信号全部等长匹配,以时钟信号为等长目标。误差控制在±50mi。

   另外如果是DDR时钟,要按照差分线要求来走线,两条时钟线的长度要控制在2.5min的误差内,并且

尽量减小非耦合的长度。该组线的长度可比数据线长。走线拓扑可以用T型或星型,不要用菊花型拓扑。

3 间距:

   间距的控制要考虑阻抗要求和走线的密度。通常采用的间距原则是1W或者3W。如果有足够的空间来走

线,可以将数据线按3W的间距来走,可以减小很多串扰。如果空间实在小,至少要保证1W的间距。除此之

外,数据线和其它信号线的间距至少3W的间距,如果能更大则更好。时钟与其它的信号线的间距至少也要

保持3W的间距,并尽可能的大。绕线的间距也可以采用1W和3W原则,优先采用3W原则。

阻抗板的做法:

1、确定板子的层数和板厚

2、规划好走线层、地层和电源层的层叠结构,明确信号线的参考平面

3、预先拟定阻抗线的线宽,如果是单端线确定线宽就行,如果是差分线则先定线宽,间距后面才算

4、预订铜厚,也可由PCB厂来定

5、确定阻抗线要控制的阻抗值,包括单端和差分

6、将上面的要求发个PCB厂,之后PCB厂会计算一个详细的阻抗控制文件,如果上述要求不能满足,可以沟

通调整一些参数,最终既能达到阻抗要求也符合可制造性并且成本最低。

 

posted @ 2020-04-25 08:59  北有寒山  阅读(998)  评论(0编辑  收藏  举报