做PCB设计这些年我接触过的绝大多数封装其实都用不上异形焊盘。0603、0805、SOIC-8这类标准器件Allegro自带的Pad Designer里圆形、方形、椭圆形、矩形这几个选项一选三分钟生成一个焊盘完全不用折腾。真正让人头疼的是另一类需求LED灯珠背面的异形铜皮、USB连接器的固定外壳脚、天线焊盘、带定位槽的功率端子、边缘连接器的特殊接触焊盘……你在Pad Designer的标准图形列表里翻来翻去都找不到一个能对得上的形状。这种时候就得走上Allegro里最绕人、但也是唯一正确的路先画Shape焊盘符号再进Pad Designer组装成padstack最后放进封装Symbol里形成完整器件库。我见过很多工程师一开始接触这套流程时被绕晕要么画出来的Shape在封装里不显示要么明明做了异形焊盘出光绘时却发现它被当成普通焊盘处理要么换一台电脑打开工程直接找不到库文件。这篇文章就按我平时做异形焊盘的完整顺序从Shape绘制讲到封装完成把中间容易踩的坑逐个说清楚。1. 异形焊盘到底是什么先搞懂Allegro的焊盘构成逻辑1.1 标准焊盘和异形焊盘的分界线在Allegro体系里“焊盘”这个概念并不是一个孤立的圆形或方形铜皮而是一整套按照PCB叠层组织的结构叫做Padstack。它要告诉设计工具顶层用多大的铜、中间层用什么、底层用什么、阻焊开窗开多大、钻孔直径是多少。对于标准封装Padstack编辑器里内置的图形选项足够用了——圆形焊盘给电阻电容方形焊盘给引脚密集的芯片椭圆形和矩形给部分连接器都是一句话的事。但异形焊盘不一样。它的形状可能是一个带缺口的圆环可能是散热焊盘中间挖了一条槽也可能是轮廓完全跟随器件外壳曲线的不规则多边形。Padstack编辑器内置的那几个图形是固定的没法让你随便拖拽出一个自定义轮廓。Allegro为了解决这个问题提供了一条专门的路径把任意形状画成一个独立的Shape Symbol文件然后在Padstack编辑器里通过引用这个文件来定义焊盘轮廓。这里就引出了Allegro库文件的一个核心概念也有人叫它“库三层结构”。第一层是形状符号也就是Shape Symbol专门存放铜箔形状的几何信息文件后缀是.ssm。第二层是焊盘组即Padstack文件后缀是.pad它把形状符号和具体的PCB叠层、钻孔、阻焊、钢网等信息组合在一起。第三层才是封装符号Package Symbol文件后缀是.dra和.psm它把若干个焊盘、丝印、装配层、器件边界组装成一个完整的元器件图形。这三层是一级一级嵌套的关系缺一不可。很多人做异形焊盘失败就是因为直接跳过了第一层想在一个已有的标准焊盘上硬改形状或者在封装编辑器里用画线的方式画了一个“看起来像焊盘”的图形——那实际上只是一条line不参与电气连接也不会有网络属性。正确做法只能是先在Shape Symbol里画好形状再在Pad Designer里引用最后在Package Symbol里放出来。1.2 Shape Symbol、Padstack和Package Symbol各自负责什么我经常用一句话来跟同事解释这三层的关系Shape Symbol相当于裁好的布料Padstack相当于写明“哪一层用哪块布料、要不要加补丁”的标签Package Symbol则是把标签贴到工位图纸上最终决定成品怎么摆放。具体展开说Shape Symbol负责几何形状但它本身不包含任何关于层叠、钻孔、网络的信息。你打开一个Shape Symbol文件里面就是一个单纯的可编辑图形。Padstack负责物理属性它决定了这个焊盘在Top层是形状A、在Bottom层是不是同一形状、阻焊开窗多大、有没有通孔、孔壁要不要金属化。Package Symbol负责装配关系把多个焊盘按真实器件的引脚位置排布再加上丝印框和装配层标记最终才形成一个可以放到PCB上、能连接网络的元件。为什么要分成三层而不是做成一个文件因为这样可以大量复用。同一个散热铜皮形状可以套用在通孔焊盘和贴片焊盘上也可以套用在Top层和Bottom层不同的层叠设计里。同一个Padstack也可以用在多个不同的封装中比如两个封装引脚间距不同但用的焊盘完全相同。如果都揉成一个文件改一次就要复制一份库管理的成本会成倍增加。1.3 为什么很多人在这套流程里翻车我看到的翻车案例绝大多数不是不会操作命令而是搞不清三个文件的角色边界。最常见的状况是有人想做一个带槽的异形焊盘于是打开Pad Designer发现里面根本没有“画槽”的功能就放弃了有人画好了Shape Symbol保存成了.dra文件然后到Pad Designer里找.shm文件找不到——其实生成.ssm文件后还要在Allegro里执行一次保存动作才会输出这个后面会细说。另一个典型问题出在库路径上。Allegro不是靠打开文件对话框来引用库的它靠的是环境变量里的路径搜索。你以为把.ssm和.pad文件放在某个文件夹里就完事了结果换一台电脑打开工程封装里的异形焊盘全都变成空白就是因为你忘了把库路径挂到PADPATH和SHAPEPATH环境变量里。还有很多人习惯把单位混着用Shape里用毫米画Pad Designer里用密尔设参数结果出来一个尺寸对不上的焊盘放置引脚时看起来特别别扭。我写这篇文章的目的就是把这套流程里的关键节点逐个拆开告诉你每一步应该注意什么哪些坑我在项目里真踩过、后来怎么绕开的。2. 绘制形状Shape Symbol制作全流程实操2.1 新建Shape Symbol前的准备工作在Allegro 17.4里新建Shape Symbol路径是File - New然后在Drawing Type下拉菜单中选择Shape symbol。这一步经常有人选错选成Package symbol或者Mechanical symbol后面保存出来的文件类型就不对Pad Designer根本识别不了。新建完成后第一件要做的不是立刻画Shape而是设置绘图参数。进入Setup - Design Parameter Editor把尺寸单位统一好。我个人的习惯是外接器件尺寸以毫米为主芯片封装内部以密尔为主但一份Shape文件里绝对不允许混用。单位混了是最隐蔽的坑因为图形看起来差不多放到封装里一比尺寸才发现差了一倍多。接下来要设置原点。原点位置直接决定后面封装里引脚坐标的偏移量。我在做异形散热焊盘时一般把原点放在器件本体的几何中心如果是单引脚器件就放在引脚中心。千万不要随手点一个位置就画画完之后再发现原点不对要么重新导一次Shape要么在封装里手动计算每个焊盘的offset非常痛苦。图形范围也要调整。Allegro新建Shape Symbol时默认的绘图区域很小如果你画的异形焊盘尺寸达到几毫米图形可能超出边界选中和操作都会不顺畅。在Design Parameter Editor里把图纸Size改大一些比如画电源模块的散热焊盘时直接设成50毫米见方操作起来舒服多了。2.2 用Shape Add直接绘制异形形状绘图命令是Shape Add在Route - Shape菜单下可以找到。很多人以为画铜箔形状要去Artwork或者Manufacture菜单其实这个命令一直在Route菜单下逻辑上也说得通Shape就是可以导电的铜箔当然属于走线布线的范畴。执行Shape Add后右侧Options面板里需要选择形状所在的层。对于常见的单面异形焊盘我通常把形状画在顶层铜箔这样等到Pad Designer里定义Begin Layer时就有东西可引用。Allegro的Shape工具默认会画一个矩形但你完全可以用鼠标逐点勾勒任意多边形也可以切换成圆弧模式画圆角边界。绘制过程中最容易犯的错是线段没有闭合。Shape必须是一个完全封闭的区域如果起点和终点之间留了一条缝保存后Allegro会认为这个Shape非法在Pad Designer里引用了也显示不出来。另外一个常见问题是重复画线比如你想补一段边界结果在原来的线段上又画了一次两段线完全重合表面上看不出问题但做DRC检查时一定会报Shape Self-Intersect或者Overlapping Segment。我在17.4里就遇到过好几次画完保存时没报错导入PCB后一跑DRC满屏都是红色错误。如果你画到一半发现轮廓坏了不要删掉整个Shape重来。用Shape Edit命令进入编辑状态右键可以删除单条边或者移动单条边的顶点。这个功能比全部推倒重画效率高得多尤其当形状比较复杂的时候修一条弧线比重新画一个多边形省事太多了。2.3 用Z-Copy把已有轮廓变成Shape除了从零开始画还有一个效率非常高的方式从已有的线框轮廓复制生成Shape。Allegro里的Z-Copy命令菜单Edit - Z-Copy或者选中对像后右键调出就是把一条line、arc、polygon组成的封闭边框复制到目标层并生成一个Shape。这个命令在做带定位槽的异形焊盘时特别管用。比如你要做一个椭圆槽焊盘直接用Shape Add画椭圆弧线比较费劲先在机械层画好一个椭圆框然后选中这个椭圆框右键Z-Copy在Options里设置复制到铜箔层并设置扩展或收缩量。如果想生成完全贴合边界的ShapeExpand/Contract就填0如果想比原边框大一圈就填正数想内缩就填负数。单位记得看仔细别忘了当前环境是毫米还是密尔。Z-Copy还有一个隐藏优势就是你可以先在一个临时brd文件里用各种CAD线段把形状拼好包括圆弧、倒角、直线然后一次性复制成Shape。很多从机械设计转过来的工程师习惯在AutoCAD里先把轮廓画好再导入Allegro这种情况下Z-Copy几乎是必备操作。需要提醒的是Z-Copy生成Shape后原始线框仍然存在。如果这个线框在机械层到PCB制作时不会造成影响如果线框本身就在铜箔层那就会和Shape重叠制造时应删掉。我在项目里的习惯是复制完之后立刻把源线框删除或者移动到Board Geometry层不然以后别人接手这个库文件容易分不清哪条是真正的铜皮边界。2.4 保存文件与路径检查Shape Symbol画完之后执行File - Save As命名并保存。保存后工作目录下会生成两个文件一个是.dra格式的绘图文件一个是.ssm格式的Shape符号文件。如果你在Pad Designer里找不到刚才画的形状十有八九是只保存了.dra没有生成.ssm。碰到这种情况回到PCB Editor里重新打开这个Shape Symbol文件确认图形完整再执行一次保存让它重新生成.ssm。命名规范这个问题值得单独说。焊盘的命名尽量做到“一看就知道是什么”我常用的是“h_pad_形状_尺寸”的结构比如h_led_disp_2x1mm、h_conn_slot_3x0_8mm。不要用类似“shape1”“new_pad”这种命名等库文件积累到几百个的时候你根本分不清哪个是哪个。Allegro库文件没有强制命名规则但良好的命名习惯能省下大量找库时间。最后是路径设置。在Allegro的env文件或者Setup - User Preferences里找到PADPATH和SHAPEPATH这两个变量把你的库目录加进去。注意Allegro引用.ssm文件靠的是SHAPEPATH引用.pad文件靠的是PADPATH。两个路径都要设置缺一个都会导致后续步骤失败。设置完成之后可能需要重启软件或者重新读取env文件才能生效。3. 在Pad Designer中把Shape组装成异形焊盘3.1 Pad Designer的启动方式与参数设置Pad Designer是Allegro自带的一个独立工具。在Windows开始菜单里可以找到Cadence - Release 17.4 - PCB Design Utilities - Pad Designer也可以从Allegro PCB Editor的Tools菜单里拉起来。打开之后新建一个Padstack文件后缀是.pad。进入界面后最先要设置的是单位。Pad Designer默认是密尔如果你画的Shape是用毫米绘制的请务必先把单位切到毫米不然引用进来的Shape尺寸会被系统按照密尔解释结果焊盘尺寸直接缩水到原来的4%左右肉眼根本看不清放到PCB里就消失了。Pad Designer左侧是一堆层列表右侧是当前层的属性设置。做异形焊盘时我们关心的主要是三个参数区钻孔参数、Regular Pad、以及热风焊盘和隔离焊盘。3.2 Regular Pad如何引用Shape异形焊盘最关键的一步在Regular Pad这里。Regular Pad这一栏有一个下拉菜单里面默认有Circle、Square、Oblong、Rectangle等选项。你要做的是把下拉菜单切换到Shape选项。切换后旁边会出现一个Shape Symbol字段点Browse选中之前保存的.ssm文件。这里顺带解释一下为什么非要用Shape符号而不能直接用Pad Designer里画一个自定义形状。因为Allegro的Padstack编辑器本质上是一个参数生成器它只认识有限几种标准几何图形以及“引用已有符号”这种间接方式。你无法在Pad Designer里像画图软件那样拖拽节点。而Shape符号本身就是用完整绘图引擎画出来的可以表达任何闭合图形两者正好互补。在层列表里你需要对每一层分别设置Regular Pad。对于贴片器件一般只需要在Begin Layer顶层铜箔设置Shape其余的Default Internal、End Layer等层可以设置为Null或略大的规则焊盘。对于通孔异形焊盘则需要在Begin Layer、内部层、End Layer都放上同一个Shape确保在每一层都能看到完整的异形铜皮。3.3 SolderMask和PasteMask怎么配合焊盘不是只管铜皮就结束了阻焊开窗和钢网窗口也要一起定义。SolderMask层的含义是阻焊开窗这一层开了口板厂就不会在这个区域覆盖绿油。如果异形焊盘的SolderMask没有设置好板厂可能会把整个异形区域盖住导致焊盘无法上锡。我的做法是SolderMask_Top直接选择和Regular Pad相同的Shape或者用Z-Copy在原Shape基础上外扩0.1毫米再作为阻焊开窗。外扩的好处是降低对位偏差的影响。阻焊开窗如果和铜皮完全一样大板厂对位稍有偏差就会出现部分铜皮被绿油盖住的情况。PasteMask_Top是钢网开窗它影响的是回流焊时锡膏的印刷位置。对于大多数异形焊盘PasteMask可以设置成和铜皮相同的Shape但在大面积铜皮焊盘上建议把PasteMask适当缩小或者做成分段开窗。比如LED散热焊盘动辄几平方毫米如果钢网开窗也开成完整的一大块贴片时锡膏量过大会导致器件浮高、偏移回流焊后焊锡还可能挤到元件本体上。这种情况下我会在PasteMask里用多个小Shape组合形成安全分割线这样既能保证连接强度又不会锡膏过量。3.4 Thermal Relief和Anti Pad的正确处理热风焊盘和隔离焊盘这两个参数是做异形焊盘时坑最多的区域。它们主要影响负片层。热风焊盘Thermal Relief用于在负片平面层上为焊盘提供连接通路通常是几个散热条隔离焊盘Anti Pad用于在负片平面层上把焊盘和平面铜皮隔开。问题在于Allegro的Flash符号生成器只支持圆形、方形等标准形状无法为异形Shape自动生成配套的热风焊盘和隔离焊盘。如果你在Thermal Relief下拉菜单里强行选了一个标准的Flash符号生成的图形会跟你的异形Shape完全不匹配DRC迟早报错。我的做法很简单对于异形焊盘把Thermal Relief设为NullAnti Pad也设为Null或者一个比Shape略大的规则形状然后整体采用正片设计。如果你的板子必须使用负片平面层比如大型电源板的整层负片铺铜那就不要把异形焊盘寄托在负片自动连接上而是在这一层单独画静态Shape连接焊盘和铜皮。这里还要说一个正片和负片的基础概念。正片工艺下你画了什么就有铜铜皮上没画的就是没有铜负片工艺下你画了什么反而没有铜没画的地方被覆铜填充。异形焊盘在正片状态下出光绘很直观Shape是什么样铜皮就是什么样。但在负片状态下焊盘的连接和隔离全靠Thermal和Anti Pad的符号来控制而异形焊盘没有对应的Flash符号因此特别容易出问题。所以我的原则是凡是涉及异形焊盘的PCB优先全板正片设计实在要用负片也绝不依赖自动生成的热风焊盘。3.5 钻孔和通孔属性的设置如果你的异形焊盘需要打孔比如USB连接器固定脚是异形铜皮加上一个定位孔那么Drill栏也要设置。钻孔直径根据器件实际引脚直径来定一般比引脚直径大0.15到0.3毫米方便插入。如果引脚是矩形扁脚钻孔建议做成槽孔Slot。Allegro的钻孔类型支持Circle圆形和Oblong长圆形等。槽孔两端是半圆中间是直线这种孔在异形焊盘里非常常见。钻孔的设置还会影响后续制作光绘时的钻孔文件输出。如果孔的类型、直径和尺寸有问题板厂那边的钻带会乱掉所以这一步不要偷懒。通孔焊盘的孔壁要金属化就选Plated如果是定位用的机械孔不要求导电可以选Non-Plated但一定要在封装里标注清楚避免板厂误处理。整个Pad Designer配置完成后File - Save保存。这时生成的是一个.pad文件。它的命名建议和.ssm文件对应比如h_led_disp_2x1mmpad.pad。保存后不要急着关掉回头检查一下每个层的设置是否符合预期尤其是那些设为Null的层确认它们不会影响焊盘在对应层的正常连接。4. 制作封装把异形焊盘放到Package Symbol里4.1 新建Package Symbol并放置焊盘焊盘文件就绪后打开Allegro PCB EditorFile - NewDrawing Type选择Package symbol。这是封装设计的主战场。在开始放置焊盘之前同样先设置单位和格点。单位必须和Pad文件保持一致格点可以根据引脚间距来定。常见的连接器引脚间距是2.54毫米格点就设成0.01毫米方便精确输入坐标。放置焊盘的命令是Layout - Pins快捷键通常绑定在Pin放置下。执行后右侧Options面板会列出当前库路径下可用的Padstack文件找到刚才保存的.pad文件。这里如果找不到先检查PADPATH是否包含你的库目录很多人在这个环节卡住其实不是文件没保存而是Allegro根本没去那个目录找。选中焊盘后就可以在绘图区逐一点击放置。对于异形焊盘放置时的原点位置很重要。因为在Padstack里焊盘的坐标原点就是Shape Symbol的原点而你在封装里点下去的位置会变成这个原点在绘图区的坐标。如果你的原点在Shape几何中心那么点下去的位置就是焊盘中心如果你的原点在角落点下去的位置就是焊盘角落。所以一开始画Shape时把原点放对到了这一步就会非常省心。多个异形引脚组成的封装放置顺序建议从第1脚开始。先通过键盘输入坐标比如键入x 0 0把第1个焊盘放在原点然后依次按实际的引脚间距放置其余引脚。对于引脚数量多的连接器可以用Excel算好每个引脚的绝对坐标再复制到Allegro的命令行里执行快速又准确。4.2 引脚属性与封装辅助层焊盘放置后每个引脚还要设置Pin Number和Pin Type。打开Edit - Properties选中某个焊盘引脚在Pin属性里把编号设置为1、2、3等与原理图符号的引脚号一一对应。如果异形焊盘只是机械固定脚比如连接器两侧的大固定脚不参与任何电气连接Pin Type设置为Mechanical。这样在导入PCB后即使网络表中没有这个引脚DRC也不会报未连线的错误。除了电气引脚封装还要有丝印、装配层和器件边界。丝印层Silkscreen_Top画器件外形装配层Assembly_Top画器件本体轮廓Place_Bound_Top画一个尽量贴合器件外形但比本体稍大的占地区域用于自动布局和碰撞检测。很多人做封装只放焊盘和丝印漏掉Place_Bound结果在PCB布局阶段器件不能正常吸附、彼此之间不会避让非常麻烦。这其实和标题关系不大但既然在做完整封装顺便把习惯养成比事后补要省事。丝印画法很简单用Add - Line在Silkscreen_Top上画一个封闭外形线宽建议用0.127毫米5密尔左右。画完之后把所有丝印线选中击右键Component - Assembly_Top把它们整体复制过去再调整一下尺寸偏置确保装配层略小于丝印层。Place_Bound用Add - Shape在Place_Bound_Top画一个矩形或多边形必须完全覆盖器件的物理尺寸再向外延展0.1到0.25毫米留出安全余量。封装保存时会生成两个文件.dra是绘图源文件.psm是封装符号文件。放置到PCB时Allegro实际调用的是.psm文件。如果修改了.dra但忘记重新生成.psmPCB里看到的封装还是旧的。保存后建议到文件管理器里确认一下.psm文件的时间戳是否更新了这个细节能帮你避免“改了没生效”的尴尬。4.3 把做好的封装导入PCB并更新封装做完后面就是PCB端应用了。在原理图里指定好封装名PCB导入网表后在Place - Manually的弹窗里搜索到封装名称双击或者选中后放置。这时异形焊盘应该原样出现在PCB上Shape铜皮的轮廓清晰可见。如果你是在项目中途修改了封装需要在PCB里同步最常用的命令是Place - Update Symbols。在弹出的窗口中选择Package symbols找到你更新的封装名勾选Update symbol padstacks然后点击Refresh。这样不仅封装里的焊盘坐标会更新焊盘本身的Shape、钻孔、阻焊参数也会一并刷新。这个操作对异形焊盘尤其重要因为Shape文件可能改了但PCB里旧焊盘仍保留着旧形状不勾选Update symbol padstacks的话PCB是不会自动更新焊盘形状的。如果是替换单个封装比如把原来的封装换成另一个完全不同的器件可以用右键Replace Symbol或者Place - Replace菜单操作。替换时需要注意引脚编号的映射关系新旧封装同名Pin才能保留原网络。如果引脚编号对不上原本的走线就会悬空必须在替换后逐一检查网络。5. 出图前后最容易忽视的检查项5.1 用Database Check检查Shape和Padstack封装制作完成后强烈建议先做一遍完整的数据库检查。Tools - Database Check把所有选项勾上尤其不要漏掉Check shape boundaries和Check padstack references。这个工具会扫描当前设计中的所有Shape是否闭合、是否自交、引用的Padstack文件是否存在、引用的Shape符号是否有效。我在做异形焊盘时曾经遇到过一个隐蔽问题用Z-Copy从线框复制Shape时因为源线框没有完全闭合Z-Copy生成的Shape出现了微小的缺口肉眼看完全发现不了但Database Check会报一条Sharp Edge错误。这种缺口在PCB生产时会影响铺铜的完整性严重时还可能造成DRC误报。所以每次画完Shape我都固定跑一遍Database Check有问题先解决再往下走不要在带病状态下硬推进度。还有一个检查点容易被忽略Pin和Shape的重叠问题。封装里放置了多个异形焊盘如果两个Shape靠得太近Allegro的DRC会在它们之间报最小间距错误。这时候不要慌先确认间距是否真的小于板厂工艺要求。如果确实满足厂家的最小间距要求但DRC里设的值比厂家值还大可以调整Rule Manager里的间距约束或者给这段区域添加一个DRC豁免区域。不过我的建议是除非设计确实需要否则不要轻易豁免密间距区域在生产中的良率波动很大能拉开距离就尽量拉开。5.2 光绘输出的关键调整异形焊盘出光绘时最容易出问题的还是负片层。正片层下Shape会直接以铜箔的形式输出没有任何悬念。但如果你板内某个内层是负片平面层异形焊盘在这个内层的连接和隔离都依赖Thermal/Anti Pad而这些在异形焊盘上往往没有正确设置。出完光绘后如果你拿Gerber Viewer打开看经常会发现原本应该连接平面层的地方出现了一个圆形缺口或者平面层被意外断开。处理方法我在前面提过最好是把平面层改为正片用静态Shape直接绘制所需铜皮。如果项目不允许大面积改动那么在负片层上就要手动画好连接Shape或隔离区域再用Artwork Control Panel生成光绘文件。每次出光绘之前利用Allegro的Artwork Check工具跑一遍Missing Film和Connectivity检查确认所有层都有对应的光绘文件尤其是Soldermask和PasteMask层。这两个层如果没有生成对应的Shape板厂做出来的板子就会完全没有阻焊开窗异形焊盘直接废了。5.3 生产工艺对异形焊盘的约束做异形焊盘不只是画图还要考虑制造端能不能把形状做出来。首先要注意尖角问题。绘图时如果Shape轮廓上有锐利尖角这种形状在钢网制作和印刷阶段容易造成锡膏残留回流焊后还有可能出现应力集中。我画散热焊盘的时候只要工艺允许都会把尖角改成R0.2毫米到R0.3毫米的圆角。Allegro里可以用Fillet命令对Shape的顶点做圆角处理选择需要倒圆的角输入半径几秒钟就搞定。其次是阻焊桥的问题。相邻焊盘之间如果间距很小阻焊开窗之间的绿油桥宽度就会很窄。一般板厂的阻焊桥最小宽度在0.075毫米到0.1毫米之间低于这个值绿油桥容易脱落导致两个焊盘之间的阻焊层桥接不良。遇到这种设计的异形焊盘要么加大焊盘间距要么和板厂提前沟通确认他们能做到多少的阻焊桥宽度。钢网开口也是一个被很多人忽略的细节。钢网开口不等同于PasteMask开窗钢网厂还要根据厚度、器件类型、锡膏品牌做一些调整。大面积的异形焊盘做钢网开口时尽量让钢网工程师知道你这个焊盘的用途。我有个项目一开始LED散热焊盘的钢网开窗做成完整一大块结果回流焊后器件偏移严重后来钢网厂建议在开口中间做“工”字形分割线问题立刻解决。板厂和钢网厂的经验有时候比仿真软件管用画图阶段留好沟通空间后面生产会顺很多。6. 异形焊盘高频问题与排查实录下面这些问题是这几年做异形焊盘时最常遇到的我整理成一张速查表方便实际工作时对照处理。现象可能原因处理方法放置引脚时下拉列表里找不到新建的.pad文件默认库路径没有包含你的库目录检查PADPATH环境变量把库目录加进去后重新读取环境引用了Shape但焊盘显示为空白Shape Symbol里没有画Shape或画错层或只保存了.dra没有生成.ssm打开Shape文件检查图形与层设置重新保存生成.ssm焊盘尺寸明显不对比如大了一圈或小了好几倍单位和Shape工程单位不一致统一使用毫米或密尔Pad Designer和Shape Unit设定保持一致DRC报Shape自交或重叠线段绘制Shape时重复画了同一条边用Shape Edit编辑Shape删除重复边必要时删掉Shape重新画更新封装后焊盘形状没有变化PCB里的焊盘没有同步刷新Place - Update Symbols勾选Update symbol padstacks负片平面层里焊盘显示异常或连接断开异形焊盘没有匹配的Flash热风焊盘平面层改为正片或手动画静态Shape连接替换封装后原本的走线全部悬空新旧封装引脚编号对不上网络映射失败替换前确认Pin Name一一对应替换后跑Unconnected Pads检查出Gerber后阻焊层没有异形开窗Soldermask层没有正确生成开窗Shape检查封装里SolderMask参数确认开窗Shape存在封装在电脑A上正常电脑B上打开焊盘消失电脑B的env文件没有指向库文件位置修改env把SHAPEPATH和PADPATH以及其他相关路径都设置好每次做异形焊盘卡壳时先按这个表过一遍八成能找到问题。如果还不行就回到Shape Symbol文件本身看它是不是真的能独立打开、能不能选中。很多时候问题不在“引用的地方”而在“被引用的源文件”。再者我建议在实际项目里给异形焊盘单独建立一个数量足够的库文件夹并用版本管理工具同步。尤其当公司的设计文件在多人之间流转时如果没有把.ssm、.pad、.psm文件一起打包交付对方机子上打开封装就是一堆空的矩形框。打包工程的时候把库文件一并归档是避免协作返工最有效的办法。个人经验补充我实际操作中最大的感悟是原点设置这件事越早想清楚越省心。以前我刚学异形焊盘时画Shape比较随意原点经常随手一放到了做封装的时候发现每个引脚坐标都要重新计算偏移量一个四脚器件算了半天还容易错。后来我养成了习惯先把器件实物拿过来量出本体中心和引脚位置画Shape之前就定好原点后面一路顺畅。如果你刚开始接触Allegro异形焊盘建议先拿一个简单的LED灯珠练手尺寸不需要很大但把Shape、Pad、Package、PCB放置、Gerber输出这一条龙完整走一遍。走通一次这套流程对你就再也没什么神秘感了。