PCB封装命名规范:尺寸编码、焊盘命名与库管理

发布时间:2026/10/28 15:21:02
PCB封装命名规范:尺寸编码、焊盘命名与库管理 简介这是一份面向硬件工程师、PCB Layout 设计者及封装库管理人员的 PCB 封装命名规范文档针对元器件库命名混乱、设计与生产衔接不一致等问题提供可参照的标准化规则。压缩包共 1 个 docx 文件约 1.63MB以文字规范与目录化条目为主便于按章节查阅和团队内部复用。内容围绕焊盘与封装两条主线展开焊盘部分涵盖表贴、通孔、花焊盘及 Shape 命名封装部分除电阻、电位器、电容、电感、磁珠、二极管、晶体谐振器/振荡器、熔断器和发光二极管外还涉及 BGA、CGA、LGA、PGA、CFP、DIP、DFN、QFN 等常见封装类型并给出命名要求与示例。已有 805 人学习适合在封装库建设、器件选型审核和设计规范落地时作为统一口径参考对刚接触封装建库的读者也较为友好可帮助减少重复沟通与命名歧义提升 PCB 设计与生产的一致性。1. 命名的第一性原理封装名不是给人看的是给校验器看的第一次看到resc_e2010_500x250x65x60nmm这样的名字多数人的反应是“谁把日志粘到文件名上了”。但把一份完整的 PCB 封装命名规范从头翻到尾会发现一个反直觉的结论这套字符串其实并不打算让人一眼读懂它要解决的是另一个问题让一个不懂电路的执行者脚本、检查器、半年后接手的另一个人只看名字就能判断这个封装能不能用、和手上这颗料对不对得上。名字里每个字母都在回答一个具体会出事的场景尺寸对不对、孔钻得下钻不下、引脚顺序反没反、阻焊补偿有没有被人偷偷改过。这些错误在原理图上看不出来在 3D 预览里也不明显只有打样回来上贴片机那一刻才暴露出来。所以这份规范值得逐层拆开它本质上是一套用字符位置承载物理量的压缩格式而“最全”两个字的分量落在它对四十多种封装形态和三级密度等级的覆盖上。2. 尺寸编码机制毫米后两位是小数位这条规则到底省掉了什么2.1 定长编码把小数点从名字里删掉的代价与收益规范里最容易被当成笔误的一条是这句公制尺寸的数字段后两位表示小数位r160_50s15mm里的160是 1.6mm50是 0.5mm。第一眼看上去像是省字符省到抠门实际上这是一个相当明确的工程决定。小数点在这条链路上是危险的。封装名会经过 EDA 库、文件系统、版本管理、BOM 导出、贴片厂的工程确认单每一站对.的处理都不一样有的把它当扩展名分隔符有的在某些区域的本地化设置下会把它解析成千分位还有的把逗号当小数点。一旦1.6在某一站变成1,6或者1.6.txt这个封装就从“尺寸 1.6mm”变成“尺寸未知”。把小数点编码进数字位等于让数值段变成纯0-9的字符串任何一站都不会误解它。代价也很清楚。精度上限被焊死在 0.01mm想要 0.005mm 的差异只能四舍五入负数无法表达焊盘尺寸本来也用不上最麻烦的是字段边界不再由长度决定160是 1.60mm、1600是 16.00mm纯数字段自己说不清在哪儿结束所以必须靠下划线、x、形状字母这些分隔符来切。规范里所有的_和x不是装饰是词法边界。解码逻辑简单到可以手写这也正是它的价值任何脚本、任何语言、任何年代五行代码就能把它还原。def decode_metric(token: str) - float: 把命名中的公制数字段还原为毫米值。 参数: token: 纯数字字符串, 例如 160 / 500 / 65 规则: 后两位是小数位, 整数位长度不限 返回: float, 单位毫米 if not token.isdigit(): # 出现负号、小数点、全角数字都直接拒绝, 不要尝试容错 raise ValueError(f非法尺寸段: {token!r}) return int(token) / 100.0 # 统一除以 100, 不是按长度切分 print(decode_metric(160)) # 1.6 - r160_50s15mm 的长边 print(decode_metric(1600)) # 16.0 - 整数位长度不受限这里有个容易写错的地方不要用“取最后两位当小数”的字符串切分思路160和1600都得走同一条除以 100 的路径编码端的四舍五入已经在生成名字时完成了解码端只负责还原。参数token必须是半角纯数字遇到全角数字或者带符号的输入应当直接抛错而不是容错——容错会把一个明显的录入错误悄悄变成一个尺寸偏差 10 倍的封装这种错误比报错难查得多。2.2 公制与英制两套进位规则怎么共存同一份规范里公制用“后两位是小数”英制却要求“全是整数、没有小数位”。这个不对称不是拍脑袋而是两种单位的量级决定的。1mil 等于 0.0254mm这个刻度本身就足够细PCB 设计里没人会用 0.5mil 去描述焊盘所以英制直接用整数 mil 就够表达多留两位小数纯属浪费字符。毫米则相反0402 电阻的体长是 1.0mm0805 是 2.0mm差异全在零点几毫米上不带两位小数根本分不开。于是同一颗料会出现两条完全不同的名字。命名规范里特意保留了英制通用代号0402、0603、0805 这一串作为e{Type}字段但实际几何尺寸仍按命名后缀的单位书写。这就带来一个必须记住的换算表英制代号04020603080512061210181220102512公制代号10051608201232163225483250256432长 x 宽 (mm)1.0x0.51.6x0.82.0x1.23.2x1.63.2x2.54.8x3.25.0x2.56.4x3.2代号和实际尺寸是两回事这一点在resc_e2010_500x250x65x60nmm里体现得最直白e2010是英制通用代号表示这颗料属于 2010 系列后面500x250x65x60才是真实的 5.00mm、2.50mm、0.65mm 和 0.60mm 引脚长度。代号用来跟采购和库房对话尺寸段用来跟焊盘和钢网对话两者分开写谁也别想覆盖谁。2.3 参数占位符与取值策略典型值、最大值、平均值怎么选规范把每个尺寸都定义成了带花括号的参数{Length}、{Width}、{Height}、{Lead Diameter}、{Pitch}、{Pin Qty}然后逐条规定了取值策略。这一节看着像文字游戏实际上是整套规范里最容易埋下隐患的部分因为取值策略决定了这个封装在物理世界里能不能装进去。规则可以归成三类。第一类是占位尺寸{Length}、{Width}、{Body Length}、{Pitch}、{Lead Spacing}取典型值因为它们决定器件在板上占多大面积取典型值才能保证常规批次的料都放得下又不浪费布区。第二类是高度和直径{Height}、{Body Height}、{Lead Diameter}取最大值前者关系到层间间隙、外壳和散热器的干涉后者关系到孔能不能钻得下。第三类是兜底规则数据手册没给典型值就取平均值只给了一个值不管是最小还是最大就直接用那个值。我在一个模拟项目上踩过一次相关的问题某连接器的引脚直径手册写的是 0.5~0.55mm当时按最小值 0.5mm 加常规余量算了孔径打样回来插针全靠手压十几个孔逐个用钻头扩。事后看规则里“引脚直径取最大值”这条写得清清楚楚是我自己觉得“差别不大”。高度这条同理取典型值会漏掉高个子电容等到装外壳的时候才发现顶住了那时候改封装等于改板。通孔类器件的孔径在实际执行里还有一层约定俗成的做法孔径通常取“最大引脚直径 一个工艺余量”余量按板厂能力走常见是 0.15~0.25mm。规范本身没写余量数值但把“取最大值”这条定死了说明作者很清楚余量该加在最大值上而不是典型值上。3. 焊盘命名表贴、通孔、花焊盘三级字符串怎么拼出来3.1 表贴焊盘形状字母 长宽 阻焊增量 单位表贴焊盘的命名结构是四段式形状字母、长宽、阻焊增量、单位。形状字母只有四个r矩形、c圆形、s正方形、b椭圆形。矩形和椭圆要写长和宽两个数正方形和圆形因为长宽相等只写一个。比如 1.2mm x 0.6mm 的矩形焊盘阻焊增量 0.15mm公制建库名字就是r120_60s15mm换成 0.8mm 的圆形焊盘、增量 0.1mm就是c80s10mm。_和x的分工值得单独说。_分隔长和宽x只出现在多组尺寸之间比如尺寸段的500x250x65两个符号不能混用因为解析器靠它们判断“这是同一个对象的两个维度”还是“这是两个不同的对象”。规范里把这条约束和字符白名单绑在一起整个命名只允许半角数字、字母、下划线、中横线四种字符其余一律非法。这条白名单比任何文档说明都管用它把“看起来对但机器读不了”的情况全部提前到录入阶段。s后面那个阻焊增量是整个焊盘命名里最有争议的字段。阻焊增量等于阻焊开窗尺寸减去焊盘尺寸是板厂工艺能力的函数同一块板换一家板厂合理的补偿值就可能从 0.05mm 变成 0.1mm。把它写进焊盘名等于强制“补偿值不同的焊盘必须是两个不同的焊盘”谁想改补偿就得新建一个不能在原焊盘上偷偷改。这个设计的收益是已发板的板子和库里的焊盘永远对得上代价是焊盘数量会膨胀同一尺寸可能躺着三四个名字只差一个s10/s15/s20。D 形焊盘是这条规则的一个变体形状字母换成d其余结构不变。而非标准表贴焊盘直接换了命名思路smd_{Pack.Name}_{Number}先挂封装名再加数字序号。比如某个 4 脚封装带两个异形焊盘这两个焊盘就叫smd_xxx-4nmm_1和smd_xxx-4nmm_2。数字后缀在只有一个异形焊盘时可以省掉有两个就必须写 1 和 2以此类推。这个设计承认了一件事异形焊盘的几何形状没法用一串尺寸描述清楚那就退一步只保证“它能被唯一定位到某个封装的第几个位置”。3.2 通孔焊盘为什么必须把“钻孔”和“焊盘”分开描述通孔焊盘的命名比表贴长得多因为它必须同时描述两个同心结构外面的焊盘环和里面的钻孔。规范里的顺序是t前缀、焊盘形状、焊盘尺寸、钻孔形状、钻孔尺寸、钻孔类型p金属化 /n非金属化、花焊盘参数、s阻焊增量、单位。圆形和方形焊盘只写一个边长椭圆和矩形焊盘要写长宽两组数。分开描述的根本原因是环形环宽。环宽等于焊盘尺寸减孔径除以 2这是板厂工艺能力的硬指标低于能力值就是破环、孔壁拉脱。如果名字里只有焊盘尺寸没有孔径谁也判断不出这个焊盘能不能做反过来只有孔径没有焊盘尺寸判断不出环宽够不够。所以两个必须都在。p和n这个单字母开关的重要性常被低估。n表示非金属化孔典型场景是安装孔、定位孔这些孔不需要电气连接如果被当成金属化孔处理DRC 会试图给它分配网络铺铜会往里灌严重的还会短路。反过来把该金属化的孔标成n整条电源就断了。一个字母决定孔壁有没有铜这种信息不可能靠“看图形”传递必须写进名字。带自定义花焊盘的通孔焊盘还要多写三段花焊盘外径、内径、辐宽。不带自定义花焊盘的直接用软件默认值这三段省略。这种“可选字段靠前缀区分”的写法在规范里反复出现好处是不用给两种形态各发明一套前缀坏处是解析时得先看有没有p后面的那串数字。3.3 花焊盘与 Shape非标准图形怎么靠“挂靠封装名”活下来花焊盘单独成节命名以f开头先写外圈长宽和内圈长宽两组尺寸用x分隔再写形状字母然后是辐宽、开口方向与水平线的夹角、单位。矩形和椭圆要写四个尺寸方形和圆形各写两个。角度这个字段是个细节亮点花焊盘的开口方向决定热量往哪个方向散、焊锡往哪个方向流同一个花焊盘转 45 度就是另一个器件不写角度等于埋了个玄学问题。Shape 的命名逻辑和异形焊盘一致sh_{Pack.Name}_{Number}。这里的设计意图很明确——特殊形状焊盘键盘按键焊盘、QFN 的散热盘这类没法用尺寸参数描述那就退化成“属于哪个封装、是第几个”。挂靠封装名的做法有个隐性好处封装删了shape 一眼就能看出是孤儿封装改名shape 也跟着改名。相比之下用shape_1、shape_2这种全局序号命名半年后没人知道哪个 shape 服务于哪颗料删又不敢删库越滚越大。这条“挂靠”思路贯穿了整个规范焊盘挂封装、shape 挂封装、非标准器件挂厂家型号。当几何参数化不了的时候用归属关系代替参数化这是命名体系里最务实的一招。4. 封装命名的分类学四十多种器件怎么收敛到同一套后缀体系4.1 前缀词根表res / cap / ind 后面的那两三个字母封装名的第一段永远是器件大类词根加上结构修饰。大类只有几个res电阻、cap电容、ind电感、pot电位器加上磁珠、二极管、晶体、熔断器、发光二极管各自的前缀。结构修饰靠后面追加的小写字母这套字母表是整份规范里信息密度最高的部分后缀片段含义典型场景cchip片状resc片状电阻mmolded模制resm模制电阻melf圆柱金属电极resmelf柱状电阻ppolarized有极性capcp有极性片状电容ae铝电解capae表贴铝电解cwr线绕矩形capcwr线绕矩形电容adh/adv轴向水平 / 垂直安装resadh卧式轴向电阻rd/rr/rb径向圆柱 / 矩形 / 圆片caprd立式圆柱电容cav/caf/cax阵列引脚凹陷 / 平滑 / 凸出rescav凹陷引脚排阻caxe/caxs凸出且引脚等宽 / 同侧不等宽排阻细分规律很清楚第一个字母定大类第二三个字母定结构或安装方式末尾用x接尺寸段。这套词根的好处是“可组合”cap加c加p就是有极性片状电容没人需要背 40 条独立规则背 10 个词根加组合逻辑就够了。坏处是同字母在不同语境下含义会撞车比如p在焊盘命名里是金属化孔在电容命名里是有极性靠位置区分——位置错了就是另一个东西。排阻那一段还能看出作者的分类粒度。凹引脚、凸引脚等宽、凸引脚同侧不等宽、平滑引脚四种形态四种后缀因为它们的焊盘形状和钢网开法完全不同用同一个后缀会让建库的人在焊盘上出错。分类粒度服务于下游动作不服务于形式美感这条判断标准贯穿全篇。4.2 密度等级 M/N/L 与 A/B/C同一器件为什么要建三个库规范规定每个封装都必须带密度等级后缀而且表贴和插件用了两套字母表贴是M/N/L插件是A/B/C分别对应低、中、高三个密度。低密度封装尺寸最大、最好焊、最占地方高密度封装最紧凑、最难返修。为什么要建三级而不是一级因为同一颗 0402 电阻在消费类小板子上要用高密度挤空间在工业板上可能要留足焊盘方便返修在手工焊接的教学板或小批量样机上要用低密度。如果库里只有一套焊盘要么挤不下要么焊不动。三级密度等于给了设计者一个显式的“批量与工艺”开关。用两套字母而不是一套这个选择值得琢磨。常见的实现思路是把两套字母当成两个正交维度密度等级是一个维度安装方式表贴 / 插件是另一个维度。如果表和插件共用 M/N/L那么遇到xxxN的时候读名字的人还得回去翻前缀才知道这是表贴还是插件分成两套光看后缀字母就同时知道两件事。另一种理解是防止误用插件封装的孔距是硬约束所谓“高密度”对插件来说只能改焊盘环宽改不了孔距跟表贴的高密度完全不是一回事用不同字母能拦住“把插件封装当表贴高密度版本复制过去”的误操作。4.3 边界情况引脚数对不上、顺序反了、多出来的引脚怎么记规范里最见功力的部分是它对“不符合教科书形态”的器件怎么处理。至少五类边界情况被显式编码第一类尺寸典型值完全一样但公差不同。比如 8 脚 SOIC两家厂的引脚跨距都是 6mm一家是 ±0.1一家是 ±0.2。这种差异会影响到焊盘该留多少余量但名字里没有公差字段。解决办法是在封装名最后加数字1、2、3区分SOIC127P1041X419_8N_1NMM。第二类尺寸完全一样但引脚排列顺序相反。这种器件的焊盘布局能用同一套几何但引脚编号是镜像的贴上去就是整板报废。规范要求在名字后加字母RReverse区分PLCC127P990X990X457_20RNMM。这个R是最便宜的后悔药加一个字母省一次改板。第三类数据手册上的引脚最大编号大于引脚总数。典型场景是某些继电器或连接器编号跳到 14实际只有 4 个脚中间全是空号。规范要求先写实际引脚数再写最大编号DIP762W46P254L1918H533Q_4_14BMM。两个数字一个给建库用只画 4 个焊盘一个给网表映射用14 号位要能对上。第四类实际引脚数大于编号数。比如 BGA 有 48 个带编号的球但封装体上实际有 56 个焊球多出来的是散热球或机械球。名字里同样写两个数BGA48C75P6X8_800X1200X120_56_48NMM实际数在前编号数在后。第五类晶体管和场效应管的三个极排列顺序因厂而异。同一颗 SOT-23有的是 B-C-E有的是 E-B-C。规范要求在名字后面直接写出 1、2、3 号脚对应的极名SOT95P237X117_BCE_3NMM。这三个字母是整个命名体系里最“人类可读”的部分也是最不该省的——三极管的极序错了电路功能直接反掉而且在原理图上完全看不出来。这五类情况有个共同点它们都是“几何描述不了、但错了就出事”的信息所以被单独开了一条通道塞进名字。这份规范处理复杂性的策略在这里显露得很清楚能用参数描述的用参数参数描述不了的就加语义标记宁可名字变长不让信息丢失。5. 常见问题与排查名字看起来合规、板子还是翻车的五种情况5.1 全角字符和小数点混进来库导入直接报错或静默错位现象封装名在 EDA 里显示得好好的导入到另一个工具或者被脚本批量处理时出现字段错位、尺寸变成原来的一半或者十倍个别工具直接拒绝导入。原因录入时输入法没切回来是全角数字或者直接写了1.6这种带小数点的形式甚至用了中文顿号、空格。全角数字在某些字体下宽度和半角一样肉眼几乎看不出来小数点在解析时会被当成字段边界1.6被切成1和6两段。解决在库的入库环节加一道白名单校验只允许半角数字、字母、下划线、中横线四种字符其余一律拒绝不做任何容错转换。校验代码五行就够但必须强制执行不能靠“下次注意”。import re # 只允许: 半角字母、半角数字、下划线、中横线 LEGAL_NAME re.compile(r^[A-Za-z0-9_-]$) def check_name(name: str) - bool: 封装名合法性校验, 不通过直接拒绝入库 if not LEGAL_NAME.match(name): raise ValueError(f含非法字符: {name!r}) if name.count(_) 0: # 一个下划线都没有, 基本可以判定是把小数点写进去了 raise ValueError(f结构异常, 疑似混入小数点: {name!r}) return TrueLEGAL_NAME用的是全串匹配不是查找因为要拦住“前面合法、后面混了个全角符号”的情况第二个判断是经验补充正常命名不可能完全没有下划线这条能捞出一批把小数点当分隔符的录入。5.2 单位混用同一颗料在库里躺了两个名字现象库里搜 0402 电阻出来两条一条长 1.0一条长 25.4后者是把 1mm 当成 1mil 写了。或者同一个封装在两张板上表现不一样一张焊盘巨大。原因抄数据手册的时候一部分尺寸是 mm一部分是 mil写名字时后缀随手填了mm或者mil数值却没跟着换算。规范的第三条约束说得很清楚单位只能是 mm 或者 mil但没说“数值必须和单位匹配”这个一致性得靠人或者脚本保证。解决入库前统一换算到一种单位数值段和后缀强绑定校验。比如后缀是mm时长度段换算回来应该在 0.1mm 到 200mm 之间后缀是mil时数值段必须是纯整数且量级合理。超出量级直接报错让人回去看手册。5.3 阻焊增量没进名字直接改焊盘现象同一款封装在不同批次的板子上表现不一致有的连锡有的虚焊查原理图和网表都正常BOM 也没变。原因板厂换了阻焊补偿能力从 0.05mm 变成 0.1mm有人图省事直接在库里改焊盘的阻焊开窗名字没变。于是“同名封装”在库里是新的、在已发板的文件里是旧的谁也说不清哪块板用的是哪版。解决严格按规范把阻焊增量写进焊盘名s10和s15是两个焊盘而不是一个焊盘的两个版本。改补偿就是新建焊盘、新建封装、改名字改名这件事本身就是一次提醒这是一个新的物理实体。5.4 引脚数对不上却没编码网表导入多出或缺少引脚现象网表导入 PCB 时报“找不到引脚 9”或者封装上多出几个没有网络的焊盘DRC 报一堆未连接。原因器件手册的引脚编号不连续跳到 9 但实际只有 8 个脚或者实际焊球数多于编号数或者{Pin Qty}里漏算了散热盘。规范里明确写了{Pin Qty}包含功能引脚和散热盘数量这条最容易被漏。解决遇到编号和实际数不一致的器件按规范用双数字后缀实际数在前、最大编号在后显式记录别指望导入工具自己去猜。5.5 密度等级混用同一块板上有的好焊有的立碑现象同一块板上同规格的 0603 电容有的位置焊得牢牢的有的立碑返修时发现有的焊盘明显比别人小一圈。原因建库时一部分封装按高密度建L一部分按低密度建M命名后缀也各写各的谁也没注意。密度等级混用在小批量手工焊时问题不大一上钢网过炉就暴露。解决一个项目开始前先定密度等级策略按板子的布线密度和焊接工艺统一选一级所有新封装强制带对应后缀。库里存量封装按后缀分组过一遍同规格不同后缀的要么合并要么加备注说明用途。6. 从命名到库管理这套规则的边界在哪里这套规范走的是“自描述命名”路线所有物理量、归属关系、异常标记都写进字符串本身不依赖任何外部数据库。它的收益在长期看非常实在——名字可以被正则校验、可以被脚本反解、可以在两个不同 EDA 工具之间迁移、可以在 code review 的 diff 里直接看出“这个封装从 5.0mm 改成了 4.8mm”。这些东西在团队换工具、换人、隔半年回来看的时候价值会一次性兑现。代价同样明确。名字长得离谱DIP762W46P254L1918H533Q_4_14BMM这种 30 个字符的东西新人第一周基本读不下来语义标记越加越多之后字段顺序本身就是一份必须背下来的隐性契约规范写得再细也挡不住有人在_4_14和_56_48之间搞反顺序最关键的是它没法表达任意几何异形焊盘只能退化成smd_{Pack.Name}_{Number}本质上放弃了自描述转而依赖“挂靠”这个弱约束。另一条路线是短代号加中央数据库封装叫R0402_A所有尺寸、公差、密度、厂家信息存在表里工具查表。这条路线名字短、可读、易扩展但把一致性押在“所有人必须用同一个数据库”上一旦有人离线建库、或者工具之间不同步信息就断了而且 diff 里看不出任何物理含义。选哪条取决于团队规模和历史包袱。小团队、工具链统一中央数据库更省事跨部门、多工具、库要长期沉淀自描述命名的鲁棒性更强。真要验证这套规则在自己库里落得怎么样有个很土但很有效的办法写个解析器把存量封装名全部反解一遍看有多少能还原出原始尺寸、有多少字段对不上。我在一个模拟项目上做过一次三百多个封装里有四十多个反解失败全是当年图快省字段留下的那一刻才明白规范里那些“多余”的字母是为谁写的。从那以后我每次新建封装都会先把名字按规则拆成字段写一遍、再让脚本解析回来对一遍对不上就不入库。希望帮到你。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询