原创 DDR内存布线经验

2012-6-21 10:27 1930 12 13 分类: PCB

DDR内存的布线经验

 

目前的嵌入式系统中普通使用DDR内存,有些可以支持DDR2内存,这些系统中PCB LAYOUT成为很关键的环节。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为一组,DATA23-32,DQS3,DQM3为一组。
具体分几组,可以根据芯片数量和走线密度来确定。布线的时候,同一组的信号线必需要走在同一层。
剩下是时钟信号,地址信号和其它的控制信号,这些信号线为一组。这组信号线尽量在同一层布线。

2.等长匹配
a. DDR的DATA0-31,DQS0-3,DQM0-3全部等长匹配,每一组数据线以对应的DQS为等长目标。不管分为一组还是两组或四组。误差控制在+-25mil。
b. 时钟信号,地址信号和其它的控制信号全部等长匹配,以时钟信号为等长目标,误差控制在+-50mil。另外如果是DDR时钟,要按照差分线要求来走线,两条时钟线的长度要控制在2.5mil的误差内,并且尽量减小非耦合的长度。该组线的长度可比数据线长。走线拓扑可用T型或者星型,不要用菊花型拓扑。
3.间距
间距的控制要考虑阻抗要求和走线的密度。通常采用的间距原则是1W或者3W。如果有足够的空间来走线,可以将数据线按3W的间距来走,可以减小很多串扰。如果实在不行至少要保证1W的间距。除此之外,数据线与其它信号线的间距至少要有3W的间距,如果能更大则更好。时钟与其它的信号线的间距至少也要保持3W,并尽可能的大。绕线的间距也可以采用1W和3W原则,应优先用3W原则。

阻抗板的做法:

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

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

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

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

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

6.将上面的要求发给PCB厂,之后PCB厂会计算一个详细的阻抗控制文件,如果上述要求不能满足可以沟通调整一些参数,最终达既达到阻抗要求也符合可制造性并且成本最

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2012-12-8 10:12

初学DDR布线,请问能帮助确定走线阻抗的仿真软件是什么? 谢谢! 有资料请发lgzxl@163.com

用户188034 2009-9-14 19:45

相关推荐阅读
wangqiaoyu_888_963244381 2015-08-28 11:42
【创客】先专注而后全面
      学生时代学的是FPGA相关课程,参与的也是与FPGA相关的项目,毕业后进入一家公司分配的是不相称的职位,正好熟人介绍到新公司做嵌入式电路设计,也算是和原来的学习所得有交叉。    ...
wangqiaoyu_888_963244381 2015-08-27 16:43
【创客】我的DIY之路
1 题记           路漫漫之修远兮,吾将上下而求索!---- 从大学时就喜欢电子电路设计,只可惜开始没有遇到高明之士,也怪自己不够狠心,导致浪费了很多宝贵的时光。 当初对于软件编程更是满怀...
wangqiaoyu_888_963244381 2015-02-28 14:07
【博客大赛】什么是NEMA?
在项目使用的一个蜂鸣器手册中看到了NEMA 3R/4x/12资质,就查找相关资料探个究竟。以下是搜集的NEMA部分资料。 NEMA全称是National Electrical Manufacture...
wangqiaoyu_888_963244381 2013-11-25 20:11
【博客大赛】pspice介绍
PSpice软件的发展: Berkley:    SPICE  (Simulation Program with Integrated  Circuit          Emphasis) ...
wangqiaoyu_888_963244381 2013-11-20 22:40
【博客大赛】chs使用略谈
       这两天正在用chs的captial logic来绘制系统电气原理图,感觉功能很强大,在此稍微做个介绍。      Capital Logic是电气系统的逻辑设计工具,它提供一...
wangqiaoyu_888_963244381 2013-11-17 20:37
【博客大赛】CRC16 verilog产生程序
        生成CRC码的基本原理:       任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为...
EE直播间
更多
我要评论
1
12
关闭 站长推荐上一条 /3 下一条