ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从焊盘到封装:Cadence Allegro 0402贴片封装完整创建指南

从焊盘到封装:Cadence Allegro 0402贴片封装完整创建指南 1. 写在前面为什么是0402封装到底在做什么如果你刚开始接触Cadence Allegro第一件事不是急着画原理图也不是铺铜走线而是先搞清楚封装Package Symbol是怎么回事。很多新手在导入网表那一步卡住提示找不到器件十有八九就是封装没建对或者路径没配好。我当初从AD转Allegro时就被这套“先建焊盘再建封装最后调路径”的流程折腾了两天回头想想核心就一句话Allegro把封装拆成了两个独立单元——Padstack焊盘和Package Symbol封装你得先有前者才能搭后者。这次我拿0402来开刀就是因为它足够小、足够典型又是贴片电阻电容里最常用的尺寸之一。0402是英制命名对应公制是1005也就是1.0mm×0.5mm。你能把这个封装从焊盘到丝印完整建一遍之后再做0603、0805或者SOT、QFN都只是换尺寸、加引脚、调间距的事流程是一样的。这篇笔记不是官方文档的翻译而是我实际在Allegro里一步步点出来的过程加上踩过的坑适合正在学Allegro的硬件工程师、PCB layout新手以及从AD转过来的老鸟参考。我用的版本是Allegro 17.2但16.6和17.4的操作路径也基本一致最多是菜单位置有点差异原理完全不变。下文提到的参数我以最常用的工程推荐值为准个别地方也会告诉你为什么取这个值而不是乱拍的。2. 封装构成拆解先搞清楚你要画什么2.1 一个完整贴片封装由哪些部分组成在动手之前先把目标拆清楚。一个0402贴片封装在Allegro里至少由以下四部分构成焊盘Padstack这是封装的核心决定了器件焊接到PCB上的金属区域包括顶层的Regular Pad、阻焊开窗Soldermask、以及可能有的助焊层Paste Mask。对双面板或单面板来说0402的焊盘通常是表贴矩形或椭圆形焊盘不需要钻孔。丝印Silkscreen Top就是板子上白色的器件轮廓线用于指示器件位置和方向0402这类无极性器件虽然不分方向但轮廓必须画不然贴片机和维修人员都很难快速识别位置。装配层Assembly Top在Allegro里也叫装配外框主要给贴片机和PCB工厂做贴装定位用丝印偏“给人看”装配层偏“给机器看”。Place BoundPlacement Bound这个很多人会忽略但Allegro在布局时进行DRC检查和器件间距判断靠的就是每个封装上的Place Bound区域。没有它布局阶段的器件间距检查会失效。除了这四块还有位号RefDes的字体、高度、线宽设置这些都要在封装里预先定义好否则后边生成装配图、丝印图时会非常乱。2.2 为什么0402引脚数量少却最能练手0402两个引脚一个本体结构极其简单但它可以把Allegro封装设计的完整逻辑走一遍建焊盘时该填哪些层、Thermal Relief和Anti Pad对表贴焊盘要不要管、封装里引脚坐标怎么算、原点放哪里、丝印画多大不会跟焊盘打架、Place Bound要覆盖多少余量。这些知识点是相通的。有人问我为什么不直接拿0603练老实说都行但0402封装本体小焊盘和丝印的尺寸余量极其有限你在设置线宽、间距时会更敏感也更早体会到“封装设计是精度活”这件事。而且0402在手机板、模组板上用到吐你把它做熟了后面改改尺寸就能覆盖一大票常用阻容件。2.3 03015、0201到0402的演进常规封装为什么选0402现在很多消费类产品已经切到0201甚至01005了但0402仍然是性价比和可制造性的平衡点——它比0603省面积又不像0201那样对焊盘精度、钢网开孔极其敏感。换句话说0402是“常规标贴封装”里最典型、最值得作为学习范本的尺寸。等你把0402完整创建一遍往后做0201时只需把尺寸改小、把公差想得更细思路完全一样。3. 焊盘设计0402焊盘的尺寸计算与关键参数3.1 机械尺寸回顾0402到底多大先背一组数据英制0402 长0.04英寸 × 宽0.02英寸换算成公制就是1.0mm × 0.5mm。注意这个尺寸指的是器件本体不是焊盘区域。器件的两端是金属端电极焊盘要跟端电极可靠接触并形成焊点所以焊盘必须比本体两端各向外延伸一点同时又不能延伸太多否则相邻焊盘间距不够焊接时容易连锡。电阻电容的端电极宽度一般跟本体宽度接近或略小0402的端电极大约0.25mm左右。焊盘设计的核心就是长度方向要有足够的“爬锡”区域宽度方向要比本体略宽保证贴片时的容错空间。3.2 焊盘尺寸推荐值及计算思路以下是我个人在实际项目中验证过的推荐值也是业内比较通用的做法焊盘长度X方向0.6mm。计算逻辑是本体长度1.0mm两端电极各约0.25mm所以每端只需要保证约0.15mm的搭接即可。焊盘两端各比端电极略长一点取值0.6mm是工程上多次验证的稳妥结果。焊盘宽度Y方向0.65mm。本体宽度0.5mm焊盘比本体宽出0.15mm也就是每边各宽出0.075mm。既不影响相邻引脚间距又给贴片机吸嘴偏移留了余量。两焊盘中心距0.8mm。这个值的来源很有讲究。0402器件两端的端电极中心距约等于本体长度1.0mm减去端电极宽度0.25mm即约0.75mm。焊盘中心距取0.8mm略大于器件端电极中心距目的是让器件贴上去后端电极能有效落在焊盘内侧偏中的位置形成良好的“碗底效应”改善焊接可靠性。如果你用IPC标准或嘉立创的封装向导出来的结果也基本在0.75到0.85mm之间。很多初学者喜欢把焊盘做成跟本体一模一样宽焊盘中心距就等于本体长度这样表面看着对齐实际上焊接良率会变差——器件贴装时只要有一丁点偏移端电极就会部分悬空在焊盘外造成立碑或虚焊。所以焊盘设计本质是在“抓得住”和“不连锡”之间找平衡。3.3 在Padstack Editor里新建0402焊盘打开Allegro后从Start Page直接进Padstack Editor或者在PCB Editor里通过Tools → Padstack → Edit打开。我这里以直接打开Padstack Editor为例新建焊盘文件File → New类型选择Through Single。这里注意很多人看到0402是贴片元件下意识选Surface Mount实际Allegro里建贴片焊盘也是用Through Single或Surface Mount都行关键看是否需要定义钻孔。0402无通孔推荐直接用Through Single在钻孔那一栏留空即可。如果选Surface Mount后续定义Soldermask层时逻辑也是一样的看你习惯。我用的是Through Single。设置单位默认单位是Mils一定要改成Millimeter不然你填0.6进去就只有0.6mil那焊盘就成针眼了。操作是Design → Units勾选Millimeter精度选2位小数或4位小数推荐4位。定义Regular Pad在Layers列表里找到BEGIN LAYER顶层焊盘在Regular Pad区域选Geometry为Rectangle或Oblong填入宽度Width0.65mm高度Length0.6mm。我推荐Oblong也就是长圆形焊盘因为它的边角更圆润焊料流动性好应力集中小。如果用Rectangle区别只在边角是直角实际使用也没问题看你公司的封装库规范。定义Soldermask层在Soldermask Top层同样填一个比Regular Pad略大的尺寸。一般外扩0.05到0.1mm即宽度0.75mm、长度0.7mm。阻焊开窗如果跟焊盘一样大Production时绿油对位偏差会导致焊盘边缘被绿油覆盖所以要外扩一些。我习惯每边外扩0.075mm。定义Paste Mask层Paste Mask Top是钢网开孔层尺寸通常跟Regular Pad一致或略小钢网开孔如果比焊盘大锡膏会刷到绿油上。我做0.6mm×0.65mm跟焊盘一致即可。Thermal Relief和Anti Pad这两个概念经常有人混淆它们都是针对内层电源/地平面连接的。对于0402这种表贴焊盘如果你用Through Single类型Allegro会默认也显示内层几个选项但实际我们不需要连接内层直接留空即可。很多人在这里纠结半天其实答案很简单表贴焊盘不需要Thermal Relief。完成后保存文件名我建议格式SMD0402_0R6_0W65_1T意思是0402封装、长度0.6mm、宽度0.65mm、单面贴片。焊盘命名规范一定要提前定好不然库大了以后找起来会崩溃。4. 封装创建实操从引脚到丝印一步步来4.1 新建Package Symbol并设置工作环境焊盘文件保存好后开始在PCB Editor里新建封装。注意一定要选对符号类型File → NewDrawing Type选Package Symbol名字填0402。如果选了Board或Schematic Symbol后边流程完全不一样很多人刚开始就挂在这。进入封装编辑界面后第一件事是设置图纸单位和图纸大小。Setup → Design Parameter Editor在Design选项卡里把User Units改成Millimeter什么都别急着画先把单位弄对不然你后面画丝印时输入0.127mm结果系统按mil解析丝印细成头发丝。图纸大小无所谓能放下器件就行我用200×200mil的默认值也够用反正最终导入PCB时封装原点才是定位基准图纸大小只影响你编辑时的视野。接下来设置栅格。Setup → Grids把所有栅格改成0.025mm或0.05mm的整数倍。0402封装尺寸小0.1mm的栅格在画丝印时会觉得“对不齐”0.025mm步进更灵活。4.2 放置焊盘并精确调整坐标0402封装只有两个引脚放置逻辑很简单但精确坐标是封装质量的命根子。调用放置引脚命令Layout → Pins或者直接在命令框输入“x”。弹出来的Pin Placement对话框里点击Padstack选择器从库路径下选中刚才创建的SMD0402_0R6_0W65_1T焊盘。接下来是放置坐标的确定。我习惯把封装原点设在器件几何中心这样后续在PCB里按原点对齐时器件刚好落在光标位置不会有偏移感。两个焊盘的中心距是0.8mm所以1脚焊盘中心x -0.4mm, y 02脚焊盘中心x 0.4mm, y 0在放置引脚时Allegro支持直接输入精确坐标。命令框里会出现“Enter origin of pin”的提示此时输入“x -0.4 0”并回车就把第一个焊盘放上去了。然后继续输入“x 0.4 0”放第二个。如果你不知道这个技巧用鼠标点点半天都对不准0.8mm的中心距。这里强烈建议养成命令行输入坐标的习惯精确、高效这也是Allegro和AD操作逻辑最大的不同之一。放完焊盘后用Display → Showmeasure或直接按快捷键测量一下两个焊盘中心距离确认是0.8mm。再测量焊盘边缘间距应该是0.8mm减去两个焊盘各一半的长度0.3mm即0.2mm。0402的本体长度1.0mm焊盘间距0.2mm意味着两端端电极之间的本体底部有0.2mm露在外面这很正常焊盘不是把本体整个盖住的。4.3 添加丝印外框与装配层焊盘放好了接着是画丝印。这里有个很多新手都会犯的错误丝印直接画在焊盘上。正确的做法是丝印外框与焊盘保持至少0.15~0.2mm的间距因为丝印油墨有一定厚度如果压在焊盘上会导致焊盘表面不平整影响焊接严重的会造成器件立碑。画丝印的步骤在右侧Options面板里Active Class选Package GeometrySubclass选Silkscreen Top。注意千万别选成Etch或Board Geometry。选择Add → Line线宽设置为0.127mm5mil这是工程上常用的丝印线宽太细了工厂做不出来太粗了在0402这么小的器件上会糊成一片。画一个矩形外框。我的习惯是以焊盘整体包络线为基准外扩0.2mm。焊盘最左边缘是-0.4mm中心减去焊盘长的一半0.3mm即-0.7mm最右边缘是0.7mm。丝印外框就画在x -0.9mm到x 0.9mmy方向焊盘宽度0.65mm的一半是0.325mm丝印外扩0.2mm所以y范围取-0.55mm到0.55mm。整个丝印矩形就是长1.8mm、宽1.1mm。这样画出来丝印线和焊盘之间有0.2mm的间隙视觉上清晰工艺上也安全。画完丝印后再画装配层外框。操作逻辑一样Subclass选Assembly Top但线宽可以粗一点0.2mm左右形状画成跟器件本体尺寸基本一致或略大0.1mm即x方向从-0.55mm到0.55mmy方向从-0.3mm到0.3mm。装配层不参与PCB制造主要给贴片机编程做视觉定位用画得贴近本体即可。4.4 Place Bound区域的设置Place Bound是Allegro封装里经常被忽略但实际上非常重要的一个区域。它的作用是告诉Allegro“这个封装占多大地方别人不许进来。”布局时器件之间的间距DRC检查、自动布局时的碰撞检测全靠它。操作路径Setup → Areas → Package Boundary然后在Options面板里选择Package Geometry下的Place_Bound_Top画一个矩形框覆盖范围比丝印再外扩一点我做的是x从-1.0mm到1.0mmy从-0.65mm到0.65mm也就是2.0mm × 1.3mm的矩形。为什么要这么大因为Place Bound越小布局时可以摆得越密但DRC检查会非常苛刻越大越宽松但浪费板面积。0402我取2.0mm×1.3mm大概比本体四周各多出0.4到0.5mm已经是比较紧凑的设置了。注意Place Bound不一定非要矩形但矩形在布局阶段计算最快除非有异形需求否则一律用矩形。4.5 位号RefDes的放置与规范位号就是你在原理图里的R1、C2这些编号。在封装里放位号相当于占个位置等导入网表后Allegro会把这个位置上的文字自动替换成具体的网络标号实例。操作Labels → RefDes然后在Options面板里选择装配层和丝印层分别放置。装配层位号Subclass选Assembly Top文字高度我在0402封装里设为0.8mm线宽0.13mm。这个位号主要用于装配图输出一般放在器件本体旁边或内部但要确保不与焊盘重叠。丝印层位号Subclass选Silkscreen Top高度也设0.8mm。这里要特别提醒0402器件太小很多公司直接在封装里不画丝印位号而是靠装配层位号配合PCB丝印统一生成。我建议初学者还是老老实实两层都放等你熟练了再根据公司规范精简。位号字体的设置在Edit → Change Text Block里可以调或者在Text Setup里预设好。不同公司对位号高度、线宽有不同规范常见的是0.8mm高、0.13mm线宽也有用1.0mm高的主要看板子密度。4.6 保存封装并检查保存快捷键是File → Save或者直接按F键旁的存盘快捷键。保存后封装文件是一个.dra文件但它还不能直接用于PCB设计必须再生成一个对应的.psm文件。在Allegro里当你保存封装时系统会自动生成.psm也就是Package Symbol的编译文件。实测下来如果你改了.dra但没重新保存PCB里的封装不会同步因为PCB调入的是.psm这是很多人“改了封装但板上不变”的原因。保存后建议做一次自我检查File → Create Symbol或者重新用File → Open打开这个封装确认焊盘、丝印、装配层、Place Bound四样都存在然后量一下关键尺寸确认无误。5. 原理图符号联动与后续网表导入的衔接到这里0402封装本身已经建完了。但有一件事经常被忽略Allegro的封装还有“原理图符号”这个概念普通阻容元件的原理图符号用Cadence自带的库就够用不需要你从头画但你需要把原理图符号的PCB Footprint属性填成你刚创建的封装名。在OrCAD Capture里双击你的电阻电容元件在属性列表里找到PCB Footprint填上“0402”注意一定要跟Allegro里的封装文件名完全一致包括大小写。之后再生成网表Allegro导入网表时才会在封装库路径下找到这个.psm文件。如果你在OrCAD里没有找到PCB Footprint属性可以在原理图库编辑器里选中元件右键Edit Properties然后新建一个属性叫PCB Footprint值填0402。这一步漏了后边导入网表会报错提示找不到封装。6. 常见问题与排查技巧实录做封装这件事流程不复杂但每一步都可能出幺蛾子。下面列出我自己踩过、也见别人踩过的几个高频问题供大家排查时对照。6.1 封装库路径不对导致找不到封装现象在Allegro里调用器件时提示“Symbol not found in library”但明明封装已经保存了。排查开机后进入PCB EditorSetup → User Preferences → Design Paths检查Padpath和Psmpath里有没有包含你的封装库目录。这两个路径一个管焊盘文件一个管封装文件缺一不可。很多人只配了Psmpath忘记配Padpath结果封装里的焊盘文件找不到报错就来了。另外如果你是在另一台电脑或服务器上打开的工程库路径可能没同步。我的习惯是在User Preferences里把库路径设为相对路径而不是绝对路径这样整包工程拷给别人时不容易断链。6.2 焊盘中心距算成0.8还是0.75、0.85的取舍网上能查到0402焊盘中心距有说0.75mm的有说0.8mm的还有IPC标称0.85mm的。到底用哪个先说结论常规消费类产品0.8mm是最通用的适合回流焊兼容性也好。0.75mm更接近器件端电极中心距焊接时器件会坐得更“正”但焊盘间距稍小对贴片精度要求高一些。0.85mm是IPC-7351里推荐值偏保守适合手工焊接或生产设备能力一般的情况。我看到不少军工或汽车级产品会故意放宽焊盘间距牺牲一点面积换可靠性。如果你所在公司有封装规范按规范走没有规范就用0.8mm中心距这是最大公约数。6.3 画丝印时总是不小心画到Etch层现象丝印线看起来跟焊盘一样高亮导出Gerber时丝印层一片金属。原因画丝印时Options面板里Active Subclass没选对选成了Etch Top或者Board Geometry。处理选中误画的线按Delete删除重新把Subclass切到Silkscreen Top再画。这个问题在16.6版本里特别容易出因为默认的Active Subclass常常是Etch层很多人一进来就画线根本没注意下拉框。新手建议每次画线前都看一眼Options面板顶部养成肌肉记忆。6.4 保存报错“Cannot save symbol with zero pins”现象保存封装时报错提示删除或添加引脚。原因封装里一个引脚都没放或者引脚放在了一个不可见的类里。处理回去确认两个焊盘是否真的放上去了。有时候你点了Pins命令但没放成功Allegro会保留一个空的操作记录。解决方案是正常再放置一遍焊盘或者直接重启PCB Editor再试。这个报错另一个常见场景是你从某个模板新建封装时模板本身不带焊盘你又忘了放一保存就报错。6.5 封装修改后PCB里不更新现象改了.dra重新保存了但打开PCB板文件器件还是老样子。原因Allegro在PCB里用的是.psm符号缓存而不是实时读取.dra文件。你改了.draPCB里不会自动同步。处理在PCB Editor中执行Tools → Update Symbols勾选Package symbols点Refresh即可。快捷键是Place → Update Symbols不同版本菜单位置略有差异但关键词是Update Symbols。这里提醒一下更新符号后PCB走线或铜皮可能因为封装外形变化报DRC错误属于正常现象按需要再调整即可。6.6 0402封装的位号看起来比焊盘还大这是正常的。0402焊盘才0.6mm×0.65mm位号0.8mm高必然比焊盘大。所以你去看正规产品板贴片阻容的位号通常不全放在器件本体内部而是通过装配层位号的自动移位功能在出装配图时单独生成。Allegro中可以通过Setup → Design Parameter Editor → Text选项卡调整位号默认位置和方向也可以在出图时用Manufacture → Silkscreen来统一调整丝印位置把位号挪到器件本体外边不被遮挡的位置。7. 一些额外的经验从0402到整个封装库的管理思路封装建完只是第一步怎么管理好封装库才是长期电气设计效率的保障。我自己的经验是按器件类型/尺寸分目录保存焊盘一个目录封装一个目录原理图符号可能又单独一套。焊盘文件按“尺寸_焊盘类型”命名比如SMD0402_0R6_0W65_1T封装文件直接按“封装名.dra”命名比如0402.dra、0603.dra。文件名里包含尺寸参数好处是出问题时你一眼能判断出是哪个焊盘、多大尺寸。库文件最好放到一个同步盘或Git仓库里每次改动有版本记录。硬件设计这个领域最怕的就是“我明明改了库怎么板子上还是旧的”版本管理能从根上解决这种问题。还有一个技巧用SKILL脚本批量生成常用封装。Allegro支持SKILL脚本你可以写脚本把0402到1206的所有电阻电容封装批量生成出来参数写在Excel里脚本循环读取并创建焊盘和封装。这个过程上手有一定门槛但属于“一劳永逸”的投资。如果你不熟悉SKILL也可以先从手动建几个关键封装开始积累感觉后再考虑自动化。最后分享一个小细节很多人建封装时会把原点放在左下角或焊盘中心我建议放在器件几何中心。这样在PCB里移动器件、按坐标对齐、甚至做拼板时都以器件中心为基准后期写坐标文件给贴片机用也更直观。贴片机的坐标本来就是按器件中心输出的你封装原点跟它一致导出的坐标文件直接能对接不需要二次换算。对了还有一个关于命名的问题。我见过有人把0402封装命名为“R0402”或“C0402”以此区分电阻和电容。这种做法我严重不推荐。因为同一个尺寸的电阻电容焊盘是完全一样的你分两个名字只会让库越来越冗余。正确做法是统一叫“0402”电阻电容共用一套封装原理图里靠元件类型区分是R还是CPCB里根本没区别。这篇笔记写到这里0402封装的完整创建思路、操作步骤、参数依据和坑点就都覆盖了。封装这件事再复杂也逃不出“焊盘-丝印-装配-边界”这四板斧你把0402走一遍后面的路就通了。
返回列表