简介:《史上最全的PCB封装命名规范》是一份系统梳理PCB封装命名规则的综合性文档,主要面向电子工程师、硬件设计人员、PCB Layout从业者及电子相关专业学生,帮助解决从原理图设计到制造环节中封装命名混乱、不统一等问题。文档以标准化为主线,先给出总体范围、引用和约束,随后依次展开焊盘命名(表贴、通孔、花焊盘、Shape)与各类器件封装命名,内容覆盖电阻、电位器、电容、电感、磁珠、二极管、晶体谐振器/振荡器、熔断器、发光二极管,以及BGA、CGA、LGA、PGA、CFP、DIP、DFN、QFN等多种常见封装形式,并配有清晰的命名规则说明。资源仅含1个docx文档,压缩包大小1.63MB,文件虽少但目录层级完整,便于查阅与内部培训使用。目前已有799人学习下载,是一份兼顾入门学习与团队标准化的实用参考资料,可有效降低因命名不一致造成的沟通成本和设计返工风险。
1. 封装命名乱了,PCB 设计一半的麻烦就来了
从别人手里接一套 PCB 项目,先打开封装库扫一眼命名,基本就能判断这个库值不值得信任。R0603、0603_C、RESC_0603A三种风格并存的库,BOM 对齐物料时厂商根本分不清封装尺寸到底是多少。封装命名规范是把"封装长什么样"完整编码成名字的规则:焊盘形状、封装体尺寸、引脚数、密度等级、公差变体,全部用半角字符和固定字段表达。看懂这套规则之后,拿到一个名字就能反推出封装参数,新建封装时按字段填空,还能写脚本批量检查全库合法性。对硬件工程师、PCB Layout 工程师和建库专员来说,这比在 Allegro 里逐个打开封装看属性要可靠得多。
2. 焊盘命名:先把封装的最小单元规则定死
焊盘是封装的原子单元。命名先从焊盘开始,统一了底层符号,封装名才不会各说各话。这一章拆解表贴焊盘、通孔焊盘、花焊盘和特殊 Shape 四类焊盘的编码方式,并给出可直接套用的例子。
2.1 表贴焊盘的形状、尺寸与阻焊增量
标准表贴焊盘按形状分为矩形(rectangle)、圆形(circle)、方形(square)、椭圆形(oblong)四种,D 形焊盘作为第五种单独处理。命名模板可以概括为:
r{W}x{H}s{阻焊增量}{单位} c{D}s{阻焊增量}{单位}形状前缀r、c、s、b分别对应矩形、圆形、方形、椭圆形,d表示 D 形。W是长边(长度),H是短边(宽度),单位字段只在mm和mil之间选择,不允许出现 inch 或微米。
公制编码有一个非常容易踩的细节:所有尺寸数字的末两位代表小数位。r160_50s15mm拆开读就是:矩形焊盘,长边 1.60mm,短边 0.50mm,阻焊增量 0.15mm,单位 mm。如果实际值是 1.6mm 和 0.5mm,也要写成160_50,不能写16_5,否则脚本解析时会把 16 读成 0.16mm。英制则相反,数字必须全是整数,r210_90s6mil表示 210mil × 90mil、阻焊增量 6mil,不保留小数位。这两套编码规则互不兼容,所以封装名末尾的单位后缀是必填项。
阻焊增量s后面跟的是"阻焊开窗尺寸减去焊盘尺寸"的差值,不是开窗的绝对值。例如焊盘短边 0.5mm、希望阻焊开窗 0.8mm,增量就是 0.3mm,写s30。如果增量填成 0.8,阻焊开窗会比焊盘大 1.6mm,贴片时焊料会流到焊盘以外。
非标准形状的焊盘无法用r、c这些前缀表达,规范给出的兜底方案是smd_{封装名}_{序号}。一个封装里只有一个非标准焊盘时省略序号,有两个则分别追加_1、_2。这个命名的好处是强制先有封装名再建焊盘,从源头上避免"孤儿焊盘"散落在库里的情况。
2.2 通孔焊盘的钻孔、金属化与花焊盘字段
通孔焊盘在表贴字段之外增加了三组信息:钻孔形状与尺寸、孔壁金属化类型、热焊盘(thermal relief)参数。模板:
t{焊盘形状}{焊盘尺寸}{钻孔形状}{钻孔尺寸}{p|n}[花焊盘参数]s{阻焊增量}{单位}t是 through 的固定标记。焊盘形状代码与表贴一致,c圆形、s方形、b椭圆形、r矩形,但钻孔部分单独再给一组形状和尺寸。金属化类型p表示孔壁镀铜上锡(plated),n表示非金属化孔(non-plated),定位孔、工具孔通常用n。
以焊盘直径 1.6mm、钻孔直径 1.0mm 的金属化圆形孔为例:
tc160c100ps25mm每个字段的含义:t通孔、c圆形焊盘、160焊盘直径 1.6mm、c圆形钻孔、100钻孔直径 1.0mm、p金属化、s阻焊、25阻焊增量 0.25mm、mm公制。如果把p改成n,就是一个不做金属化的定位孔,命名变为tc160c100ns25mm。
椭圆孔和矩形孔的编码多一组尺寸,例如焊盘 2.2mm × 1.2mm、钻孔 1.6mm × 0.6mm 的金属化椭圆孔:
tb220_120b160_60ps25mm字段顺序是焊盘长边、焊盘短边、钻孔长边、钻孔短边,交叉填写会让钻孔方向旋转 90°,做出来的封装直接报废。这个字段顺序建议在团队建库规范里加粗标红,是通孔焊盘命名里出错率最高的一步。
2.3 花焊盘与特殊 Shape:不规则焊盘的统一出口
花焊盘(flash)常见于电源层和地层连接,独立命名以f开头,把外圈、内圈、辐宽和开口角度全部编码。圆形花焊盘外径 1.3mm、内径 1.0mm、辐宽 0.2mm、开口 90°,命名:
f130_100c20_90mm130是外圈直径 1.3mm,100是内圈直径 1.0mm,c是圆形,20是辐宽 0.2mm,90是开口角度,mm是单位。矩形花焊盘外圈 1.9mm × 1.3mm、内圈 1.6mm × 1.0mm,写成:
f190x130_160x100r20_90mm矩形和椭圆形的外圈、内圈各有长宽两个字段,中间用x分隔,形状代码r、b放在内圈字段之后。辐宽20表示 0.20mm,角度90表示开口方向与水平线的夹角,这个角度在做多层板叠层设计时会决定某方向的走线能否通过。
Shape 类型的焊盘用于键盘按键、大面积散热盘等无法用标准命令生成的形状,命名模板为sh_{封装名}_{序号}。例如某 SOT 封装包含两个非标准焊盘,shape 分别命名为sh_sot230p700x180-4nmm_1和sh_sot230p700x180-4nmm_2。使用封装名作为前缀的好处是,在 Allegro 或嘉立创 EDA 里搜索 shape 时能直接联想到所属封装,不会出现一堆名为SHAPE_1的散件。
3. 分立器件封装:电阻电容电感的字段顺序与单位陷阱
分立器件在封装库里占比最大,命名规则也能统一成"前缀 + 类型特征 + 尺寸参数 + 密度等级 + 单位"的模板,但电阻、电容、电感、排阻、轴向插件各自的参数取值差异不小。这章从片式器件入手,逐段拆解命名模板。
3.1 EIA 英制代码与公制尺寸映射表
片式电阻电容的通用尺寸使用英制 EIA 代码,封装名里统一出现e{Type}前缀。以下是英制代码与公制尺寸的对应关系:
| 英制代码 | 对应公制 | 长(mm) | 宽(mm) |
|---|---|---|---|
| 0201 | 0603 | 0.6 | 0.3 |
| 0402 | 1005 | 1.0 | 0.5 |
| 0603 | 1608 | 1.6 | 0.8 |
| 0805 | 2012 | 2.0 | 1.2 |
| 1206 | 3216 | 3.2 | 1.6 |
| 1210 | 3225 | 3.2 | 2.5 |
| 1812 | 4832 | 4.8 | 3.2 |
| 2010 | 5025 | 5.0 | 2.5 |
| 2512 | 6432 | 6.4 | 3.2 |
注意 0805 的宽度在部分厂家 datasheet 里写 1.25mm,在 EIA 体系里归到 1.2mm 档位,公制代码是 2012 而不是 20125。建库时如果照抄 datasheet 尾数,可能出现同一种物料两种封装名的分歧。以 0805 封装尺寸为例,项目前期就要规定好统一按 EIA 代码对应的公制档位取值,不要混用两个口径。
3.2 片式电阻电容:命名模板与参数取值原则
片式电阻的命名模板:
resc_e{Type}_{Body Length}x{Body Width}x{Height}x{Pin Length}{Level}mm|milres是电阻前缀,c是 chip,e表示采用英制 Type,后面的四个尺寸分别是封装体长度、宽度、高度和端电极引脚长度。可以做一个实际解析:0805 电阻封装体 2.0mm × 1.2mm × 0.6mm,端电极 0.4mm,中等密度,命名结果是:
resc_e0805_200x120x60x40nmm200、120、60、40分别对应 2.00mm、1.20mm、0.60mm、0.40mm,末尾n是 Nominal 密度,mm是单位。如果做成英制,所有数字要换成整数密耳值,后缀改为mil,两种单位下的封装名不能通过简单替换后缀互相转换,因为尺寸取整方式不同。
电容模板只在前缀上与电阻区分,无极性片式电容用capc_e,有极性片式电容用capcp_e。例如钽电容这类有极性片式器件,命名里带p就是一个强提示,原理图符号和 PCB 封装配对时不会忽略极性。铝电解电容要走独立模板capae{Body Size}x{Height}{Level}mm,比如capae240x310nmm表示底面直径 2.4mm、高度 3.1mm。这里Body Size是底面圆形轮廓的直径,经常和片式电容的长宽字段混读。
电感类命名把res换成ind,片式电感indc_e、模制电感indm、绕线电感indpw、有极性电感indp,尺寸字段含义不变。二极管、磁珠、晶体谐振器的命名规则在规范里分别有独立小节,字段逻辑与片式器件一致,只是前缀和取值侧重点不同。
3.3 排阻排容:引脚形态决定四套前缀
排阻排容在同一规格下容易混淆的点在引脚形态。引脚凹陷、引脚凸出且尺寸一致、引脚凸出且同侧尺寸不一致、引脚平滑,四种形态对应四种不同的 SMT 封装,因此命名前缀做了严格区分:
| 形态 | 电阻前缀 | 电容前缀 |
|---|---|---|
| 引脚凹陷 | rescav | capcav |
| 引脚凸出、尺寸一致 | rescaxe | capcax |
| 引脚凸出、同侧尺寸不同 | rescaxs | capcaxs |
| 引脚平滑 | rescaf | capcaf |
命名模板:
rescav{Pitch}p{Body Length}x{Body Width}x{Height}_{Pin Qty}{Level}mm以实例说明:引脚凹陷的 8 脚排阻,间距 0.5mm、封装体 1.6mm × 1.0mm × 0.55mm,中密度,命名是:
rescav50p160x100x55_8nmm50p表示间距 0.5mm,如果间距是 1.27mm 则写127p。_8是引脚总数,包含功能引脚和散热盘。这里要特别强调的是,前缀rescae和rescax看上去只差一个字母,在库里却是两个不同的封装实体,替换器件时很容易因为名字相似而选错。建议在封装库管理工具里单独建一个排阻排容的收藏夹,把四类前缀逐一列出。
3.4 轴向与径向插件:安装方向和极性写进名字
轴向插件电阻的命名把安装方向编码进前缀。adh表示轴向水平安装,adv表示轴向垂直安装,padh表示极性轴向水平安装。模板:
resadh{Lead Spacing}w{Lead Diameter}l{Body Length}d{Body Diameter}{Level}mm一个典型例子是resadh800w52l600d150bmm,意思是轴向电阻水平安装,引脚间距 8.00mm、引脚直径 0.52mm、封装体长度 6.00mm、封装体直径 1.50mm、B 密度、公制单位。注意这里800是 8.00mm,52是 0.52mm,600是 6.00mm,150是 1.50mm,全部保持两位小数编码。插件密度等级用 A/B/C,而不是表贴的 M/N/L,这条规则在电阻电容的插件封装上同样生效,避免和 SMT 封装混淆。
对于无法套用标准模板的器件,规范留了一条后路:{类别}_{厂家}_{型号}{密度}{单位}。例如pot_bourns_pda241srt01504a2nmm是 Bourns 的电位器,res_zenithsun_sqp5w100jnmm是水泥电阻。这类命名把厂家和型号直接放进名字里,适合电位器、可变电容、连接器等异形件,但前提是厂家型号字符串里不能有空格和小数点,出现非法字符就删掉或用下划线替换。
4. IC 封装命名:密度等级、引脚数与特殊情况的处理
IC 封装命名是这套规范里信息密度最高的部分。除了尺寸参数,还要表达密度等级、引脚排列方向、实际引脚数与编号的差异、厂家型号等。规范第 5.1 节先定义了几条总原则,后面各节再按封装系列展开模板。
4.1 密度等级 M/N/L 与 A/B/C 的双轨体系
密度等级直接决定焊盘尺寸余量:
- M(Most),低密度,焊盘尺寸取上限,焊接可靠性最高,适合手工焊接和样机阶段。
- N(Nominal),中等密度,焊盘尺寸居中,是大多数产品量产时的默认选择。
- L(Least),高密度,焊盘尺寸取下限,适用于手机、模组等板面紧张的场景。
这三档只用于表贴封装。插件封装对应的是 A、B、C 三档,低、中、高密度。命名时,密度等级字段放在引脚数之后、单位之前。对比两个示例:
SOIC127P1041X419_8NMM DIP762W46P254L1918H533Q7_14BMM第一个是 SOIC,间距 1.27mm,封装体投影 10.41mm × 4.19mm,8 脚,N 档,公制;第二个是 DIP,排距 7.62mm,引脚宽 0.46mm,间距 2.54mm,体长 19.18mm,高度 5.33mm,Q7 为引脚截面参数,14 脚,B 档,公制。两个封装在同一块板卡上摆放时,密度等级字段能直接告诉 Layout 工程师哪个焊盘余量大、哪个对钢网开口更敏感。
这里要强调一点:插件封装如果标成 N,后续做 DFM 检查时会被当成表贴封装处理,孔壁到焊盘边缘的间距校验全部失效。规范用两套字母把两条工艺路线彻底分开,建库工具里最好也分目录存放,从源头上防止交叉误用。
4.2 公差变体与反向引脚排列的标注
同一器件由于两个厂家生产工艺不同,可能出现"典型尺寸相同、公差不同"的情况。以 8 脚 SOIC 为例,厂家 A 的引脚跨距是 6±0.1mm,厂家 B 是 6±0.2mm,两者如果共用同一个封装,焊盘尺寸必须同时满足两种公差,否则其中一家的器件可能贴装不良。规范的处理是给不同公差版本编号:
SOIC127P1041X419_8N_1NMM SOIC127P1041X419_8N_2NMM末尾的_1、_2是变体序号,和前面的_8(引脚数)不冲突。这样在 BOM 里可以明确指向"适用于厂家 A"和"适用于厂家 B"的两种封装,不会因为共用一个封装而埋下工艺隐患。
还有一类特殊情况是引脚排列方向与常规相反。常规 PLCC 引脚按逆时针编号,个别厂家的器件是顺时针方向,直接套用对称封装会导致 1 脚位置差 180°。命名时在密度等级前加R标记:
PLCC127P990X990X457_20RNMMR表示 reverse,提醒建库和布局阶段需要翻转方向处理。这块如果不标注,原理图符号导入 PCB 封装后只能靠人工检查发现,批量导入时非常容易漏。
另外,引脚最大编号与实际引脚数不一致时,命名中要同时体现两个数字。例如一个 DIP 封装实际只有 4 个引脚,但 datasheet 里最大编号标到 14,命名写成DIP762W46P254L1918H533Q_4_14BMM;反过来,实际引脚数多于 datasheet 编号数时,如 BGA 编号 48 但实际 56 个焊盘,就写成BGA48C75P6X8_800X1200X120_56_48NMM。两个数字先写实际引脚数再写编号数,顺序固定,网表比对时才能正确映射。
4.3 BGA、QFN、SOT 等主流封装命名解析
规范对封装系列固定了系列前缀和参数顺序,下面用一条表格串起几种最常见的封装:
| 封装系列 | 命名示例 | 关键信息 |
|---|---|---|
| SOIC | SOIC127P1041X419_8NMM | 间距 1.27mm,体投影 10.41×4.19mm,8 脚,N 密度 |
| DIP | DIP762W46P254L1918H533Q7_14BMM | 排距 7.62mm,引脚宽 0.46mm,间距 2.54mm,体长 19.18mm,14 脚 |
| PLCC | PLCC127P990X990X457_20RNMM | 间距 1.27mm,体 9.9×9.9×4.57mm,20 脚,反向排布 |
| BGA | BGA48C75P6X8_800X1200X120_56_48NMM | 48 个编号球位,球径 0.75mm,6×8 阵列,体 8.0×12.0×1.2mm,实际 56 脚 |
| SOT | SOT95P237X117_BCE_3NMM | 间距 0.95mm,体 2.37×1.17mm,三极顺序为 B-C-E |
从这些示例可以抽出 IC 封装命名的通用骨架:
{系列前缀}{间距/节距参数}[P]{体长}X{体宽}[X{体高}][_{引脚数}][_{修正编号}][R][{密度}]{单位}系列前缀直接决定解析规则,SOIC、DIP、PLCC、BGA、QFN、SOT各成体系。间距和体尺寸字段全部按两位小数的公制编码,英制密耳同样只允许整数。BGA 阵列用P{列数}X{行数}表达,例如P6X8是 6 列 8 行;密度等级前的两个数字,先写实际引脚数,再写 datasheet 编号数,顺序不能颠倒。SOT 封装如果三个极的排列顺序和常规不同,直接在_后写BCE这类极序标记,原理图导入时能自动比对端子映射。
有了这个骨架,拿到任意一个封装名都能拆成字段去验证。例如从库导出BGA48C75P6X8_800X1200X120_56_48NMM,马上能得到:焊球 48 个,球直径 0.75mm,阵列 6×8,体尺寸 8.0×12.0×1.2mm,实际引脚 56,编号 48,密度 N,单位 mm。这些字段直接决定了建库时该选多大的焊盘和钢网开口。
5. 把规范跑起来:命名校验脚本与常见坑
规范文本再细,最后也要落到库里。这一章给一个能直接用的 Python 校验脚本,再列出实际建库中最常见的几个坑。
5.1 用脚本批量校验封装名合法性
命名规范里有明确的字符约束,完全适合用正则表达式做静态检查。下面是一个能跑通基础校验的脚本:
import re def check_footprint_name(name, is_pad=False): # 约束①:命名只能使用半角数字、字母、下划线、中横线 if not re.fullmatch(r'[0-9a-zA-Z_-]+', name): return False, "包含非法字符" # 下划线和横线连续出现时,无法判断字段边界 if '__' in name or '--' in name: return False, "存在连续分隔符" lower = name.lower() # 单位后缀 mm/mil 必填,且只能出现在末尾 if not (lower.endswith('mm') or lower.endswith('mil')): return False, "缺少单位后缀 mm/mil" # 焊盘命名不需要密度等级,r160_50s15mm 这类直接放行 if is_pad: return True, "焊盘命名基础检查通过" # 封装命名必须带密度等级,表贴 M/N/L,插件 A/B/C if not re.search(r'[mnlabc](mm|mil)$', lower): return False, "缺少密度等级字段" return True, "命名合法" # 调用示例 print(check_footprint_name("SOIC127P1041X419_8NMM")) # 封装名 print(check_footprint_name("r160_50s15mm", is_pad=True)) # 焊盘名脚本核心就两个动作:第一,用fullmatch过滤掉空格、小数点、括号等非法字符;第二,检查单位后缀和密度等级是否在位。正则里的[mnlabc]允许表贴和插件密度混检,如果你希望强制表贴封装用 M/N/L、插件用 A/B/C,需要再传一个封装系列参数进去,这里不再展开。
提示:脚本的定位是快速发现可疑命名,不是替代人工审查。一个封装是否真的符合器件手册,最终还要靠建库工程师确认尺寸字段的取值。
5.2 建库流程里最常见的三个坑
第一个坑是公制和英制混用。同样的 0805 电阻,一个工程师建库用resc_e0805_200x120x60x40nmm,另一个从旧库拷贝后把后缀改成mil但没有换算尺寸,数值直接变成 200mil × 120mil,封装放大了 25 倍以上。后缀必须和尺寸字段的编码体系严格绑定。
第二个坑是插件封装错用 M/N/L。DIP、TO 系列属于插件,密度等级必须用 A/B/C,但很多工程师习惯性沿用 SMT 的 M/N/L,导致 DFM 检查时插件孔按表贴规则校验,孔壁到焊盘边缘的间距全部误报。规范里用两套字母把两条工艺路线彻底分开,就是为了避免这种交叉误用。
第三个坑是忽略变体序号。采购换了厂家后,引脚公差变了,但封装名还沿用旧版本,直到小批量贴片时才发现虚焊。建议在封装库的发布说明里把_1、_2变体序号和厂商绑定关系记录下来,BOM 评审时逐个确认。
本文还有配套的精品资源,点击获取