【芯片测试】:Driver、Comparator、PMU 与 Active Load

数字 IO 硬件原理:Driver、Comparator、PMU 与 Active Load

系列: Advantest V93000 SmarTest 8 核心概念解析|第 5 篇(共 8 篇)
适合读者: 希望理解 ATE 数字测试卡前端电路原理的工程师


前言

知道怎么写 SmarTest 配置是一回事,知道配置背后硬件在做什么是另一回事。本篇深入 V93000 数字测试卡(如 PS1600、PS5000、PS9G)的前端电路,解释以下问题:

  • vihvilvohvolvt 这些参数在硬件上对应什么?
  • term = hiz / term = load 有什么实质区别?
  • Active Load 是怎么"强制"电流的?
  • 电压钳位(Clamping)保护的是什么?
  • PMU 电流极性为什么要特别注意?

一、digInOut 前端电路总览

V93000 每个数字通道的前端电路,包含以下主要模块:

复制代码
测试机内部                              pogo pin → DUT
────────────────────────────────────────────────────
                        ┌── Driver ──────[50Ω]──────┐
Tristate Control ───────┤  (VIH/VIL/VT/VCH/VCL)     │
                        └── Driver Clamp             │
                                                     │ Pogo Pin 10105
                        ┌── Per-pin PMU ─────────────┤
AC relay ───────────────┤  (IFVM / VFIM)             │
PMU relay ──────────────┤                            │
                        └─────────────────────────  │
                                                     │
                        ┌── Active Load ─────────────┤
                        │  (ioh / iol / vcom)        │
                        └────────────────────────────┘

                        ┌── Dual-threshold Comparator──┐
                        │  Compare H: VOH              │
                        │  Compare L: VOL              │→ Test Processor
                        └──────────────────────────────┘

                        ┌── Differential Receiver ─────┐
                        │  (用于差分接收)               │→ Test Processor
                        └──────────────────────────────┘

这个前端电路中,Driver 负责输出信号 (向 DUT 方向),Comparator/Receiver 负责接收信号 (从 DUT 方向),PMU 负责直流测量 ,Active Load 提供可编程电流负载。同一个通道在不同配置下可以承担不同角色。


二、终端模式(Termination Mode):信号的最后一公里

Termination mode 定义了当 DUT 在输出信号时,测试机如何对这路信号进行终端匹配。通过 term = xxx; 在电平配置中设定。

hi-Z 终端(term = hiz,默认)

AB Driver 切换到高阻(tristate)状态,传输线以未匹配的高阻终端收尾。

  • 适用场景:对信号质量要求不高,或 DUT 输出阻抗已内置匹配
  • 优点:配置简单,无需额外参数
  • 缺点:可能产生反射,导致信号波形有毛刺

50Ω 终端(term = R50Ohm

AB Driver 不进入高阻,而是通过内部 50Ω 电阻接到终端电压 vt,实现阻抗匹配。

复制代码
vt = vih;   // 终端到高电平(常用于 ECL 信号)
vt = vil;   // 终端到低电平
vt = (vih + vil) / 2.0;  // 终端到中间电平
  • 适用场景:高速单端信号,需要最小化反射
  • 注意:50Ω 匹配不支持 Clamping

Active Load 终端(term = load

Driver 进入 hi-Z,由 Active Load 电路提供可编程电流负载,根据 pogo pin 电压与换向电压(vcom,也叫 vt)的大小关系,决定源电流(iol)还是灌电流(ioh)。

  • 适用场景:CMOS 输出信号的标准终端
  • 支持 Clamping:可配合电压钳位使用

差分终端模式

差分连接(使用两个配对的 pogo pin)有专属的终端选项:

模式 特点
cctap(Center Tap,默认差分) 两根传输线各接 50Ω 到公共终端电压 vt
cross(Cross Termination) 两根传输线通过交叉连接的 100Ω 匹配,Driver 为 hi-Z
scope+ / scope- 仅正端/负端信号连接差分接收器,另一端接参考电压(SmarTest 8 不支持)

三、Comparator:接收逻辑的分类器

Comparator(比较器)是测试机的"眼睛",将 DUT 输出的模拟电压判断为逻辑 H 或 L。

单阈值比较器(Single-threshold)

用一个参考电压 VTH 做判决:

复制代码
VIN > VTH  →  H(逻辑高)
VIN < VTH  →  L(逻辑低)

适用:PS9G 的单端连接,以及差分连接的 PS9G(此时 VTH 比较的是差分电压 Vdiff_rec)。

双阈值比较器(Dual-threshold)

用两个阈值 VOHVOL 做判决,中间地带为"模糊区":

复制代码
VIN > VOH  →  H
VOL ≤ VIN ≤ VOH  →  不确定(维持上次状态)
VIN < VOL  →  L

适用:PS1600、PS5000、PSSL 的单端连接。在 SmarTest 配置中对应:

复制代码
// level set 中设置接收阈值
set level myLevelSet {
    voh = 0.9V;   // 判为 H 的最低电压
    vol = 0.3V;   // 判为 L 的最高电压
}

也可以将 VOH = VOL = VTH 来模拟单阈值行为(无模糊区)。

差分比较器链

对于差分连接(PS1600、PS5000),接收链是:

复制代码
Vio_pos, Vio_neg
    ↓
差分比较器(输出 Vdiff_rec = Vpos - Vneg,限幅于 ±1.0V)
    ↓
单阈值或双阈值比较器(比较 Vdiff_rec 与 VTH 或 VOH/VOL)
    ↓
H 或 L

注意:此时 VOHVOLVTH 都是相对于差分电压 Vdiff_rec的阈值,而不是绝对电压。PS1600 的 Vdiff_rec 限幅范围是 ±1.0V,PSSL 的是 ±0.6V。


四、Active Load:可编程电流负载

Active Load(有源负载)是 V93000 数字测试卡最独特的硬件特性之一。它是一个基于换向二极管桥的可编程电流源/汇电路。

工作原理

Active Load 根据 pogo pin 电压(VPogoPin)与换向电压(VCom,在 SmarTest 配置中用 vtvcom 表示)的大小关系来决定电流方向:

条件 行为
VCom > VPogoPin 向 DUT 源电流(source current)iol
VCom = VPogoPin 不流电流(0A),适用于 DUT 输出为 hi-Z 时
VCom < VPogoPin 从 DUT 灌电流(sink current)ioh

形象地理解:Active Load 就像一个"智能负载",当 DUT 输出电压高于换向点就"吸收"电流,低于换向点就"注入"电流,帮助 DUT 信号快速切换。

SmarTest 中的配置

复制代码
// 在 digInOut level set 中
set level myLevelSet {
    term = load;     // 选择 Active Load 终端
    vt = 1.0V;       // 换向电压(vcom)
    ioh = 2mA;       // 灌电流上限(DUT 输出高时)
    iol = 2mA;       // 源电流上限(DUT 输出低时)
}

iohiol 在 SmarTest 中始终以非负数指定,代表电流大小(极性由电路自动决定)。

特性曲线

Real Active Load 的 I-V 特性是分段线性的:

  • 围绕换向点有一段陡峭的线性区(由低值 RActiveLoad 决定)
  • 超出线性区后平台恒流(由 ioh/iol 决定)

理想的 Active Load 为方波形 I-V 曲线,实际由于 RActiveLoad 存在而变成斜线过渡。现代数字卡(PS5000 等)使用更小的 RActiveLoad,使特性曲线更接近理想。

不可用场景

  • PS9G:不支持 Active Load,始终使用 50Ω 终端
  • PS1600 HV vhh pogo pin:不支持 Active Load

五、电压钳位(Voltage Clamping)

Clamping 是一种保护机制,将 DUT 输出信号的过冲和下冲限制在设定的上下边界内。

为什么需要 Clamping

当传输线阻抗不匹配(例如 DUT 输出阻抗与测试机终端阻抗不一致)时,信号在换向时会产生反射,形成"过冲"(overshoot)和"下冲"(undershoot)毛刺:

复制代码
未钳位:     ___     ___
            |   |   |   |   ← 过冲/下冲毛刺
VCH ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
            正常信号区域
VCL ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
                |___|
已钳位:    毛刺被截断

VCH(Clamp High)和 VCL(Clamp Low)定义了信号电压的硬性边界。

支持 Clamping 的终端模式

终端模式 是否支持 Clamping
hi-Z ✅ 支持
Active Load ✅ 支持
50Ω(R50Ohm) ❌ 不支持
Center Tap(差分) ❌ 不支持

Clamping 在电平配置中通过 vch(Clamp High)和 vcl(Clamp Low)属性设置:

复制代码
set level myLevelSet {
    term = hiz;
    vch = 2.0V;    // 高端钳位电压
    vcl = -0.5V;   // 低端钳位电压
}

注意: Clamping 只在 AB Driver 处于 hi-Z 状态时激活。当 Driver 主动驱动 VIH 或 VIL 时,钳位电路自动去激活,不会干扰正常的激励输出。

PPMU 的电压/电流钳位

Per-pin PMU(PPMU)在执行 IFVM(Force Current / Measure Voltage)或 VFIM(Force Voltage / Measure Current)时,也有自己的钳位:

测量模式 钳位属性 用途
IFVM(电流源/测电压) vclampHigh / vclampLow 防止强制电流时出现过高/过低电压
VFIM(电压源/测电流) iclampSink / iclampSource 防止强制电压时出现过大电流

SmarTest 内部机制确保:PPMU relay 闭合前先激活钳位 → 测量完毕后才去激活 → 最后断开 relay。顺序不可反。


六、PMU 电流极性约定

在 SmarTest 中,DCL(Device Component Level)测量时的电流符号遵循特定约定,容易混淆。

基本规则

PMU 仪器引脚的角度定义电流正负:

  • 正电流(ISIG > 0):电流从 PMU 引脚流向 DUT(PMU 是源)
  • 负电流(ISIG < 0):电流从 DUT 流向 PMU 引脚(PMU 是汇)

实际例子

DUT 输出高电平(VOH = 2.4V)时,DUT 向外拉出电流:

复制代码
VSIG = +2.4V  → DUT 输出高电平
ISIG = -ioh = -0.08mA  → DUT 向外源电流,PMU 侧灌入(负号)

DUT 输出低电平(VOL = 0.45V)时,DUT 向内灌电流:

复制代码
VSIG = +0.45V  → DUT 输出低电平
ISIG = +iol = +1.6mA  → DUT 从外部灌电流,PMU 侧源出(正号)

DUT VCC 电源引脚(正常工作时 ICC 流入 DUT):

复制代码
VCC = +5V,ICC = +30mA  → 电流从 PMU 流向 DUT(正号)

这个约定与数据手册中 DUT 规格的极性定义一致,可以直接用数据手册中的 IOHIOL 值(保持符号)进行比较。


七、差分连接:单端 vs 差分

为什么用差分

差分连接(一正一负两路信号)相比单端有三大优势:

  1. 更低的转换时间:信号不需要穿越完整的电平摆幅,只需要两路信号交叉
  2. 共模噪声抑制:两路信号上相同的噪声通过差分计算被消除
  3. 更高传输速率:噪声减少使得数据率可以更高

四电平驱动模式(Four-level Driver Mode)

标准差分连接使用 VIH 和 VIL 两个电平(两电平模式)。四电平模式额外支持在不切换 Level Set 的情况下,动态将 VIH → V3H、VIL → V3L,实现第三、四电平驱动:

复制代码
V3H = VIH + Δ   (Δ 可以是负值)
V3L = VIL + Δ   (与 V3H 有相同偏移)

典型应用:C-PHY 等需要动态电平切换的协议测试。


八、Fast Adjustment:嵌入式搜索

Fast Adjustment 是 SmarTest 内置的自动搜索机制,用于在测试机内部快速搜索时序边沿或电平阈值的最优偏移量,无需反复修改配置文件并重新 bind。

搜索类型

类型 含义
FP(Fail→Pass) 搜索左侧 Fail-to-Pass 边界
PF(Pass→Fail) 搜索右侧 Pass-to-Fail 边界
FPF(Fail→Pass→Fail) 搜索最大 Pass 窗口的中心(最常用)

搜索算法(三段组合)

  1. Linear Search(线性搜索):在指定范围内等步长扫描,找到最大的 FPF 眼
  2. Binary Search(二分搜索,可选):精细化找到 F-P 和 P-F 转换点
  3. Histogram Search(直方图搜索,可选):用误差计数法进一步精确边界

典型配置

复制代码
// 在 spec 文件中定义 Fast Adjustment
setup digInOut MY_SIGNAL {
    set timing myTimingSet {
        r1 = T_receive;   // 初始接收边沿位置
    }
    
    fastAdjustment myFASet {
        searchType = FPF;         // 搜索中心
        timing.resource = receive;
        timing.linear.start = -2ns;    // 搜索起点偏移
        timing.linear.steps = 40;      // 步数
        timing.linear.stepWidth = 0.1ns;
        timing.binary.resolution = 0.01ns;
    }
}

搜索结果(offset)自动叠加到原始 timing/level 值上,对所有引用该 FA set 的 test suite 立即生效。偏移量持久有效,直到重新 activate 测试程序才清除。


总结

模块 职责 关键参数
Driver(AB Driver) 输出激励信号给 DUT;也可作为终端电阻(50Ω 模式) vih, vil, vt
Comparator 将 DUT 输出电压判断为 H/L voh, vol(双阈值)或 vth(单阈值)
Driver Clamp 限制 hi-Z 状态下的信号过冲/下冲 vch(钳位高), vcl(钳位低)
Per-pin PMU 直流测量(IFVM/VFIM);配合 relay 独立工作 iclamp, vclamp
Active Load 可编程电流负载,为 DUT 输出提供受控电流 vt/vcom, ioh, iol
Differential Receiver 从差分对中提取逻辑 H/L 无额外参数,自动计算差分

下一篇将介绍 Pattern:向量数据的组织结构、Sequencer 指令、以及 SOC 多核测试中的 Virtual Pattern 和 HSIO/Link Scale 概念。


相关推荐
Meraki.Zhang1 天前
【芯片测试】:什么是 VCDSTIL?
芯片测试
Meraki.Zhang1 天前
【芯片测试】:基于时钟的时序提取
芯片测试
黑猫学长呀5 天前
存储宝典第6篇:测试机台的PE板和PPB板有什么区别?
测试工具·fpga开发·ssd·芯片测试·ate·存储芯片·测试机台
Meraki.Zhang6 天前
【芯片测试】:SmarTest 8 Software Overview
芯片测试
Meraki.Zhang6 天前
【芯片测试】:SmarTest 8 Hardware Overview
芯片测试
Meraki.Zhang13 天前
【芯片测试】:斜坡直方图测试
芯片测试
Meraki.Zhang2 个月前
【芯片测试】:SmarTest 8:Usage of Test Tables 运行机制总结
芯片测试·93k
Meraki.Zhang2 个月前
【芯片测试】:SmarTest 8 Binning 运行机制总结
芯片测试·bin·93k
Meraki.Zhang6 个月前
【芯片测试篇】:SmarTest 8 三温和三压测试程序的搭建
芯片测试·ate·93k