6.封装
6 j$ Y" u4 S6 i( R我并不是一开始就先学做封装的,画了很久的板子才接触画封装,也不知道是什么时候学会了做封装。 现在游泳条件好多了,我学游泳那会7 8个人就1个轮胎,我忠厚又老实,就抱着那7 8个人的拖鞋浮在岸边学。 做技术就像游泳,淹几次失去理智,半死不活,就学会了。 1 o7 b% s0 K5 T3 f
做封装,我也犯过几次大错误,我是EDA365最早一批的认证设计师,一次项目中用了自己库里的封装,没有反馈给EDA365,生产出来封装对不上,幸好能勉勉强强手工焊上,谢天谢地。 翻车经历,最后面会细说。
* f& e7 A9 N( y
6 J$ m8 K/ T: z
对于新手来说,封装是无从下手的,它不像画板子,它是一个完完全全“从无到有的过程”。 到底画多大?怎么命名?什么是阻焊层? 越多知识盲区的,心里就越没底。 有资料,看半天都看不懂,又想一次性弄懂,电脑前发了一下午的呆,到了吃饭的点,要不先吃饭吧。 学做封装的第一个技巧: 无论你会不会,先动手
其中道理很简单,很多人常识里的榴莲是臭的,是不是真的臭Ta没尝过,甚至都没近距离闻过,却恐惧了一辈子的榴莲。 不尝一尝,永远不知道 ; X. Y. ]- P8 c
简单点说:画板就是基于原理图的电气连接关系,在一个板框里,对PCB封装进行连接。 再假设,该项目是一个“真的拉通就行的板子”,那在电气连接上(布局布线)不会影响到设计,真正有影响的,是PCB封装。 如果PCB封装是设计中出了问题,如果出了问题,严重程度不亚于: 板子开路(没有拉通,怎么灯不亮),板子短路(不同网络连到一起,怎么板子冒烟了)
可能造成的影响: 损害电子元件器 板子报废 元件焊不上去,或者能焊上去但不能量产 实物比封装大,导致这个焊了,边上的不能焊 实物比封装小很大,在寸土寸金的高密度板子上,浪费,白白浪费空间 元件引脚做多了,存在管脚排序错误隐患和误解 元件插件孔太大了,焊接后一致性差 元件插件孔太小了,插不进去
出现任何一个问题,都有一种负罪感,没有到“剖腹自尽”的程度,“负荆请罪”的念头还是有的。 在日本文化中,人们相信灵魂藏匿在腹部。剖开腹部的自杀方式最容易让灵魂释放出来。也就是说,在这个过程中,虽然肉体是痛苦的,但灵魂却是愉悦、自由的。
如果真出现了,不要害怕,不要解释,不要甩锅,公司需要的是你的态度,你的担当,你的责任感。 做设计,出问题都是正常的,不出问题,一版必过,还叫设计吗? 处理的方法应该是: 怎么在现有基础上解决问题,不耽误项目的进度 怎样避免下次再出现这种问题
0 T0 G8 j' O5 |4 X7 A: z2 v本小节通过一个小案例来辅助讲解,该有的都有,举一反三。
\' Y* z( V2 `7 d+ x画好一个的PCB封装要关注以下内容: - 单位
- 焊盘类型:通孔/贴片
- 管脚个数和排布
- 焊盘形状
- 焊盘大小
- 阻焊,钢网焊盘大小
- 焊盘间距
- 焊盘跨距
- 本体大小
- 高度属性
- 管脚序号
0 A$ d$ Y8 P9 G# d9 X6 Y8 }& [
如果你是第一次做封装,强烈建议你先拿一张纸,依次按上面的标签,写下对应的参数,等到画封装要参数的时候就不会每次都重新进入思考模式了。
# A" h2 e/ Z5 L0 j$ I第一次做封装的人,看到一大堆参数,就像看到了英语一样,拆开每个都认识,合一起一个都看不懂。 下图的框住的参数,是什么意思? 这是两种单位,从常识上来分析,“6.00”可能是什么单位呢? 如果是米,6米有两层楼那么高了。 如果是分米,6分米有手臂那么长了。 如果是厘米,6厘米有鼠标那么宽了。 如果是毫米,6毫米是小拇指指甲大小,这就对了。 单位相当重要,弄错单位,是要被全网嘲讽的。 (找一张图找了一个多小时,还是没找到,图片是一个工程师看着打样回来的板子发呆,PCB做到了40倍) 做封装,都以“毫米”为单位。 6.00是“毫米”,0.236是“英寸”等于236“密尔”。 后面的“±”是公差,即该长度在“5.7-6.3”之间。 7 t; u6 D: h5 z0 E a
Allegro画封装要单独先把焊盘做出来,焊盘用“Pad Designer”软件,在WIN菜单下能够找到。 修改单位为“毫米”,如下图。 下半区域的参数不用设置,它是通孔焊盘的设置。 ; L$ i" F/ c2 f. |8 ]8 `
* w" W! D% c: N% q
怎么区分? 看管脚的角度 如果是横着的,就是贴片的; 如果是竖着的,就是插件的。 - 管脚个数和排布0 K3 ]6 ?! f# [& `5 N1 ]
8个脚,逆时针顺序。 有些封装中间会有散热焊盘,可以写8+1。 $ O- Q# `! k' l, s) C: N( F
- 焊盘形状4 |9 r j) S4 w6 J# `' E
“Pad Designer”软件切换到“Layers 层”,贴片元件将下图方框勾选,箭头位置修改焊盘类型。 其中包含: 没有焊盘 圆形 方形 椭圆形 矩形 八角形 异形
用的最多的是圆形和矩形。 1号管脚要不要弄特殊一点,如1脚用矩形,其他脚用椭圆形。 个人觉得没有必要,标个“1脚标识”是最直观的,如下图小圆点。 焊盘大小 元器件实物管脚长度为0.5±0.2,短了焊不上或者焊不牢靠,取最长的0.7。 另外,鞋要比脚长,不然会磨脚,焊盘也要比实物管脚长,才好上锡,尤其是手工焊接。 在0.7的基础上,再加0.3,即1毫米。
长点焊的稳,焊的死。 实物管脚宽度为0.41±0.1,从图上可以看出管脚间距是比较大的,因此,管脚宽度直接取最大值,取0.5。如果两个管脚间距很近,则不加宽焊盘。
3 Y+ V. e2 E6 V
- 阻焊,钢网焊盘大小
2 L/ e& k. Y0 A5 ^7 Y: z; B8 D k# P
贴片元件要开钢网,过回流焊,钢网跟焊盘一样大小。 焊盘都要开窗(设置阻焊层),开窗比焊盘大0.1mm。 设置完成后路下图所示: 注意,阻焊层比焊盘大0.1mm。 # p! H. \3 e4 k" k) A8 |7 o
到这里,一个焊盘就做好了,等会要换软件,最最纠结的事情来了,这是困扰每一个的问题。 保存时怎么命名? 比取网名还难,是叫“追风少年”,还是叫“唥硞菂尐爺”,每个都觉得合适,每个都觉得差点意思。 我的命名是: SMDR-0_5X1_0
命名逻辑是: SMD(贴片,如果是插件TH)+ R(矩形,如果是圆形C,取焊盘类型的第一个字母)+ 0_5(长宽)X1_0(长宽)
这里的长宽,不一定是实际意义的长宽,长宽是可以对换的,焊盘旋转下而已。
" b( z) B5 b* a. }1 X4 Z( t9 h; S0 ~
把焊盘保存到库里,现在来新建封装,烧脑的来了。 打开软件,New,先随便取个名字,现在讲了,怕给你讲晕了。 修改下单位。 - 焊盘间距
) a+ l4 W1 B# u5 P- `# N' Z* W, @
按下面操作,把焊盘调出来后,右键“Rotate”旋转90度(不知道你设了快捷键吗,旋转要设置快捷键),与规格书方向一致,在放置前在命令栏输入: x 0 0 把焊盘放置到原点。 把格点修改成管脚间距1.27,放置同一列的另外3个焊盘。- o% ]. J6 N8 U1 V
& ]. F1 S4 `0 B7 T4 G- `- 焊盘跨距2 U" }# i [2 u3 ~" j4 e
通过复制命令(Edit - Copy),复制4个焊盘到右侧。 测量一下最边缘的距离(不测量暗绿色,暗绿色是阻焊)。 测出来是4.8mm,两个管脚最边缘实物是6.3。根据“鞋要比脚大”原则,4.8是不行的,我们在焊盘长度上加了0.3,这0.3应该是管脚边缘之外的。 所以,两个管脚最边缘实物应该是6.9。 6.9-4.8=2.1 选中右边的4个管脚,一起再往右移动2.1(选中移动过程中输入:ix 2.1),移动完成后再次测量确认是不是6.9。
% L8 J0 O5 j+ b* d! O 在这里分享下由于我做封装的第2个技巧: 封装两边管脚的距离是很难算的,先不管距离放下去,通过量最外边的距离,看下少多少,多多少,再算出要移动多少
这个经验,百试不爽,且由于会测量,测量属于检查,能大大减少出错的几率。 ! t. @$ P* w: z' d: f c' s
封装的原点设在哪? 默认是设置在封装中心的,但是,对于三极管,座子等找中心是很难的,因此: 芯片封装设置在中心 座子等异形的设置在 1 脚
算出这封装的中心,把原点改过去。 接下来画丝印,本体丝印大小为: 纳尼?5.13??? 丝印不用精确到小数点后两位,加工的误差都不止这一点,不按四舍五入,用往前一位的方法: 3.95直接取4,5.13直接取5.2
长为4,高为5.2,执行画2D线的命令,选择丝印画在这个层,Package是封装的意思,Silkscreen_Top是封装顶层。 把线宽修改为0.1524(6mil),太细了板厂生产不出来的。 在命令栏输入(每次输入后回车): x 0 0 再输入: x 4 0 x 4 5.2 x 0 5.2 x 0 0 一个矩形就画好了。 移动矩形框时,修改下“移动形式”为“Body Center”,按中心移动,这时鼠标光标在矩形框的正中心。 在命令栏输入: x 0 0 自动以封装正中心放置了。 如果没有下图左上角的圆圈和斜线,在PCBA(生产出来的板子)是无法辨别方向的,因此,需要加上一脚标识。 - 高度属性
" f# y e: j0 O& @1 v! `
装配层在生产中是不用表现出来的,只是用来看的,所以没有线宽的要求,线宽用0。 跟着丝印层的描一遍就行。 添加文本,在“REF DES - Silkscreen_TOP”,“REF DES - Assembly_TOP”,“Component Value - Silkscreen_TOP”,这三个层输入个“#”。 如果要规范点,可以输入该元件的前缀,比如SOP8是芯片,输入“U*”,自己一个人用的没有啥必要。 这里输入的“#”,是一个临时的数据,会以原理图上的命名为准。 这几部做好了,如下图所示,#的位置没关系,后面要调丝印的。 最后,给封装增加安全区域,安全区域可以比器件稍大。 用铜箔命令,在“Package Geometry”,绘制一个矩形框。 通过下面命令,Find上选择“Shapes”。 选中铜皮,弹出下图对话框,设置封装高度。 - 管脚序号& k) Y! h, j. _/ X- r" h/ r
修改下管脚编号,封装97%都是逆时针的管脚排序。 0 \# t) c* Y+ _; v% W, E
保存一下,一个封装就做好了。 封装名怎么取,这是一个大课题,后面我再补充,这个封装按:SOP8-4X5_2-1_27命名。
% ~+ x4 A! U& DEDA365外包项目封装出问题是我记忆犹新的一次翻车经历,导网表时缺少一个TSSOP16的封装,我搜了一下PADS软件自带的库里面有类似的封装,直接用了自带的库里面的SSOP16替代着先把网表导进去。把问题汇总一下,一起反馈给跟我对接的版主。 好记性不如烂笔头,吃顿饭啥事都忘了。 等板子生产出来,版主给我反馈了封装出了严重问题,最终客户非常不满意。 那一刻,我不知道怎么回版主的信息,这么大的一个项目,桶那么大的篓子。 我想说这个项目的设计款,我不要了,但仔细一想,万一对方回个:好,客户这边也不想给设计费。 在美滋滋的设计费面前,我懦弱了。 到了吃饭的点,先吃饭吧,吃顿饭啥事都忘了。 上图红色的我库里调的封装,蓝色的是正常的封装。 下午上班,版主又给我发了信息,我回了个:啊。 后面压力没有给到我这边,也没扣我的钱。EDA365抗了下来,现在想着还是有点愧疚。 一定一定和核对规格书 用替代的封装,一定一定要及时沟通,并得到反馈 : }# v8 v% [, D( v- D. M% i
还有一次,是一款国内知名芯片设计公司的板卡,一个硬盘的PCB封装,管脚序号顺序标错了。
# K1 z r' R8 Q( r' d; n
; K0 j ~5 c+ z* b. @. k8 Q8 I最终这个项目设计费尾款没有收到,客户还说过要赔偿误工费。
" V3 _* E( k4 @# c! E9 {' z一个封装做错了,足以坏掉一锅粥。 , w( P2 m: M7 ~# d9 Q
$ ~/ s; L5 E- ~# H- L* w# y p+ C |