4. DC参数测试

DC参数测试,说白了就是给芯片通上电,量一量它的“静态”表现。这跟功能测试不一样——功能测试看芯片能不能干活,DC测试看芯片的“身体底子”好不好。

我入行那会儿,带我的老师傅说过一句话,我一直记着:“DC参数都测不过的芯片,功能测试跑得再欢也是白搭。” 这话糙理不糙。今天咱们就聊聊DC参数测试里最核心的三个项目:开短路测试、漏电流测试,还有电源电流测试。

4.1 开短路测试(Open/Short Test)

开短路测试,也叫连续性测试。它是芯片测试的“第一关”。

为什么要先做这个?你想想看,如果芯片的引脚本身就没焊好,或者内部已经短路了,后面的测试根本没必要跑。浪费时间不说,还可能把测试机台搞坏。

测试原理其实很简单。每个芯片引脚内部都有一对保护二极管——一个连到VDD,一个连到GND。我们利用这个二极管的正向导通特性来判断。

核心思路: 对每个引脚施加一个小的正向电流(比如-100μA),然后测量电压。如果电压在0.3V~0.8V之间,说明二极管正常导通,引脚连接良好。如果电压接近0V,说明短路了。如果电压接近VDD或者开路,说明引脚断了。

我给大家看一段实际的测试代码,这是我在一个MCU项目里用过的:

// 开短路测试 - 以VDD=3.3V为例
// 测试引脚: P1.0 ~ P1.7

for (pin = 0; pin < 8; pin++) {
    // 施加-100μA电流(从引脚流出)
    force_current(pin, -100e-6);
    
    // 等待10μs稳定
    delay(10e-6);
    
    // 测量电压
    voltage = measure_voltage(pin);
    
    // 判断结果
    if (voltage > 0.3 && voltage < 0.8) {
        result[pin] = "PASS";  // 正常
    } else if (voltage < 0.1) {
        result[pin] = "SHORT"; // 短路到GND
    } else if (voltage > 2.5) {
        result[pin] = "OPEN";  // 开路或短路到VDD
    } else {
        result[pin] = "MARGIN"; // 边界情况,需要复查
    }
}
小技巧: 我个人习惯把测试电流设成-100μA到-500μA之间。电流太小,噪声影响大;电流太大,可能把保护二极管烧坏。另外,不同工艺的二极管压降不一样,0.3V~0.8V这个范围要根据实际情况微调。

我曾经遇到过一个案例——某批次芯片开短路测试总是有5%左右的“OPEN”误报。查了半天,发现是测试机台的探针接触电阻偏大。后来加了一个“接触检查”步骤,先测一下探针到焊盘的接触电阻,问题就解决了。

4.2 漏电流测试(Leakage Test)

漏电流测试,测的是芯片引脚在“高阻态”下的漏电情况。说白了,就是看引脚在不干活的时候,会不会偷偷漏电。

这个参数对低功耗芯片特别重要。你想想,一个IoT设备,电池就那么点容量,如果每个引脚都漏个几微安,整机功耗就上去了。

测试方法分两种:

  • 输入漏电流(IIL/IIH): 给引脚施加VDD或GND电压,测量流入或流出引脚的电流。
  • 三态漏电流(IOZ): 把引脚设成高阻态,施加VDD或GND电压,测量漏电流。

我整理了一个典型的漏电流测试条件表,大家可以参考:

测试项目 施加电压 测量对象 典型限值
IIL GND (0V) 流入引脚的电流 ±1 μA
IIH VDD (3.3V) 流出引脚的电流 ±1 μA
IOZ_L GND (0V) 高阻态下流入电流 ±10 μA
IOZ_H VDD (3.3V) 高阻态下流出电流 ±10 μA
注意: 漏电流测试对测试环境要求很高。我曾经在湿度大的季节做过对比,同样的芯片,湿度60%时测出来的漏电流比湿度30%时大了将近一倍。所以,测试环境的温湿度控制很重要,尤其是做量产测试的时候。

这里有个坑,我踩过——测试机台的漏电流本身可能比芯片的漏电流还大。特别是老旧的测试机台,漏电流动不动就几百纳安。这时候测出来的数据其实不准。我建议,测试前先跑一遍“空载测试”,把机台本身的漏电流底噪记下来,然后在结果里扣除这个底噪。

4.3 电源电流测试(IDDQ/IDD)

电源电流测试,测的是芯片整体或者某个模块的静态功耗。这里面有两个概念要分清:

  • IDD: 芯片正常工作时的动态电流。这个跟工作频率、负载都有关系。
  • IDDQ: 芯片处于静态(时钟停振、输入固定)时的漏电流。这个主要反映工艺缺陷。

IDDQ测试在业界有个外号,叫“缺陷侦探”。为什么这么说?因为很多物理缺陷——比如栅氧化层击穿、金属桥接——在功能测试里可能测不出来,但一定会导致静态漏电流异常增大。

我给大家画个简单的测试流程图,方便理解:

上电稳定 停止时钟/固定输入 测量IDDQ IDDQ < 限值? PASS FAIL

实际测试中,IDDQ的限值怎么定?我一般这么操作:先测一批良品(比如50颗),取平均值加上3倍标准差,再留点余量。举个例子,如果良品IDDQ平均是5μA,标准差是1μA,那限值就定在8μA左右。

实战经验: 我在一个车规级芯片项目里,IDDQ测试帮我们抓到了一个大问题。功能测试全部PASS,但IDDQ异常偏大。后来用红外热成像一照,发现芯片内部有个区域温度明显偏高。最后定位到是金属层的一个桥接缺陷。如果没有IDDQ测试,这批芯片流到客户手里,后果不堪设想。

关于IDD测试,我多说一句。IDD跟IDDQ不一样,它测的是动态电流。测试时要让芯片跑一个特定的pattern,比如全0全1翻转,或者跑一段指令。IDD的限值通常跟芯片的工作频率成正比——频率越高,电流越大。

我常用的IDD测试pattern有几种:

  • 全翻转pattern: 所有寄存器同时翻转,产生最大动态电流
  • 典型工作pattern: 模拟芯片实际工作场景,比如跑一段通信协议
  • 待机pattern: 芯片进入低功耗模式,测待机电流

这三种pattern各有用途。全翻转pattern用来测上限,典型工作pattern用来评估实际功耗,待机pattern用来验证低功耗设计。

一个建议: 做IDD测试时,电源的去耦电容要选对。电容太大,电流变化响应慢,测出来的峰值电流偏低。电容太小,电源噪声大,测量不稳定。我一般用10μF电解电容并联0.1μF陶瓷电容,效果不错。

最后,我想强调一点——DC参数测试不是孤立存在的。开短路测试是“入场券”,漏电流测试是“体检报告”,IDDQ/IDD测试是“压力测试”。三者结合起来,才能全面评估芯片的“健康状况”。