前言
本文只是简要介绍原理图到PCB 的过程;尽量覆盖每一步骤,但是详尽处,可能有所出入;
做成文档形式,更方便索引对应连接、对应资源;并能作为设计参考使用;
基于Altium Designer 16.0;其他版本相差不大,稍作熟悉即可;
一、原理图到PCB(封装及其制作)
首先介绍一下大致的设计过程:
- 原理图库 -> 原理图设计->封装库设计->更新到PCB ->布局->布线->DRC ->丝印
1、封装的制作与管理
1.1、继承
- 继承师兄们的封装库,不是很推荐。
- 可以建立自己的几个封装库,然后用的时候可以从师兄的封装库中参考。
我自己也有些陈年老封装库,前期还在认真的维护,后面就有些乱了,有学弟需要的问我要;
1.2、官网给出、立创商城
- 许多器件对应的厂商会在官网给出自己器件的封装。
- 如intel 的FPGA,会给出cadence版本的原理图符号和allegro版本的器件封装。
- cadence版本的原理图和allegro 的器件封装都是可以用AD来转换成AD版本的;
1.2.1、官网给出的资源及其链接
https://www.intel.cn/content/www/cn/zh/products/details/fpga/cyclone/10/lp.html
https://www.intel.cn/content/www/cn/zh/programmable/downloads/download-center.html
https://www.intel.cn/content/www/cn/zh/programmable/support/support-resources/download/board-layout-test/pcb/pcb-cadence.html
1.2.2、第三方给出的资源及其链接
1.2.3、资源修改 && 自己绘制
- 官网中的原理图库基本都是全的。
- 因为标准封装的推广,官网基本不提供新的封装库了,因为都可以通过工具轻松的绘制标准的封装;
- 对于第三方的资源,有bug 的几率肯定比官方的大。自己还是需要注意下的;
- 我比较推荐,根据第三方大量的资源,进行整合修正,构建自己的封装库;
对于自己画封装:
-
可以先从类似的封装粘贴过来后进行修改;
-
还可以利用封装向导来画;
- 以BGA 封装绘制为例
- 根据手册中的各种参数进行修改即可;
2、更新原理图到PCB
- 更新到PCB 文件中
- 更新到pcb常常会出现错误:
- 一般都是和封装有关,通常都是封装的混乱、丢失,ID无法对应等关系;
- 要想避免这些错误,可以在封装管理中进行批量修改;
3、PCB各层关系
二、布局(技巧)
2.1快捷键设置
- 快捷键设置:ctrl + 常用的快捷键来设置;
- 或者在customize中设置;
- 在alternative中选择,并避开默认的快捷键。如下:设置了:“矩形内排列“,方便布局。或者右键边框选择customize来定制自己的快捷键
2.2交互式选择模式
- 布局布线时候选择交互选择模式;
- 正常只有选择原理图的器件的时候对应的pcb会高亮;
- 选择了以后就可以双向选择;
- 以方便原理图与PCB 的交互使用;
- 设置完后,在布局时可以针对模块框选,再在pcb内使用矩形内排列;
- 所选的器件就会归在圈出来的矩形中。这样来规划整个布局就会很快;
2.3、布局注意事项
器件去耦规则
- 在印制版上增加必要的去藕电容,滤除电源上的干扰信号,使电源信号稳定。
- 推荐电源经过滤波电容后连到电源管脚上。
- 每个IC的电源端口附近都需要摆放去耦电容,且位置尽可能靠近IC的电源口,当一个芯片有多个电源口的时候,每个口都要布置去耦电容。
- 提一下退耦电容:
- 退耦电容并接于电路正负极之间,可防止电路通过电源形成的正反馈通路而引起的寄生振荡;
- 所谓退耦,即防止前后电路电流大小变化时,在供电电路中所形成的电流波动对电路的正常工作产生影响,换言之,退耦电路能够有效地消除电路之间的寄生耦合。
贴片之间的间距
-
贴片之间的间距既不能太大(浪费电路版面),也不能太小,避免焊锡膏印刷粘连以及焊接修复困难。
-
多画几次,就知道每种工艺和手焊的极限。根据这个来布局即可;
-
简单的检查可以1:1打印在A4纸上对比;
-
晶体、晶振、继电器、开关电源等强辐射器件远离单板接口连接器至少 1000mil。这样可将干扰直接向外辐射或在外出电缆上耦合出电流来向外辐射。
-
存在较大电流变化的单元电路或器件(如电源模块的输入输出端、风扇及继电器)附近应放置储能和高频滤波电容,以减小大电流回路的回路面积。
-
感性器件还需要有放电装置存在;
隔离
- 数字器件与模拟器件的隔离;
- 以及数字、模拟地的隔离与单点共地;
更多要求,群里的文件:PCB_CheckList 有师兄总结的一些总结;大家有需求可以去下载查看;
三、规则设定与DRC
3.1规则设定
- 在Design ->rule中,根据自己设计的pcb来设定规则。下面是常用规则的设定;
- 其中很多规则可以再添加几个;
- 线距的规则中可以设定一个信号线的线距和一个铺铜的线距。使得铺铜的线距要大于走线的线距。
- 还可以设置铺铜与过孔,信号线和过孔间距离。这些都和制造PCB的厂商所公布的参数有关。
- 比如下图中,一个PCB厂商嘉立创公布的多层板的最小线距为3.5mil,最小线宽也为3.5mil。但是又有焊盘到线间距离要大于5mil;
- 所以针对嘉立创来做pcb,就要遵循这些规则,所设定的pcb规则也要符合嘉立创的工艺。
- 对于线宽来说,可以对信号和电源的线宽进行区分;
- 首先需要在design ->classes 中设置电源线类,然后再在规则中加一个线宽规则,选择对power线类匹配,再设定要的电源线的线宽即可。一般来说电源线要比信号线粗很多。
7. 线宽可以针对不同的层来设定,因为多层板的中间层和表层铜厚是不一样的,以下面嘉立创的工艺举例,1.6mm的四层板中间层铜厚只有表层的一半。
- 同时有很重要的设置就是优先级设置;
- 要将范围小、更针对性的规则放在优先级高的位置,否则你会发现你画的电源线超过信号线的宽度都会报错。
10. 过孔的大小和连接风格就很简单了,只需要按照pcb厂商的工艺设置即可。
11. 差分线的规则一般在用到差分线的时候才用,后面有机会可以讲一下。一般都是按照不同的差分对阻抗来归类划分。
3.2 Design rule check(DRC)
- DRC就是对设定的规则的检查;
- 一般PCB画完以后都需要手动进行DRC,同时也可以对一些规则设置,在画图的时候就进行检查;这样会增加软件运行时候的负载;如下图所示
- 图中online处勾选会在画图时候就检查规则冲突,而勾选batch则只在手动DRC的时候才检查。
- 另外手动DRC的时候,要记得如果规则冲突超过了500,要改大些,否则有些冲突还没查到,就已经停止了。检查过后就可以看检查的报告,也可在messaga中查看冲突的地方。
四、布线(电源,信号,差分,等长)
4.1电源线与信号线
-
没有特殊要求的话,电源线能走多粗就多粗了;但是因为板子以及空间原因,也不会太粗;
-
在两层板设计中一般选择在背面走电源线的多些,顺便也把退耦电容放在背面了;
-
信号线,如果是射频线,是要根据铜厚,设置50欧姆特征阻抗。普通的线只要不是一会粗一会细就好,以保持阻抗一致。
4.2布线冲突
tips:
- 布线时候经常有些冲突,我一般都用忽略冲突布线,布完了再进行调整。
- 前三个都是经常会用到的方法。
- 当然也可以在布线的时候嗯tab来调整冲突解决方案。
4.3 差分线
差分线优势:
- 差分信号走差分线的优势在于两条走线之前的耦合很好,当外界存在噪声干扰时,几乎同时被耦合到两条线上,使得共模干扰可以被抵消。
- 并且因为两信号的极性相反,对外辐射的电磁场可以互相抵消,耦合的越紧密,泄放到外界的电磁能量越少。
布线:
- 差分信号布线时候需要等长等距等线宽。
- 等长是差分线内部等长,等距是差分线间距相等。其中线宽线距是和信号相关,不同信号要求的差分阻抗不同,从而线长线距也不同。
- 其中最重要的就是等长,因为线长一旦不匹配,不但时序会发生偏移,还给差分信号中引入了共模成分,增加了EMI。
步骤:
- 走差分线之前要先添加差分对,差分对的添加方法有很多。今天讲在原理图中就将差分对进行标记的方法。
- 首先在原理图就将差分对进行标记,同时命名的结尾要是PN 或者±。这个是有要求的,然后再更新到PCB中去。PCB中可以找到之前添加的差分对。
- 可以对不同差分阻抗的差分对进行分组。
- 分组后选择要设定的差分对,针对板材来设定线宽线距。同时注意,表层的设定和内层的设定要区分开来。
- 当设定完差分线规则后,可以在规则中找到设置的差分线规则。
- 最后只需要place –>interactive differential pair routing来走差分线即可;
- 其中,差分线的线距线宽要根据不同差分阻抗来设定,也和PCB板材有关;
- 可以根据PCB厂商公布的板材来计算相应阻抗要设计的线宽线距;
- 当然,像嘉立创这种都有简单的阻抗计算工具,只需要将你自己需要的阻抗和你设计的板子输入,就可输出对应线宽线距。
4.4、等长
4.4.1、单端等长
- 在 PCB 设计中,等长走线主要是针对一些高速的并行总线来讲的。
- 由于这类并行总线往往有多根数据信号基于同一个时钟采样,每个时钟周期可能要采样两次(DDR SDRAM)甚至 4 次;
- 随着芯片运行频率的提高,信号传输延迟对时序的影响的比重越来越大;
- 为了保证在数据采样点(时钟的上升沿或者下降沿)能正确采集所有信号的值;
- 就必须对信号传输的延迟进行控制。等长走线的目的就是为了尽可能的减少所有相关信号在 PCB 上的传输延迟的差异。
- 简单来说:等长线的作用,就是让信号传输的速度一致。
步骤:
- Design->Classes命令,弹出类操作对话框。
- 右键单击Net Classes,左键单击Add Class添加网络类(也就是一个组,对这个组中的所线束进行等长布线操作),可重命名网络类名称。
- 先将等长网络中最长的一根先布好线,并尽量短,其他线布尽量的宽松。
- 然后在tools->interactive length tuning 选择要等长的线,然后摁tab,选择要等长的网络长度,将其设为等长线基准;
- 并设置好蛇形走线布线规则后即可进行等长线调节;
tips:
- 其中快捷键有:1 2 (调节蛇形线倒角);
- 3 4(调节间距);
- <>(调节振幅) ;
- 布线完成后,按R,L输出报告,查看网络是否是等长;
- 该工具还可以检查其他已布好线的网络长度。
4.4.2、差分等长
- 差分等长同样重要,高速信号要注意等长,比如USB、以太网差分数据线;
- 低速信号无需特别注意线长度,比如485;
- 差分线在布线时要2根线要尽可能保持等距 。
步骤:
- 同样在tools->interactive differential pair length tuning 中,选择需要等长的差分线;
- 选择最长的那条差分线,差分等长后同样需要再将单端进行等长。
- Routed length:形象一点理解就是一条有弯道的路,Routed length指在路的中间取线,到达弯道出再取中线,两线长度和。
- Signal length:信号能通过的长度,形象一点理解就是一条有弯道的路,Signal length指这条弯路的最短距离,信号能通过就行。
- 等长布线所谓的等长就是Signal length等长,在一些教程里等长布线检查长度时给出的是Routed length。
tips :
- Gap 需满足 3W 原则【差分等长同理,最好满足 4W,越大越好】,即gap宽度大于两倍的线宽
- 拐角的角度问题;
- 尽量在源端就绕好等长,少在已经差分的地方绕.
五、多层板布线(层叠设计)
5.1层叠设计
- 现在多层板都蛮便宜的,嘉立创10*10以内的四层板打样才30多块,虽然两层板有五块钱的工艺,但是画四层板还是方便很多。
- 推荐大家画小尺寸的4层板,可能效果和成本都更优;
tips:
- 四层板的层叠设计有很多,都是根据自己的要求来做;
- 要是自己板子的电源非常复杂就推荐中间层做一层电源层和地层,表层都走信号即可; 但是信号较多的话,就推荐中间有一层走信号;
- 四层板的层叠设计蛮多的,抛去要走高速信号时候尽量用地平面包住以外,其他都相较随意。
下面有几种网上推荐的四层板的推荐层叠设计:
- 信号层 接地平面 电源平面 信号层
- 信号层 电源平面 接地平面 信号层
- 接地平面 信号层 信号层 电源平面
- 我比较青睐于另一种 ;这样做不仅可以让参考平面将两层信号线隔开来,底层作为电源平面可以将退耦电容放在底面,正面布局会更加优化。
- 选择怎样的层叠设计还是跟自己的板子有很大的关系。
分层注意事项:
- 关键信号线一般都是强辐射或极其敏感的信号线,靠近地平面布线能够使其信号回路面积减小,减小其辐射强度或提高抗干扰能力。
内缩设计:
- 对于PCB中间层的负片层一搬都会设计内缩,一般都是电源层相对于地平面内缩20H;(负片层是与正片层相对的)
- 其中 H 指的是电源层和地层之间介质的厚度, 这是为了减少PCB的边缘辐射。
- 由于电源层与地层之间的电场是变化的,在板的边缘会向外辐射电磁干扰。称为边沿效应。
- 将电源层内缩,使得电场只在接地层的范围内传导。有效的提高了EMC。多的细节还需自行百度。
5.2多层板布线
- 因为多层板的内层铜厚和表层不同,从而阻抗也不同,走关键信号时候,如果打孔走内层,需要将内层的线宽加变化;
- 至于怎么变化,可以通过PCB厂商公布的规格来计算,同样的单端阻抗下内层和表层的线宽不同,阻抗差异也不同;
- 阻抗的差异不仅与线宽有关,还与铜厚与参考层有关;细节处可以自行查阅资料;
- 还有重要信号过孔后尽量在换层的周围打上一些接地过孔,为关键信号的过孔提供额外的回流路径。