本人已从事无线通信行业多年,做过一段时间的硬件研发,摸索出了一套独特的硬件设计流程,以保证产品从设计到最终的PCB都不会错。我想借助无线时代与大家分享这样的设计流程。
我将从以下几个方面展开说明:
- 概述
- 框图设计
- 原理设计
- 元器件信息库CIS
- BOM生成
- Gerber生成
- 坐标文件生成
1. 概述
硬件设计从概念到PCBA,中间包括许多环节。
硬件设计不允许硬件工程师反复打板验证,如何保证PCBA的准确性,是一个值得研究的课题,Tom认为唯一的办法就是:抓住每一个细节。
本文不探讨原理方面的内容,假定原理都是准确的。
本文只探讨实际操作方面的内容,包括软件,各种工具的使用。
硬件设计流程概览
多个部分涉及到软件/工具的使用技巧。
2. 框图设计
框图设计有利于加深我们对产品的理解,简单的示意图可以传递丰富的信息。
3. 原理图设计
原理图描述各种元器件的选型及相互的连接;
首先,设计准确的前提下,连接方式就是准确的;
其次,元器件选型,只有元器件选型不发生错误,才能说原理图是准确的。
元器件选型要点
采用统一的,规范的元器件数据库;
原理图上能用相同规格的元器件,尽量选择同样的厂牌,型号;
原理图上默认阻容感器件封装为0402,特殊要求的最好在Value中体现;
为所有的不进行贴装的元件增加统一的DNS(Design Not Stuff)属性;
例如,所有0.01uF电容均采用MURATA GRM155R71E103KA01D;
例如,C664要有较高的耐压值,因此直接将其Value改为0.015uF_50V。
DNS属性
4. 元器件信息库
元器件信息库记录了所有已经使用过的元器件;
描述,厂商料号,厂商,封装,生产物料名称等信息都记录在内;
通过Link CIS可以为原理图上的每一个器件分配合适的属性。
Link CIS
5. BOM生成
BOM描述了产品设计中用到的电子器件;
BOM要绝对准确,不能有任何错误;
元器件的数量,厂商,厂商料号,描述,位号信息一个都不能少;
BOM只给出贴装的元器件,不进行贴装的不要发布;
在原理图设计完成时,可以先给出一版BOM,用于采购;
PCB设计完成时,是BOM真正完全确定的时候,用于配料,生产,不得有任何错误。
BOM检查
向元器件数据库中新增的物料需要多方核对,确保万无一失;
BOM中的物料需要逐一核对。
红色背景处的物料,我们预期是0.1uF的电容,结果不小心选择了10pF的,这种错误很常见,需要重新针对这些物料Link CIS。
Value一栏是我们希望的值,也是我们在原理图中输入的值,所以,当我们发现描述与Value不符时,一定是选错料了。
BOM发布
逐一核全部物料和相应的描述;
可以使用相同规格的物料,尽量统一,可以减少物料种类;
删除所有不贴的器件,即我们之前曾经添加过DNS属性的器件;
6. Gerber生成
需包含走线层,阻焊层,锡膏层,丝印层,外框层,钻带文件;
Gerber文件要求不重复,不遗漏;
推荐使用标准模板进行PCB设计,这样就不用反复设置Gerber的参数。
7. 坐标文件生成
坐标文件描述板上器件的位置,旋转角度及器件Value;
坐标文件用于贴片厂,将坐标文件输入贴片机,可以加速SMT过程;
坐标文件需要100%准确,不得有任何错误。
坐标文件五大项:REFDES,SYM_X,SYM_Y,SYM_ROTATE,Value。
原始坐标文件的生成
将PCB设计文件转换为mm作单位,Setup-->Design Parameters—>Design;
点击Tools-->Reports,在Available Reports中双击点选Component Report,然后点击Report,即可得到
原始坐标文件的处理
将原始坐标文件复制出来到Excel中;
删除Title信息,并依个人喜好调整字体,表格高度等信息;
按REFDES排序,准备与OrCAD的BOM结合。
OrCAD导出特殊形式的BOM
勾选Place each part entry on a separate line;
我们看到,每个元器件都占了单独的一行;
删除Title信息,并依个人喜好调整字体,表格高度等信息;
按照Reference排序,准备与坐标文件结合;
将坐标文件与BOM结合
复制value,MFG_Value,Description,Package,Quantity,Vendor,Vendor PN,DNS信息;
粘贴至坐标文件中;
依个人喜好调整字体,表格高度等信息。
删除DNS器件
按DNS排序,删除所有DNS器件。
检查坐标文件
按MFG_Value排序,比对Description,看是否一致。
删除无用信息
只保留REFDES,SYM_X,SYM_Y,SYM_ROTATE,SYM_MIRROR,MFG_Value。
区分正面器件与背面器件
按照SYM_MIRROR排序,NO为正面器件,Yes为背面器件;
分别将Yes与No的器件粘贴至两个独立的shee;
正面器件的坐标,删除SYM_MIRROR属性,就是最终的;
背面器件的坐标,需要做镜像处理,删除SYM_MIRROR属性,就是最终的。