
简介面向硬件工程师、PCB Layout 初学者与电子设计专业学生的封装命名规范文档用于解决元件库命名混乱、焊盘与封装难以统一检索、多人协作时库文件标准不一致等问题。全文围绕焊盘命名与封装命名两条主线展开覆盖表贴、通孔、花焊盘与 Shape 命名规则并逐一给出电阻、电位器、电容、电感、磁珠、二极管、晶体谐振器与振荡器、熔断器、发光二极管等器件的命名约定同时延伸到 BGA、CGA、LGA、PGA、CFP、DIP、DFN、QFN 等常见封装形式附有范围、引用与约束说明可直接作为企业元件库建设与设计评审的对照依据。压缩包内共1个docx文件约1.63MB目录层级完整、条款编号清晰便于按章节检索与引用。已有805人学习下载适合需要建立规范化元件库、统一团队命名习惯或对照检查现有库文件的读者参考。1. 从「同一个料建出三个封装」说起这份最全 PCB 封装命名规范 docx 值在哪接手别人建的封装库最怕的不是把封装画错而是同一个器件同时存在三个名字。两个工程师都用 SOP-8一个叫sop127p600x175_8nmm一个叫soic127p600x175_8n第三个干脆叫8pin-3.9x4.9。合并库那天谁也不敢删谁最后整包重建。这份被标成「最全」的 PCB 封装命名规范 docx解决的就是这件事它把约束、焊盘、花焊盘、shape、封装体五个层级的名字全部固定成可拼装的字符串覆盖从 0201 电阻到 BGA 的三十来个器件族每个族给一个前缀加一套固定字段顺序连尺寸取典型值还是最大值都写死了。适合三类人建库工程师、管库的人、要把团队命名统一起来的硬件负责人。下面直接拆格式串、拆字段再给能跑的校验脚本。2. 四类字符、两套单位先把命名的「语法」钉死命名规范最容易写废的部分就是只告诉你要有意义、要统一而不告诉你字符集和数字怎么编码。这份文档在第 3 章约束里把语法层面的事一次性说完了后面所有章节的格式串都建立在这六条之上。这一章把这六条拆开讲清楚每条背后在防什么最后落成一个三十行的校验函数。2.1 合法字符只有四类键盘上其他符号全是非法字符文档约束①说得很硬只能用数字 0-9、字母 a-z不限大小写、下划线_、中横线-其他符号一律非法而且必须是半角单字节。这条看着啰嗦实际影响比想象中大小数点不能出现。1.6mm不能写成1.6只能写成160。这是整个尺寸编码体系的地基下一节展开。度符号不能出现。花焊盘的开口角度写90不能写90°写上去就是一个非法字符。空格不能出现。厂家型号里带空格用下划线替掉文档在{Part Number}的说明里专门交代了这点。大小写不敏感但建议全小写。规范说 a-z 不限大小写可多数 EDA 的库检索是区分大小写的RESC_e0805和resc_e0805在工具眼里是两个文件。还有一个文档里没写、但实际建库绕不开的限制名字长度。非标器件的{Mfr.Name}_{Part Number}拼起来很容易超过 40 个字符部分工具对封装名有长度上限Windows 路径还有 260 字符的天花板库目录层级一深就爆。我的做法是厂家名一律用四到六个字母的缩写型号只保留能区分开的最小片段。2.2 公制吃掉小数点英制只留整数约束③和④是这套规范里最精妙、也最容易读错的两条公制mm数字的后两位表示小数位整数位长度不限实际小数超过两位就四舍五入到两位。r160_50s15mm里的 160 是 1.6mm50 是 0.5mm。英制mil数字全是整数没有小数位长度不限。r210_90s6mil里的 210 是 210mil90 是 90mil。把这套编码和实际尺寸对一下就能看出它的设计意图——同一个字段位置永远不带小数点解析时统一除以 100公制或者乘以 0.0254英制。实际尺寸公制编码英制编码mil0.5 mm50200.65 mm65261.27 mm127501.6 mm160632.0 mm2007910.41 mm1041410表里最后一行是重点整数位长度不限所以1041和50出现在同一个字段位置时解析逻辑不能靠位数判断只能靠末尾两位是小数这个约定。反过来说如果建库时把 0.5mm 写成0500或者写成5整条链就断了——5在公制里是 0.05mm差了十倍。这是我在库审计里查出来的最高频错误之一。提示公制编码必须严格两位小数0.5mm 写50、5mm 写500、0.05mm 写5。三个值差一位数肉眼扫库时极难发现只能靠脚本卡。2.3 参数占位符取值规则才是可复现的关键文档用大括号{}表示参数第 3 章约束⑥把所有参数的含义和取值方式列了一遍。这一段是全篇最容易被跳过的但它其实是命名能不能复现的胜负手。同一颗料A 取典型值、B 取最大值两人拼出来的名字必然不一样库就分裂了。规范把每个参数该取哪个值固定下来参数含义取值规则{Length}/{Width}器件长、宽取典型值无典型值取平均值只有一个值就取该值{Height}器件高度取最大值{Lead Spacing}插装器件引脚间距取典型值{Pitch}相邻引脚间距取典型值{Lead Diameter}插装引脚直径取最大值{Body Length}/{Body Width}封装体长、宽取典型值{Body Height}封装体高度取最大值{Body Thickness}封装体厚度按数据手册给出值{Body Diameter}圆柱体直径取典型值{Lead Span}排距两排引脚外沿距离取典型值{Lead Span L1}/{L2}四边引脚器件的小排距、大排距取典型值{Pin Qty}引脚数量包含散热盘按实际数量{Columns}/{Rows}引脚列数、行数按实际数量{Level}密度等级见表 4.1{Mfr.Name}器件厂家完整英文、英文缩写或拼音注意{Pin Qty}后面那句包含功能引脚数量和散热盘的数量——QFN、DFN 这类底部带散热盘的封装散热盘算不算进引脚数直接决定名字最后那个数字是 9 还是 8。团队里没统一这条同一个 QFN 就会有两个名字。文档的处理是把它算进去理由是散热盘在网表里也是一个引脚。2.4 第一道闸门三十行正则把非法名字拦在入库前规则读完了落地就一步在库入库前跑一遍字符集和等级后缀检查。下面这段脚本可以直接抄输入是一个名字输出是问题列表空列表表示合规。import re # 约束①只允许数字、字母、下划线、中横线末尾必须是 mm 或 mil CHARSET re.compile(r^[0-9a-z_-]$) UNIT re.compile(r(mm|mil)$) # 密度等级表贴 M/N/L插件 A/B/C必须在单位紧前一位 LEVELS set(mnlabc) def validate(name: str): 返回问题列表空列表代表这个封装名合规。 problems [] # 1) 先统一小写避免 RESC 和 resc 在工具里变成两个文件 low name.lower() if not CHARSET.match(low): bad sorted({c for c in low if not re.match(r[0-9a-z_-], c)}) problems.append(f非法字符: {bad}) # 小数点、度符号、空格都会落在这里 return problems # 字符集都不过后面不用查了 # 2) 单位后缀文档只允许 mm 和 mil 两种 m UNIT.search(low) if not m: problems.append(缺少单位后缀 mm/mil) return problems unit m.group(1) body low[:m.start()] # 3) 等级后缀必须紧贴单位写成 _8mmN 或 _N8mm 都不合法 if not body or body[-1] not in LEVELS: problems.append(f单位前一位应为密度等级 M/N/L/A/B/C实际为 {body[-1] if body else }) # 4) 公制名字里不该再出现小数编码痕迹比如把 1.6mm 写成 16 或 1600 if unit mm and body.endswith(0) and not body.endswith(00): problems.append(公制尺寸段疑似少写一位小数检查是否应补 0) return problems逻辑说明字符集检查放在最前面因为非法字符会让后面所有正则都失去意义等级后缀检查用单位紧前一位这个位置约束而不是满名字搜字母否则resc里的c会被误判成高密度等级。第 4 条只是一个弱提示不追求覆盖率因为公制编码本身不自描述靠正则没法百分百判断。参数说明CHARSET是全量字符集UNIT只匹配末尾LEVELS把六个等级字母合成一个集合。实际跑批时我会在前面加一层小写归一把库目录里每个文件名去掉扩展名喂进来返回非空就打印出来人工确认。3. 焊盘层表贴、通孔、花焊盘、shape 四套拼装规则焊盘是封装的单元也是命名最容易出错的一层因为它涉及尺寸、形状、钻孔、阻本文还有配套的精品资源点击获取