
画封装这件事看着简单真正动手后才发现坑不少。刚接触Altium Designer那会儿我以为画PCB封装就是把芯片手册上的尺寸照抄一遍结果第一版板子打样回来引脚间距差了0.2mm硬生生飞线才调通。从那以后我才意识到PCB封装是连接原理图符号和真实元器件之间的桥梁画得准不准直接决定板子能不能装配、能不能焊、能不能过回流焊。这篇文章我就把Altium Designer里绘制PCB封装的完整思路、操作步骤和我在实际项目中踩过的坑一次讲清楚适合刚入门想自己建库的硬件工程师也适合已经画过一阵子但总觉得封装不太规范的朋友参考。1. 封装尺寸从哪来数据手册与IPC规范的实际配合很多人打开Altium Designer就急着放焊盘其实在一笔都没画之前最重要的工作是读图。你把元器件数据手册里的封装图纸看懂、看透后面所有参数都不会飘。1.1 数据手册的机械图怎么看每一份正经的元器件数据手册末尾几乎都有Mechanical Dimensions或者Package Outline Drawing这一节。以一颗常见的SOT-23三极管为例手册上会给出E、D、e、A1、L等一串字母参数。这里头最关键的是焊盘设计必须参考的那组值而不是芯片本体尺寸。具体来说E和D是器件本体的宽度和长度画丝印时要用它来确定器件轮廓。e是引脚间距这是焊盘定位的基准绝对不能错。L是引脚末端伸出长度焊盘长度要参照它来设计。A1是器件底部到引脚平面的高度做3D模型或检查干涉时需要用到。很多新手把E和D当成了焊盘位置来用丝印画得比实际焊盘还大一圈表面上看不出来真到了贴片机上视觉定位就会出问题。我的习惯是先把手册里的封装图纸截图放大用PDF测量工具把每个尺寸标注出来再对照数据表里推荐焊盘的那一栏很多手册会额外给Recommended Pad Layout。1.2 从器件尺寸到焊盘尺寸裕量怎么加器件引脚尺寸和焊盘尺寸之间不是画等号的关系中间要留出焊接裕量。焊盘太小焊接时没有足够的润湿面积虚焊风险高焊盘太大引脚之间容易桥连尤其是间距小的贴片器件。实际项目中我一般按这样的经验值来加裕量贴片电阻电容如0603、0402焊盘宽度比引脚宽0.1mm到0.2mm焊盘长度比焊盘接触区多出0.3mm以上。SOP、QFP这类翼形引脚焊盘长度是引脚长度L加上0.5mm左右的延伸焊盘宽度是引脚宽度W加上0.2mm左右。通孔器件如DIP焊盘外径一般是孔径的两倍左右孔径比引脚直径大0.2mm到0.3mm。这些其实都有现成的标准可以参考。IPC-7351就是专门讲贴片焊盘设计的规范里面的计算公式、推荐表可以直接拿来用。我不建议死记硬背公式但至少要知道IPC-7351里焊盘分为Density Level A最宽松、B常规、C最紧凑三档常规量产选B档就够了手工焊接或维修频繁的板子可以放宽到A档。1.3 引脚编号与方向确认画错一步全盘皆输画封装之前还要确认一件事引脚1到底在哪里。数据手册里通常用一个小圆点或者倒角来标记第一脚封装图上会标注Top View顶视图还是Bottom View底视图。这一点特别容易出错尤其是二极管、三极管这类方向性器件。我自己的习惯是先在原理图符号里确定引脚1的位置再在PCB封装里用同样的方向去画。如果符号和封装一个从上往下看、一个从下往上看最后导入PCB时就会出现引脚镜像板子上所有二极管极性反掉。AD里画封装时默认是Top Layer俯视角你按数据手册的Top View去画就行。如果手头只有Bottom View的封装图记得要镜像之后再画。2. 在AD里建立封装库向导生成与手绘两条路径怎么选尺寸分析做完接下来就是在Altium Designer里动手了。新建封装库这个动作本身不复杂但很多人在向导和手绘之间犹豫不决。我的判断标准很简单标准封装有现成模板用向导非标器件或空间受限的封装必须手绘。2.1 新建PCB封装库的操作与工作环境准备打开AD依次执行File → New → Library → PCB Library就建好了一个空白封装库文件.PcbLib。这个文件里可以放好几个封装相当于一个封装集合。建好之后建议先做两件基础配置设置原点Edit → Origin → Set把坐标原点定在封装中心或引脚1位置。封装中心是默认最稳妥的选择后续旋转、定位都方便。设置栅格View → Grids → Snap Grid根据封装精度设置栅格大小。贴片封装用0.1mm或者0.05mm网格通孔器件可以放宽到0.25mm。AD默认公制英制切换的快捷键是Q键画之前一定确认当前单位我见过有人用英制网格画公制封装所有坐标全部跑偏。还要养成给封装命名的习惯。AD的PCB Library面板里右键可以重命名封装命名建议遵循厂商型号封装名的结构比如STM32F103-TQFP48看到名字就知道是给哪颗芯片用的后面做BOM核对时能省大量时间。2.2 IPC封装向导适合标准封装的高效路径AD自带一个IPC Compliant Footprint Wizard这个工具本质上就是把IPC-7351的推荐值做成了自动化流程你只需要选封装类型、填关键尺寸它就能生成一套包含焊盘、丝印、3D体的完整封装。Tools → IPC Compliant Footprint Wizard → 进入向导后选From Component Body或者From Databook Values几种方式。以生成一个SOP8封装为例你输入本体长度、宽度、引脚数量、引脚间距这四个值向导会计算出焊盘尺寸并且自动画出丝印框和方向标识。这里我要说个经验向导生成的封装一定要手动检查一遍焊盘尺寸。AD向导在有些版本里对焊盘宽度偏保守生成的焊盘偏窄手工焊接没问题回流焊机贴片时润湿性会差一点。我会在向导生成后把焊盘宽度适量加大0.1mm左右确保工艺窗口更宽裕。2.3 从零手绘遇到非标封装时的关键步骤遇到四脚五脚电感、异形连接器、耳机座这类非标封装向导用不上就得老老实实手绘。步骤拆开来看其实也不复杂放置焊盘Place → Pad快捷键PP按Tab键设置属性。调整焊盘位置双击焊盘输入坐标用绝对坐标定位保证精度。画丝印Place → Track快捷键PT画外框用Arc画圆弧或圆点。添加3D体Place → 3D Body选择Extruded拉伸体或Cylinder圆柱体。设置阻焊和锡膏层在焊盘属性里确认Top Solder和Top Paste层的扩展值。手绘封装最怕的就是坐标靠眼睛目测这是绝对要杜绝的。所有关键焊盘的坐标都应该通过计算确定而不是拖动。比如引脚间距0.65mm的QFP中心到第一个引脚的中心距离要先算好再用精确坐标放置。我的做法是建一个Excel小表格把每个引脚的坐标预先算出来再批量填到属性窗口里。这样既快又不会错位。3. 焊盘参数设计孔径、尺寸与特殊焊盘的精确算法焊盘是封装的核心它决定了电气连接和机械强度。这一节我把通孔焊盘、贴片焊盘、特殊焊盘分开细讲每一步都跟你说清楚为什么这么设。3.1 通孔焊盘的孔径与盘径计算通孔焊盘里面要插引脚所以有两个关键参数Hole Size钻孔直径和Pad Size焊盘外径。钻孔直径太小引脚插不进去太大焊接时焊料会从孔里漏走。我常用的计算逻辑是这样的钻孔直径 引脚最大直径 0.2mm手工焊接或 0.15mm机器插装。如果引脚是方形的要测量对角线的长度因为方形引脚插进圆孔时决定能否插入的是对角线。焊盘外径 钻孔直径 0.8mm到1.0mm。这个值保证了焊接后焊盘周围有足够的铜环机械强度才够。以常见的2.54mm间距排针为例方形引脚边长0.64mm对角线约0.9mm我一般开1.0mm的孔外径做到1.8mm左右。如果板子空间紧张外径最小也不要小于1.5mm否则过波峰焊时容易焊盘脱落。AD在Pad属性里有两种孔径模式Simple和Top-Middle-Bottom。常规双面板用Simple模式就够了把Hole Size和Size设好即可。多层板如果有埋盲孔需求才需要分别设置每一层的焊盘大小。3.2 贴片焊盘的尺寸与间距配合贴片焊盘不用打孔但三个尺寸必须同时考虑焊盘长度、焊盘宽度、焊盘之间的间距。我用的经验算法以SOP翼形引脚为例焊盘宽度 引脚宽度 0.2mm。焊盘长度 引脚长度L 0.4mm到0.5mm引脚前端多出来的部分给焊料填充留空间。焊盘间距 引脚间距这个不要动动了引脚就对不上。这里有一个很多人忽略的细节SOP封装的焊盘长度方向应该让引脚的后端/根部多留一点前端少留一点。因为焊接时焊料主要聚集在引脚末端和侧面末端留太少容易出现焊料爬到器件本体上的情况业内叫wicking会影响可靠性。对于QFN这类底部散热焊盘除了四周的功能引脚芯片底部的Exposed Pad裸露焊盘也必须画出来。这个焊盘一般做得比芯片裸露焊盘略大0.2mm左右并且要在焊盘上打散热过孔过孔孔径0.3mm间距1.0mm左右阵列排列帮助热量传导到背面铜皮。散热过孔一定要设置成Via Covered或者用阻焊开窗控制不然焊料会从过孔漏走我在这个问题上翻过车焊完发现芯片底下全是空腔。3.3 测试点焊盘、金手指等特殊焊盘再展开说说测试点封装。热搜词里有人搜pcb测试点封装不是没有原因的测试点画不好产测治具根本压不上。AD里有两类典型的测试点做法测试点过孔Testpoint Via直接在需要测试的网络上放一个过孔钻孔直径0.8mm外径1.2mm并在过孔上设置Testpoint属性为Top Side。测试点焊盘Testpoint Pad专门放一个贴片焊盘尺寸1.0mm见方就够了连接在目标网络上。我的习惯是SMT测试用焊盘式ICT测试用过孔式。焊盘式的好处是不影响布局密度过孔式的好处是探针接触更稳定。AD里画好测试点焊盘后还要在Property面板里把“Testpoint”字段设为Fabrication或Assembly这样生产文件和测试文件才能正确导出。金手指这类边缘连接器封装焊盘要画在Keep-Out区域边缘而且要控制好边缘到焊盘的间距这是另一个话题了这里不展开。4. 丝印、装配层与3D体让封装在工程中真正可用的细节焊盘画好了一个封装只能说完成了六成。剩下四成是丝印、装配层和3D体。很多人懒得画这些觉得能用就行但真到贴片、装配、调试阶段这些细节会一一回来找你算账。4.1 丝印的规范画法外框、极性标记与1脚标识丝印层Top Overlay画的是板厂在PCB铜箔上印出来的白油字符它起到物理定位提示的作用。一个规范的封装丝印必须包含三样东西外框线代表器件本体的大小线宽0.15mm到0.2mm。外框画得比本体略大0.1mm到0.2mm避免器件贴上后把丝印挡住。1脚标识用一个圆点或一个小方框标在引脚1附近方便人工焊接时快速识别方向。极性方向标识电容用加号二极管用竖线LED用三角形。画极性符号时要注意它表示的是器件安装后的视觉方向不是原理图里的方向。外框线一定不要画在焊盘上要留出至少0.2mm的间距否则板厂提示丝印上焊盘或者焊盘上油墨残留影响上锡。这个问题我见过太多次尤其是手工布局时线条随手一画就穿过了焊盘后来养成习惯每次画完丝印都调成半透明模式检查一遍。4.2 装配层与机械层装配图和结构定位的支撑AD里有Top Assembly装配层和Mechanical层。装配层是用来输出装配图的上面标记器件位号和安装方向板厂或SMT工厂会根据装配图做首件确认。我的建议是在封装里至少把本体外形和位号文字放进Top Assembly里。机械层通常用来画一些器件高度、禁布区域或定位孔之类的信息。比如连接器旁边要留一个电容位置但不确定最终选多大封装可以在Mechanical 13层画一个占位区域结构工程师看到就知道这里不能放东西。这些虽然不影响电气连接但在多人协作的项目里能让别人少问你好几个问题。4.3 用3D体校验封装原理图到装配的所见即所得AD封装库里的3D体功能非常实用但你不需要每次都画得特别精细。我一般就放两个部分一个Extruded矩形体代表芯片本体高度按数据手册里的最大高度如1.2mm设引脚部分如果不是必须直接用简单的Box体代替问题也不大。之所以建议加上3D体是因为在PCB模式下按数字键3切到3D视图可以直观检查封装高度是否和外壳冲突、器件之间是否会干涉。有一次我做一个带外壳的产品就是用3D视图提前发现了电解电容高度超出外壳限高及时换成了矮款否则等模具开好就晚了。AD的3D体支持导入Step模型Place → 3D Body → 选择Generic Step Model然后定位到你的Step文件路径。如果你能从元器件厂商官网下载Step模型直接导入最省事我已经这么干了好几年效果比手搓的好得多。5. 封装画完不急着用验证、导入导出与常见坑封装画完之后千万别急着在原理图里调用。先花十分钟做一轮自检这十分钟能帮你省掉后面几天改板的痛苦。5.1 在PCB上做布置前自检打印1:1图纸核对自检的第一步是在AD里临时放置封装放到一块任意大小的空白PCB上然后按数字键1回到2D视图检查丝印和焊盘是否对应、器件外形是否合理。有条件的话可以把封装打印出来1:1核对尤其是引脚间距这种关键尺寸打印后用卡尺量一下比你在屏幕上反复看坐标值要直观得多。打印时有个小坑AD打印输出设置里如果Scale没有设置成1:1打出来的尺寸会整体缩小或放大。另外用PDF打印机导出时一定要在AD的Print Preferences里选择True Type Fonts或者把矢量线宽设粗一点否则线条打印出来会特别淡看着就像图片不清晰一样。之前有人搜altiumdesigner 09 原理图导出pdf怎么不清晰多半就是这些打印设置选项没调对。5.2 开启DRC检查常见报错与处理方式自检的第二步是让AD帮你查错。在PCB模式下执行Tools → Design Rule Check重点是检查这些规则Silkscreen Over Component Pad丝印压焊盘Minimum Solder Mask Sliver阻焊桥宽度不足Hole Size Constraint孔径超范围Component Clearance元件间距过近DRC报错不一定要全部清掉但至少你要知道每一条报错是为什么。比如Silkscreen Over Component Pad如果只是丝印线从焊盘旁边擦过可以适当调整丝印线宽或者位移来消除如果是Component Clearance频繁报错说明封装本体尺寸预留不足要回头去核对数据手册而不是把规则放宽了事。我见过有人为了一版DRC零报错把Component Clearance改成了0这是非常危险的操作。规则是保护你的工具不是用来刷成就感的改规则前必须先问自己这个报错是真的没问题还是我在掩耳盗铃。5.3 Cadence封装导入AD跨工具的迁移问题换了EDA工具但是库里存了大量Cadence封装怎么把封装导入AD这也是很多人会搜到的问题。AD提供了一条导入路径File → Import → Cadence Allegro可以导入Allegro的.brd文件或封装库文件。实际操作中我试过几次需要注意几个问题导入前确认Allegro版本太新的版本AD兼容性不佳。导入过程中层映射表要手动调整不能完全依赖默认。Allegro里的ETCH层、SILKSCREEN层要一一对应到AD的Top Layer、Top Overlay映射错了板子就乱了。焊盘属性在导入后可能有丢失比如Tented via过孔盖油这种属性导入后需要检查。我的建议是能手工重建的封装尽量手工重建尤其是不超过20个焊盘的常用封装重建一个可能只需要5分钟但导入后在AD里排查各种属性的时间远不止5分钟。除非是几百个引脚的大器件才值得用导入工具去做。5.4 测试点、散热焊盘等设计中容易引发的后续问题回到前面提到的测试点封装我再说一个生产环节的细节如果测试点在布局时挨得太近治具上的探针孔位就对不上需要重新开治具既花钱又拖周期。所以测试点间距至少保持2.54mm探针直径粗一点的就要求3.0mm以上。还有散热焊盘我前面提到过要打散热过孔但这里的过孔密集排列会带来一个DFM问题过孔离焊盘边缘太近焊接时焊料可能通过过孔流到背面导致焊盘吃锡不足。我的做法是散热过孔放在焊盘中心区域焊盘边缘留出0.5mm的完整铺铜并且过孔用铝箔塞孔处理或者干脆只做树脂塞孔再电镀填平。这些都直接决定了SMT的直通率。5.5 画封装这几年我认为最值钱的几条习惯最后分享几条我自己的习惯。第一每个封装都要记来源在Library面板的描述栏里写上参考某厂家某型号手册第X页半年后回看封装你就知道当初为什么这么画。第二同类型的封装一定要统一模板比如所有二极管的丝印极性方向一致所有电感的外框画法一致这样布局时不会出现方向判断混乱。第三封装库要做版本管理。我用一个简单的办法每个封装命名带版本后缀如_V1、_V2改动一次就递增一次。不要直接覆盖旧封装因为PCB文件一旦引用了旧封装你改库里的封装并不会自动更新到已经布好线的板子上手动更新时如果有两个版本还能对比着看。第四在PCB封装里使用Room或者坐标原点规范。把原点定在器件中心后面批量粘贴放置、自动布局都会顺利很多。我见过有人把所有封装原点都选在引脚1布局工具一用就乱跳最后只能自己一个一个挪。画封装确实是件磨性子的事情但它也是硬件工程师的基本功。你在这件事上花的时间后期会十倍百倍地赚回来——原理图改起来快得很真到了PCB阶段才发现封装错了那才叫欲哭无泪。按照这篇文章的思路把数据手册研究透、焊盘参数算清楚、丝印3D补完整再用DRC和打印校验兜底你的封装库就能扛住实际项目的一次次锤炼。