做Allegro封装库这么多年,我遇到最多的问题之一,就是新手在Padstack Editor里面对Regular Pad、Thermal Relief、Anti-Pad三列字段时的一脸茫然。这三个词几乎决定了你内层电源地该怎么连、焊盘能不能焊牢、过孔会不会短路,可大多数教程只告诉你怎么填,不告诉你为什么这么填。我见过有人把负片层的Thermal Relief漏掉,导致整板内层电源断路;也见过有人把Anti-Pad随手填成0,结果过孔和电源平面短接冒烟。这篇文章把我多年积累的Allegro焊盘设置经验整理成一套可以直接套用的方法,重点讲清楚这三类Pad到底是什么、各自在什么场景下发挥作用、具体的尺寸怎么算,以及踩过的坑。
1. 三种Pad的角色分工:先搞懂正片与负片,焊盘设置才有意义
1.1 从一次负片层断路说起
有一次帮朋友检查一块四层板,现象很奇怪:电源网络在顶层和底层都测不到短路,DCR却显示断路,X-ray也看不到明显断点。最后我在Allegro里打开内层电源plane的负片输出,发现过孔在内层对应的位置只有一个光秃秃的隔离环,压根没有花焊盘连接。原因很简单:建库的人在做Padstack时,Default Internal层的Thermal Relief留空了。
负片层的逻辑是"默认整层都是铜,图形只是掏洞",Thermal Relief就是给电流留出的连接桥。桥没了,过孔跟内层铜皮之间就是断开的。这个案例不是个例。很多工程师在正片环境下布线久了,潜意识里觉得"焊盘焊盘,就是Regular Pad那一栏",进了Padstack Editor之后,只看表层Regular Pad,内层怎么填全凭感觉。结果一到负片层就翻车。
1.2 正片与负片:为什么会有两套焊盘表达方式
要理解三个Pad字段,先要理解Allegro里一个很基础也很容易被忽略的概念:正片和负片。
正片(Positive)就是我们熟悉的铜箔表达方式,画一个圆,这个位置就有铜,圆外面没有铜。PCB的TOP层、BOTTOM层、信号层大多用正片。正片层的焊盘连接关系很直接:Regular Pad就是实际铜箔,周围的间距由铜箔避让规则(Shape Clearance)决定。
负片(Negative)则是反过来,默认整层都是铜,你画上去的图形是"没有铜"的空洞。过去用负片是因为平面层数据量小、运算快,而且Allegro里的电源地分割、焊盘隔离都有一套高效的负片处理机制,所以直到今天,很多公司做四层以上板子时,内层电源地依然用负片。
在负片层上,"焊盘怎么连到铜皮"和"焊盘怎么跟铜皮隔开"是两件完全独立的事,分别由Thermal Relief和Anti-Pad负责。这就是Padstack Editor里三列字段存在的根本原因。
1.3 Regular、Thermal、Anti各管一件事
我习惯用一个停车位的类比来理解这三个字段:
- Regular Pad是停车位的白线框,决定这辆车(引脚/过孔)实际占据的面积,属于正片世界的概念。
- Thermal Relief是防汛堤上的泄洪闸,既让水(电流)流过去,又限制流量,防止焊接时热量被大面积铜皮吸走。
- Anti-Pad是隔离带/护城河,把焊盘和周围铜皮彻底隔开,谁都不能越界。
如果只记结论,可以看下面这张表:
| 字段 | 正片层作用 | 负片层作用 | 典型尺寸参考 |
|---|---|---|---|
| Regular Pad | 实际铜箔面积 | 一般不直接参与负片输出 | 钻孔直径 + 2×环宽 |
| Thermal Relief | 不适用,正片铺铜由规则避让 | 提供焊盘与平面铜皮的连接桥 | 外径≈Regular+0.3mm,spoke宽0.3mm |
| Anti-Pad | 不适用,正片铺铜由规则避让 | 在平面层上掏一个隔离环 | Regular+0.3~0.5mm |
这张表建议贴在工位上。接下来逐个拆开讲。
2. Regular Pad:正片层焊盘的几何与开窗设计
2.1 环宽不是拍脑袋定的:钻孔公差与制程能力
Regular Pad最核心的几何参数是环宽(Annular Ring),也就是钻孔孔壁到焊盘边缘之间的距离。公式很简单:Regular Pad外径 = 钻孔直径 + 2 × 环宽。
但环宽怎么取?很多人直接套0.3mm,也不管孔径多大、板厂工艺多差。实际上环宽要覆盖两个公差:钻孔位置公差和孔径公差。PCB钻孔的机械定位精度通常在±0.05mm左右,钻孔直径本身也有±0.05mm左右的偏差。也就是说,你设计0.3mm环宽,成品最差可能是0.3 - 0.05(孔位偏移) - 0.05(孔径变大) = 0.2mm,这刚好满足IPC Class 2的0.2mm要求。
我的建议是:普通信号过孔,环宽至少0.2mm;如果板厂工艺一般或者板子层数多、压合应力大,取0.25mm~0.3mm更安全。BGA扇出区实在放不下0.25mm,才压缩到0.15mm,前提是提前跟板厂确认。
厚度也要考虑。内层铜厚1oz(35μm)以上时,蚀刻侧蚀会影响实际环宽,设计时最好把目标环宽放到0.25mm以上。
2.2 常用通孔焊盘尺寸速查表
下面这组参数是常规FR4、1.6mm板厚、35μm铜厚下的经验值,基本覆盖了大多数设计场景。Regular Pad一栏的数值同时供表层和内层正片使用。
| 钻孔直径 | Regular Pad | Thermal Relief外径 | Anti-Pad | 典型用途 |
|---|---|---|---|---|
| 0.2mm(激光孔) | 0.4mm | 不设 | 0.7mm | HDI盲埋孔 |
| 0.3mm | 0.6mm | 0.9mm | 1.1mm | 细间距信号过孔,工艺下限 |
| 0.5mm | 1.0mm | 1.3mm | 1.5mm | 常规信号过孔 |
| 0.6mm | 1.2mm | 1.5mm | 1.7mm | 常规信号/电源过孔 |
| 0.8mm | 1.4mm | 1.7mm | 1.9mm | 电源过孔 |
| 1.0mm | 1.6mm | 1.9mm | 2.2mm | 插件孔/强电流过孔 |
每个数值都留了余量。孔径越大,绝对公差虽然不变,但相对的环宽占比更小,所以大的插件孔环宽建议也保证至少0.3mm。
2.3 SMD焊盘与通孔焊盘在Padstack里的区别
Regular Pad不只是通孔焊盘的专利,SMD贴片焊盘同样要定义,只是逻辑完全不同。
SMD焊盘没有钻孔,在Allegro里通常用Single类型的Padstack,只在Begin Layer或者End Layer定义Regular Pad,底下没有Default Internal层,也不需要Thermal Relief和Anti-Pad。很多人建SMD封装时习惯性把Padstack从Through类型复制过来,内层多了一堆无意义的Thermal、Anti参数,虽然不影响使用,但会在数据库里产生大量冗余,后期维护很烦。
SMD焊盘更关键的是Soldermask和Pastemask两层的配合。Soldermask决定绿油开窗大小,Pastemask决定钢网开孔大小,这两层的尺寸往往比Regular Pad本身对焊接质量的影响更大。比如0.5mm pitch的QFN,Soldermask如果按Regular+0.1mm开窗,绿油桥宽度会被压缩到0.1mm左右,板厂根本做不出来,做出来也容易脱落。这种情况下开窗只能按1:1处理,甚至要做成"绿油桥"的专门设计。
2.4 绿油开窗与钢网开窗怎么跟着调
Soldermask是绿油开窗,开窗太小绿油会盖住焊盘边缘,导致焊接面积不够;开窗太大会露出过多铜,增加短路风险。常规做法是Soldermask的Pad比Regular Pad大0.075mm~0.1mm,也就是每个边放出3~4mil。如果是0.4mm pitch的BGA,焊盘间距很小,开窗不能简单放大,很多时候需要跟板厂确认按1:1或只放大0.025mm。
Pastemask只有需要贴片焊接的焊盘才需要,它决定了钢网上开孔大小,也就是锡膏量。对于通孔插件焊盘,一般不需要设Pastemask;对于SMD焊盘,Pastemask通常和Regular Pad等大,如果希望减少锡珠可以缩小0.025mm,如果担心虚焊可以放大0.03mm,但别超过焊盘间距的三分之一。钢网开孔过大,回流焊时锡膏塌陷很容易把两个相邻焊盘连在一起。
3. Thermal Relief:花焊盘的连接逻辑与参数平衡
3.1 为什么大面积铜皮是焊接的"热黑洞"
你可能想问,既然内层有大面积铜皮,把过孔焊盘整个焊上去不是更牢固吗?电气连接面积大、电阻也小,为什么还要把焊盘挖成四个辐条的"雪花"形状?
答案在焊接热量里。当你手工焊接一个直连大面积铜皮的插件孔时,烙铁的热量会顺着焊盘迅速导给整片铜皮,焊盘本身的温度始终上不来。你可以把烙铁温度调到350℃、400℃,但热量被持续吸走,结果是助焊剂先挥发、焊锡却不浸润,形成虚焊或冷焊。波峰焊和回流焊也一样,大面积铜皮构成了一个"热黑洞",焊料还没完全爬进孔里就先凝固了。
Thermal Relief用辐条(spoke)把热传导路径收窄,相当于在热路中加了一个热阻,焊接时热量的流失速度大幅降低。辐条的存在也保证焊盘中心温度可以在短时间内升到焊料熔点以上,让焊锡在毛细作用下爬满整个孔壁。
3.2 辐条数量与宽度的经验计算
在Allegro的Flash Symbol里,最常见的花焊盘是四辐条十字形。辐条数量不是越多越好:辐条多了,热通路宽,散热快;辐条少了,载流不够。
对一般信号过孔来说,4个辐条、每个宽度0.3mm就够用。如果这个过孔要走1A以上的电流,建议把辐条宽度提高到0.4mm~0.5mm,或者增加过孔数量并联。
粗略估算:35μm铜厚下,1mm宽的铜走线在常规温升下大约可以走1A电流。一个0.3mm宽的辐条大概是0.3A,四个就是1.2A。看着好像够,但实际还要算上过孔本身的电阻和不均匀电流分布,我习惯只按70%降额用,也就是四个0.3mm辐条的过孔,长期安全电流按0.8A算。
| 辐条配置 | 单条估计载流 | 合计 | 实践降额 |
|---|---|---|---|
| 4×0.3mm | 0.3A | 1.2A | 0.8A |
| 4×0.5mm | 0.5A | 2.0A | 1.4A |
| 8×0.3mm | 0.3A | 2.4A | 1.7A |
3.3 Flash Symbol的创建与负片输出逻辑
在Allegro里,Thermal Relief不能随便在Padstack的一个层上画个十字,它必须引用一个Flash Symbol(shape symbol)。这是因为负片光绘输出时,图形绘制引擎需要两种基本操作:flash(在指定位置放置一个形状)和void(在指定位置挖掉一块)。花焊盘的连接图形就是通过flash方式放进去的。
创建Flash Symbol的流程:
- 在PCB Editor中File → New,Type选Shape Symbol,命名如FLASH_12_15_03。
- 用Add → Flash或手动画出内环外环和四个辐条。内环直径要可以套住钻孔,外环直径一般等于Thermal Relief外径。
- 保存为.flm文件,放到库路径下。
- 在Padstack Editor中,将Default Internal层的Thermal Relief字段选为这个Flash Symbol。
命名里的数字我习惯按"外径_内径_辐条宽"来写,FLASH_15_08_03就是外环1.5mm、内环0.8mm、辐条宽0.3mm。这样看到名字就知道花焊盘长什么样,不用每次打开图纸去查。
注意:如果你的库路径里没有这个Flash Symbol,Padstack Editor会报错提示找不到焊盘形状。所以建库之前先把Flash Symbol准备好,别等着在PCB Editor里用到的时候再补。
3.4 高电流场景下的变通
大电流设计里,Thermal Relief其实是个让人纠结的东西。辐条细,散热好焊接好,但载流不足;辐条宽,载流够了,又回到了焊接难题。
实际工程中,我更倾向于这样处理:电源过孔需要走大电流的,不要为了散热好看硬上花焊盘,直接在电源层用正片铺铜,把过孔设置成solid connect(实心连接)。正片铜皮会按照shape clearance规则自动以Regular Pad外轮廓连接,不涉及Thermal Relief,载流面积最大。表层焊接需要手工焊接的插件孔才用Thermal Relief。
还有一招:把电源过孔做成多个小过孔并联,每个过孔走20%~30%的电流。这样既不需要加宽辐条,也能保证总载流,同时焊接时的热集中也小。
4. Anti-Pad:隔离间隙的尺寸底线与高压场景
4.1 Anti-Pad的尺寸底线
Anti-Pad是负片层上焊盘周围的隔离环。它的大小决定了焊盘和平面铜皮之间的电气间隙。如果太小,内层平面会和过孔短路;如果太大,平面层被挖掉的区域太大,电流路径变窄,电源完整性变差。
常规尺寸取Regular Pad + 0.3mm到+0.5mm。以0.6mm钻孔、1.2mm Regular Pad为例,Anti-Pad取1.5mm~1.7mm。
这里面有一个很多人忽略的点:高压场景。如果过孔附近存在不同网络的高压平面层,Anti-Pad不仅是一个工艺参数,更是爬电距离的一部分。比如220V AC区域,焊盘与相邻铜皮之间需要至少1.5mm~2mm的电气间隙,这时候Anti-Pad要做大,甚至还要在周边加Keepout。别在这种地方省尺寸,击穿一次就是整板报废。
4.2 过孔密集排布时的取舍
BGA扇出的时候,过孔间距往往只有0.8mm甚至0.65mm。如果每个过孔的Anti-Pad都按Regular+0.5mm来设,相邻两个孔的Anti-Pad边缘可能重叠,把内层平面切出一条长长的绝缘槽。轻则载流减弱,重则造成平面的不连续,信号回流路径被迫绕行。
我的经验是:高密度区域,Anti-Pad可以收缩到Regular Pad + 0.25mm,只要满足板厂最小隔离能力(一般0.2mm以上)就行。但全局库里的默认Anti-Pad不要改,因为那是给普通区域用的。Allegro可以在约束管理器里单独对某个区域设置Constrain区域,不过大部分情况下,直接在布局布线时调整过孔位置更简单,不要让两个过孔的中心距小于它们Anti-Pad半径之和。
4.3 正片铺铜的间距由谁控制
很多从其他EDA工具转过来的工程师会误以为"正片铺铜时,焊盘和铜皮的间距也是靠Anti-Pad控制的"。不是。正片铺铜时,间距由铜皮避让规则(Shape Clearance)控制,也就是约束管理器里的Clearance规则,和Padstack里的Anti-Pad毫不相关。
这意味着什么?如果你的内层电源平面用的是正片(Positive),那么Padstack里的Anti-Pad填什么都不影响连接间距。但很多设计是混合的:表层正片、内层电源地负片,这时同一个过孔在内层负片上靠Anti-Pad隔离,在表层正片上靠Shape Clearance间距隔离。理解这一点,才能解释为什么有些人改了Anti-Pad却发现正片层间距毫无变化。
5. Padstack Editor实操:从头创建一个标准过孔焊盘
5.1 新建焊盘前的命名与规划
建Padstack之前,先定一套命名规则。我的习惯是:VIA_钻孔直径_焊盘直径,比如VIA_06_12,就是0.6mm钻孔、1.2mm焊盘的通孔过孔;VIA_06_12_15表示带1.5mm Anti-Pad的版本;VIA_P_10_15表示插件孔PLUG。命名清晰能省很多后续查找封装的时间。
也要提前把Flash Symbol准备好。以VIA_06_12为例,Flash Symbol命名FLASH_15_08_03,含义是外环1.5mm、内环0.8mm、辐条宽0.3mm。
5.2 逐步填写Layers参数
在Allegro中打开Padstack Editor,File → New,选择Through类型。以0.6mm钻孔、1.2mm焊盘为例,完整步骤如下:
- 在Drill/Slot Hole栏填钻孔直径0.6mm,Drill tolerance可以留空由板厂控制。
- 切到Layers标签页,找到BEGIN LAYER(顶层),设置Regular Pad为Circle、1.2mm;Thermal Relief不填(表层正片不需要);Anti-Pad填1.7mm,方便以后内层负片调用。
- 找到DEFAULT INTERNAL(默认内部层),Regular Pad设置Circle、1.2mm,Thermal Relief选择FLASH_15_08_03,Anti-Pad填1.7mm。
- 找到END LAYER(底层),与顶层一样设置。
- SOLDERMASK_TOP/BOTTOM,设置Circle、1.4mm(Regular+0.2mm)。如果板厂要求开窗比加大,可以再调。
- PASTEMASK_TOP/BOTTOM,对于插件过孔,不需要设置;如果这是SMD焊盘,再单独设置。
这里有一个很关键的细节:Padstack Editor里Begin Layer和End Layer的Thermal Relief留空,不代表内层不需要。真正的负片内层连接全部由Default Internal层控制。如果你建的是盲埋孔,还要根据叠层单独设置每个实际用到的层,不能只靠Default Internal。盲孔在L1-L3,那L3层的Thermal/Anti也要单独配好,否则该层要么断路要么隔离异常。
5.3 保存与库管理注意事项
保存Padstack时,Allegro会让你选择保存为.pad文件。记得把路径加入系统库搜索路径,否则PCB Editor里看不到这个焊盘。库管理我推荐按功能分目录,比如signal_via/、power_via/、plugin/,每个目录里放对应的.pad和.flm文件。别把所有焊盘堆在一个文件夹里,几千个文件的时候你会后悔的。
还需要注意,Allegro 17.4及以上版本的Padstack Editor界面和16.6差别不小,但Layers页签里的三列字段位置基本一致。用新版本时,如果找不到字段,可以按F1看帮助中的Padstack图片说明。17.4里Padstack Editor还多了Materials标签页,一般保持默认即可,不需要也不能随便改电镀材料参数。
5.4 光绘输出前要检查的焊盘项
很多设计在PCB Editor里看着一切正常,出Gerber后内层缺连接或者多了隔离环,问题往往出在Artwork Control Panel的配置上。负片层输出时,Artwork里定义的层(比如GND)必须选择Negative,且在Flash选项卡中正确绑定Flash Symbol。如果Flash Symbol缺失或路径错误,光绘会报警,但不会中止,最后出来的Gerber就是断的。
我在出板前必查三件事:
- 每个负片plane层使用的Flash Symbol是否都能在库路径中找到。
- Padstack Editor里所有过孔在Default Internal层是否都有Thermal Relief和Anti-Pad。
- Gerber中plane层的D-Code里,花焊盘形状是否被正确解析。
这三项检查做下来,至少能把内层断连和短路的较大隐患排除掉。别嫌麻烦,出板一次的成本够你检查一百次。
6. 高频故障与排查清单:直接从现象到改法
6.1 内层电源/地断路
现象是网络在电气规则检查(DRC)不报错,但万用表量不通,X-ray看不到明显断点。优先查Padstack里Default Internal的Thermal Relief。如果它是空的,或者指向的Flash Symbol不存在,内层负片就不会有连接桥。相信我,这类问题在Gerber阶段是看不出来的,等你意识到的时候,板子已经打样回来了。
如果Thermal Relief明明有值,但还是断路,那就去看Artwork Control Panel里负片层的Flash绑定。有时候Padstack是对的,光绘配置漏了,一样白搭。
6.2 过孔与平面层短路
现象是某两个网络之间短路,定位到内层平面上的过孔附近。检查Anti-Pad是否填了0,或者是否因为修改库导致Default Internal层的Anti-Pad丢失。还有一种可能是Artwork输出的负片层没有正确识别Anti-Pad,导致隔离环没生成。
排查时可以单独出这一层的负片Gerber,用CAM工具放大看,隔离环如果消失了,问题一定在Artwork或Padstack配置上。电气上测出来的短路点,往往就是那个没有隔离环的过孔。
6.3 焊接虚焊与热不足
现象是插件引脚手工焊接时,焊锡怎么都不吃,或者焊点表面发乌。先看这个焊盘连接的内层平面是否用了Thermal Relief,如果内层是正片实心连接,焊盘等于直接连在大铜皮上,热量流失严重。处理办法:把内层连接方式改成花焊盘连接;如果结构上必须实心连接,换更高功率的烙铁、提高预热温度、延长焊接时间,但最好还是从设计端解决。
另外还要看一个容易被忽略的点:Thermal Relief内环和钻孔之间有没有足够的铜环。有些人的Flash Symbol内环直径只比钻孔大0.1mm,实际电镀后孔壁铜层再厚一点,内环铜就被消耗得只剩很窄一圈,焊接时热容量不够,也会虚焊。
6.4 大电流过孔烧毁
现象是过孔发烫、发黑,甚至把板子烧出焦痕。大概率是Thermal Relief的辐条太细,导致载流容量不够。处理思路有几个:增加过孔数量并联;把辐条宽度从0.3mm提到0.5mm;改变连接方式,正片平面实心连接。优先第一个方案,过孔越多,单孔热负荷越低,电流分布也更均匀。
这里给一个快速估算表:
| 故障现象 | 大概率原因 | 改法 |
|---|---|---|
| 内层断路 | Default Internal没有Thermal Relief | 补Flash Symbol |
| 孔对平面短路 | Anti-Pad偏小/为0 | Anti-Pad加大到Regular+0.3mm以上 |
| 虚焊冷焊 | 实心连接平面,热流失 | 改花焊盘或提高焊接温度 |
| 过孔发烫 | Spoke太窄、电流集中 | 加大spoke、加过孔、改实心 |
我个人有个习惯,每次建完Padstack之后,会先把顶层、内层、底层的三个字段截图存成模板,标注好对应网络类型,下次建同类焊盘直接改数字。焊盘设置这件事,真正的难点从来不是软件操作,而是理解每一列字段背后对应的物理意义。Regular Pad管面积、Thermal Relief管热与载流的平衡、Anti-Pad管隔离与安全,想清楚这三件事,你就能从"照着教程填参数"进化到"自己根据板子的网络类型决定参数"。如果哪天你发现一块板子焊接良率突然下降,或者内层电源莫名断路,先别急着怀疑板厂,回Padstack Editor里把这三个字段逐个检查一遍,多半会有收获。