ARTICLE DETAIL

资讯详情

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

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

PCI-E 36P金手指封装库设计全流程:从2D焊盘到3D模型实战 做硬件设计的人都知道Altium Designer里最耗时间的往往不是原理图而是PCB封装库。尤其是PCI-E这种金手指板卡看着只是几十个触点实际上从焊盘形状、双面错列、板边倒角到3D外壳配合每个环节都牵一发动全身。这篇文章是我做PCI-E 36P封装库的一次完整复盘包括2D焊盘怎么画、3D模型怎么对、库怎么管理以及投板前最容易被忽略的坑。如果你正准备做PCIe扩展卡、测试板或者工控机里的功能小板这套流程可以直接拿去参考。PCI-E 36P这个叫法在很多人看来就是“一个金手指连接器”但真正动手建库时会发现它背后的细节比普通QFP、BGA封装要多得多。普通芯片封装是焊盘对齐、间距固定、丝印画框就完事金手指则要同时考虑板卡插入方向、触点磨损、镀金工艺、板边缺口甚至还要在3D环境里和机箱挡板、连接器外壳做装配验证。这篇文章不打算讲太基础的AD操作而是围绕“36P金手指封装到底该怎么建、怎么管、怎么用”这条主线把里面的原理、步骤和实战经验一次说清楚。1. PCI-E 36P到底对应什么先理解封装再动手1.1 36P不是36根针是18个触点位置的双面错列建封装之前先把“36P”这个数字搞清楚。很多人以为36P就是36根引脚其实在PCI-E x1的金手指板卡上36P指的是金手指总共有36个触点位置这36个触点分布在板卡的两面单面只有18个而且两个面的触点不是正对着的是相互错开的。这是PCIe规范和普通排针、DIP封装最大的区别。普通插件封装顶层和底层的焊盘是上下对齐的过孔一穿就通但PCIe金手指为了保证插拔顺畅、减少信号串扰A面和B面的触点是交错排列的错开的距离一般是半个触点间距。也就是说你在Top Layer看到的焊盘和Bottom Layer看到的焊盘位置完全不一样。这个特性在Altium Designer里如果不特别注意很容易做成“上下正对”的普通焊盘。等到板子打样回来插进PCIe插槽后会发现触点对不上轻则接触不良重则直接短路烧卡。所以在第一步我就建议你把数据手册里的“金手指触点展开图”打印出来放在显示器旁边每一个焊盘的坐标都对照着来别凭感觉。1.2 建库前要准备的四份关键依据建封装库不是打开Altium Designer就开始画得先收集资料。我通常会在项目文件夹里建一个“Library_Reference”目录专门放下面四类文件第一是连接器数据手册也就是官方规格书。这里要看的是触点间距、金手指长度、板卡厚度要求、倒角角度、卡口位置。第二是PCIe规范里关于板卡边缘连接器的尺寸定义虽然很多数据手册已经标注好了但有部分参数比如板边到第一个触点的距离规范里会更详细。第三是结构工程师给的3D外壳模型或DXF外形图这一步是为了后面3D封装库对齐用的。第四是PCB工厂的工艺能力表重点看金手指镀金厚度、倒角方式和板边公差这些直接决定焊盘要不要延伸出板边、倒角留多少。资料备齐后对照数据手册写一张参数对照表。我自己的习惯是用Excel列项目、数据手册数值、我设计用的数值、备注。这样后面画封装时不用反复翻PDF也方便同事review。1.3 封装命名和库项目的组织方式命名这件事看似简单但踩过坑的人都知道命名不规范会让整个团队遭殃。我用的命名规则是“类型_规格_引脚数_版本”例如PCIe_X1_CardEdge_36P_V10。这里的V10不是版本号1.0而是指这个封装对应的板卡厚度是1.0mm方便后期选型。库项目的组织方式上我建议一个芯片一个PcbLib文件而不是把所有封装都堆在一个库里。PCI-E 36P这种金手指封装单独建一个PcbLib文件名就叫PCIe_X1_CardEdge_36P.PcbLib。这样改一个封装不会影响其他设计多人协作时冲突也少。如果是公司级库可以在Altium Designer的Preferences里把库路径指向共享盘但一定要用相对路径否则同事打开项目时会报找不到库。2. 2D PCB封装库设计从焊盘到板框的完整流程2.1 金手指焊盘的绘制自定义形状与双面错列的处理2D封装库的核心就是焊盘。PCI-E 36P的金手指焊盘不能用普通的矩形焊盘直接放因为金手指前端通常有倒角要么是斜角要么是圆角这个倒角是为了插入插槽时更顺滑也能减少对插座弹片的磨损。Altium Designer从AD17开始支持自定义焊盘形状Custom Pad Shape我一般是这样做的先在Top Layer用Region画一个金手指触点的轮廓尺寸对照数据手册前端按45度倒角后端是矩形然后选中这个Region在Pad属性里把它转成自定义焊盘。这样既保留了焊盘的电气属性又能做出非规则形状。记得一个封装里有两面焊盘Top Layer放A面18个触点Bottom Layer放B面18个触点两边错开半个间距。放焊盘时可以用“Paste Special”批量粘贴再在PCB List或者Properties面板里统一修改X坐标。这里的关键是别用Step和Repeat那个只能做直线阵列金手指双面错列需要分别算坐标。我习惯把A面第一个触点放在原点位置然后B面的第一个触点偏移0.4mm半个触点间距具体数值以你的数据手册为准。这个原点放在金手指第一个触点的左下角而不是板卡左下角因为这样引脚编号和坐标计算更直观。2.2 丝印、装配层、禁布区与板框的标注金手指封装和普通IC封装在丝印上的处理方式差别很大。普通芯片封装需要画丝印框和第一脚标识但金手指板卡的触点区域本身就是要露铜镀金的丝印不能覆盖所以丝印只需要标出“金手指起始位置”和“禁布区边界”就行。我通常会在Top Overlay层画一根短竖线标记金手指的起点同时在丝印上写清楚板卡的插入方向箭头。这样做是给贴片和组装人员看的防止板卡方向搞反。禁布区Keepout在Altium Designer里要画在Keepout层或者用规则区域控制。金手指前端到板边之间的区域禁止走线和铺铜否则插拔时容易刮伤走线严重的话还会和插座弹片短路。另外在Top/Bottom Solder层不需要开窗因为金手指是靠镀金工艺处理的和普通喷锡焊盘不是一种做法阻焊开窗反而会让基材露出来。板框用Mechanical 1层画。PCIe板卡的外形和卡口位置要严格按照规格书来尤其要注意卡口的方向。PCIe x1的卡口不是对称的左右位置有偏移这个偏移如果搞错板子物理上就插不进插槽。画完板框后把金手指的焊盘延伸到板边延伸量按工厂工艺表来通常是0.3mm左右用于镀金手指的夹持和倒角。2.3 原点、定位基准与方向约定封装库里的原点设置是个看似小但影响全局的事情。PCI-E 36P封装我建议把原点放在金手指第一个触点的中心而不是板卡中心也不是板卡左下角。原因是Altium Designer中放置元件时元件的参考点就是封装原点如果原点离实际插入位置太远后面做3D装配和机械定位时会非常难受。方向约定上我一般把金手指朝下Y轴负方向这样在PCB上放置时元件方向就是插入方向。同时把第一个触点的位置放在左上角引脚编号从1开始从上往下数。这个约定我会写进库的注释里方便以后维护的人理解。如果你们公司已经有了一套自己的原点规则那就沿用自己的规则关键是内部统一。最怕的情况是A工程师放在左下角B工程师放在第一个焊盘中心结果同一个封装在原理图里是同一个Footprint放到PCB上位置却差了好几个毫米检查起来非常痛苦。3. 3D封装库让金手指和外壳在电脑里先装配一次3.1 方式一用Altium Designer内置的3D体建模3D封装库的建模有两种方式第一种是直接用Altium Designer的Place 3D Body命令建模这种方式适合外形简单的板卡和连接器。PCIe板卡的3D体主要由三部分组成PCB基板、金手指镀金区、卡口缺口。基板可以用一个Extruded长方体拉伸厚度设为1.0mm或1.6mm颜色设为绿色对应FR4基材。金手指镀金区可以用一个薄的长方体贴在基板边缘厚度设成0.05mm左右颜色用金色这样3D预览时能明显看出镀金区域的范围。卡口缺口用多个3D体组合或者通过Extruded体的多边形轮廓来实现。用内置3D体建模的好处是文件小、生成快而且和2D封装的坐标完全一致不用担心模型偏移。缺点是细节不足比如金手指的倒角、插槽内的弹片结构都做不出来。如果你的3D用途只是为了看板卡是否干涉、方向是否对这个精度完全够用。如果是要做整机散热仿真或者结构图档交付那就要用第二种方式。3.2 方式二导入STEP模型并完成3D对齐第二种方式是直接导入连接器厂商提供的STEP模型。这个方法做出来的3D封装非常精细但有一个绕不过去的步骤是模型对齐。STEP模型在导入Altium Designer后默认放在坐标原点。如果你的STEP模型本身的原点定义和AD封装原点不一致就会出现3D体悬空、插进板子或者偏到一边的情况。这时候需要在Properties面板中调整3D Body的Offset X/Y/Z和Rotation。我踩过一次印象很深的坑导入一个PCIe插座的STEP模型明明数据手册上尺寸都对但3D预览时插座整体浮在板面上方1.2mm。检查后发现是STEP模型的基准面定义在连接器底部凸起的最高点而Altium里放置时Standoff Height又设成了1.0mm两个基准叠加导致模型悬空。解决办法是先把STEP模型的基准面弄明白再反推Standoff Height应该设多少通常直接设成0mm然后在Offset Z里微调。对齐完成后一定要在3D预览里旋转视角多角度看特别是沿板卡插入方向看金手指和插座的接触位置。这个检查比任何尺寸标注都直观。3.3 3D预览与干涉检查的实用经验Altium Designer里按快捷键3可以进入板卡3D预览按L可以切换板层透明度。我做金手指封装时3D预览主要看三件事。第一是看金手指镀金区域是否真的在板边露出来了如果镀金区被基板颜色盖住说明3D体的层叠顺序或厚度设置有误。第二是看两个面的金手指触点是否错开我会在3D视图里把板卡切到半透明对比Top和Bottom两个面的接触区域应该能看到交错排列的镀金亮条。第三是看卡口位置和方向特别是和外壳模型配合时卡口偏了会导致物理上插不进去。需要提醒的是Altium Designer的3D预览本质上是显示模型不是真正的CAD干涉分析。如果要严格做干涉检查建议把板卡导出成STEP文件放到SolidWorks或Fusion 360里和外壳模型做一次布尔运算。我见过不少案例AD里看着没碰导出到机械软件后干涉了一堆原因就是AD对复杂曲面模型的简化显示。4. 从封装库到项目的工程化管理4.1 封装库与集成库的选择Altium Designer里有两种常见的库形式一种是独立的PCB封装库也就是.PcbLib另一种是集成库也就是.IntLib。集成库把原理图符号和PCB封装打包在一起调用方便但修改时要先改源库再重新编译流程略重。对于PCI-E 36P这种不常改动的标准封装我个人建议用集成库管理。把原理图符号库、PCB封装库、3D模型都绑到一起编译成IntLib后团队成员调用时只需要装一个库所有关联自动带上。而且编译过程中如果发现引脚编号不匹配、封装缺失Altium会自动报错等于在源头做了一层检查。如果你所在的团队还在频繁调整这个封装的阶段比如引脚定义还没冻结那就先用独立的PcbLib等确认无误后再封装成IntLib。注意集成库里的3D模型也要一起放进去不然别人打开后在3D视图里看不到完整的立体效果。4.2 Footprint Manager与库同步项目做到中期最怕的就是换了封装库后PCB里还是旧封装。Altium Designer自带的Footprint Manager是解决这个问题的利器在Tools菜单下可以找到。点开后它会列出当前PCB项目中所有用到的Footprint并且和已安装的库做对比。如果有不匹配或者找不到的封装会直接标红显示。我每次改完PCI-E 36P封装都会在项目里跑一遍Footprint Manager确认所有实例都指向最新版本。这个习惯帮我避免了至少三次“明明改了库但板上还是旧封装”的低级事故。还需要注意的是如果在原理图里更换了FootprintPCB里不会自动更新必须在PCB编辑器中用Import Changes或者Update From Libraries同步一次。这个步骤很多人会漏掉结果原理图是新的PCB还是旧的投板出来才发现。4.3 版本管理与多人协作封装库的版本管理我建议至少要做到每个正式版本打一个标签或者存一份历史文件。如果是小团队用Git管理整个库目录如果是个人开发那也要养成改库前先复制一份的习惯。具体到PCI-E 36P这个封装由于涉及金手指工艺、孔位、板框、3D模型多个维度我一般会在PcbLib的注释里写清楚变更历史比如“V10按照XX规格书创建”“V11修改B面触点错位0.1mm”。这样万一后来出了问题能快速定位是哪个版本引入了改动。多人协作时还有一个容易被忽略的点是库文件的只读设置。Altium Designer在打开PcbLib时如果文件是只读的它也能编辑只是保存时会提示另存为。这个时候如果两个人同时改同一个库后保存的人会覆盖先保存的人。我的做法是让库的源文件只允许一个人有写权限其他人要改就把需求提出来由库管理员统一改。听起来麻烦但能避免很多回退成本。5. 我踩过的坑PCI-E 36P封装常见问题速查5.1 双面焊盘错位与引脚编号反了这个坑我踩过不止一次身边同事也遇到过。问题是焊盘编号顺序和连接器数据手册不一致导致原理图里的信号到了PCB上全乱了。金手指封装不仅要保证物理位置对还要保证电气上每一根信号都到了正确的引脚。排查方法很简单就是在封装库里把引脚编号显示出来对照数据手册的触点展开图逐个核对。熟练以后可以只核对首尾两个引脚和中间几个关键位置但一定要做这个动作。我还会在数据手册的展开图上用不同颜色标出A面和B面的触点编号避免自己看岔。双面焊盘错位的典型表现是在3D预览里看到一个面的触点完全覆盖住另一个面的触点形成正对的重合图形。如果你的两个面焊盘在Top和Bottom视图里完全重合那肯定错了。正确情况应该是错开的像拉链一样交错。5.2 3D模型悬空、方向翻转与对齐偏差3D模型问题里悬空最常见原因前面已经说过主要是Standoff Height和模型基准面叠加导致。方向翻转则更加隐蔽有些STEP模型导入后默认朝上和AD里Top Layer的方向相反看起来就像金手指朝下翻了个面但旋转角度又看不出明显异常。还有一种情况是对齐偏差不是整毫米级而是0.1mm甚至更小的量级。这种偏差在3D预览里几乎看不出来但做整机装配图时会差很多。解决的办法是在机械软件里测量关键特征点到模型原点的距离再和AD封装里的原点坐标做对比几行数据就能定位偏差。我建议大家在自己的库管理规范里加上一条每次导入STEP模型后必须在3D预览里截图存档。这样如果后来有人反馈模型不对可以快速对比之前的截图找出是谁改动过。5.3 DRC规则冲突与制板说明金手指焊盘延伸到板框外在Altium Designer的默认DRC规则下通常会被报为错误因为它认为焊盘超出了板框边界。如果DRC报错不要直接关掉检查而是要有针对性地设置规则区域。我通常的做法是新建一个Room把金手指区域框进去然后在规则里把Clearance和Component Clearance的检查方式设置成按Room覆盖。同时还要在OutJob的制板说明里特别注明“金手指区域按镀金工艺处理不喷锡”否则工厂默认按普通OSP或喷锡工艺做金手指耐磨性和导通性都会打折扣。另一个和制板说明相关的是板边倒角。如果封装里的金手指前端设计了斜角但你在制板说明里没写工厂会按标准直角加工这个差异在插拔时会明显感觉不顺。所以在投板前把“金手指倒角角度、镀金厚度、板卡厚度”这三项单独写清楚。5.4 问题速查表问题现象可能原因解决办法Top和Bottom金手指焊盘完全重合双面焊盘未错列按数据手册错开半个触点间距重新排列引脚编号和规格书不一致原点或起始脚位置理解错误对照触点展开图核对在库注释里写明编号规则3D模型悬空Standoff Height设置过大或基准面不对将Standoff设为0再通过Offset Z微调3D模型方向和板卡插入方向相反STEP模型坐标轴方向不同使用Properties中的Rotation调整后重新对齐DRC报焊盘超出板框金手指需要延伸到板边设置Room规则豁免按金手指工艺处理制板后金手指插拔卡顿倒角未标注或角度不对在制板说明中明确注明倒角角度和镀金厚度板卡插不进PCIe插槽卡口方向或位置错误按数据手册重新核对卡口偏移量封装修改后PCB未更新忘记同步库使用Footprint Manager和Update From Libraries做PCI-E 36P封装库这个事说难不难说简单也不简单本质上是对细节的耐心。我做了几年硬件最大的体会是封装库里每一个坐标、每一层图元最终都会以物理形式呈现在板卡上前期省下的半小时后期可能要花半天来补。如果你正在做这类板卡建议拿到规格书后先花半天时间把参数表做出来把点位、工艺、3D模型来源都理清楚再动手。建好库后放在一个单独的文件夹里做个完整的验证板打一次样回来实际插拔测试一下确认金手指配合顺畅、3D模型和外壳吻合再正式入库。这套流程看起来慢但长期下来是最快的。
返回列表