V93000学习入门(3)
时间:2025-01-07 19:50来源:漫谈大千世界 作者:ictest8_edit 点击:
次
在V93K中,PE Card、PMU、PPMU和DPS是几个关键模块,它们各自承担着不同的功能。PE card 是 PMU、PPMU 和 DUT 之间的物理连接纽带。PMU 和 PPMU 通过 PE card 将测量信号施加到 DUT 的引脚,DUT 的响应信号也通过 PE card 反馈给 PMU 和 PPMU 进行测量。DPS 为 PE card 提供电源,保证 PE card 中的电子元件能够正常工作,从而实现测试信号的有效传输和处理。
1. PE Card (Pin Electronics)
The Pin Electronics,也叫PinCard、PE、PEC或I/O Card。PE Card主要负责实现vector的读写,即向待测设备(DUT)提供输入信号并接收DUT的输出信号。每个测试系统都有自己独特的设计,但是通常其PE电路都会包括:
1. 提供输入信号的驱动电路
2. 驱动转换及电流负载的输入输出切换开关电路
3. 检验输出电平的电压比较电路
4. 与PMU (Precision Measurement Unit) 的连接电路(点)
5. 可编程的电流负载
还可能包括:
1、 用于高速电流测试的附加电路
2、 Per pin 的PMU结构
尽管有着不同的变种,但PE的基本架构还是一脉相承的,下图显示了数字测试系统的数字测试通道的典型PE卡的电路结构。
PE Card主要负责向待测设备(DUT)发送激励信号(vector)并接收响应信号。它包括驱动电路(Drivers)和比较器(Comparators),用于提供给DUT逻辑0、1电平,以及从DUT中抓取逻辑0、1电平的电路。此外,PE Card还涉及到输出采样(Output Sampling)、输出掩码(Output Mask)和动态加载(Dynamic Loading)等功能,以实现对DUT的精确控制和测量。
1. 驱动单元(The Driver):
1. 驱动电路接收格式化的信号(FDATA),并根据VIL/VIH参考电平驱动逻辑0或逻辑1。
2. VIL(Voltage In Low)是DUT能识别为逻辑0的最高电压。
3. VIH(Voltage In High)是DUT能识别为逻辑1的最低电压。
4. F1场效应管用于隔离驱动电路和DUT,防止I/O冲突。当测试通道被程序定义为输入(Input),场效应管F1导通,开关(通常是继电器)K1闭合,使信号由驱动单元(Driver)输送至DUT;当测试通道被程序定义为输出(Output)或不关心状态(don’t care),F1截止,K1断开,则驱动单元上的信号无法传送到DUT上。F1只可能处于其中的一种状态,这样就保证了驱动单元和待测器件同时向同一个测试通道送出电压信号的I/O冲突状态不会出现。
2. 电流负载单元(Current Load):
1. 电流负载在功能测试中模拟负载,提供正向或负向电流。
2. 电流负载提供IOH(Current Output High)和IOL(Current Output Low)。IOH指当待测器件输出逻辑1时其输出管脚必须提供的电流总和;IOL则相反,指当待测器件输出逻辑0时其输出管脚必须接纳的电流总和。
3. 当测试程序设定了IOH和IOL,VREF电压就设置了它们的转换点。转换点决定了IOH起作用还是IOL起作用:当待测器件的输出电压高于转换点时,IOH提供电流;当待测器件的输出电压低于转换点时,IOL提供电流。
4. F2和F1一样,也是一个场效应管,在输入-输出切换时充当高速开关,并隔离电流负载电路和待测器件。当程序定义测试通道为输出,则F2导通,允许输出正向电流或抽取反向电流;当定义测试通道为输入,则F2截止,将负载电路和待测器件隔离。
3. 电压比较单元(Voltage Receiver):
1. 电压比较器比较DUT输出电压与RVS提供的VOH(Voltage Out High)和VOL(Voltage Out Low)参考电压。
2. 当DUT的输出电压等于或小于VOL,则认为它是逻辑0;当DUT的输出电压等于或大于VOH,则认为它是逻辑1;当它大于VOL而小于VOH,则认为它是三态电平或无效输出。
4. PMU连接点(PMU Connection):
1. PMU连接到DUT管脚时,先断开K1,再闭合K2,以隔离Pin Electronics卡的I/O电路。
5. 高速电流比较单元(High Speed Current Comparators):
1. 相对于为每个测试通道配置PMU,部分测试系统提供了快速测量小电流的另一种方法,这就是可进行快速漏电流(Leakage)测试的电流比较器,开关K3控制它与待测器件的连接与否。
2. 如果测试系统本身就是Per Pin PMU结构的,那么这部分就不需要了。
6. PPPMU(Per Pin PMU):
1. 一些系统提供Per Pin PMU的电路结构,以支持对DUT每个管脚同步地进行电压或电流测试。
2. 与PMU一样,PPPMU可以驱动电流测量电压或者驱动电压测量电流,但是标准测试系统的PMU的其它功能PPPMU则可能不具备。
这些组件共同工作,确保了ATE能够精确地控制和测量DUT的电气特性,从而进行有效的功能测试和参数测试。
2. PPMU (Per Pin Precision Measurement Unit )
PMU用于精确的直流(DC)参数测量,如电压、电流等。它能够驱动电压测电流(VFIM)和加电流测电压(IFVM)等功能。PMU的数量和配置与测试机的等级有关,高端测试机会采用per pin结构,每个channel配置一个PMU。
PPMU是PMU的一个扩展,它允许对每个引脚进行单独的参数测量。这种结构使得PPMU能够对每个引脚的电压和电流进行精确控制和测量,适用于需要对单个引脚进行详细测试的场景。
编写数字电路测试程序时,最常见的是基于电源(DPS)、数字通道(PPUM)和功能(function)的测试,在编写这几种类型测试程序时,会用到SmarTest的专用API。下面代码是一个使用PPMU(Programmable Power Measurement Unit)进行直流参数测试的示例,它使用了PPMU FlexDC API来设置和执行测试任务。
// 声明一个PPMU设置对象set1,用于配置PPMU的测试条件
ppmu_setting set1;
// 声明一个PPMU继电器控制对象relay1,用于控制PPMU继电器的状态
ppmu_relay relay1;
// 声明一个PPMU测量对象measure1,用于设置测量模式并获取测量结果
ppmu_measure measure1;
// 声明一个任务列表对象task1,用于将多个PPMU操作组织成一个任务序列
task_list task1;
// 对pin1进行设置,施加5伏电压,电流测量范围设置为40毫安,最小电流为0毫安,最大电流为50毫安
set1.pin(pin1).vforce(5v).irange(40ma).min(0ma).max(50ma);
// 对pin2进行设置,施加2.5伏电压,电流测量范围设置为40毫安,最小电流为0毫安,最大电流为40毫安
set1.pin(pin2).vforce(2.5v).irange(40ma).min(0ma).max(40ma);
// 设置pin1和pin2的继电器状态为"ppmu_on",激活PPMU资源
relay1.pin(pin1,pin2).status("ppmu_on");
// 设置pin1和pin2的测量模式为获取当前的电压和电流值
measure1.pin(pin1,pin2).execmode(tm::pval);
// 将设置、继电器和测量对象添加到任务列表中,以便顺序执行
task1.add(set1).add(relay1).add(measure1);
// 执行任务列表中的所有任务,开始测试过程
task1.execute();
3. DPS(Device Power Supply)
DPS是电源供电单元,主要作用是给芯片提供大电流和高电压。它通常与芯片的VDD相连,负责提供稳定的电源供应,以保证DUT在一个正常的电压和电流环境下工作。
基于电源DPS的测试API:DPS_TASK,是一个在自动测试设备(ATE)中用于执行直流(DC)测试的高级接口。DPS_TASK在DC测试中应用十分广泛,只要涉及到对电源引脚的测试,几乎都会用到这个API。编写测试程序时,基于DPS_TASK创建对象,利用它的成员函数来实现对被测电源引脚测试条件设定、Clamp控制、Relay控制、测量等操作。
// 创建DPS_TASK对象,用于设置和执行电源引脚的测试
DPS_TASK dps_task;
// 定义电源引脚VDD1的测试条件,设置电流的最小值为0A,最大值为0.5A
dps_task.pin("VDD1").min(0.0A).max(0.5A);
// 定义电源引脚VDD2的测试条件,设置电流的最小值为0A,最大值为0.8A
dps_task.pin("VDD2").min(0.0A).max(0.8A);
// 设置测试的采样次数为512次,执行模式为获取测试值(PVAL),触发模式为内部触发(INTERNAL)
dps_task.samples(512).execMode(TM::PVAL).trigMode(IM::INTERNAL);
// 设置执行测试前的等待时间为100毫秒,确保系统稳定
dps_task.wait(100ms);
// 执行电流测试
dps_task.execute();
// 定义两个变量,用于存储VDD1和VDD2引脚的测试电流值
double Ivdd1, Ivdd2;
// 获取VDD1引脚的测试电流值,并赋值给Ivdd1变量
Ivdd1 = dps_task.getValue("VDD1");
// 获取VDD2引脚的测试电流值,并赋值给Ivdd2变量
Ivdd2 = dps_task.getValue("VDD2");
// 以上代码可实现对VDD1和VDD2电源引脚的电流测试,并获取测试结果。
这些模块共同协作,使得ATE能够进行复杂的测试任务,包括数字电路测试、模拟混合电路测试和射频电路测试等。通过集成这些模块,ATE能够提供全面的测试解决方案,以满足不同类型和复杂度的测试需求。
|
------分隔线----------------------------