前言
工欲善其事必先利其器,先头脑清晰的将原理图中需要约束特殊说明的功能和要求提前仔约束管理器中约束好,避免设计后期阶段出现间距不够、空间不够,无法布线的问题。
试想下,你辛苦布线布局一周时间,正准备发出去制造时候,领导告诉你,你的固定孔位置不合理,你这条线距离边框太近了,你的线间距太近不符要求,这些提出整改项很可能导致之前所有工作前功尽弃!
一、绘制电路板外观
电路板外观一般有2种形式确认,:
一是机械工程师已经确认好外壳和安装位置,电路板外形和尺寸已经确认,由机械工程师提供电路板外观的DXF文件,此时电气工程师导入DXF文件到EDA软件中,此时器件摆放除了符合各种信号规则,还要满足机械工程师要求的特定器件如按钮、传感器位置。
二是电路板尺寸无特殊要求,安装空间一般不受太大限制,此时我们可以先将电子元器件按照原理图中不同功能进行划分摆放在特定的位置,如接头可以放置在电路板边缘,隔离信号放在一起,数字电路、模电电路放置在不同区域内。
我们这里以第二种方式进行举例
此次设计的电路板是一块底板,需要与顶板电路板配合使用,插针和插孔对接,所以需要对齐上边连接器位置,同时信号引出。
1、固定孔位及连接器位置设置
第一步:将单位设置称毫米,将格点设置成1mm,方便我们对齐一些机械位置。
第二步:将安装孔、某些插座的位置提前放置好。
- 灵活利用allergo中的“line"线辅助绘制,类似于机械CAD里的辅助线
- 灵活设置origin原点位置,原点位置并非一定要已成不变,根据设计进度随时调整;
- 灵活使用x 100 y 150(放置在原点的x坐标100 y坐标150)指令;
- 灵活使用ix 100(元件相对当前位置x方向移动100 个单位)指令。
个人习惯在Drawing Format的Class里使用Format绘制LINE线辅助确认位置信息。
例如下图中十字线交叉位置设置成原点,再以此为基础绘制4个顶板固定孔的位置和插座连接器的位置。后续即便原点位置变了,也可以方便得找回来。
2、通过初步摆放元器件位置确认电路板大致外观
此时需要布局电路板上得元器件位置时,则需要设置电路板单位为mil,我一般习惯设置格点为5mil或者20mil,设置为5mil单位方便后续我们对齐一些走线,不至于出现10mil、5mil走线与焊盘出现歪歪扭扭得现象。
2.1 放置元器件
按照原理图结构,将器件按照功能划分,大致放在电路板上,摆出大致的分布图
此时我们得到一个大概得器件分布图,并且能够根据实际器件尺寸估算下电路板尺寸外观大致尺寸。
- 此时如果电路板结构简单并且对电路板外观尺寸无特殊要求,我们可以将器件全部摆放在一层,这样目的是实际电路板在SMT焊接过程中只需要焊接一面,可以大大节约生产得成本。
- 如果我们的生产要求是”尺寸尽量小,结构尽量紧凑“,那么就需要下点功夫,将布局进一步优化,将部分器件放置在电路板背面,但是记住原则,优先布局高速、重要的信号,原因是高速信号因为涉及到信号完整性和阻抗匹配,尽量在顶层或者底层固定一层布线,减少过孔的数量。
2.2 绘制电路板外框和布线区域
- 确认好器件大致摆放器件后,可以将单位调回毫米。
- 根据器件摆放的分布,大致画下电路板外框。
- 绘制好电路板外形图后,再优化,例如51mm取整缩短至50mm等。
- 放置安装孔,放置光标点。
- 绘制布线区域
将格点单位修改为Mil,格点设置称5mil
使用ZCOPY指令,直接将电路板外框层向内缩进30mil并复制到route keepin层,这一步骤一定提前做,否则后边设计过程很容易出现实际布线距离边框过近而无法加工的情况。
可能有同学会问为什么是缩进30mil,其实这就是一个经验值,可能和各个公司的要求有关,也和PCB制造商的加工工艺有关。保留30mil的目的是满足一定的绝缘、布线的问题。
如图所示,黄色线是route keepin区域,确保所有的器件、铜皮、布线都在route keepin区域内。
2.3 元器件位置调整
单位设置回mil,格点设置成5mil,方便后边走线和布局。
一定要灵活使用格点功能,避免对齐命令,而是习惯使用格点来对齐各个器件。因为使用对齐命令往往使焊盘与格点位置出现偏移,布线往往无法可以很顺滑的接入焊盘内
二、 设置层叠结构
在ALLEGRO中设置层叠结构。
我此次电路板比较简单,设置成4层板,顶层和底层布线高速信号,中间层02层设置成GND,作为高速信号的信号回路基准平面。03层设置成电源层,用于区分5V和3V3的电源划分。
中间层设置成负片层,方便后续调整铜皮。
三、 PCB约束设置
个人习惯:一定先设置好、规划好电路板的约束,不要后边LAYOUT结束后点击规则检查出现满屏的报错
下方是各个约束的简单摘要,时间紧迫可直接跳转到3.2开始。
3.1 电气约束简要概述(可跳过):
电气规则栏中设置,包括信号的要求、时序的要求、布线等长的设置等,我这里比较常用的选项使NET栏里进行以下约束
- 引脚对的设置(需创建XNET,XNET通过赋予串联电阻的模型实现,再选择引脚对)
- 差分对的设置(等长使用哪个线当作长度基准,用于走蛇形先匹配等长时使用)
- 等长组的设置等(使用哪根线作为长度基准,用于走蛇形先匹配等长时使用)。
物理规则栏中设置走线宽度、差分对最小线间距,差分对之间间距、走线过孔设置等
间距规则栏中设置线、铜皮、过孔等彼此之间的间距
由于BGA器件封装引脚密集,进行LAYOUT往往布线要比常规布线间距小、线径细,所以一般针对BGA封装器件特殊声明间隙以满足功能要求。
下图是嘉立创的加工参数
其余网络间隔、器件属性和DRC规则栏,一般用的不多不做详解
3.2 电气设置
创建差分线为例子
- 如果差分线上有串联电阻,则需要创建XNET
引用:什么是XNET
创建XNET目的就是设置等长,如果想将AB两个管脚创建管脚对,将NET1、NET2、NET3设置为1个网络就叫创建XNET。
我们看原理图中R20,我们需要在PCB图中赋予R20模型,赋予模型之后,这个电阻两侧网络变成1个XNET网络
-
创建“引脚对”
引脚对的目的就是告诉软件路径,从MCU出发,最终到连接器J1上去 -
将引脚对设置成等长组。
-
具体步骤推荐观看“小哥allegro讲解”的73、74、77、78讲,讲的非常细致并且浅显易懂
3.3 物理规则
3.3.1 默认线宽
如下图所示,嘉立创的工艺参数中,多层板最小线宽为3.5mil,我们的电路板设置最小线宽设置为5mil,最大线宽不做限制
3.3.2 添加默认过孔
只有在约束管理器中添加过孔后,在绘制PCB过程中拉线才有过孔
3.3.3 设置485等低速差分线的线宽和过孔设置
引用:485差分线阻抗要求
1、通过阻抗计算软件计算布线宽度,设置线距设置为10mil、阻抗要求120OHM
我们得到了线宽应设置为6.01mil
在Orcad中新建物理规则,命名为DIFF_120OHM
设置线宽6.0mil至6.0mil,因为后续电路板厂要根据图纸进行微调,所以不比一定要严格设置为6mil,大致这个范围就可以.
由于线宽是6mil左右,设置过孔为VIA8_15(钻孔8mil),删除其余过孔。
四、布局布线
设置好颜色、artwork开展布局布线工作,优先布局复杂重要信号,优先针对蛇形走线进行布线,预留好足够空间,低速信号最后摆放。打开DRC ONLINE,实时显示布局中出现的错误。
绘制完成后添加好尺寸标注、电路叠层结构、钻孔信息等资料。
五、总结
本文章中心思想就是开展PCB实际绘制工作之前,先进行必要的准备工作,甚至可以用EXCEL或者WORD文件中记录好电路板约束。
做好准备再开展设计工作,看似前期浪费些时间,但实际上节约了后续很多返工的时间。