VUVLOH欠压阈值上升——IC测试学习笔记

代码

void VUVLOH(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;
        }
        //PinArrange();
        tmu.SetUR("K1",tmu.ON,1);
        tmu.SetUR("K2",tmu.ON,1);
        util.dlyms(3);
        dvc.FV("VIN",1.5,200e-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);
        for(vx=1.6;vx<=2.5;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]>=1.7&&flag[0]==0)
                {
                        temp1[0]=vx;
                        flag[0]=1;
                }
                if(temp[1]>=1.7&&flag[1]==0)
                {
                        temp1[1]=vx;
                        flag[1]=1;
                }
        if(flag[0]==1&&flag[1]==1)
                {
                        break;
                }
        }
        util.TestLog("VUVLOH",temp1);
}

解释

这个函数 VUVLOH 似乎是为了在某个测试环境中测量和记录当输入电压(VIN)逐渐升高时,输出电压(VOUT)达到或超过某个阈值(在这个例子中是1.7V)的输入电压值。它可能用于验证电路在特定条件下的电压上升限(VUVLOH,即Voltage Under Voltage Lock Out High,尽管这个术语并不常见,可能是特定于应用的术语)。以下是该函数的详细解释:

  1. 获取活动站点
    • util.GetActiveSite(act) 调用可能用于获取当前活动的测试站点或设备的标识,并将它们存储在 act 数组中。
  2. 初始化标志数组
    • 通过循环将 flag 数组的所有元素初始化为0。这个数组可能用于跟踪是否已经为每个活动站点找到了满足条件的 VIN 值。
  3. 检查活动站点
    • 根据 act 数组中的值,为活动的站点设置相应的 flag 数组元素为1。然而,这里的代码只检查了前两个站点(act[0] 和 act[1]),这可能意味着系统被设计为只处理两个站点,或者这是一个简化的示例。
  4. 设置继电器
    • 使用 tmu.SetUR 函数打开名为 "K1" 和 "K2" 的继电器,可能是为了将测试设备连接到正确的测试点或电路。
  5. 设置初始测试条件
    • 将 VIN 设置为1.5V,并设置其他相关参数(如脉冲宽度、电压和电流量程)。
    • 将 VOUT 设置为0V(尽管 FI 函数通常用于设置电压和电流范围,但这里的0V可能意味着某种形式的重置或关闭状态)。
  6. 逐步增加 VIN 并测量 VOUT
    • 在一个循环中,VIN 从1.6V开始,以0.02V的步长增加到2.5V。
    • 对于每个 VIN 值,测量 VOUT 的总平均值,并将结果存储在 temp 数组中。
    • 如果 VOUT 的值(temp[0] 或 temp[1],这里可能存在一个误解,因为通常不会从 GetMeasValue 函数得到两个独立的电压值,除非有额外的上下文说明)达到或超过1.7V,并且相应的站点尚未标记为找到(flag[0] 或 flag[1] 为0),则记录当前的 VIN 值(vx)并设置相应的标志。
    • 如果两个站点的标志都已设置,则退出循环。
  7. 记录结果
    • 使用 util.TestLog 函数记录找到的 VIN 值(存储在 temp1 数组中),这些值是在 VOUT 达到或超过1.7V时对应的 VIN 值。

注意

  • 函数中可能存在的一个问题是 temp 数组的使用。通常,util.GetMeasValue 函数可能只返回一个测量结果(或者多个结果,但在这个上下文中不太可能是两个独立的电压值)。因此,temp[0] 和 temp[1] 的使用可能需要根据实际的 GetMeasValue 函数实现进行调整。
  • 如果 dvc.MV 函数实际上是用于测量电压(这里可能是一个错误,因为通常 MV 指的是“Move”或类似的动作,而不是测量),那么它应该被替换为正确的测量函数,如 dvc.MI(如果它用于测量)或其他类似的函数。
  • temp1 数组在函数开始之前应该被初始化或声明,尽管这可能在函数外部完成。
  • 代码的注释和变量命名(如 VUVLOHtemp1)可能特定于该测试环境或应用,因此可能需要额外的上下文才能完全理解。

出自 文心一言

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值