ARTICLE DETAIL

资讯详情

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

PCB测试点设计全攻略:从Altium规则到ICT治具落地

PCB测试点设计全攻略:从Altium规则到ICT治具落地 我最早对“测试点”这三个字留下深刻印象是在一款消费电子主板的ICT治具回签阶段。结构工程师拿着针床图来找我开口就问这两个测试点中心距只有1.9mm我的探针导套外径最小2.0mm你打算往哪儿扎当时我第一反应是“那错开一点不就行了”结果一查才发现整板有十几个测试点的间距都不满足2.54mm最后只能重排测试点、重新投板两周工期直接没了。从那以后我就明白测试点从来不是PCB快画完时顺手甩几个焊盘的小事它直接决定了产线ICT能不能测、治具要不要加钱、首件能不能顺利过。做硬件和PCB设计这些年我见过太多“原理图没问题、Layout没问题、一到量产测试就出问题”的项目根子往往就出在测试点设计上。这篇文章我想把Altium Designer里测试点设计这件事从头到尾讲透包括测试点的作用是什么、间距和尺寸参数到底怎么定、AD里面规则和Test Point Manager怎么用、以及我实际踩过的坑和排查技巧。无论你是刚入门PCB设计的工程师还是想完善测试点规范的老手这篇文章都应该能给你一些可以直接落地的参考。1. 测试点设计的工程意义与方案选型1.1 测试点在产品生命周期里到底扮演什么角色很多刚接触PCB设计的工程师容易有一个误解觉得测试点就是“给调试时万用表找个地方搭针”。实际上测试点的价值在研发、生产、售后三个阶段都体现得非常明显。在研发调试阶段测试点是硬件工程师测量电压、波形、时序的关键位置特别是那些没有引出排针的芯片电源引脚、I2C通信线、复位信号等如果没有提前放置测试点调试时探针根本不知道往哪里搭。在产线生产阶段ICTIn-Circuit Test在线测试通过针床一次性接触板上所有测试点可以在几秒钟内完成开路短路、缺件、错件、极性反、部分器件参数异常的筛查这是批量生产质量把控的核心手段。到了售后维修阶段维修工程师拿到故障板首先也是靠测试点快速定位失效单元而不是拿着放大镜去数电阻。换句话说测试点设计不是Layout工程师一个人的事它需要硬件工程师、测试工程师、结构工程师共同参与而PCB设计者往往是那个把大家需求落地成实际板子的人。如果这一步没做好后面每一个环节都要付出额外的工时和费用严重时甚至要改板、重投、报废治具。1.2 焊盘型测试点、过孔型测试点、专用测试件的选型对比Altium Designer中实现测试点的载体主要有三类焊盘型、过孔Via型、以及专用测试针/测试环。这三类各有适用范围我列个表方便对照。类型常见实现优点缺点适用场景焊盘型顶层/底层裸露焊盘钻孔0mm接触面积大探针接触可靠不破坏走线占板面积稍大绝大多数量产板的首选ICT/飞针都适用过孔型普通过孔或加大的测试过孔不额外占面积可与走线换层结合孔径小容易接触不良塞孔后失效多次插拔易损伤焊盘密度高的板子、备用测试点、低要求网络专用测试件压接测试针、弹簧探针环接触极其可靠寿命长成本高需要额外装配工序高频电源、军工等高可靠性场景或长期调试工装实际项目中绝大多数消费电子和工业控制板都用“焊盘型测试点”也就是在PCB表面放一个孔径为0的圆形焊盘不开钢网、不盖阻焊直接裸露铜面再根据表面处理工艺喷锡、沉金、OSP决定最终的接触效果。这里我要多说一句如果你的板子表面处理是OSP测试点放置时间长了铜面容易氧化影响接触最好在ICT之前做一次烘板或清洁沉金板测试点的接触可靠性是最好的对探针寿命也友好。1.3 为什么测试点不能完全交给Layout自由发挥我见过一个项目Layout工程师手工放了三十多个测试点看起来密密麻麻很丰盛结果硬件工程师一看就懵了三个电源网络一个测试点都没有某个关键时钟信号倒是放了三个。这个问题的根源在于Layout阶段大家习惯“顺手放”没有事先定义“哪些网络必须有测试点”也没有统一的间距和尺寸标准。所以规范的流程是原理图阶段就先用测试点符号把关键网络标记出来或者整理一份“测试点需求清单”明确每个电源域、每个关键信号、每个接插件网络的测试点数量。PCB设计阶段再根据布局空间、元件高度、工艺要求去调整具体位置。Altium Designer里有专门的Test Point管理器可以辅助检查“哪些网络还没有测试点”但这个工具只能作为校验手段不能替代前期的需求定义。2. 测试点布局规范与关键参数拆解2.1 测试点间距2.54mm这个数字是怎么来的ICT测试之所以对间距这么敏感是因为针床上的每一根探针都有一个物理的导套导套外径通常为1.5mm到2.0mm加上治具板上钻孔需要留出的孔壁间距和强度余量两个探针中心距至少要2.54mm才比较稳妥。这也是行业内最通用的标准间距很多治具厂默认按这个间距设计针床成本也最低。如果板子密度实在高可以做到1.27mm但这时候导套要特殊定制、治具加工精度要求更高成本会明显上涨而且探针做细之后阻抗变大、寿命下降维护频率也跟着上升。我在实际项目中定的规范是普通信号测试点中心距不小于2.54mm特殊情况经测试工程师确认后可放宽到2.0mm但尽量不要低于1.9mm。之前那个1.9mm间距的板子其实就是Layout工程师觉得“看起来差一点点没关系”但治具厂商算了一下导套壁厚之后直接回复做不了。间距一旦不满足探针导套之间要相切甚至打架针床压根没法钻孔这种情况只能改板。2.2 测试点尺寸和焊盘参数圆焊盘为什么是默认选择测试点的焊盘尺寸直接影响探针接触面积和定位容差我建议普通焊盘型测试点直径不小于1.0mm推荐做到1.2mm到1.5mm。小于1.0mm的焊盘探针针尖万一有一点偏移接触面积太小接触电阻会很不稳定大于1.5mm虽然接触更可靠但在高密度板上容易挤占布线空间得不偿失。为什么默认用圆形焊盘而不是方形或矩形原因是探针从各个方向落下时圆形焊盘在任意角度都有一样的接触宽度容差均匀方形焊盘的角落在制造时容易翘边探针扎到边缘时受力不均长期使用也容易伤焊盘。所以在Altium Designer中放置测试点焊盘时Pad Shape选择Round即可。如果某些网络必须用过孔做测试点孔径建议不小于0.5mm焊盘外径不小于0.9mm并且确认PCB加工时不允许对这个过孔做塞孔处理。很多板厂默认对过孔塞油一旦塞了探针接触面就废了。这个细节在发板前一定要写进加工说明里不然板厂按默认工艺做出来ICT阶段才会发现问题。2.3 测试点布局禁区板边、高器件、定位孔、Mark点测试点不是哪里好放就放哪里它需要兼顾“测试探针能不能够到”和“周围元件会不会干扰”两个问题。我总结了几条布局原则项目里可以直接套用。第一距离板边不小于3mm。ICT针床的定位靠板边和定位孔探针要从板子上下两个方向压下来太靠近板边的测试点可能被治具的压板结构遮住或者探针导套与定位销干涉。第二距离高度超过5mm的元件连接器、电解电容、大电感、散热片不小于3mm。探针导套和弹簧是有一定长度的如果旁边立着一个高元件导套下降时会撞上去要么探针扎不到测试点要么元件的引脚被压坏。第三距离定位孔和Mark点至少保持3mm以上。定位孔周围通常有禁布区Mark点附近需要留出光学识别的净空测试点放过去会导致坐标识别误判也违反SMT工艺要求。第四不要在拼板V-cut、邮票孔桥连位置附近放测试点。这些位置在分板时会变形、翘曲甚至产生毛刺探针落上去接触不稳定测试数据忽好忽坏。第五如果有底面回流或波峰焊夹具底面测试点要避开夹具支撑柱和遮蔽区域。这个容易被忽略因为Layout阶段看不到焊接夹具的结构最好提前找工艺工程师要一份夹具开孔图。2.4 网络覆盖原则每个网络至少一个测试点电源和地要多放测试点覆盖的核心原则是“每个需要测试的网络至少有一个物理测试点”这句话听起来简单落地时有很多细节。一个原则是电源网络和地网络不能只放一个测试点因为电源网络供电路径长、电流大只在芯片边上放一个测试点治具测试时无法判断远端是不是断开了至少要在主电源入口和负载端各放一个。地网络建议在板子不同区域均匀布置两到三个测试点这样既能测地网络连续性也能在ICT阶段作为探针回流的公共参考点。另外BGA芯片内部扇出的那些网络如果不通过过孔引到PCB表面BGA焊点内部的开路就很难测试。实际做法是把BGA扇出后的走线在远端预留一个测试点而不是直接在BGA焊盘上放测试点。BGA焊盘间距太小探针没法直接扎强行扎下去还可能损伤焊盘。我通常会在BGA外围找一个相对空旷的区域把需要测试的网络用一小段走线引出来再接一个1.2mm的测试点焊盘。注意这段引出走线越短越好避免在天线、射频、高速信号网络上产生额外的影响具体我在后面“高速信号加测试点”里再展开。3. Altium Designer规则配置与测试点管理器实操3.1 在原理图端先给测试点安排“合法身份”在Altium Designer里做测试点我强烈建议原理图阶段就别偷懒。直接在原理图库中调用Test Point符号一般在Miscellaneous Devices或自己建的库里有放置到需要测试的网络上。这个符号本质上是一个带电气属性的单引脚元件你把它的Pin连接到要测的Net上然后在元件属性里给它命名位号、描述信息将来同步到PCB时它会自动生成一个与网络关联的焊盘并且自动获得“测试点”属性。这样做的好处有两点。第一测试点数量、位置、网络对应关系在原理图审查阶段就能被人看到硬件工程师、测试工程师可以在电路设计评审时就提意见而不是等PCB画完了才说“这个网络也要测”。第二原理图上的测试点有唯一的位号后续生成的Fabrication Testpoint Report里可以清楚列出每个测试点对应哪个网络、位于哪一层这和PCB端随手放的匿名焊盘是不一样的治具设计方拿到的坐标数据更完整。当然原理图符号不是万能的。有些项目时间紧硬件工程师没来得及在原理图里放测试点Layout阶段就只能在PCB上“补票”。这种情况下PCB端放置的焊盘只要在属性里正确关联了网络Altium的Test Point管理器也能识别并纳入测试点体系但报告的完整度不如原理图方案。3.2 PCB端直接放置测试点焊盘的完整流程如果你必须在PCB阶段手动补测试点操作流程也不复杂但有几个属性一定要设置对。在Altium Designer中先执行Place菜单下的Pad命令放置一个焊盘。双击焊盘打开Pad属性面板Layer选择需要测试的一面通常是Top Layer或Bottom Layer先把Pad Shape设为RoundX-Size和Y-Size都输入1.2mm或1.5mm。Hole Size这里要特别注意焊盘型测试点的钻孔尺寸要设为0不能留孔否则会变成通孔焊盘波峰焊之后孔内上了锡探针接触面不平整。然后在下方的Net属性下拉框中选择这个测试点要连接的网络不要漏掉这一步。最后把Solder Mask Expansion设置成合适的开窗值正常情况下稍大于焊盘即可确保阻焊层不会盖住测试点铜面。如果你用的是通孔式测试点那Pad属性里要勾选PlatedHole Size设为0.5mm到0.6mm其他参数一样。但发板前一定要在加工说明里注明“指定过孔不可塞油”否则板厂默认塞孔会让测试点报废。3.3 Testpoint Style与Testpoint Usage规则设置要点AD里的测试点规则分为两部分Testpoint Style定义了“什么样的焊盘/过孔可以被当作测试点”Testpoint Usage定义了“每个网络是否必须有测试点、用什么形式”。在Design菜单的Rules里展开Testpoint节点可以看到Testpoint Style规则。双击打开后在Where The Object Matches区域可以指定应用范围一般选择All。然后在Constraints区域设置允许的测试点类型包括焊盘和过孔设置孔径的最小值、最大值测试点焊盘尺寸范围以及同一网络测试点的间距限制。这里要注意规则中设置的“最小间距”与2.54mm规范是对应的我会把Hole Size Minimum设置为0.5mm测试点大小范围设置1.0mm到1.5mmSpacing设置为2.54mm。另一条Testpoint Usage规则在Constraints里可以设置测试点使用策略Required表示指定范围内对象必须使用测试点Invalid表示不允许添加测试点Optional表示可选。实际项目中我一般对所有网络设置Required然后可以把机械安装孔、定位孔对应的网络设为Invalid避免AD把不该测试的铜皮网络也塞一个测试点进去。规则设置完成后别忘了在DRC配置里勾选Testpoint相关规则否则你运行设计规则检查时这些问题根本不会报出来。我见过不少工程师把规则写好了结果最后DRC根本没过检就是因为没有在Rule To Test里勾上。3.4 使用Test Point Manager批量放置与校验Altium Designer的Design菜单下有一个Test Point Manager这是我处理测试点最常用的工具。打开后界面分为几个区域左侧是当前PCB上已有的测试点数量统计右侧是一个操作列表可以设置搜索条件、放置策略和执行创建。使用步骤大概是这样的。第一步在Test Point Manager里配置搜索条件可以指定优先使用现有焊盘或过孔作为测试点也可以指定需要新建的测试点尺寸、层、间距等。第二步点击Update Existing或者Create TestpointsAD会自动扫描当前PCB的所有网络找出那些还没有测试点的网络并尝试在满足规则的区域内自动放置测试点。第三步AD会在列表中列出每个待创建测试点的网络名、推荐位置和方式你可以人工确认也可以用Accept All接受全部候选测试点。这里有个关键细节Test Point Manager自动放置测试点时它是按“当前PCB上已有的焊盘或过孔”优先的所以如果你没有提前预留测试点焊盘它也可能在普通网络的过孔上打主意把过孔标记成测试点。如果网络布线密度高AD甚至会找一个不太合适的位置硬塞一个测试点。因此我的习惯是先手工把关键网络和重要电源网络的测试点放好再用Test Point Manager补漏最后把自动生成的候选逐个过一眼避免出现我说的过孔被误标成测试点的情况。3.5 测试点报告输出给治具厂和测试工程师的交付物测试点设计完成后下一步就是给外部协作方输出可用的报告。在Altium Designer里File菜单的Fabrication Outputs下有一个Test Point Report选项可以生成包含测试点坐标、网络、层、焊盘尺寸等信息的报告文件。格式一般选CSV或IPC-D-356CSV方便测试工程师在Excel里查看IPC-D-356用于治具数控钻孔的导入。如果项目里使用了OutJob文件做批量输出也可以在OutJob中配置Test Point Setup把测试点报告纳入一键输出流程。这样每次改完板运行一次OutJob原理图PDF、Gerber、坐标文件、BOM、测试点报告会一次性生成不用手动一个个点省下很多时间也可以避免漏输出文件。拿到测试点报告后建议把CSV里的网络列表和原理图中的关键网络清单做一次交叉比对确认电源、地、BGA扇出网络全都覆盖到了。这份报告也要及时发给测试工程师让他们提前评估治具探针选型、压床布局和针床结构而不是等PCB都投出去了才临时看。4. 常见设计缺陷与DRC排查技巧实录4.1 把过孔直接当测试点的隐患到底有多大网上很多教程会说“没有空间时可以把过孔当测试点”这句话容易误导人。过孔当测试点最大的问题是接触面不稳过孔盘通常是焊环加一个孔探针扎到孔心时悬空没接触扎到焊环边缘时接触面积很小而且过孔孔径越细探针越容易滑进孔里卡住轻则接触不良、重则探针断在里面。另一个问题是过孔塞孔工艺现在大多数板子都要求过孔塞油塞完油以后表面是绝缘的探针扎上去基本等于没扎。如果真的只能用过孔至少保证孔径在0.5mm以上、盘径0.9mm以上并且在加工说明中禁止塞孔。即便如此我仍然建议在尺寸允许的地方优先用0孔径的焊盘型测试点。这个取舍看起来小实际量产时探针寿命和测试直通率的差别非常明显。4.2 测试点间距不足导致治具报废的真实案例前面提到的那个1.9mm间距案例后来我们做了一次复盘发现根源在于设计阶段没有任何人给Layout提过“测试点最小间距2.54mm”这个约束AD规则里也没有配置Testpoint Style的Spacing导致DRC根本没有报错。教训就一条测试点间距规则一定要写进AD的规则库并且在DRC中勾选不能依赖人工目检。这里也分享一个排查技巧在AD里跑完DRC之后可以先选中一个测试点右键选择Find Similar Objects把所有测试点焊盘都筛出来然后在PCB面板里看它们的间距或者直接导出测试点坐标到Excel里算一遍最近距离。Excel打开CSV后用几行公式就能算出任意两个测试点之间小于阈值的组合非常快。治具报价前用这个方法自查一遍能省掉很多来回沟通扯皮的时间。4.3 测试点被元件、丝印和结构件遮挡的各种情况PCB在裸板上时测试点明明都在一到组装完就测不了这在产线是最头疼的问题之一。典型情况有三种一是底面的测试点被外壳的支撑柱、螺丝柱挡住了治具探针根本压不下去二是顶面测试点旁边加了散热片散热片边缘把测试点的一部分盖住探针落上去会碰到散热片三是测试点旁边丝印文字太粗太密丝印油墨溢出到焊盘上导致接触不良。针对这三种情况我的建议是在布局阶段就和结构工程师过一遍整机组装图把外壳支架、连接器、散热器等可移动零件映射到PCB的禁布区域内丝印调整时把测试点附近1mm范围内的丝印全部清掉阻焊开窗只保留焊盘本体不要人为扩大开窗区域。4.4 DRC测试点报错的排查技巧速查表实际运行中DRC报出的测试点相关错误主要有几类我整理了一个速查表方便大家对照排查。报错类型可能原因处理思路Testpoint Style Violation某个测试点焊盘尺寸超过规则限制或孔径不在允许范围选中报错对象确认是否真的是测试点调整焊盘尺寸或修改规则Testpoint Usage Required Violation某网络设置为Required却没有测试点用Test Point Manager查看遗漏网络补充测试点Testpoint Usage Invalid Violation在设置为Invalid的区域或网络上出现了测试点检查是否误把机械安装孔、螺丝孔网络加了测试点删除或改网络属性Minimum Spacing Violation两个测试点间距小于规则设定值调整其中一个位置或缩小测试点尺寸重排间距Testpoint Via on Component测试点过孔压在元件焊盘上移动测试点远离元件本体和焊盘尤其要注意的是新版Altium Designer里DRC的报错信息不仅显示规则名称还会直接给出具体的对象坐标和网络名称双击错误条目可以跳转到PCB上对应位置。排查时不要只看“有几个错误”要逐个跳转过去确认是不是真正的测试点问题还是说规则设置宽松导致误报。我见过有人报错后直接改规则把错误消掉结果把真正的问题掩盖了这种方式一定要杜绝。4.5 高速信号上到底要不要加测试点高速信号如USB、以太网、DDR、PCIe的测试点设计要和普通信号区别对待。原因很简单测试点本质上是一个额外的焊盘和过孔它会在走线上形成一个残桩stub残桩会产生阻抗不连续和反射影响信号质量。如果你是直接把测试点串在走线中间那高速信号的眼图可能直接垮掉。我的做法是对于高速差分对或关键时钟信号如果测试需求不是特别强烈尽量不加测试点如果必须加把它放在走线末端、靠近接收端芯片引脚附近的位置并且让测试点焊盘到走线的引出线尽量短降低残桩长度。做仿真或者实测时留心一下加测试点前后的信号上升沿变化有条件的可以用TDR看一下阻抗变化是否在可接受范围内。总之测试点的“可测性”和“信号完整性”之间的平衡一定要和硬件、SI工程师提前对齐不要等到测试失败了再改。5. 最后再分享一个我自己的实操习惯测试点设计完成后除了跑AD自带的DRC我还有一个固定动作把测试点报告导出来人工抽看一遍网络列表尤其是电源网络、地网络和BGA扇出网络。DRC通过只能说明“规则上没有冲突”但规则是工具替你定的网络覆盖是否合理需要人来做判断。比如某个电源网络只覆盖了一个测试点而且这个测试点刚好被放在了输入端那输出端是否开路DRC是看不出来的。另外在把CSV测试点报告发给治具厂之前我会先把板子的Step格式结构图发给测试工程师让他们在治具设计软件里模拟一下探针下落路径确认没有干涉、没有探不到的位置。这一步看起来多余实际能帮我在治具报价前发现至少一半的潜在问题比之后拿针床实物来试错要划算得多。测试点这个东西往往越早沟通后面返工的成本越低。
返回列表