ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PCI-E 36P Altium Designer封装库设计实战:从焊盘到3D模型全流程

PCI-E 36P Altium Designer封装库设计实战:从焊盘到3D模型全流程 做硬件设计这些年封装库一直是我最不愿将就的东西。PCB封装看着不起眼可一旦出问题轻则重新打板重则整批报废。PCI-E 36P这个连接器在板卡设计里太常用了从扩展卡金手指到主板上插槽几乎天天都能碰到。我把自己整理和使用的PCI-E 36P Altium Designer PCB封装库与3D封装库资源完整梳理一遍把从规格书读到参数计算、从焊盘创建到3D模型关联的每一步都交代清楚希望给正在做类似板卡或者打算自建封装库的朋友一个可以直接照着做的参考。这套资源最适合几类人一是做电脑配件、工业主板、测试板卡的中小团队硬件工程师二是刚转行做layout、想系统掌握连接器封装开发流程的新手三是需要统一公司封装库规范的硬件管理者。整个方案围绕“可复用、可制造、可检查”三个目标展开不搞花活全部是能落地到生产的东西。PCI-E 36P并不是一个多复杂的封装但里面涉及的关键细节却相当多。引脚间距、金手指倒角、镀金长度、3D模型高度、阻焊开窗每一项都直接影响产品能不能正常插拔、能不能顺利过ESD测试、能不能装进结构外壳。本文不会停留在“建个焊盘再拉两根丝印”的层面而是把封装背后的一些原理、规格书的判断方式、制造工艺的约束都讲透。1. 先搞清楚PCI-E 36P到底是什么再动手建库很多人拿到“PCI-E 36P”这个描述就直接去翻资料找引脚图其实这个动作有点本末倒置。封装库里画的是物理结构但物理结构的依据是PCIe总线规范、连接器厂商的机械图纸、还有你的板卡具体形态。这三者缺一不可。1.1 36P的来源PCIe通道结构和信号映射PCI Express采用高速差分串行架构每个通道由一组发送差分对和一组接收差分对组成带宽按通道数叠加。常见的有x1、x4、x8、x16。所谓“36P”指的是PCIe x1规格下板边连接器总共引出36个引脚在卡边缘的顶层和底层各分布18个合起来刚好对应一对收发差分信号再加上供电、地、辅助管理信号如PERST#、CLKREQ#、WAKE#等。这36个引脚不是简单排一条直线就完事。PCIe的引脚分配在规范里有明确表格比如A面哪几个脚是供电、哪几个脚是差分接收B面哪几个脚是差分发送、哪几个脚是地。做封装库之前第一件事就是找到这张引脚功能表对照你要用的主控芯片的引脚定义确认方向是“Host”还是“Device”。同一块PCIe设备板卡如果你把它设计成插在主板上用的扩展卡和设计成主板上的插槽引脚角色是相反的。这个搞反板子回来根本点不亮。实际项目中PCI-E 36P最常见于三类场景PCIe x1扩展卡金手指、主板或转接板上的x1插槽、以及mini PCIe形态的设备接口。有些板卡为了方便兼容会把金手指做长一点甚至做成x1但物理长度兼容x4的形态这种兼容设计在结构上要额外注意卡槽开口的位置不能只盯着36个引脚画图。1.2 金手指封装和插槽封装是两套完全不同的库我见过不少新手把金手指封装和插槽封装混为一谈在原理图库里同一个footprint又当金手指又当插槽用最后做出来的板子要么插不进要么接触不良。金手指封装也就是card edge焊盘是直接做在PCB板边上的镀金铜箔形状是长条形顶部通常要做斜角俗称倒角方便插进主板插槽。插槽封装则是把连接器座子焊在板子上引脚是连接器的金属弹片封装形式多为通孔或SMT焊盘需要额外做金属外壳的接地焊盘。在设计资源时我习惯把这两种形态拆成两个独立封装PCIe_X1_CardEdge_36P和PCIe_X1_Slot_36P分别维护避免误调用。本文后面统一以金手指形态为主线讲解因为它的制造约束更多能把问题讲透插槽形态在原理上类似只需要把焊盘形式从金手指改成SMT或通孔即可。2. 建封装库前必须吃透的三张“图纸”PCB封装库不是凭空画的它是对连接器物理结构的数字化表达。最怕的就是不看规格书直接凭感觉建库差0.1mm到了生产端就是翘脚、虚焊、插拔不畅。建库前至少要研究三方面的资料连接器/插槽的机械图纸、PCB制造工艺能力、以及IPC封装标准。2.1 连接器机械图纸上的关键尺寸以PCIe x1金手指为例图纸上最核心的几个尺寸是引脚间距pitch、金手指焊盘长度、金手指焊盘宽度、金手指之间的间隙、以及板边倒角的角度和深度。PCIe标准里x1的接触焊盘间距是1.0mm这个值基本固定。但镀金区域的长度会有差异不同连接器厂商会根据插拔寿命要求设计不同的摩擦长度从几毫米到十几毫米不等。如果你做的板卡要兼容市面上绝大多数插槽金手指的焊盘长度不要卡着最小值设计要留一定的制造余量。我常用的做法是先确定PCB板的板厚通常1.6mm或2.0mm再查目标插槽规格书里要求的金手指插入深度反过来推算焊盘的最佳长度。这里有个容易忽略的点金手指末端的倒角角度常见的是30°或45°深度大概在0.5mm到1.0mm之间。倒角做对了插拔顺滑做错了插几次就会把插槽里的弹片刮伤。2.2 PCB制程能力决定焊盘的极限参数封装库画得再标准如果和工厂的制程能力不匹配照样做不出来。金手指区域通常要求沉金或镀金工艺金厚有明确范围焊盘表面不允许有阻焊油覆盖。因此封装库里金手指焊盘区域要特意开阻焊窗而且在钢网层不用开孔因为金手指不刷锡膏靠的是物理接触导通。同时要考虑板厂的最小线宽线距、最小字符高度、以及金手指距板边的距离。我一般在封装库阶段就把这些约束做进去比如把金手指焊盘的内侧距离板边设成固定值再在机械层画一个禁止布线区域防止layout时其他线误走到金手指背面造成阻抗不连续。这里补充一个常用公式金手指焊盘宽度 引脚间距 - 焊盘间距余量一般PCIe x1间距1.0mm时焊盘宽做到0.550.65mm焊盘间距0.350.45mm。具体的值要看插槽弹片的接触宽度太窄接触电阻大太宽相邻引脚易桥接。长度方向则按插入深度要求常规做到4mm以上再加上板内走线引出的尾巴部分。2.3 IPC标准与封装命名别小看这两个细节IPC-7351B对SMT焊盘给出了计算方法但对金手指这种特殊形态标准只是参考最终要结合连接器厂商的推荐值和自家板厂的能力做调整。封装库的关键参数表我建议做成模板跟着工程走每次发板后把试产反馈记录到库的参数表里几个项目下来你手里那份库就是团队最值钱的资产之一。命名规范同样重要。Altium Designer的封装库经常被多人同时使用如果没有统一命名哪天你看到库里躺着PCIEX1、PCIE_36、PCIe-x1-card等好几个名字头都大了。我倾向一套结构化命名类型_通道数_引脚数_形态_版本例如PCIE_X1_36P_CARDEDGE_V10。3D模型文件的命名和封装名保持一致防止关联时搞混。3. Altium Designer里从零创建PCI-E 36P封装的全过程前面讲了理论和参数这部分是真正动手的流程。我会按照Altium Designer的操作顺序从新建PCB库文件讲到保存输出把每个环节的意图和容易踩的坑一起说明白。3.1 新建PCB库文件并设置原点与栅格打开Altium Designer执行File → New → Library → PCB Library新建一个.PcbLib文件。在Tool → Library Options里做几件关键设置单位切换成mm金手指行业默认单位是mm不是mil过孔/焊盘显示模式改成精细模式栅格设置成0.05mm或0.025mm方便精确对齐1.0mm间距的引脚。原点放置很讲究我习惯把板子左下角的一个基准点设为坐标原点优先级是金手指第一脚位置 板板中心 结构定位孔。这个原点不仅影响封装还影响后面在PCB里布局时的坐标测量。PCIe金手指属于板边器件我建议把金手指的物理插入方向定义为X轴正方向这样在PCB编辑器中做旋转对齐时逻辑清晰。3.2 用焊盘表批量创建36个金手指焊盘手动放36个焊盘不是不行但效率低且容易错。更实用的方式是利用Altium的Paste Array功能或者先放置第一对焊盘然后用阵列复制的方式补齐其余34个。我在顶层放置18个SMD焊盘作为A面金手指底层放置另外18个作为B面。焊盘属性设置为Surface Mount形状Round和Rectangle组合使用。金手指顶端的引出部分建议用矩形方便控制与板边的间距靠近板内的连接部分可以用圆角或矩形过渡便于走线。焊盘编号要严格对应PCIe x1引脚序号比如A1、A2……A18、B1、B2……B18千万不能随手自动编号否则后面做原理图符号映射时全乱套。批量放置时用坐标偏移最稳每一列焊盘中心间距1.0mm顶层焊盘中心Y坐标固定底层焊盘中心Y坐标与顶层镜像对称。如果有定位孔或卡扣缺口要把这些机械特征放在机械层画出来方便结构设计参考。3.3 给金手指添加倒角、阻焊开窗和禁止布线区这是整个封装库里最容易出问题的地方。金手指板边倒角不是用封装库做的但在封装库里要留出倒角工艺所需的空间我在机械层13通常作为结构限位层画一条45°斜线标注倒角位置生产图上结构工程师一看就明白。焊盘放完后选中金手指焊盘在Properties面板里找到Solder Mask Expansion选项设为0或者指定一个较大的开窗值确保金手指焊盘区域完全不覆盖绿油。有些板厂还要求金手指根部做一段假镀镀金引线这个可以在机械层画两条引线标记和板厂沟通后确定是否需要保留。和普通SMT焊盘不同金手指不上锡因此封装库的Top/Bottom Paste层不要放锡膏开窗。如果从其他封装复制过来记得把Paste层的东西删干净否则贴片时会莫名刷上一坨锡膏导致插槽接触片被污染严重时直接短路。3.4 添加丝印、装配层与位号信息金手指区域上方没有元器件丝印可以画在板内稍远的位置。用Top Overlay画一个简洁的连接器外形框再标注第一脚方向。方向标记不要只用一个圆点我习惯画“1”旁边再加一个小箭头指向插入方向这样产线贴片和维修人员不会拿反。另外用Mechanical层画装配图所需的零件外形轮廓并标注高度信息方便结构设计核对。位号designator建议以“J”开头放在丝印层字体高度不要小于1mm太小的字在产线上打印丝印时会糊成一团。如果你把封装库发布到公司服务器给多人调用还要在库属性里填入设计者、修订日期、版本号这个信息通常放在Comment字段或自定义参数里出BOM时能自动带出。3.5 保存并检查封装库设计规则PCB库文件本身也有DRC检查。执行Reports → Component Rule Check勾选所有检查项重点看焊盘间距是否过近、是否有铜皮连接意外短路、丝印是否落在焊盘上。这个检查在封装库阶段就能拦截一半以上低级错误但很多人嫌麻烦直接跳过我劝你省掉这个偷懒的念头。库文件保存后建议用Altium的“Component”面板查看一下焊盘顺序和总引脚数确认36个焊盘一个不少。这里的经验是用快捷键TC依次点击焊盘观察属性面板里编号是否连续、是否有重复。一套做下来半分钟就够但能避免后面原理图映射阶段的连环错位。4. 3D封装库从STEP模型到Altium 3D Body现在很多公司做板卡结构设计已经离不开3D模型。PCB封装只有2D焊盘远远不够得把连接器的实际三维外形也放进封装库里才能在Altium里做完整的机电协同检查。这部分讲讲3D封装库怎么选模型、怎么导进去、怎么对齐。4.1 3D模型的三条获取渠道优先用官方STEP第一条渠道是连接器原厂官网下载STEP模型。TE、Molex、JAE这些连接器大厂基本都提供STEP格式的3D模型而且精度很高直接对应具体料号。下载时注意选择正确的版本和方向有些型号看起来一样但引脚长度、外壳卡扣不同选错了3D外形会误导结构设计。第二条渠道是第三方元器件平台比如Ultra Librarian、SnapEDA、Samacsys它们有大量连接器模型并且很多可以直接生成Altium封装库和3D模型。不过第三方模型质量参差不齐有的简化过度连卡扣、凸台都省了这种模型在结构干涉检查时等于白给。第三条渠道是自己建模。如果你用的连接器非常冷门或者原厂只给DXF/DWG图纸就需要在SolidWorks、FreeCAD或Altium自带的3D Body编辑器里手动建一个简化三维体。连接器外形不复杂画一个长方体加几个定位柱即可关键是要保证插拔方向、离板高度、外形尺寸准确。自建模的重点不是精美而是关键尺寸不能差。4.2 在封装库中放置并正确关联STEP模型Altium中放置3D模型有两种方式一是直接Place → 3D Body然后选择Generic STEP Model载入外部的.step文件二是用Altium的“Settings → 3D Bodies”统一管理模型库。我建议用Generic STEP Model配合公司统一的模型库目录因为这样换一个封装时不会把模型文件路径搞丢。载入STEP后最考验人的是对齐环节。STEP模型自带的坐标系和Altium封装库坐标往往不一致所以需要旋转和平移。建议先把封装库原点和连接器安装面设为参考再让STEP模型的目标点与之对齐。PCIe连接器通常以“插入方向底面高度0点”为基准我在对齐时会把模型Z方向设置为0代表连接器底部贴板。插槽连接器则要注意standoff height也就是器件距离板面的高度这个值在结构设计里极其关键设成0还是0.5mm必须有依据。对齐完成后打开3D显示模式快捷键3旋转视角检查焊盘与3D模型的相对位置。理想状态是通孔焊盘能从模型引脚裸露位置看见或者SMT焊盘贴合在模型引脚底面。如果发现焊盘和模型错位优先调整模型的位置而不是调焊盘因为焊盘坐标决定了实际装配位置3D模型只是视觉参考。4.3 在PCB编辑器中做机电干涉检查3D封装库建好后真正发挥价值的地方是在PCB编辑器里做3D检查。布局完成后执行Tools → 3D Body Manager或直接进入3D视图逐项检查连接器与外壳、散热器、相邻元器件之间的间隙。特别是在PC主板这种空间紧凑的产品里PCIe插槽旁边经常有电容、电感耐压安全距离不够就是设计事故。我习惯在3D视图里把PCB设为半透明再从侧视和俯视两个角度检查金手指插入方向和插槽开口方向是否一致。如果不一致焊接可能没任何问题但就是插不进去。这个错误在2D视图里极难发现只有3D检查能逮到所以现在新项目我强制要求所有关键封装必须带3D模型。4.4 3D模型库的目录规范与团队协作3D模型文件动辄几十上百MB而且经常更新我见过很多团队把模型乱扔在个人电脑桌面换个人就找不到。更靠谱的方式是在服务器上建一个统一的模型库目录按厂商、料号、封装名三级结构存放文件名带版本。Altium的3D Body路径尽量填网络相对路径或者用环境变量映射这样整个团队打开同一个项目时不会出现模型丢失。这里分享一个操作技巧Altium的Preferences里可以设置3D模型搜索路径添加公司服务器上的模型库目录后Place 3D Body时会自动搜索并预览。这样同事新建封装时不需要手动找路径直接在搜索框输入PI361或PCIE就能跳出对应模型效率高很多。5. 把封装库和3D库真正用起来原理图联动与实际项目检查做封装库不是终极目标最终要在原理图符号、PCB layout、BOM输出里都能顺畅使用。这一节讲封装库“接入工作流”的几个关键环节以及我在实际项目中遇到过的坑。5.1 在原理图符号中关联封装和多状态BOM原理图库中的Symbol一定要设置“Footprint”链接可以在右侧的“Footprint”窗格里直接点击添加从已安装的库或者库搜索路径里选择匹配封装。这一步如果漏了后面画完原理图导网表时就会提示找不到封装非常浪费时间。我自己习惯在原理图符号的参数表里额外加一个“3DModel”字段手动填上对应的STEP文件名。虽然Altium的数据库库.DbLib可以自动关联但对中小团队来说用简洁的文本字段反而更直观不易出错。BOM输出时用Outjob文件统一配置模板把Manufacturer Part Number、Footprint、3DModel几个字段都拉出来采购和结构工程师拿到BOM就能直接核对。5.2 使用Altium的查询面板快速挑选封装如果公司库文件很多建议用Altium底部的“Components”面板设置搜索路径指向你的封装库文件夹在搜索栏直接输入“PCIE 36P”面板会列出匹配的元件。选中后可看到封装的三维预览在这个阶段就能发现有没有带3D模型、引脚数对不对。这个功能相当于给每次调用封装加了一道“视觉闸门”我认为比只看文字描述更不容易出错。5.3 常见问题速查表我在维护封装库的过程中整理过一张问题速查表新同事建封装遇到异常先看这张表能省掉大量排查时间现象可能原因排查与解决办法原理图导入PCB时报引脚缺失封装焊盘编号与原理图符号引脚编号不一致检查焊盘编号是否按A1/B1顺序命名重新映射金手指区域被绿油覆盖焊盘Solder Mask Expansion未设置开窗选中焊盘设置Solder Mask Expansion大于0或设为Solder Mask开窗金手指刷锡导致短路Paste层有锡膏开窗删除金手指焊盘的Paste层数据3D模型在PCB里显示悬空或陷进板子STEP模型Z轴偏移量错误检查3D Body的Standoff Height通常贴板器件为0插槽方向装反封装库第一脚方向定义错误回到PCB库中核对方向标识出图前3D检视插拔方向丝印压住焊盘丝印框位置太靠近板边丝印向内移动保持至少0.2mm间距引脚间距看起来不对单位设置错误在PCB库中将单位切换为mm检查栅格是否对齐0.05mm5.4 版本管理和评审封装库也要走变更流程很多人觉得封装库是小东西不需要版本管理结果团队里有人改了库别人却还在用旧版做出来的板子标准不一。我参与过的项目里封装库全部纳入SVN或Git版本管理每次修改必须写注释比如“PCIe x1金手指焊盘长度从4.2mm调整到5.0mm适配XX插槽”。用Altium的“Library Integrity”功能也能自动识别库文件版本方便追溯。封装库改动不是一个人拍脑袋说改就改至少要过一遍硬件评审。评审的核心就两条一是查阅改动后的封装是否仍然符合连接器厂商图纸二是确认改动对已有项目的影响范围。必要时可以在Altium中生成封装库的差异报告逐项对比新旧版本的焊盘位置这个操作我每次发版前都会做一遍踏实。6. 一套可复用的工作流和后续扩展思路封装库建设不是一次性的任务用着用着总会遇到新连接器、新封装需求。建立一套可复用的流程比单独做一个封装更有价值这也是我想重点分享的经验。6.1 从PCI-E 36P扩展出整个PCIe家族封装做好一个PCI-E 36P封装后不要急着关文件先想想能不能顺带把PCIe x4、x8、x16的封装也一起做了。因为它们的引脚间距和基本设计规则完全一致只是焊盘数量和板边长度不同。在Altium中复制现有库文件用全局替换功能把焊盘数量、位号和外形尺寸批量改动通常几十分钟就能攒出整套PCIe金手指封装族。这样做的好处是后续做不同PCIe规格的板卡时不用再从零开始画。我的做法是把PCIe封装各族放到同一个.PcbLib文件里命名为PCIe_Family.PcbLib里面的封装名按PCIE_X1_36P、PCIE_X4_64P、PCIE_X8_98P、PCIE_X16_164P来区分。虽然Altium一个库文件可以放很多封装但建议还是按功能族拆分成几个库文件否则库越来越大Altium打开时会更卡。6.2 用脚本和模板自动化生成重复性封装Altium支持基于DelphiScript和Python的脚本扩展像PCIe这种规律性极强的金手指封装完全可以用脚本自动生成。脚本里面定义好起始点、间距、数量和焊盘尺寸一键生成36个焊盘再自动加丝印和机械层信息效率比手动操作高一截。我自己写过一个简易的PCIe封装生成脚本把引脚数、板厚、焊盘宽长都参数化后面遇到M.2卡座、DDR DIMM这类金手指时直接改参数再跑一遍脚本几分钟就完事。能自动化的事情绝不用手工重复这种思路在封装库这种高频、繁琐的任务上尤其见效。6.3 长期维护视角封装库质量要从试产反馈反推封装库建得好不好只有把板子发出去生产拿到试产报告和功能测试结果才算真正验证过。我总结了一套回填机制每次试产结束后收集产线反馈的金手指插拔力度、贴片不良率、切片数据填入那个封装的维护记录表。如果发现某款连接器镀金区域磨损过快就要回头查封装里金手指长度的余量设计是否足够。这几年做下来我最大的体会是封装库本质上是一个“经验沉淀”的载体。每一个焊盘位置、每一条丝印方向、每一颗螺丝孔坐标背后都是能被传承的实战经验。PCI-E 36P这种封装做一遍学会的是操作流程但真正把它做好需要的是对连接器原理、制造工艺、结构装配的理解。希望这篇东西能让你在自建封装库时少走一点弯路下次再遇到需要建连接器封装时第一反应是“先查规格书再定参数然后开库”而不是直接凭感觉画个焊盘交差走人。
返回列表