ARTICLE DETAIL

资讯详情

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

ATE直流参数测试全解析:PMU原理、参数设置与多site实战

ATE直流参数测试全解析:PMU原理、参数设置与多site实战 刚入行做ATE测试那会儿我犯过一个特别典型的错误拿到一颗新芯片兴致勃勃地把功能向量写好一路Run到飞起结果在产线上被老工程师一把拦住——“你直流参数测了吗”我当时一脸懵觉得功能都过了直流还测什么后来才知道直流参数测试才是整个ATE测试里最像“地基”的东西功能向量跑得再漂亮地基本稳后面全是空中楼阁。这篇文章就围绕ATE测试里的直流参数测试展开把这个主题讲透它到底测什么、依靠哪些硬件实现、标准项怎么设参、多site并行后有哪些新坑、转向量前后如何衔接以及我在实际调试中踩过的一些非典型问题。适合刚转岗ATE测试的新人也适合已经写了几年测试程序、但没系统梳理过DC测试逻辑的工程师。直流参数这部分东西看起来简单真把它吃透能帮你省下大量产线debug时间。1. 直流参数为什么是ATE测试的“首发阵容”1.1 直流参数到底包含哪些项我先给个全景。ATE测试按信号性质通常分成三大块直流参数测试DC Test、交流参数测试AC Test和功能测试Functional Test。其中直流参数测试顾名思义就是在器件引脚上施加直流电压或电流并测量对应的直流响应它不关心信号跑到多快也不在意逻辑时序是否对齐只看静态电气特性。典型的直流参数项包括但不限于连续性测试Contact Test / Open-Short Test确认探针或测试座与每个引脚接触良好通常利用引脚内部的ESD保护二极管完成。静态功耗测试比如IDD、IDDQ测芯片在静止状态下从电源吸取的电流判断有没有漏电异常。输入漏电流测试IIH、IIL给输入引脚施加高/低电平电压量流进/流出引脚的漏电流。输出驱动能力测试VOH、VOL、IOH、IOL验证输出引脚在带负载时还能不能维持规定的电平。开漏/开集电极相关的上拉/下拉电流测试以及三态引脚在Hi-Z状态下的漏电流IOZ。这些项听起来零散但它们是判断一颗芯片“电气上是否健康”的最快手段。功能测试可以告诉你逻辑对不对AC测试可以告诉你跑得够不够快但只有直流参数能告诉你引脚本身、电源轨、ESD结构、驱动管是不是真的焊好、连好、做对了。1.2 从失效看重要性一个坏引脚暴露的秘密我举一个很实际的案例。之前调一颗MCU的程序功能向量跑全pass但产线良率却一直上不去最后定位发现是某个GPIO引脚在封装环节出现了虚焊。这种现象很有意思虚焊引脚在功能向量里未必立刻暴露——因为很多向量压根没用到这个引脚或者走的是内部上拉路径凑巧还能工作。但直流参数测试不会放过它。Open-Short测试里这个引脚force 100uA电流测出来的电压明显偏离正常二极管压降区间直接判fail。这就是为什么行业里几乎所有的测试程序都遵循同一个顺序先开短路、再上电、再测静态漏电、然后才转向量。直流参数不pass后面的测试项目再多都是在浪费机台时间。从测试策略角度看直流参数测试还有一个优势它通常不需要复杂的向量时序单次测量时间在毫秒级甚至微秒级几个pin并行测下来整体耗时占比很小。但如果不做失效可能漏到系统级测试甚至终端客户那里那个成本就不是几分钟机时的事了。所以我说它是一颗芯片在ATE上接受的“第一道体检”真不夸张。2. PMU 才是直流参数背后的硬件主角Force/Sense 与开尔文连接的原理2.1 电压源/电流源和测量单元的四种工作模式直流参数测试在ATE里不是ATS自动测试系统凭空变出电压和电流的真正的执行单元叫PMUPrecision Measurement Unit精密测量单元国内工程师也常叫“精确测源单元”。每一代测试机里都集成了若干PMU通道配合继电器矩阵和per-pin电子件完成不同引脚之间的切换。PMU的核心能力可以概括为“既能当源、又能当表”并且支持四种基本工作模式Force Voltage / Measure CurrentFVMI施加电压测电流。比如输入漏电测试给一个高电平再量引脚流出的电流。Force Current / Measure VoltageFIMV施加电流测电压。比如连续性测试用恒定小电流看二极管压降。Force Voltage / Measure VoltageFVMV施加电压回读实际电压。常用于校验电源输出是否到位。Force Current / Measure CurrentFIMI用得较少用于特殊测试比如恒流源验证。实际编程时除了设定模式和量程还必须设置一个参数Compliance钳位。Force电压时必须设定最大允许电流Force电流时必须设定最高允许电压。这不是可有可无的而是保护机制——一旦DUT异常短路或开路PMU不会无限制地灌电流或抬电压避免把芯片打坏也避免损坏测试通道。2.2 开尔文连接为什么四根线比两根线更可信很多从板级测试转过来的人第一次看到PMU通道密密麻麻的连线会问一句为什么要两根甚至四根线连同一个引脚这就涉及到直流参数测试里一个最核心的工程细节——开尔文连接也叫四线制测量。普通两根线的接法是这样Force线和Sense线合并成一根同时承担“施加激励”和“回测响应”的功能。问题在于从PMU到DUT引脚之间必然存在探针接触电阻、继电器接触电阻、线缆电阻这些寄生电阻值可能从几十毫欧到几欧不等。当你force 1A电流时线上压降就是好几伏PMU读数会被严重污染。开尔文连接把Force和Sense拆成独立两条路径Force线负责灌电流Sense线是极高输入阻抗的电压感应线几乎不流过电流。这样Sense线测得的就是DUT引脚上的真实电压线缆和接触电阻上的压降被彻底排除掉了。就像用游标卡尺量物体长度一次测量时把尺子的零点误差扣掉读数才真实。ATE测试头里的pin electronics通常对关键引脚提供“两头端子”比如Force和Sense各接到探针卡的相邻针上探针卡再延伸成四根针或弹性针直接压到焊盘上。编程时你需要显式启用Force/Sense很多测试程序的精度差异就是从这里拉开的。我见过某工程师抱怨漏电流测试结果始终偏大换了模板、改了限值都没用最后发现是他那条通道的Sense线继电器坏了等于是两根线模式在工作读取的电压偏低换算出来的漏电自然偏大。所以说理解开尔文连接不只是考试知识点是实打实影响测试质量的。3. 实操拆解连续性测试和漏电流测试的参数设置与判定3.1 连续性测试利用ESD二极管做探针接触检查直流参数里第一个跑的项目99%是连续性测试。它的原理很巧妙几乎所有数字芯片的每个引脚对VDD和VSS之间都有ESD保护二极管等效电路就是两个背靠背的二极管分别接到电源轨上。测试时给引脚force一个微小电流常见100uA到1mA如果引脚接触正常电流会流过ESD二极管产生一个约0.3V~0.8V的正向压降如果接触不良或开路电压会被拉到接近PMU的compliance电压比如5V。具体操作上大多数程序会把引脚接到VSS的二极管利用起来PMU force -100uA到某个引脚VSS作为回路测引脚电压。如果测到大约-0.6V说明接触良好如果测到接近-5V判定Open。同理还可以用接到VDD的二极管测试是否对电源短路。我这里列一组典型参数供参考参数推荐值说明Force电流-100uA电流越小越不会损伤DUT但对接触电阻敏感度更高Compliance电压-1V ~ -5V视机台能力常用-5V但越小越保护器件判定下限-0.8V低于此电压说明短路或接错判定上限-0.1V高于此电压说明开路或接触电阻过大这里有个细节电流源模式下的测试时长通常设置10ms~50ms太短可能导致继电器切换的毛刺还没settle完就读数了。尤其在探针卡接触晶圆Pad时表面氧化膜或脏污会造成瞬时大电阻测试时间太短的会误判太长的又拖慢节奏。经验做法是先快速扫描把fail的site/pin挑出来再用稍长settling time重测一次降低误杀率。3.2 漏电流测试量纲从安培到纳安的转变连续性过了电源也上电了紧接着就是漏电流测试。漏电流的量级通常从微安到纳安不等比连续性测试高一个复杂度。以输入漏电流IIH为例把输入引脚force到VIH比如3.3V器件的3.0V然后在规定时间内测量流过该引脚的电流。理想CMOS输入是纯电容负载静态漏电应该在nA级别如果看到uA级别就要怀疑引脚附近有ESD损伤、保护二极管反向特性变差或者芯片内部上拉/下拉电阻配置错误。写这类测试时最容易犯的错是忘了设置合理的等待时间和量程。PMU在弱电流档位工作时建立时间明显变长因为线缆电容和探针卡寄生电容需要充电。你必须等电流稳定再取样通常先做一两次空采丢弃前几个读数再取平均值。程序里务必要有Range量程切换逻辑先粗测一个数量级再切到细量程精确读不能让PMU自动量程频繁跳变否则每次切换至少浪费几十毫秒。漏电流的判定限值不能一概而论要根据芯片手册和工艺节点定。老工艺0.18um的器件输入漏电1uA可能还在规格内先进工艺或者超低功耗IoT芯片要求可能到1nA以下。测试工程师要养成一个习惯拿到DUT的datasheet后把每个直流参数的规格先整理成一张表再映射到测试程序里而不是抄上一个项目的模板。3.3 一个可复用的直流测试程序骨架以常见的测试机台语言风格类C语法为例直流参数测试程序骨架大体长这样// 1. Open/Short 测试对所有数字引脚循环 for (pin 0; pin pinCount; pin) { pmu_set_mode(pin, FIMV); // Force Current, Measure Voltage pmu_set_force_current(pin, -100e-6); pmu_set_compliance(pin, -5.0); pmu_set_settling_time(pin, 10e-3); vmeas pmu_measure_voltage(pin); if (vmeas -0.1 || vmeas -0.8) { set_test_result(pin, FAIL); } } // 2. 上电后静态漏电测试所有电源轨 for (rail 0; rail supplyCount; rail) { dps_set_voltage(rail, VDD_NOM); delay_ms(20); // 等待去耦电容充电 } // 3. 输入漏电流测试 IIH/IIL for (pin 0; pin inputPins; pin) { pmu_set_mode(pin, FVMI); // Force Voltage, Measure Current pmu_set_force_voltage(pin, VDD_NOM); pmu_set_compliance(pin, 1e-3); // 1mA钳位 pmu_set_settling_time(pin, 50e-3); imeas pmu_measure_current(pin); if (imeas IIH_LIMIT) { set_test_result(pin, FAIL); } }这段骨架不是让你直接抄而是展示一个通用结构先设模式再设强制值再设保护钳位再设定时间最后测量判定。四个步骤的顺序不能乱尤其compliance一定要在force之前设置否则PMU可能瞬间输出一个不受控的激励到DUT上。4. 多site并行测试的收益与陷阱site间偏差、资源冲突与防串扰4.1 多site如何让直流参数测试不成为瓶颈现在量产测试早就不是一颗一颗测了多site常见4site、8site、甚至更多并行已经是标配。搜索热词里“ate 多site”被频繁搜到说明这是个新手普遍关注的点。多site的核心逻辑是同一时间在多个site上同时测试多颗DUT把机台和handler/prober的效率拉满。但对直流参数测试来说多site就没那么简单。功能测试多site容易因为pattern可以靠机台的通道复制能力广播到所有site而直流参数测试用的是PMU资源每颗DUT会真实占用独立的Force/Sense通道。site数量的上限往往取决于测试机PMU通道数量而不是CPU算力。我常用的做法是静态功耗和漏电流这类需要长settling时间的测试让多个site交替并行。比如site1在测量IDD等待时site2同步开始施加电压两个site的PMU操作在时间上错峰从外部看就像同时完成。这依赖测试程序里的多线程/多site调度能力不同机台实现方式不同但优化思路一致把等待时间藏到另一个site的测量里去。4.2 共享资源带来的四个典型问题多site直流测试一开问题就来了。我总结了四个高频坑Site间PMU偏置不一致。同一型号的PMU模块不同通道之间也会有微小增益和偏移差异可能导致同一颗芯片在不同site测出不同的电流值。所以要定期做机台校准并在程序中做site级校正因子。共享DPS导致电源瞬态塌陷。很多测试机用一块DPS模块同时给多个site供电当一个site的DUT短路或有大电流涌入时电源会被拉低其他site的静态漏电测试全部误判。解决思路是检查程序里有没有对DPS做过流保护设置必要时给关键电源轨配置每site独立的供电通道。相邻site之间的漏电流串扰。当site距离极近、探针卡/负载板走线耦合时一个site的高压激励会通过寄生路径影响另一个site的弱电流测量。测nA级电流时尤其要注意guard环和layout隔离。测试时间负载不均。如果不同site的DUT失效程度不同有的很快判fail有的需要完整测试时间整个site组会被拖到最长的那颗芯片结束。这种情况靠并行测试调度算法缓解但程序层面也要设计快速fail退出路径别让失效片反复retest。多site的收益是实打实的但收益的前提是质控。我的经验是新程序上线多site之前先跑一轮“单site数据比对”——同一批芯片分别在每个site单独测一遍对比直流参数均值是否有显着差异。如果site间偏差超过测试限值的三分之一先别急着提site数把硬件和校准搞定再说。5. 转向量之后直流测量与pattern的时序配合和提速思路5.1 为什么转向量前要等“稳定”“ate转向量”是很多新手在搜的问题字面上看就是从直流参数测试阶段切到功能向量测试阶段。这一步看似简单实际埋了很多坑。直流测试刚结束时PMU可能还在某些引脚上留有残压DPS虽然已经上电但芯片内部的电源网络和负载板上的去耦电容还没有完全充到目标电平。如果不做settling直接跑pattern第一批向量很可能会因为供电不足而误判。所以转向量之前一定要在程序里做两件事一是把PMU从所有引脚上切走High-Z释放对引脚的控制二是插入至少10ms到100ms的延时让电源稳定。具体延时量要看负载板上的电容总量每100uF的电容充电到0.1%误差大概需要5个时间常数粗略估算下来就是几十毫秒。另一个容易忽略的步骤是pattern的起始状态设置。很多功能向量默认所有引脚都从低电平开始但直流测试阶段某些引脚可能还停留在高电平状态。如果不初始化引脚状态就跑向量可能产生瞬间的bus contention总线冲突引起额外功耗甚至损坏器件。我的习惯是转向量之前先把所有数字通道初始化到已知状态再释放PMU。5.2 pattern执行中测量从静态到动态直流测试传统直流参数测试是“停下pattern、切到PMU、量完再继续”的静态流程。而现代ATE还有一个更高效的方向在pattern执行过程中完成直流测量。比如IDDQ测试静态电流测试在CMOS时序电路里非常典型芯片需要跑一段向量把内部节点预置到某个状态然后时钟停住趁pattern暂停的窗口快速测电源电流。这种“动态直流测试”对时序要求极严pattern在特定cycle上发出触发信号测试头里的DC测量单元在指定窗口内同步采样。好处是测试状态可复现、贴近真实应用场景坏处是如果时序没对齐测出来的电流可能混入开关瞬间的浪涌电流数值完全失真。实际调试IDDQ时我会先用示波器看实际电源电流波形确定芯片进入稳定状态的时间点再反推pattern需要停多少个cycle、测量窗口开多少。千万别想当然用一个固定延时不同温度、不同电压下芯片进入稳态的速度是不一样的。另外很多测试机支持“per-pin PMU”结构也就是每个通道都集成了一路简化PMU不经过继电器矩阵切换直接在向量序列的间隙测量。这种方式减少了继电器切换时间也让多site并行更容易。如果你用的机台支持这种模式直流测试的speed可以再上一个台阶。6. 几个容易让测试工程师翻车的直流参数细节6.1 电源电容充电引发的“假漏电”这个坑我印象太深了。有一次调一款低功耗蓝牙芯片手册上写IDD典型值2uA我在程序里测出来竟然是200uA怎么查都查不出DUT问题。后来用示波器看负载板电源轨发现板上挂了两个22uF的电容PMU上电后电容一直在充电充电电流和芯片漏电混在一起测量窗口开太早读到的自然不是真实IDD。解决方法是加长电源稳定时间或者干脆分两步先用大电流粗充到接近目标电压再切到精密测量模式细充并等待稳定。这就像给大水箱放水先开大龙头灌个七八成再换成小水流精确补到刻度线。如果一上来就开小水流等半天都不满测量数据必然失真。6.2 负压和电流方向最容易写错的一行代码直流参数测试里负电压和负电流是个重灾区。比如测某个引脚到VSS的二极管压降你force -100uA读到的电压大约是-0.6V这个“负号”是相对于你的参考地而言的。很多新人一看到负值就以为DUT坏了实际上可能是程序里Source和Sink方向写反了。更隐蔽的是一些器件内部有负压电源轨比如电荷泵电路在测试这些引脚时PMU的compliance设置也要跟着改成负电压钳位。如果沿用正压钳位一旦DUT内部异常拉高PMU可能瞬间反向灌入一个大的正电流导致器件闩锁甚至烧毁。我个人的教训是每写一个直流测试项先画一遍电流流向图再对着图写代码不要凭感觉。6.3 接触电阻与Sense线开路读数漂亮但不真实前面吹了开尔文连接那么多优点这里必须泼一盆冷水如果Sense线本身接触不良或继电器开路设备会测得一个“悬浮”电压读数可能非常稳定、非常漂亮但实际上完全不可信。很多工程师看到测出来的VDD和设定一模一样就懒得去看Sense路径的健康度结果问题被掩盖到后面功能测试才爆雷。判断Sense线有没有坏有一个简单的自检方法在load board上预留一些短路和开路的校准线或者在测试程序里对同一个DUT用“两线模式”和“四线模式”各测一遍对比差异。正常情况下两者不应有明显差别如果差别很大说明Sense路径有松动或继电器老化。6.4 温度漂移导致的判断边界失效最后聊一个容易被忽略的工程问题直流参数随温度变化可能会漂出判定窗口。尤其连续性测试里的二极管压降温度每升高1度硅二极管正向压降大约减小2mV左右。如果程序在25度时设置的上下限余量只有50mV到了高温测试比如125度就可能批量误判。对策是在写程序时留足温度余量并且在不同温度节点分别采集数据画出参数随温度变化的曲线再回来修定判定window。不要只在常温下判断为什么该设这个值要在产品全温区下都能稳定区分“好品”和“坏品”才算一个可靠的直流参数测试项。我在实际项目里最后都会做一件事把直流参数测试的每个limit和它的来源写进测试程序注释里注明是来自datasheet、实测统计还是客户要求。这样三个月后别人接手你的程序甚至你自己回看时不需要翻一堆邮件和报告才能想起来当初为什么这么设。直流参数测试本身不难难的是让每一组数据都经得起推敲把每个环节都控制得明明白白。这大概也是ATE测试工程师从“能跑程序”走向“会设计测试方案”的必经之路吧。
返回列表