PCB layout - X86 Baytrail平台布板小结

来源:互联网 发布:创维55v9e网络接口 编辑:程序博客网 时间:2024/06/18 09:35

2014-9-30

X86架构,Baytrail平台。配有DVI显示接口,内存采用DDR3L SODIMM。用mini PCI-e接口接无线网卡。

板边长约为5500mil*4500mil139.7mm*114.3mm

 

1.布线过程

最先完成的是CPUDDR3信号线扇出。接着扇出了CPU的所有信号线 。扇出CPU花费了很多的时间。有很多长走线一直困扰我。扇出过程中很担心之后无法把长线连接起来。最后阶段,花费了两个工作日才把所有的长走线连好。

DDR3的同组信号尽量走在了同一层。扇出时无法同层的,扇出后转到同一层去。布线时把SODIMMBGA规则区移开,绕线完成后再移进来。

各个模块单独完成,模块与CPU之间的信号线和模块之间的信号线最后连接。这类导线是很长的。

最后的细节优化,比如修整铜箔、微调走线和过孔、增加引脚到铜箔的连接线、微调丝印等等。

 

2.遇到的问题和解决办法整理

芯片信号引脚上拉(或下拉)信号的走线可以不用太粗,按照普通信号线的线宽即可。

散热器安装孔旁边尽量不要走线。信号线与孔的距离要远一些,参考20倍线宽的距离。

进行DDR绕线时,把DDR上的规则区域移开。按照普通规则来进行绕线。在万不得已的地方才能按照BGA的规则执行。也就是最后才把BGA规则区域移进去。这样信号线的线宽不会在规则边界处变化,造成反射。内存条的信号线要单独的区域。就算是有空间可以走其他信号线,也不要将其他信号线走在此区域。进行过好几次内存布线,这一次的信号线数量比较大。优先完成此区域,之后要想再调整会比较困难。

设置线宽是为了让PCB工厂做到设计中的阻抗。比如设计50欧姆的阻抗,我们设置线宽为5.01mil。然后在设计说明中写5.01mil是为了做成50欧姆的阻抗。信号从CPU中扇出时用4mil的线宽,扇出后在合适区域立刻变回设计中的5.01mil。这样工厂才能知道哪条线要做成50欧姆的阻抗。板厂检查的依据是设定的线宽。线宽设定的时候宁愿宽一些。到时候板厂调整的余地也就大一些。

对于信号线来说,目的在于控制阻抗而不是线宽。

 

如果有两个地层,一根参考地平面的信号线在换层的时候,过孔旁边要放置一个地信号过孔。地孔连接两个地层,提供最近的回流路径。

特殊信号和关键信号旁边可人为的用地线包裹。包地是一种有效的手段。可多使用一些区域来包地隔离。后期需要空间的时候可以再削减。

板子边缘用地线隔离开。


3.检查问题

一纵一纵的走线,之后再散开奔向目的地。

 

3.1    CPU  

成板Top层,CPU扇出完毕后,放了一大块地铜箔。这个铜箔边界包括了整个CPU+Vgfx+Vcore连成了网格状。敷地铜箔增大了散热面积。

 

3.2    ISL95837

DC-DC控制芯片。在布线时没有注意到这一点。采用的全部是默认线宽。而成板中,用默认线宽从pin脚引出,立刻转变为20mil线宽。除了控制信号(如svidprochot_NVcore_pwrgd_F和差分信号),都采取20mil线宽。

 

3.3    USB HUB 2064

QFN封装。成板上,U101的大焊盘上打了25个过孔。我的只有9个。成板上,每一层都有相应的铜箔在大焊盘下方。这样散热很快。成板上的晶振(X4)下方Sig1层有两对差分对经过。

 

3.5    DDR3

DDR3区域,我的走线十分散乱。一个重要原因是SODIMM引出太过随意。成板上引出导线的过孔排列整齐。走线清晰,美观。每两个过孔中间,都有一个+VsmGnd过孔。视BOTTOM的参考层而定。如果参考的是Gnd,则放置Gnd过孔。+Vsm同理。除了地线可以向接口外引出,其余信号线都是在接口内部换层。而且换层的走线很短。

 

返回路径以及参考层:在信号过孔50mils范围内放置缝合过孔。信号过孔和GND过孔数量比为2:1我的板信号换层时没有注意放置缝合过孔。

对于数据线(Data)要严格遵守同组线走在同一层的规则。就算扇出时不在同一层,扇出后立刻找到位置换到同一层。而地址线(MA)也要尽量走在同一层。成板中,MA线走在了不同的3层。把地址线全部束缚在一个空间里。我全部走Sig1层,但到SODIMM接口时有些线换到了Top层。同组线没做到同时换层。扇出后适当调整扇出顺序,能够减少换层。我的地址线线宽为5.02mil,成板中为7.5mil。我是按默认线宽设置走线,没有注意到这个差别。

绕线时,我有许多线在DIMM下方进行绕线。实际上应当尽可能在main route区域绕线。扇出后,线宽立刻变为默认线宽。一直到DIMM引脚。保证阻抗连续。

成板的DDR3信号线在每层都用地线围了起来。clk信号并没有用地线包裹。

 

3.6    PCIe

TXRXbreakoutbreakin区域,需在不同层走线以减小串扰。成板的TXRX信号走的都是Top层。在扇出时是在不同层。我的走线是扇出后一直在不同层。但是会阻碍别的信号线。在6层板中,若要TX RX走不同层且均参考地平面,空间上比较难规划。因为这两个信号的方向是一样的。如果有3个参考地平面的信号层。可以将TXRX信号走在不同层。

 

3.7    DVI

成板DVI接口的RGB信号线被地线包裹保护起来了。RGB信号之间也有地线隔开。可以在接口附近进行一些绕线,不一定只在中间绕等长。我的走线没有用地线进行隔离。

所有线长匹配要求都是包括封装长度(将从原理图带入)。

成品的DVI接口下方没有大面积铜箔。只是用地铜箔围住了引脚。

 

3.8    音频模块

音频模块比较特殊,这里划分了数字地和模拟地。数字地和模拟地之间的壕沟至少是60mil。我认为在GND层负片划分时可以用61mil宽的线来划分。任何信号都不能跨越这个壕沟。但是电源线和不参考壕沟所在的GND层的信号可以跨越。不幸的是我有6条信号线跨越了壕沟。成板是将信号线走在离壕沟有一定距离的地方。

成板在话筒和听筒接口下方各个层都铺上模拟地铜箔。在Sig1层,模拟地铜箔更是覆盖了整个模块。这样做的目的是将模拟信号完全封锁在这个区域。话筒和听筒的接地管脚接在模拟地上。

 

3.8    SATA

按照checklist的要求,SATA信号必须参考GND。如果无法避免更换参考层(比如参考GND更改为参考POWER),必须在适当位置放置缝合电容(1uF或者更小容值)。SATA信号最多只能更换1次参考层。

在这种情况下应首先保证参考GND,不换层。

要求SATA信号距离板上任何过孔至少20mil

3.9    USB

USB HUB热焊盘上有25个过孔。每一层都有一个地铜箔。没有任何一条信号线通过这个热焊盘下方。晶体与芯片之间有走线。因为Hub芯片已经很接近板边了,空间不足。至少保证了晶体下方无走线。

USB接口下的铜箔离板边至少1mm。可以在每一层都放置接地铜箔。在处理这部分的时候就要把铜箔铺好。放到最后处理会耗费很多时间。这里有5个并排放置的USB2.0接口,用铜箔把地线都连接起来,但是不要直接连接到旁边的DVI接口。

3.10    网卡

网卡的MDI信号需要等长处理。之前我并没有注意到这个问题。看了成板上有绕线后才发现。这4对差分线大概都是1170mil

 

4.走线规划

信号线主要走在topSig1层,它们都以Gnd层为参考。规划很清楚,Top层走竖线,Sig1层走横线。这样最大程度上避免了两层的路径都被封锁的情况。成板的Sata差分对往右边走,我的是在左边。TopCPU左上方区域空间不足。Sata差分对在Sig1层竖直方向走线。这样在竖直方向上Top层和Sig1层都有走线,封锁了一大块区域。

 

Sig2层主要走电源线。能用铜箔的地方就不用导线。成板中几乎都是铜箔连接。我打算的是先用20mil导线连接,再统一用铜箔替换导线。这个替换过程比较耗费时间,毕竟有很多电源线。电流大小主要参考原理图中的power list。但是我对那个表格的数据有些疑问。疑问见最后。

 

板边用地铜箔包裹起来。不要节省空间,尽可能宽大。接地的螺丝孔要多连些导线到地。在板边,每一层都可以放置地铜箔。接地螺丝孔和地铜箔最好可以连接起来。

 

对于用作开关的三极管和Mos管,控制信号线宽取8mil即可。

音频模块,有数字地和模拟地之分。ALC662音频芯片下方Top层铺铜。Sig1Sig2Bottom层,铺模拟地(Gnd_S)铜箔。

 

两层的地平面直接用过孔连接起来。在每个信号通孔旁边提供接地通孔,这样做的目的很明确,就是为了让返回电流在平面之间跳跃。确保到处都有许多接地通孔。无论一个信号通孔在哪里,它的返回电流将不用转移很远去找一个地方跃层。

 

 关于铺铜时creat pin voids

铺铜时,由于铜箔与pin的间距问题,在pinpin之间经常会产生一些尖角,甚至产生问题。一个个修改铜箔边界又很麻烦。在shapeparameters里面有个功能,Void controls选项卡create pin voids选中In-Linedistance between pins里填上引脚间距,铜箔会自动避让开,边界成一条直线。填入的数值必须大于引脚间距。否则不会避让。即这个间距以下的都不会产生尖角。一个铜箔只能避让一种间距的引脚。parameter可以用shape select选中后右键找到。


铜箔边界得和pin平行。输入数值50,间距小于50mil的都不会产生尖角。



0 0
原创粉丝点击