首页 > 编程语言 >简单芯片测试案例(测试机TR6850S/编程语言:C)

简单芯片测试案例(测试机TR6850S/编程语言:C)

时间:2024-07-22 20:25:40浏览次数:15  
标签:OUT1 FV tmu 编程语言 RNG qvc ovc 测试 TR6850S

  • 一、待测芯片

测试项分析

REXT

OUT

-100 uA

-100 uA

OVC

20V

QVC

0.8V

IDD+0.2mA

0.8V

500V

KVS

15V

  • 二、板卡资源选择

1、OVC

OVC是一种高达8通道的精密测量板,为设备引脚提供电压/电流,并提供测量功能来测量电压/电流。

OVC功能类似于其他测试仪设备中的DPS(设备电源)或PMU(参数测量单元),最大输出或电压/电流为+ - 20V / +200mA。

每个OVC模块有8个通道,有2个接地连接

每个OVC有8个通道,每个通道可以在不同站点的不同设备上使用。

OVC 8通道名称规则为A - H, GND名称为AG / HG(详细说明请参考DUT Board Session)。

2、QVC

3、KVS

4、USER RELAY(TMU)

TMU板有两大功能:一是定时测量和频率测量,二是继电器控制单元。这意味着用户可以在测试器之外控制真正的打开/关闭,设计在Dut板上(p18)

  • 三、原理图

tri文件中的通道分配(site1-site4)

  • 四、实物图

  • 五、新建工程(测试机电脑)

下面用已经建好过的工程来说明

HW_configure

pin_channel_map

(pin_channel_map.pcm文件(名字自取))

Site_define

Test_sequence

(后台程序也在更新,记得确认,测试代码复制到对应地方就行)

Options

Datalog测试界面(Datalog、Summary文件)

调试

六、工程文件夹文件说明(前面在建工程文件也陆续出现了)

可以先在.cpp文件中写好,

在创建工程文件后,将每个测试项的程序复制粘贴过去

  • 七、测试程序(xxxxxx_TR6850S_4SITE_userprog.cpp)

测试前的准备(一般是将各种资源通道关闭,置零)

Site_Check

(工位检查,防止线接错了,测试机的site应与pcb板的site一一对应,这样每个site数据才会对应)

T1_OS_TEST

T2_IDD_TEST

T3_BV_TEST(条件不一样,分为两个小测试项)

T4_VREXT_IOUT_TEST

T5_IOUT_max_TEST

T6_OS_RETEST(最后再测一次OS,以免芯片被测坏)

  • 八、调试中遇到的问题

(一)IOUT电流数据比较

直接测试(上电后仅延时3ms):20.0498mA

Debug调试(相当于延时几秒)

(1)debug:20.2111mA

  1. 程序延时8s:20.1677mA

  1. 程序延时18s: 20.1924mA

(二)VREXT 电压数据比较

洞洞板和pcb板在6850上测试数据不一样,差了0.01v,用万用表测量发现pcb和测试机DUT的AGND 相差0.01v,数据对不上的问题大概率在这,复测发现电压仍然有0.006v,检查排线和site2,压差依旧存在,将30欧姆精密电阻换为

1:100普通电阻测量有0.002~0.003v压差,此时电流IOUT约为6.2mA(0.0025/0.6=0.41%)

2:100并成50,测量有0.004~0.005v压差,此时电流IOUT约为12.14mA(0.0045/0.6=0.75%)

30欧姆:6.25单独用杜邦线测,压差为0.001-0.002v,再次更换排线,压差为0.002v

(三)IDD数据比较

OUT

REXT

延时ms

测试数据uA

现象

6850

20v

悬空

2

150

稳定

2v

2

161

150-160-170变化

12

167-168

5600

悬空

7

170-175

稳定

(四)同一板子、排线和芯片,测试机1-3site测量偏差验证

REXT1_OS_S

-0.51855

-0.5188

-0.51825

OUT1_OS_S

-0.50911

-0.50896

-0.50896

REXT1_OS_O

-0.51855

-0.5188

-0.51825

OUT1_OS_O

-0.50911

-0.50896

-0.50896

IDD1

162.225

162.958

163.671

V_BV1

598.074

598.663

599.215

I_BV1

176.594

177.019

177.301

VREXT1

0.598658

0.598309

0.598678

IOUT1

20.025

19.9509

19.9188

IOUT_max1

95.7754

95.6864

95.7062

REXT1_OS2_O

-0.50173

-0.50168

-0.50107

OUT1_OS2_O

-0.48731

-0.48716

-0.48704

测试机资源没问题

(五)3site同测,不同板子、排线和芯片

IDD

BV

BV

VREXT

IOUT

IOUT_15V_MAX

IDD1

V_BV1

I_BV1

VREXT1

IOUT1

IOUT_max1

200

700

250

0.624

20.9

125

124

500

90

0.575

19.3

90

uA

V

uA

V

mA

mA

157.104

601.278

176.41

0.60113

20.0061

93.667

153.293

600.855

174.314

0.595961

19.9029

93.5315

162.499

605.105

176.157

0.604221

19.9577

94.1845

九、参考程序

#include "stdafx.h"
#include "ABC0000_TR6850S_4SITE_userprog.h"

double temp[8]={0,0,0,0,0,0,0,0};
double OS_REXT1[8]={0,0,0,0,0,0,0,0};
double OS_OUT1[8]={0,0,0,0,0,0,0,0};
double OS_REXT2[8]={0,0,0,0,0,0,0,0};
double OS_OUT2[8]={0,0,0,0,0,0,0,0};
double OUT1[8]={0,0,0,0,0,0,0,0};
double OUT2[8]={0,0,0,0,0,0,0,0};
double Idd1[8]={0,0,0,0,0,0,0,0};
double Idd2[8]={0,0,0,0,0,0,0,0};
int site[8]={0,0,0,0,0,0,0,0};
int set[8]={0,0,0,0,0,0,0,0};
PG_VALUE OS;
PG_VALUE OS1;

void System_Init(void)
{
   ovc.FV("REXT1",0,100e-3,ovc.V_RNG_2V,ovc.I_RNG_100MA,false,1);
   qvc.FV("OUT1",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   //ovc.FV("REXT2",0,100e-3,ovc.V_RNG_2V,ovc.I_RNG_100MA,false,1);
   //qvc.FV("OUT2",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   
   kvs.FV("OUT1_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);//share 关一个
   kvs.FV("OUT1_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,false,1);
   tmu.SetUR("ALL_K",tmu.OFF);
}  


void System_Exit(void)
{
      
}

void Device_Init(void)
{

}


void Device_Eot(void)
{
   ovc.FV("REXT1",0,100e-3,ovc.V_RNG_2V,ovc.I_RNG_100MA,false,1);
   qvc.FV("OUT1",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   //ovc.FV("REXT2",0,100e-3,ovc.V_RNG_2V,ovc.I_RNG_100MA,false,1);
   //qvc.FV("OUT2",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   
   kvs.FV("OUT1_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);//同一通道无需修改
   kvs.FV("OUT1_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,false,1);
   tmu.SetUR("ALL_K",tmu.OFF);
}


void Device_Eow(void)
{

}

void Site_Check(void)
{
   double site_value[4]={1,2,3,4};
   tmu.SetUR("K9",tmu.ON);
   util.dlyms(2);
	 util.GetActiveSite(site);
	for(int i=0;i<4;i++)
	{
		if(site[i]==1)
		{
			set[i]=1;
			set[(i+1)%4]=0;
			set[(i+2)%4]=0;
			set[(i+3)%4]=0;
			util.ChangeActiveSite(set);
			ovc.FV("site_check",site_value[i],4,ovc.V_RNG_4V,ovc.I_RNG_10MA,true,1);
			ovc.MI("site_check",2);
			util.GetMeasValue("site_check",temp);
			temp[i]=temp[i]*1e3;//1K,单位为MA
			util.TestLog("Site_Check",temp);
			ovc.FV("site_check",0,100e-6,ovc.V_RNG_4V,ovc.I_RNG_100UA,false,0);

//		  kvs.FV("OUT1_KVS",site_value[i],1.5E-3,kvs.V_RNG_100V,kvs.I_RNG_1M5A,true,1);//一个check就够了
//		  util.dlyms(2);
//		  kvs.MI("OUT1_KVS",3,2);
//		  util.GetMeasValue("OUT1_KVS",temp);
//			temp[i]=temp[i]*1e3;
//		  util.TestLog("Site_Check2",temp);
//			kvs.FV("OUT1_KVS",0,1.5E-3,kvs.V_RNG_100V,kvs.I_RNG_1M5A,false,1);
      util.dlyms(1);
		}
	}
	 util.ChangeActiveSite(site);
   tmu.SetUR("K9",tmu.OFF);
   util.dlyms(2);
}

//********************* T1_OS_TEST *********************
//OUT、REXT各通道施加I=-100 uA
//REXT1_OS_S REXT1_OS_O OUT1_OS_S OUT1_OS_O 
//REXT2_OS_S REXT2_OS_O OUT2_OS_S OUT2_OS_0

void OS_S(void)
{
   //tmu.SetUR("OS_K",tmu.ON);
   tmu.SetUR("K3",tmu.ON);
   //tmu.SetUR("K4",tmu.ON);
   tmu.SetUR("K5",tmu.ON);
   //tmu.SetUR("K6",tmu.ON);
   util.dlyms(2);
   
   ovc.FI("REXT1",-100e-6,2,ovc.V_RNG_2V,ovc.I_RNG_1MA,true,1);//-100UA
   ovc.MV("REXT1",2);
   util.GetMeasValue("REXT1",OS_REXT1);//util.GetMeasValue(“ Pin or PinGroup ”,获取数据,存取数值的变量,需要自行定义);
   util.TestLog("REXT1_OS_S",OS_REXT1);//util.TestLog(“在测试项目中的项目显示名称”,变量中的值);
   ovc.FV("REXT1",0,100e-6,ovc.V_RNG_2V,ovc.I_RNG_1MA,false,0);//下电

   //ovc.FI("REXT2",-100e-6,2,ovc.V_RNG_2V,ovc.I_RNG_1MA,true,1);//-100UA
   //ovc.MV("REXT2",2);
   //util.GetMeasValue("REXT2",OS_REXT2);//util.GetMeasValue(“ Pin or PinGroup ”,获取数据,存取数值的变量,需要自行定义);
   //util.TestLog("REXT2_OS_S",OS_REXT2);//util.TestLog(“在测试项目中的项目显示名称”,变量中的值);
   //ovc.FV("REXT2",0,100e-6,ovc.V_RNG_2V,ovc.I_RNG_1MA,false,0);//下电
   
   qvc.FI("OUT1",-100e-6,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTON,false,0,1);
   qvc.MV("OUT1",2);
   util.GetMeasValue("OUT1",OS_OUT1);
   util.TestLog("OUT1_OS_S",OS_OUT1);
   qvc.FV("OUT1",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);//
   
   //qvc.FI("OUT2",-100e-6,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTON,false,0,1);
   //qvc.MV("OUT2",2);
   //util.GetMeasValue("OUT2",OS_OUT2);
   //util.TestLog("OUT2_OS_S",OS_OUT2);
   //qvc.FV("OUT2",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);//
   
//   ovc.FI("FLOAT",-100e-6,4,ovc.V_RNG_4V,ovc.I_RNG_1MA,true,1);
//   ovc.MV("FLOAT",2);
//   util.GetMeasValue("FLOAT",temp);
//   util.TestLog("OS_FLOAT",temp);
//   ovc.FV("FLOAT",0,100e-6,ovc.V_RNG_2V,ovc.I_RNG_1MA,false,0);
   
   tmu.SetUR("K3",tmu.OFF);
   //tmu.SetUR("K4",tmu.OFF);
   tmu.SetUR("K5",tmu.OFF);
   //tmu.SetUR("K6",tmu.OFF);
   //qvc.FV("OUT1",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);

}
void OS_O(void)
{
   util.TestLog("REXT1_OS_O",OS_REXT1);
   util.TestLog("OUT1_OS_O",OS_OUT1);
   //util.TestLog("REXT2_OS_O",OS_REXT2);
   //util.TestLog("OUT2_OS_O",OS_OUT2);

}

//********************* T2_IDD_TEST *********************
// K4->K5 K6  K3(REXT)
//OUT加20V电压,其余端口悬空,测试OUT1电流,
//IDD1 IDD2

void IDD(void)
{
   tmu.SetUR("K5",tmu.ON);
   //tmu.SetUR("K3",tmu.ON);//(625)
   util.dlyms(2);

   qvc.FV("OUT1",20,25,20e-3,qvc.V_RNG_32V,qvc.I_RNG_20m,qvc.DUTON,false,0,1);//大电流上电
   qvc.FV("OUT1",20,25,2e-3,qvc.V_RNG_32V,qvc.I_RNG_2m,qvc.DUTON,false,0,1);//小电流
   //ovc.FV("REXT1",2,10e-3,ovc.V_RNG_4V,ovc.I_RNG_10MA,true,1);//REXT端口接2V电压(625)
   //qvc.FV(“Pin name”,Force电压值,电压钳位,/电流钳位/,电压档位,电流档位,通道继电器,是否预设值,预设值,延时);

   util.dlyms(2);
   //util.dlyms(10);//(625)
   qvc.MI("OUT1",2);
   util.GetMeasValue("OUT1",Idd1);
   for(int i=0;i<4;i++)//uA
   {
	   Idd1[i]=Idd1[i]*1e6;
   }
   util.TestLog("IDD1",Idd1);   
   //ovc.FV("REXT1",0,10e-3,ovc.V_RNG_4V,ovc.I_RNG_10MA,false,1);//(625)
   qvc.FV("OUT1",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);//下电
   
   tmu.SetUR("K5",tmu.OFF);
   //tmu.SetUR("K3",tmu.OFF);//(625)
   //tmu.SetUR("K6",tmu.OFF);

}

//********************* T3_BV_TEST *********************//暂不修改6/5->修改完
//在OUT端口注入IDD+0.2mA电流,REXT端口接0.8V电压,其余端口悬空,测试OUT端口电压(500-700V)
//在OUT端口施加500V电压,     REXT端口接0.8V电压,其余端口悬空,测试OUT电流(90-250UA)
//K1-》K3 K4 
//K5 ->K7 K8   
//V_BV1 I_BV1 V_BV2 I_BV2


void BV(void)
{
   /****************************上半*******************************/
   //tmu.SetUR("K1",tmu.ON);
   //tmu.SetUR("K5",tmu.ON);
   tmu.SetUR("K3",tmu.ON);
   tmu.SetUR("K7",tmu.ON);
   util.dlyms(2);
   ovc.FV("REXT1",0.8,10e-3,ovc.V_RNG_2V,ovc.I_RNG_10MA,true,1);//REXT端口接0.8V电压
   //1
   util.GetActiveSite(site);//IDD值不同改用串测
   for(int i=0;i<4;i++)
   {
		if(site[i]==1)
		{
		   set[i]=1;
		   set[(i+1)%4]=0;
		   set[(i+2)%4]=0;
		   set[(i+3)%4]=0;
		   util.ChangeActiveSite(set);
		   kvs.FI("OUT1_KVS",Idd1[i]*1e-6+200e-6,900,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);//
		  }
   }
   util.ChangeActiveSite(site);
   
   kvs.MV("OUT1_KVS",3,2);
   util.GetMeasValue("OUT1_KVS",temp);
   util.TestLog("V_BV1",temp);
   
   kvs.FV("OUT1_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);
   kvs.FV("OUT1_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,false,1);
   
   util.dlyms(2);
   
   //2
   kvs.FV("OUT1_KVS",500,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_15MA,true,1);	
   kvs.FV("OUT1_KVS",500,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);
   util.dlyms(10);
   
   kvs.MI("OUT1_KVS",3,2);
   util.GetMeasValue("OUT1_KVS",temp);
   for(int i=0;i<4;i++)//uA
   {
	   temp[i]=temp[i]*1e6;
   }
   util.TestLog("I_BV1",temp);
   
   ovc.FV("REXT1",0,10e-3,ovc.V_RNG_2V,ovc.I_RNG_10MA,false,1);
   kvs.FV("OUT1_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);
   kvs.FV("OUT1_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,false,1);
   //tmu.SetUR("K1",tmu.OFF);
   //tmu.SetUR("K5",tmu.OFF);
   tmu.SetUR("K3",tmu.OFF);
   tmu.SetUR("K7",tmu.OFF);
   
  // /****************************下半*******************************/
  // //tmu.SetUR("K1",tmu.ON);
  // //tmu.SetUR("K5",tmu.ON);
  // tmu.SetUR("K4",tmu.ON);
  // tmu.SetUR("K8",tmu.ON);
  // util.dlyms(2);
  // ovc.FV("REXT2",0.8,10e-3,ovc.V_RNG_2V,ovc.I_RNG_10MA,true,1);//REXT端口接0.8V电压
  // //1
  // util.GetActiveSite(site);//IDD值不同改用串测
  // for(int i=0;i<4;i++)
  // {
		//if(site[i]==1)
		//{
		//   set[i]=1;
		//   set[(i+1)%4]=0;
		//   set[(i+2)%4]=0;
		//   set[(i+3)%4]=0;
		//   util.ChangeActiveSite(set);
		//   kvs.FI("OUT2_KVS",Idd2[i]*1e-6+200e-6,900,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);//
		//  }
  // }
  // util.ChangeActiveSite(site);
  // 
  // kvs.MV("OUT2_KVS",3,2);
  // util.GetMeasValue("OUT2_KVS",temp);
  // util.TestLog("V_BV2",temp);
  // 
  // kvs.FV("OUT2_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);
  // kvs.FV("OUT2_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,false,1);
  // 
  // util.dlyms(2);
  // 
  // //2
  // kvs.FV("OUT2_KVS",500,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_15MA,true,1);	
  // kvs.FV("OUT2_KVS",500,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);
  // util.dlyms(10);
  // 
  // kvs.MI("OUT2_KVS",3,2);
  // util.GetMeasValue("OUT2_KVS",temp);
  // for(int i=0;i<4;i++)//uA
  // {
	 //  temp[i]=temp[i]*1e6;
  // }
  // util.TestLog("I_BV2",temp);
  // 
  // ovc.FV("REXT2",0,10e-3,ovc.V_RNG_2V,ovc.I_RNG_10MA,false,1);
  // kvs.FV("OUT2_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,true,1);
  // kvs.FV("OUT2_KVS",0,1E-3,kvs.V_RNG_1000V,kvs.I_RNG_1M5A,false,1);
  // //tmu.SetUR("K1",tmu.OFF);
  // //tmu.SetUR("K5",tmu.OFF);
  // tmu.SetUR("K4",tmu.OFF);
  // tmu.SetUR("K8",tmu.OFF);

}

//********************* T4_VREXT_IOUT_TEST *********************//
//OUT接15V电压,REXT接30R电阻到地,测试REXT端口电压(0.575-0.624V),测试IOUT电流(19.3-20.9MA)
//K3 K4   K1 K2(30R)  K5 K6  
//VREXT1 VREXT2 IOUT1 IOUT2


void VREXT(void)
{
   
   //tmu.SetUR("K2",tmu.ON);
   
   //tmu.SetUR("K4",tmu.ON);
   
   //tmu.SetUR("K6",tmu.ON);
	tmu.SetUR("K1",tmu.ON);
	tmu.SetUR("K3",tmu.ON);
	tmu.SetUR("K5",tmu.ON);
	util.dlyms(2);
 //
   qvc.FV("OUT1",15,16,100e-3,qvc.V_RNG_16V,qvc.I_RNG_200m,qvc.DUTON,false,0,1);
   ovc.FI("REXT1",0,2,ovc.V_RNG_2V,ovc.I_RNG_1UA,true,1);//、、打开ovc资源
   util.dlyms(5);
   ovc.MV("REXT1",10);
   util.GetMeasValue("REXT1",temp);
   util.TestLog("VREXT1",temp);

   qvc.MI("OUT1",5);
   util.GetMeasValue("OUT1",OUT1);
   for(int i=0;i<4;i++)//MA
   {
	   OUT1[i]=OUT1[i]*1e3;
   }
   //util.TestLog("IOUT1",temp);
   
   //qvc.FV("OUT2",15,16,100e-3,qvc.V_RNG_16V,qvc.I_RNG_200m,qvc.DUTON,false,0,1);
   //ovc.FI("REXT2",0,2,ovc.V_RNG_2V,ovc.I_RNG_1UA,true,1);//、、打开ovc资源
   //
   //ovc.MV("REXT2",5);
   //util.GetMeasValue("REXT2",temp);
   //util.TestLog("VREXT2",temp);

   //qvc.MI("OUT2",5);
   //util.GetMeasValue("OUT2",temp);
   //for(int i=0;i<4;i++)//MA
   //{
	  // temp[i]=temp[i]*1e3;
   //}
   util.TestLog("IOUT2",temp);
   
   ovc.FV("REXT1",0,100e-3,ovc.V_RNG_2V,ovc.I_RNG_100MA,false,0);
   qvc.FV("OUT1",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);

   //ovc.FV("REXT2",0,100e-3,ovc.V_RNG_2V,ovc.I_RNG_100MA,false,0);
   //qvc.FV("OUT2",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   
   
   //tmu.SetUR("K2",tmu.OFF);
   
   //tmu.SetUR("K4",tmu.OFF);
   
   //tmu.SetUR("K6",tmu.OFF);
   //tmu.SetUR("K1",tmu.OFF);
   //tmu.SetUR("K3",tmu.OFF);
   //tmu.SetUR("K5",tmu.OFF);

   tmu.SetUR("ALL_K",tmu.OFF);
}


void IOUT(void)
{
   util.TestLog("IOUT1",OUT1);
   //util.TestLog("IOUT2",temp);

}

//********************* T5_IOUT_max_TEST *********************
//OUT1端口接15V电压,REXT端口接地,其余端口悬空,延时25mS,测试OUT端口电流。(90-125ma)
// K3(GND)-》 OVC给0V:K1->K3 K4    K4-》K5 K6 
//IOUT_max1  IOUT_max2


void IOUT_15V_MAX(void)
{
  //tmu.SetUR("K3",tmu.ON);
   tmu.SetUR("K3",tmu.ON);
   //tmu.SetUR("K4",tmu.ON);
   tmu.SetUR("K5",tmu.ON);
   //tmu.SetUR("K6",tmu.ON);
   util.dlyms(2);
   
   ovc.FV("REXT1",0,200e-3,ovc.V_RNG_2V,ovc.I_RNG_200MA,true,1);//接地,给0v
   qvc.FV("OUT1",0,16,200e-3,qvc.V_RNG_16V,qvc.I_RNG_200m,qvc.DUTON,false,0,1);//慢上电
   qvc.FV("OUT1",15,16,200e-3,qvc.V_RNG_16V,qvc.I_RNG_200m,qvc.DUTON,false,0,1);
   util.dlyms(25);//25mS
   
   qvc.MI("OUT1",10);
   util.GetMeasValue("OUT1",temp);
   for(int i=0;i<4;i++)
   {
	   temp[i]=temp[i]*1e3;
   }
   util.TestLog("IOUT_max1",temp);
   
   
   //ovc.FV("REXT2",0,200e-3,ovc.V_RNG_2V,ovc.I_RNG_200MA,true,1);//接地,给0v
   //qvc.FV("OUT2",0,16,200e-3,qvc.V_RNG_16V,qvc.I_RNG_200m,qvc.DUTON,false,0,1);//慢上电
   //qvc.FV("OUT2",15,16,200e-3,qvc.V_RNG_16V,qvc.I_RNG_200m,qvc.DUTON,false,0,1);
   //util.dlyms(25);//25mS
   //
   //qvc.MI("OUT2",10);
   //util.GetMeasValue("OUT2",temp);
   //for(int i=0;i<4;i++)
   //{
	  // temp[i]=temp[i]*1e3;
   //}
   //util.TestLog("IOUT_max2",temp);
   
   ovc.FV("REXT1",0,200e-3,ovc.V_RNG_2V,ovc.I_RNG_200MA,false,0);
   qvc.FV("OUT1",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   //ovc.FV("REXT2",0,200e-3,ovc.V_RNG_2V,ovc.I_RNG_200MA,false,0);
   //qvc.FV("OUT2",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   tmu.SetUR("ALL_K",tmu.OFF);
}

//********************* T6_OS_RETEST *********************
//K1->K3 K4   K4 ->K5 K6
//REXT1_OS2_O  OUT1_OS2_O 
// REXT2_OS2_O  OUT2_OS2_0


void OS_RETEST(void)
{
   //tmu.SetUR("OS_K",tmu.ON);
   tmu.SetUR("K3",tmu.ON);
   //tmu.SetUR("K4",tmu.ON);
   tmu.SetUR("K5",tmu.ON);
   //tmu.SetUR("K6",tmu.ON);
   util.dlyms(2);
   
   ovc.FI("REXT1",-100e-6,2,ovc.V_RNG_2V,ovc.I_RNG_1MA,true,1);
   ovc.MV("REXT1",2);
   util.GetMeasValue("REXT1",temp);
   util.TestLog("REXT1_OS2_O",temp);
   ovc.FV("REXT1",0,100e-6,ovc.V_RNG_2V,ovc.I_RNG_1MA,false,1);

   qvc.FI("OUT1",-100e-6,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTON,false,0,1);
   qvc.MV("OUT1",2);
   util.GetMeasValue("OUT1",temp);
   util.TestLog("OUT1_OS2_O",temp);
   qvc.FV("OUT1",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   
   
   //ovc.FI("REXT2",-100e-6,2,ovc.V_RNG_2V,ovc.I_RNG_1MA,true,1);
   //ovc.MV("REXT2",2);
   //util.GetMeasValue("REXT2",temp);
   //util.TestLog("REXT2_OS2_O",temp);
   //ovc.FV("REXT2",0,100e-6,ovc.V_RNG_2V,ovc.I_RNG_1MA,false,1);

   //qvc.FI("OUT2",-100e-6,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTON,false,0,1);
   //qvc.MV("OUT2",2);
   //util.GetMeasValue("OUT2",temp);
   //util.TestLog("OUT2_OS2_O",temp);
   //qvc.FV("OUT2",0,2,200e-6,qvc.V_RNG_2V,qvc.I_RNG_200u,qvc.DUTOFF,false,0,0);
   
   //tmu.SetUR("OS_K",tmu.OFF);
//   tmu.SetUR("K1",tmu.OFF);
//   tmu.SetUR("K4",tmu.OFF);
   tmu.SetUR("ALL_K",tmu.OFF);//关闭所有继电器
}

标签:OUT1,FV,tmu,编程语言,RNG,qvc,ovc,测试,TR6850S
From: https://blog.csdn.net/qq_52460199/article/details/140613413

相关文章

  • smtps 测试
    说明:通常,SMTP服务器和客户端之间的SMTP流量是未加密的。这会产生隐私问题,因为SMTP流量通常会通过服务器和客户端不信任的路由器,从而导致第三方可能更改服务器和客户端之间的通信。此外,两个SMTP系统通常不会相互验证。更安全的SMTP服务器可能只允许来自其他已知SMTP系......
  • 渗透测试靶场介绍
    渗透测试靶场介绍1.DVWA(DamnVulnerableWebApplication)简介:DVWA是一个开源的Web应用程序,旨在帮助安全专业人员和学生了解和测试常见的Web漏洞。它包含多个漏洞模块,如暴力破解、命令注入、跨站请求伪造(CSRF)、文件包含、文件上传、不安全的验证码、SQL注入(包括盲注)、反射型跨......
  • 自定义测试器
    测试器测试器总是返回一个布尔值,它可以用来测试一个变量或者表达式,使用”is”关键字来进行测试。{%setname='ab'%}{%ifnameislower%}<h2>"{{name}}"arealllowercase.</h2>{%endif%}测试器本质上也是一个函数,它的第一个参数就是待测试的变量,在模板中使......
  • 7款主流大模型实测:简单的数感测试全翻车
    实测strawberry中有2个字母“r”?不会比大小的大模型也几乎数不对数,数理能力差到惊人!@科技新知原创谁能想到,号称“超级大脑”的大模型,竟然在几道简单的数学题上败给了小学生。近日,国内火热的音乐节目《歌手》中,孙楠与外国歌手的微小分数差异,引发了网友关于13.8%和13.1......
  • 海螺 AI 测试「悬浮球」功能抢占手机桌面;小米小爱实时字幕新增日韩语翻译丨 RTE 开发
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观......
  • Android或iOS 与 REST/SOAP测试 工具推荐
    移动测试工具- 有助于自动测试Android或iOS应用程序1)AppiumAppium是用于移动应用程序自动化的开源测试工具之一。它允许用户测试各种原生、移动、web和混合应用程序。它还支持模拟器和模拟器上的自动测试。功能特点:这是一个简单的应用程序,需要很少的内存用于测试过程......
  • 从 PyCharm IDE 运行测试时未找到 Pytest 夹具
    我的项目中的pytest装置遇到问题。我有一个根conftest.py文件,其中包含一些通用固定装置和用于特定测试的隔离conftest.py文件。文件夹结构如下:product-testing/├──conftest.py#Rootconftest.py├──tests/│└──grpc_tests/│......
  • 什么是 鲁棒性测试(Robustness Testing)
    鲁棒性测试(RobustnessTesting)是一种测试方法,用于评估系统在面对不完美或异常条件时的表现。它旨在检查系统对于无效输入、异常数据、错误条件或外部干扰的处理能力。鲁棒性测试有助于确定系统在现实世界的各种情况下的稳定性和可靠性。以下是在进行鲁棒性测试时通常考虑的一些方......
  • 需要帮助/理解 pytest 的测试功能
    我需要帮助创建可以由pytest执行的测试函数。我已经创建了一个并且它通过了,但我需要测试我创建的每个函数,但不知道该怎么做。我尝试过使用断言,但我所有的测试都失败了。我看过有关理解测试的视频,但我似乎无法掌握如何使用它。我需要你的帮助。这是我到目前为止所拥有的............
  • 性能测试概念
    简介性能测试是软件测试的一种类型,旨在评估系统、应用程序或服务在特定负载条件下的性能表现。它涉及模拟真实世界中的用户行为、请求和负载,以便测量系统在不同条件下的响应时间、吞吐量、并发用户数和资源利用率等性能指标。性能测试相关概念并发:并发是指虚拟并发用户数,从业......