1.代码
void VCE(void)
{
tmu.SetUR("K3",true);
util.dlyms(1);
ovc.FV("CE",0.5,10e-3,ovc.V_RNG_8V,ovc.I_RNG_10MA,true,1);
dvc.FV("VIN",4,20E-3,dvc.V_RNG_8V,dvc.I_RNG_20MA,dvc.ON);
dvc.FI("VOUT",0,8,dvc.V_RNG_8V,dvc.I_RNG_2UA,dvc.ON);
util.dlyms(1);
dvc.MV("VOUT",dvc.TOTAL_AVG,1,1);
util.GetMeasValue("VOUT",temp);
temp[0]=temp[0]*1000;
temp[1]=temp[1]*1000;
util.TestLog("VCEL",temp);
ovc.FV("CE",1,10e-3,ovc.V_RNG_8V,ovc.I_RNG_10MA,true,1);
util.dlyms(1);
dvc.MV("VOUT",dvc.TOTAL_AVG,1,1);
util.GetMeasValue("VOUT",temp);
util.TestLog("VCEH",temp);
dvc.FV("VOUT",0,0,dvc.V_RNG_8V,dvc.I_RNG_2UA,dvc.OFF);
tmu.SetUR("K3",false);
}
2.解释
这段代码是一个自动化测试函数,名为VCE
,可能用于测试某种电子元件(如晶体管)的电压-电流特性(VCE特性)。函数通过一系列步骤来设置测试条件、执行测量,并记录测试结果。下面是对这个函数及其执行步骤的详细解释:
- 设置测试环境:
tmu.SetUR("K3",true);
:这行代码可能是用来设置某个测试单元(如温度控制模块)的某个继电器(标记为"K3")为开启状态,以便为后续的测试准备电路环境。- 延时:
util.dlyms(1);
:在继续执行下一个测试步骤之前,函数等待1毫秒。这可能是为了确保电路已经稳定到设置的状态。- 执行第一个VCE测试:
ovc.FV("CE",0.5,10e-3,ovc.V_RNG_8V,ovc.I_RNG_10MA,true,1);
:设置"CE"端口的电压为0.5V,并持续10毫秒,同时指定电压范围和电流范围,以及开启某些测试选项(如自动校准或保护)。- 接着,通过
dvc.FV
和dvc.FI
函数设置和初始化"VIN"和"VOUT"端口的测量参数。- 在设置完成后,再次等待1毫秒,然后通过
dvc.MV
函数对"VOUT"端口进行电压测量,使用TOTAL_AVG
模式(可能是指对多个测量值取平均)进行1次测量。- 使用
util.GetMeasValue
函数获取"VOUT"的测量值,并将其存储在temp
数组中。然后,将temp
数组中的值乘以1000(可能是为了从毫伏转换为伏特)。- 使用
util.TestLog
函数记录测量结果,标记为"VCEL"。- 执行第二个VCE测试:
- 类似地,将"CE"端口的电压设置为1V,并重复上述的测量和记录过程,但这次记录的结果标记为"VCEH"。
- 关闭测试环境:
dvc.FV("VOUT",0,0,dvc.V_RNG_8V,dvc.I_RNG_2UA,dvc.OFF);
:将"VOUT"端口的电压设置为0V,并关闭该端口的测量功能。tmu.SetUR("K3",false);
:关闭之前开启的继电器"K3",可能是为了断开测试电路,结束测试过程。
整个函数通过精确控制测试条件、执行测量,并记录结果,自动化地完成了对某电子元件VCE特性的测试。这种方式大大提高了测试效率和准确性,是电子测试中的常用方法。