ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Cadence 17.2焊盘设计核心逻辑与实战:从分层定义到0603焊盘创建

2026/8/5 4:23:45 拓冰建站 浏览量
Cadence 17.2焊盘设计核心逻辑与实战:从分层定义到0603焊盘创建

1. 从零开始:Cadence 17.2焊盘设计器的核心逻辑

如果你刚接触Cadence 17.2,打开Padstack Editor(焊盘编辑器)时,面对一堆参数可能会有点懵。这很正常,我刚开始用的时候,也觉得它像个黑盒子。但别担心,一旦你理解了它的核心逻辑,画焊盘就会变得像搭积木一样直观。Cadence的焊盘设计,本质上是在定义PCB制造时,每一层上铜箔的形状和尺寸。一个完整的焊盘(Padstack)不是简单的一个“点”,而是一个由多层(Layer)图形叠加而成的“立体结构”。

为什么需要这么复杂?因为一块PCB板本身就有很多层:顶层(Top)、底层(Bottom)、内层(Internal),还有阻焊层(Solder Mask)、钢网层(Paste Mask)、钻孔层(Drill)等等。你的一个0603电阻的焊盘,在顶层需要一块铜皮来焊接,在阻焊层需要开一个比铜皮稍大的窗让焊锡露出来,在钢网层需要定义刷锡膏的区域,如果这个焊盘是通孔(比如一个插针),那还需要一个钻孔。Padstack Editor就是让你一站式定义所有这些“层”上图形的地方。

理解这个“分层定义”的概念是关键。很多新手会直接去画一个矩形或圆形,然后奇怪为什么生成的光绘文件不对。你得时刻记住:你画的不是“一个焊盘”,而是“焊盘在每一层上的表现”。举个例子,一个简单的表贴焊盘(SMD Pad),你至少需要定义这三层:BEGIN LAYER(通常指顶层或底层铜箔)、SOLDERMASK_TOP(顶层阻焊)、PASTEMASK_TOP(顶层钢网)。BEGIN LAYER的图形决定了实际导电铜皮的形状和大小,这是电气连接的核心。SOLDERMASK_TOP的图形通常比铜皮图形大一圈,这个“大一圈”的量就是solder mask expansion,目的是防止阻焊油墨覆盖到焊盘上影响焊接。PASTEMASK_TOP的图形通常和铜皮图形一样大或略小,它定义了钢网开孔的位置和大小,用于锡膏印刷。

所以,当你启动Padstack Editor,第一步不是急着画形状,而是先想清楚:我这个焊盘用在什么地方?是表贴电阻电容(SMD),还是通孔插件(Through Hole)?如果是通孔,是圆形孔还是槽形孔?想清楚应用场景,才能选择正确的起始模板和参数,这是避免后续反复修改的基础。很多令人头疼的DRC(设计规则检查)错误,根源都在于焊盘定义时没想清楚层叠关系。

2. 实战:创建一个标准的0603表贴电阻焊盘

理论说再多,不如动手做一遍。我们就以最常用的0603封装电阻的焊盘为例,走一遍完整的创建流程。你会看到,每个参数背后都有其设计考量。

首先,打开Padstack Editor(路径:开始 -> Cadence -> Release 17.2 -> PCB Editor Utilities -> Padstack Editor)。新建一个焊盘,初始界面会让你选择类型和单位。这里就有第一个经验点:单位一致性。你的PCB设计主工程用什么单位,焊盘就用什么单位,强烈建议使用millimeter(毫米)。虽然很多老外习惯用mil(千分之一英寸),但毫米更符合我们的直觉,且与大多数元器件数据手册的标注单位一致,能减少换算错误。我见过有人用mil做焊盘,用mm画板框,最后DRC报错查了半天才发现是单位混乱导致的微小数值偏差。

2.1 参数计算与层定义

0603封装指的是元件长1.6mm,宽0.8mm。但焊盘尺寸不能等于元件尺寸,必须外扩,否则焊接面积不够,影响强度和可靠性。一个常见的经验公式是:焊盘长度 = 元件引脚长度 + (0.3 ~ 0.5mm),焊盘宽度 = 元件引脚宽度 + (0.2 ~ 0.4mm)。对于0603电阻,其金属端子的典型尺寸约为0.8mm x 0.5mm。因此,我们可以将焊盘设计为长1.0mm,宽0.6mm的矩形。这个尺寸能提供足够的焊接面积,又不会导致焊盘间间距过小。

在Padstack Editor主界面,找到Layers选项卡。这是核心工作区。你需要依次添加和定义各层:

  1. BEGIN LAYER:这是顶层铜箔。点击Add,在Regular Pad下,Geometry选择Rectangle(矩形),Width输入1.0Height输入0.6Thermal ReliefAnti Pad对于表贴焊盘通常设为Null
  2. SOLDERMASK_TOP:这是顶层阻焊层。同样添加,Geometry也选Rectangle。关键来了:尺寸要比BEGIN LAYER大多少?这就是solder mask expansion,一般默认值是0.1mm(约4mil)。所以,Width = 1.0 + 0.12 = 1.2mm, Height = 0.6 + 0.12 = 0.8mm。这个扩张量确保了阻焊开窗完全覆盖焊盘并留有工艺余量,防止“阻焊上盘”导致焊接不良。
  3. PASTEMASK_TOP:这是顶层钢网层。添加,GeometryRectangle。钢网开孔通常等于或略小于焊盘铜皮,以防止锡膏过多导致桥连。我们可以设为0.95mm x 0.55mm。这里有个技巧:对于0603、0805这类小元件,有时会采用“内凹”或“home plate”形钢网开孔来优化锡膏成型,但对于标准设计,矩形且稍小的开孔是安全且通用的选择。

定义完后,你的Layers列表应该有三行,分别对应这三层。你可以通过View菜单下的Display Settings单独查看每一层的图形,检查尺寸是否正确。

2.2 保存与命名规范

参数设好,别急着关。点击File -> Save As保存。这里引出第二个重要经验:焊盘命名规范。混乱的命名是后期封装库管理的噩梦。建议采用包含关键信息的命名法,例如:smd100x60r。其中smd表示表贴,100x60表示尺寸(0.1mm精度,即1.0mm x 0.6mm),r表示矩形(Rectangular)。如果是圆形,可以用c。对于通孔焊盘,可以命名为thr120c65,表示通孔(Through Hole)、孔径1.2mm、焊盘直径6.5mm、圆形。统一的命名规则能让你在庞大的库文件中快速定位所需焊盘。

保存时,注意选择正确的路径。最好为你当前的项目建立一个专门的padstack文件夹,并与你的封装库(psm文件)路径区分开,在Allegro的Setup -> User Preferences -> Paths -> Library中设置好padpathpsmpath,这样软件才能正确调用。

3. 进阶:通孔焊盘与“阿狸狗”环境下的特殊考量

讲完表贴,我们再看更复杂的通孔焊盘。通孔焊盘需要定义钻孔(Drill),并且涉及更多层,如DEFAULT INTERNAL(默认内层)、SOLDERMASK_TOP/BOTTOM等。在Cadence 17.2中,尤其是通过“阿狸狗”等工具安装或管理的版本,有时会遇到一些环境或显示上的小问题,了解它们能避免踩坑。

3.1 创建一个有镀铜的通孔焊盘

假设我们要创建一个用于1mm直径插针的通孔焊盘,孔径(Drill Diameter)设为1.1mm(给插针留点余量),焊盘直径(Pad Diameter)设为1.8mm(这是常见比例)。

在Padstack Editor中,首先在Drill部分设置钻孔参数:

  • Drill diameter: 1.1
  • Plating: 选择Plated(镀铜)。如果是不镀铜的安装孔,则选Non-Plated
  • Drill figure: 通常选Circle(圆孔),如果是槽孔则选Slot

然后转到Layers选项卡,现在需要定义的层变多了:

  1. BEGIN LAYER(顶层铜箔):Regular PadGeometryCircleDiameter输入1.8
  2. DEFAULT INTERNAL(所有内层铜箔):通常和BEGIN LAYER设置相同,直径1.8mm的圆形。对于电源或地过孔,有时内层会使用Thermal Relief(热风焊盘)来连接覆铜,以减少散热速度便于焊接,此时Regular Pad仍为1.8mm圆,但Thermal Relief会设置成带有开口的“轮辐”状。
  3. END LAYER(底层铜箔):同BEGIN LAYER。
  4. SOLDERMASK_TOPSOLDERMASK_BOTTOM:阻焊层。直径需要在焊盘直径基础上加solder mask expansion,例如1.8 + 0.1*2 = 2.0mm。
  5. (可选)PASTEMASK_TOP/BOTTOM:通孔元件如果是波峰焊,底层可能需要钢网;如果是手工焊接,则可能不需要。根据工艺决定。

这里有一个容易混淆的点:Anti PadAnti Pad(反焊盘)是用于在电源或地平面层上,围绕过孔的一个隔离环,防止过孔和平面层短路。它通常比焊盘直径大一些。对于普通的信号过孔,如果内层是正片(Positive)且你使用了DEFAULT INTERNALRegular Pad,软件通常能自动处理与动态铜皮的避让。但在复杂高速设计或使用负片(Negative)内层时,可能需要显式设置Anti Pad尺寸,一般比焊盘直径大0.4mm以上。新手阶段,在正片设计中使用默认设置通常没问题。

3.2 应对“阿狸狗”环境与显示异常

“阿狸狗”是很多国内工程师对Cadence安装破解包的戏称。在这些非官方打包的环境下,有时Padstack Editor或Allegro PCB Editor会出现字体显示乱码、菜单错位、或者保存异常等问题。

如果遇到Padstack Editor界面异常,可以尝试以下步骤:

  1. 检查系统环境变量。特别是CDS_LIC_FILECDSROOT是否正确指向你的17.2安装目录和许可证文件。
  2. 尝试以管理员身份运行Padstack Editor。
  3. 如果图形显示有问题,在Padstack Editor的View -> Display Settings中,尝试切换一下Graphics选项,比如从OpenGL切换到X11(或反之),这有时能解决渲染问题。
  4. 最根本的,考虑使用官方安装程序或寻找更稳定的社区版安装包。一个稳定的基础环境能节省大量排查诡异问题的时间。

另外,在绘制焊盘时,如果发现尺寸输不进去或者单位切换失灵,检查一下主界面下方的Units是否已经锁定为你需要的单位(如mm)。有时从其他焊盘复制过来时,单位会被连带复制,造成混淆。

4. 封装集成与DRC:焊盘太密与开尔文焊盘

焊盘画好了,最终是要用到封装(Package Symbol)里的。在Allegro PCB Editor中创建封装时,调用自定义焊盘,经常会遇到两个典型问题:一是焊盘间距过小导致的DRC报错(如solder mask expansion冲突),二是特殊焊盘(如开尔文焊盘)的绘制方法。

4.1 解决“焊盘太密”的DRC冲突

当你把两个0603焊盘摆放到一起构成一个电阻封装时,它们的阻焊层(SOLDERMASK)图形可能会靠得太近,甚至重叠。Allegro的DRC规则检查中,有一项叫做Solder Mask to Solder Mask Spacing,如果间距小于规则值(例如0.1mm),就会报错。

错误信息可能直接提示“solder mask expansion 焊盘太密”。这时怎么办?有几种思路:

  1. 修改焊盘定义:这是最彻底的方法。回到Padstack Editor,将这两个焊盘的solder mask expansion值改小,比如从0.1mm改为0.075mm。但要注意,这个值不能太小,必须满足PCB板厂的最小阻焊桥(Solder Mask Dam)工艺能力,通常板厂会要求大于0.08mm(3mil)。改之前最好咨询一下你的板厂。
  2. 修改封装设计:在不影响焊接可靠性的前提下,稍微增大两个焊盘中心的间距。对于0603电阻,标准焊盘中心距通常是1.6mm(与元件体长一致)。如果空间允许,可以微调到1.7mm,给阻焊层留出间隙。
  3. 修改DRC规则:在PCB设计文件中,通过Setup -> Constraints -> Physical(或Spacing)规则管理器,找到Solder Mask相关的间距规则,适当调大允许值。但这属于“降低标准”,除非板厂工艺确实能支持,否则不推荐。

注意:优先与PCB板厂沟通,确认其最小阻焊桥工艺能力,再决定是修改焊盘(设计端)还是放宽规则(设计端妥协),这是保证设计可制造性的关键。

4.2 绘制四线检测用的“开尔文焊盘”

开尔文焊盘(Kelvin Connection)是一种用于高精度测量(如电流采样电阻)的连接方式。它用两对独立的焊盘分别承担“强制电流(Force)”和“检测电压(Sense)”,以消除导线电阻带来的测量误差。在PCB上,它通常表现为一个大的功率焊盘旁边,延伸出两个非常细小的检测焊盘。

在Cadence中绘制这种焊盘,有两种方法:方法一:在Padstack Editor中创建复合焊盘。这比较高级,需要将Force大焊盘和Sense小焊盘做到同一个Padstack定义里,通过不同的Pin Number来区分。但这通常用于非常标准化的特殊焊盘,灵活性不高。方法二:在封装编辑器中用多个标准焊盘组合。这是更常用、更灵活的方法。具体步骤:

  1. 先创建两个独立的焊盘:一个大的矩形焊盘(如2mm x 1.5mm)作为Force焊盘,一个小的矩形焊盘(如0.3mm x 0.3mm)作为Sense焊盘。
  2. 在Allegro Package封装编辑器中,放置大焊盘,并赋予其一个引脚编号,例如1
  3. 在大焊盘的长边边缘,非常接近的地方(如间隔0.15mm),放置两个小Sense焊盘。分别赋予它们不同的引脚编号,例如1S1F(表示与引脚1相关的Sense和Force)。实际上,Sense焊盘在电气上是通过非常细的走线(比如0.15mm线宽)从大焊盘上“牵引”出来的。
  4. 关键点:在原理图符号中,这个器件对应的引脚也需要有11S1F三个引脚,并在PCB封装映射时正确关联。这样,在布线时,电流主路径从1焊盘进入,而电压检测线则连接到1S1F这两个小焊盘上。

这种方法实质上是利用封装设计“模拟”了开尔文连接结构,虽然焊盘在物理上看似分离,但通过精心的布局和极近的间距,实现了四线检测的功能。绘制时,要特别注意Sense小焊盘与Force大焊盘之间的绝缘间距(Clearance)必须满足设计规则,同时Sense焊盘出线要极细,以最小化其对主电流路径的影响。

5. 焊盘库的管理与制造输出检查

画好焊盘只是第一步,如何有效地管理它们,并在最后输出给板厂时确保无误,同样重要。

5.1 建立个人焊盘库与命名体系

不建议每次都临时创建焊盘。建立一个个人或团队的常用焊盘库,能极大提升效率。你可以按类别建立文件夹,例如:

  • /padlib/smd_rect/:存放矩形表贴焊盘,按尺寸子目录分类。
  • /padlib/smd_circle/:存放圆形表贴焊盘。
  • /padlib/thru_plated/:存放镀铜通孔焊盘。
  • /padlib/thru_nonplated/:存放非镀铜安装孔。

在每个焊盘保存时,严格按照命名规范。你甚至可以创建一个README.txt或Excel索引文件,记录焊盘名称、尺寸、用途和创建日期。当你在Allegro中新建封装时,在Layout标签页下PinsPadstack栏里,可以直接输入焊盘名调用,或者点击浏览按钮从你的库路径中选择。

5.2 光绘(Gerber)文件中的焊盘验证

设计完成后,出制造文件(Gerber)前,必须验证焊盘在各层上的图形是否正确。Cadence自带的光绘查看工具Gerber Viewer(在Manufacture -> Artwork中预览)有时不够直观。我习惯用第三方专业Gerber查看器(如GC-Prevue、ViewMate)进行最终检查。

重点检查以下几层:

  • 顶层/底层线路层(.gtl/.gbl):检查铜皮焊盘尺寸、形状是否与设计一致,有无异常变形。
  • 阻焊层(.gts/.gbs):检查阻焊开窗是否比焊盘大一圈(是否有solder mask expansion),开窗之间是否有足够的间隙(阻焊桥),特别是0603、0805等小间距器件周围,防止阻焊覆盖焊盘或桥连。
  • 钢网层(.gtp/.gbp):检查锡膏开窗位置和尺寸是否正确,特别是对于BGA、QFN等密脚器件,钢网开窗是否做了优化(如分割、内凹)。
  • 钻孔层(.drl):检查钻孔大小、位置、是否镀铜(Plated)属性正确。非镀铜孔通常会在钻孔符号上有所不同。

一个快速检查焊盘定义是否正确的方法是:在Allegro PCB Editor中,将视图放大到最大,然后单独关闭除某一层(如SOLDERMASK_TOP)外的所有层,观察焊盘在该层的实际显示图形。这能帮你直观地发现阻焊扩张是否生效、图形是否正确。

焊盘设计是PCB设计的地基,地基打牢了,后面的布局布线才能顺畅。刚开始可能会觉得步骤繁琐,但一旦你形成自己的库和规范,并理解了每一层参数的意义,这个过程就会变得非常高效。最重要的是,养成在设计初期就与制造工艺(板厂能力)对齐的习惯,特别是对于密度高、有特殊要求的板子,提前沟通能避免很多后期的设计返工。