VOVLOL欠压阈值下降、VHYS迟滞——IC测试学习笔记

代码

void VUVLOL(void)
{
        util.GetActiveSite(act);
        for (i=0;i<SITENUM;i++)
        {
                flag[i]=0;
        }

        if(act[0]==0)
         {
                flag[0]=1;
        }
         if(act[1]==0)
        {
                flag[1]=1;
        }

        dvc.FV("VIN",2.3,200e-3,dvc.V_RNG_8V,dvc.I_RNG_200MA,dvc.ON);
        dvc.FI("VOUT",-1E-3,8,dvc.V_RNG_8V,dvc.I_RNG_200MA,dvc.ON);
        util.dlyms(1);
        for(vx=2.3;vx>=1.2;vx-=0.02)
        {
                dvc.FV("VIN",vx,20e-3,dvc.V_RNG_8V,dvc.I_RNG_200MA,dvc.ON);
                util.dlyms(2);
                dvc.MV("VOUT",dvc.TOTAL_AVG,1,1);
                util.GetMeasValue("VOUT",temp);
                if(temp[0]<=0.5&&flag[0]==0)
                {
                        temp2[0]=vx;
                        flag[0]=1;
                }
                if(temp[1]<=0.5&&flag[1]==0)
                {
                        temp2[1]=vx;
                        flag[1]=1;
                }
        if(flag[0]==1&&flag[1]==1)
                {
                        break;
                }
        }
        util.TestLog("VUVLOL",temp2);

        temp[0]=temp1[0]-temp2[0];
        temp[1]=temp1[1]-temp2[1];
        util.TestLog("VHYS",temp);
        dvc.FV("VIN",0,100e-3,dvc.V_RNG_8V,dvc.I_RNG_200MA,dvc.ON);
        dvc.FI("VOUT",0,8,dvc.V_RNG_8V,dvc.I_RNG_200MA,dvc.ON);
        util.dlyms(1);
        dvc.FV("DVC_ALL",0,0,dvc.V_RNG_8V,dvc.I_RNG_200MA,dvc.OFF);
}

解释

这个函数 VUVLOL 是用于测试在输入电压(VIN)逐渐降低时,输出电压(VOUT)下降到某个阈值(在这个例子中是0.5V)以下时对应的输入电压值。这个过程可能用于验证电路在特定条件下的电压下降限(VUVLOL,即Voltage Under Voltage Lock Out Low,尽管这个术语不是标准的,但可能特定于应用)。此外,该函数还计算了电压上升限(VUVLOH,假设 temp1 数组在之前的测试中被填充)和电压下降限之间的差值,这通常被称为迟滞(Hysteresis)。

以下是该函数的详细解释:

  1. 获取活动站点
    • util.GetActiveSite(act) 调用获取当前活动的测试站点或设备的标识,并将它们存储在 act 数组中。
  2. 初始化标志数组
    • 通过循环将 flag 数组的所有元素初始化为0,用于跟踪是否已经为每个活动站点找到了满足条件的 VIN 值。
  3. 检查活动站点
    • 根据 act 数组中的值,为活动的站点设置相应的 flag 数组元素为1。
  4. 设置初始测试条件
    • 将 VIN 设置为2.3V,并设置其他相关参数(如脉冲宽度、电压和电流量程)。
    • 将 VOUT 设置为一个非常小的负值(可能是为了关闭或重置输出),并设置其范围和量程。
  5. 逐步降低 VIN 并测量 VOUT
    • 在一个循环中,VIN 从2.3V开始,以0.02V的步长降低到1.2V。
    • 对于每个 VIN 值,测量 VOUT 的总平均值(尽管这里使用了 dvc.MV,这可能是一个错误,因为 MV 通常不用于测量,而是用于其他目的,如移动或设置某种状态。正确的函数可能是 dvc.MI 或其他测量函数)。
    • 如果 VOUT 的值(temp[0] 或 temp[1])低于或等于0.5V,并且相应的站点尚未标记为找到(flag[0] 或 flag[1] 为0),则记录当前的 VIN 值(vx)并设置相应的标志。
    • 如果两个站点的标志都已设置,则退出循环。
  6. 记录电压下降限结果
    • 使用 util.TestLog 函数记录找到的 VIN 值(存储在 temp2 数组中),这些值是在 VOUT 下降到0.5V以下时对应的 VIN 值。
  7. 计算迟滞
    • 使用之前可能从 VUVLOH 函数中获得的 temp1 数组(存储了电压上升限时的 VIN 值)和当前函数中找到的 temp2 数组(存储了电压下降限时的 VIN 值),计算两者之间的差值,并将结果存储在 temp 数组中。
    • 使用 util.TestLog 函数记录迟滞值。
  8. 重置测试条件
    • 将 VIN 和 VOUT 重置为初始状态,可能是为了准备下一次测试或确保设备处于安全状态。
    • 关闭所有与 DVC 相关的电源或设置。

注意

  • temptemp1temp2flag 和 act 数组需要在函数外部定义或声明,以确保它们在使用前已经存在。
  • 函数的注释和变量命名可能特定于该测试环境或应用,因此可能需要额外的上下文才能完全理解。
  • 迟滞的计算(temp[0]=temp1[0]-temp2[0]; temp[1]=temp1[1]-temp2[1];)假设 temp1 和 temp2 数组中的元素一一对应,这在实际应用中可能是正确的,但也可能需要额外的验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值