APP下载

GPIB通信在电容测试仪表校准中的应用

2017-04-24邓长开唐明津胡义平

电子与封装 2017年4期
关键词:单元格偏置仪表

邓长开,唐明津,胡义平

(英飞凌科技(无锡)有限公司,江苏无锡 214028)

GPIB通信在电容测试仪表校准中的应用

邓长开,唐明津,胡义平

(英飞凌科技(无锡)有限公司,江苏无锡 214028)

安捷伦电容测试仪表(E4980A,4279A)每年需要做年度校准,人工手动校准操作非常复杂且耗时过长。但是运用电容仪表通信协议,年度校准完全可以实现自动化。通过VB编程加GPIB通信的方法编写测控软件,可以实现软件自动发送所有的校准指令,自动判断仪表返回校准数值正确与否,自动保存校准数据为Excel文件同时录入数据库,实现了快速高效的电容测试仪表的校准。

电容测试仪表;GPIB;校准

1 引言

当前PC技术和GPIB通信技术已发展成熟,测试仪表的校准却依旧处于人工手动操作仪表面板、手动记录校准数据的阶段。通常一台电容测试仪表例如E4980A需要校准的项目高达50条,每条项目需操作仪表面板按钮多次,对于半导体企业测试车间的数百台测试仪表而言,人工手动输入操作必然是复杂且耗时耗力的。借助PC和GPIB通信,计算机控制校准标准流程,自动发送每条校准项目的指令,自动记录并判断仪表返回的测试值是否正确,可以快速高效准确地完成校准,耗时从30~40 min/set降至5 min/set。

2 安捷伦电容测试仪表及C-V测试介绍

工业中电容测试仪表主要是安捷伦的4279A(如图1)和E4980A(如图2)。

安捷伦4279A 1 MHz C-V表测量半导体的电容和偏置电压特性,其在扫描直流偏置电压的同时,可测量0.00001~1280.00 pF范围的电容,基本精度为0.1%,显示分辨率为6位。

安捷伦E4980A在20 Hz~2 MHz范围内提供4位分辨率显示,对高低阻抗的高精度重复性测量基本精度为0.05%,广泛应用于各种元件测量。无论是低阻抗范围还是高阻抗范围,E4980A均能提供极快的测量

图1 安捷伦4279A

图2 安捷伦E4980A

电容-电压(C-V)测试广泛用于测量半导体参数,尤其是MOSCAP和MOSFET结构。此外利用C-V测量还可以对其他类型的半导体器件和工艺进行特征分析,包括双极结型晶体管(BJT)、JFET、III-V族化合物器件、光伏电池、MEMS器件、有机TFT显示器、光电二极管、碳纳米管(CNT)和其他多种半导体器件[2]。

3 GPIB介绍

GPIB是一种工程控制用的协议,最初由HP公司提出,目前成为一种国际标准,遵守的协议为IEEE488。它一般被用来使用任意编程语言如VB、VC、C++实现电脑对仪器的控制。当然也有某些仪器制造商自己开发的语言支持GPIB,如NI公司的Labview等。实现这种控制首先需要被控仪器支持GPIB,其次工控机要安装IEEE488卡,并通过GPIB线连接两个设备。

GPIB比串口控制提高了传输速率和同时支持的设备总数,但是目前已经被传输速率更快、支持设备总数更多的LAN接口替代。GPIB网络实际上可以理解为早期的多个仪器组合后建立一个小型网络,通过一定的信号传输方式和遵循一定的语言(编程规范)协议互相通讯。在小型网络中,多个仪器各自有一个唯一的与其他设备不重合的号码,通常是32个设备以下(地址编码1~32);每个程序开头会指定调用的ID,如果是该ID的设备开始接受指令并执行到结束,其他不是该ID的设备保持沉默[3]。

4 C-V自动校准系统

4.1 系统硬件组成

C-V自动校准系统的硬件组成如图3所示,包含有:

(1)一台安装Keysight Connection Expert的笔记本电脑;

(2)一根82357B USB/GPIB线;

(3)E4980A或4279A C-V电容测试仪表;

(4)3458A数字多用表;

(5)GPIB通信线;

(6)16380A标准空气电容器套件(1~1000 pF)。

图3 系统硬件组成

4.2 连接原理

连接原理图见图4,通过GPIB线型连接或者星型连接均可。

图4 连接原理图

4.3 校准内容(全部按照安捷伦厂家标准和格式)

4.3.1 电容仪表频率校准

电容仪表频率校准,范围1000±0.2kHz,如表1所示。

表1 测试频率校准

VB代码指令如下:

viOpenDefaultRM(defrm)‘打开E4980A GPIB通信,端口17,发送设置指令

Call selectLCR(defrm,Agte4980a)

viSetAttribute (Agte4980a, VI_ATTR_TMO_ VALUE,30)viVPrintf(Agte4980a,"*RST;*CLS"+ vbLf,0)

viVPrintf(Agte4980a,"FORM ASC"+vbLf,0)

viVPrintf(Agte4980a,"APERSHORT,1"+vbLf,0)

viVPrintf(Agte4980a,"FREQ 1000000"+vbLf,0)

viVPrintf(Agte4980a,"TRIG:SOUR BUS"+vbLf, 0)’将测试频率设定为1000 kHz

viClose(defrm)

viOpenDefaultRM(videfaultRM)'打开 3458A GPIB通信,端口22

viOpen (videfaultRM,"GPIB0::22::INSTR",0,2500,vi)

viWrite(vi,"FREQ",Len("FREQ"),actual)

viRead(vi,readbuf,4800,actual)

ReturnedData=readbuf

If ReturnedData<=UpperLimit And testvalue>= LowerLimit Then‘数据合格判定

Cell(i,6).text=“Pass”‘测试值在范围内判定合格

Cell(i,6).BackColor=&HFFFFFF‘判定合格单元格涂白

Else

Cell(i,6).text="Fail"‘测试值不在范围内判定失效

Cell(i,6).BackColor=&HFF‘判定失效单元格涂红

End If

viClose(vi)

viClose(videfaultRM)

4.3.2 信号电平精度校准

信号电平精度校准共6档,如表2所示。

表2 测试信号电平精度校准

以测试信号电平20 mV为例,VB代码指令如下:

viOpenDefaultRM(defrm)‘打开E4980A GPIB通信,端口17,发送设置指令

Call selectLCR(defrm,Agte4980a)

viSetAttribute(Agte4980a,VI_ATTR_TMO_VALUE, 30)

viVPrintf(Agte4980a,"*RST;*CLS"+vbLf,0)

viVPrintf(Agte4980a,"FORM ASC"+vbLf,0)

viVPrintf(Agte4980a,"APER SHORT,1"+vbLf,0)

viVPrintf(Agte4980a,"BIAS:STAT 0"+vbLf,0)

viVPrintf(Agte4980a,"FREQ 1000000"+vbLf,0)

viVPrintf(Agte4980a,"VOLT 0.02"+vbLf,0)’将测试信号电压设定为20 mV

viClose(defrm)

viOpenDefaultRM(videfaultRM)

viOpen(videfaultRM,"GPIB0::22::INSTR",0,2500, vi)'打开3458A GPIB通信,端口22

viWrite(vi,"ACV",Len("ACV"),actual)

viRead(vi,readbuf,4800,actual)

ReturnedData=readbuf

Cell(i,4).text=Returned Data‘测试数据填写到“As Found”单元格

If ReturnedData<=UpperLimit And testvalue>= LowerLimit Then‘数据合格判定

Cell(i,6).text=“Pass”‘测试值在范围内判定合格

Cell(i,6).BackColor=&HFFFFFF‘判定合格单元格涂白

Else

Cell(i,6).text="Fail"‘测试值不在范围内判定失效

Cell(i,6).BackColor=&HFF‘判定失效单元格涂红

End If

viClose(vi)

viClose(videfaultRM)

4.3.3 直流偏置精度校准

直流偏置精度校准共17档,如表3所示。

表3 测试直流偏置精度校准

以直流偏置电压1 V为例,VB代码指令如下:

viOpenDefaultRM(defrm)‘打开E4980A GPIB通信,端口17,发送设置指令

Call selectLCR(defrm,Agte4980a)

viSetAttribute (Agte4980a, VI_ATTR_TMO_ VALUE,30)

viVPrintf(Agte4980a,"*RST;*CLS"+vbLf,0)

viVPrintf(Agte4980a,"FORM ASC"+vbLf,0)

viVPrintf(Agte4980a,"APER SHORT,1"+vbLf,0)

viVPrintf(Agte4980a,"FREQ 1000000"+vbLf,0)

viVPrintf(Agte4980a,"BIAS:STAT 1"+vbLf,0)

viVPrintf(Agte4980a,"VOLT 2E-2"+vbLf,0)

viVPrintf(Agte4980a,"FUNC:SMON:VDC1"+vbLf,0)

viVPrintf(Agte4980a,"BIAS:VOLT 1"+vbLf,0)‘将直流偏置电压设定为1 V

viClose(defrm)

viOpenDefaultRM(videfaultRM)

viOpen(videfaultRM,"GPIB0::22::INSTR",0,2500, vi)'打开3458A GPIB通信,端口22

viWrite(vi,"DCV",Len("DCV"),actual)

viRead(vi,readbuf,4800,actual)

ReturnedData=readbuf

Cell(i,4).text=Returned Data‘测试数据填写到“As Found”单元格

If ReturnedData<=UpperLimit And testvalue>= LowerLimit Then‘数据合格判定

Cell(i,6).text=“Pass”‘测试值在范围内判定合格

Cell(i,6).BackColor=&HFFFFFF‘判定合格单元格涂白

Else

Cell(i,6).text="Fail"‘测试值不在范围内判定失效

Cell(i,6).BackColor=&HFF‘判定失效单元格涂红

End If

viClose(vi)

viClose(videfaultRM)

4.3.4 开路偏移校准

开路偏移校准如表4所示。

表4 开路偏移校准

VB代码指令如下:

viOpenDefaultRM(defrm)‘打开E4980A GPIB通信,端口17,发送设置指令

Call selectLCR(defrm,Agte4980a)

viSetAttribute (Agte4980a, VI_ATTR_TMO_ VALUE,30)

viVPrintf(Agte4980a,"*RST;*CLS"+vbLf,0)

viVPrintf(Agte4980a,"FORM ASC"+vbLf,0)

viVPrintf(Agte4980a,"APER MED,1"+vbLf,0)

viVPrintf(Agte4980a,"FREQ 1000000"+vbLf,0)

viVPrintf(Agte4980a,"VOLT 1E-1"+vbLf,0)

viVPrintf(Agte4980a,"CORR:LENG 0"+vbLf,0)

viVPrintf(Agte4980a,"FUNC:IMP CPG"+vbLf,0)

viVPrintf(Agte4980a,"CORR:OPEN:STAT 1"+ vbLf,0)‘启动开路偏移修正

viVPrintf(Agte4980a,"CORR:OPEN"+vbLf,0)

viVPrintf(Agte4980a,"TRIG:SOUR BUS"+vbLf,0)

viVPrintf(Agte4980a,"TRIG:IMM"+vbLf,0)

Sleep 5000

viVPrintf(Agte4980a,"FETCh?"+vbLf,0)

viVScanf(Agte4980a,"%t",Result)

Res=Split(Result,",")

ReturnedData=Val(Res(0))

Cell(i,4).text=Returned Data‘测试数据填写到“As Found”单元格

If ReturnedData<=UpperLimit And testvalue>= LowerLimit Then‘数据合格判定

Cell(i,6).text=“Pass”‘测试值在范围内判定合格

Cell(i,6).BackColor=&HFFFFFF‘判定合格单元格涂白

Else

Cell(i,6).text="Fail"‘测试值不在范围内判定失效

Cell(i,6).BackColor=&HFF‘判定失效单元格涂红

End If

viClose(vi)

viClose(videfaultRM)

4.3.5 量程变化精度校准

量程变化精度校准,依次连接16380A标准套件1PF、10PF、100PF、1000PF,如表5所示。

表5 量程变化精度校准

VB代码指令如下:

viOpenDefaultRM(defrm)‘打开E4980A GPIB通信,端口17,发送设置指令

Call selectLCR(defrm,Agte4980a)

viSetAttribute (Agte4980a, VI_ATTR_TMO_ VALUE,30)

viVPrintf(Agte4980a,"*RST;*CLS"+vbLf,0)

viVPrintf(Agte4980a,"FORM ASC"+vbLf,0)

viVPrintf(Agte4980a,"APER MED,1"+vbLf,0)

viVPrintf(Agte4980a,"FREQ 1000000"+vbLf,0)

viVPrintf(Agte4980a,"VOLT 1E-1"+vbLf,0)

viVPrintf(Agte4980a,"CORR:LENG 0"+vbLf,0)

viVPrintf(Agte4980a,"TRIG:SOURBUS"+vbLf,0)

viVPrintf(Agte4980a,"FUNC:DCR:RANG:Auto"+ vbLf,0)‘量程设定为自动

viVPrintf(Agte4980a,"COMP ON"+vbLf,0)

viVPrintf(Agte4980a,"INIT:CONT OFF"+vbLf,0)

viVPrintf(Agte4980a,"INIT:IMM"+vbLf,0)

viVPrintf(Agte4980a,"TRIG:IMM"+vbLf,0)

viVPrintf(Agte4980a,"FETCh?"+vbLf,0)

viVScanf(Agte4980a,"%t",Result)

Res=Split(Result,",")

ReturnedData=Val(Res(0))

Cell(i,4).text=Returned Data‘测试数据填写到“As Found”单元格

If ReturnedData<=UpperLimit And testvalue>= LowerLimit Then‘数据合格判定

Cell(i,6).text=“Pass”‘测试值在范围内判定合格

Cell(i,6).BackColor=&HFFFFFF‘判定合格单元格涂白

Else

Cell(i,6).text="Fail"‘测试值不在范围内判定失效

Cell(i,6).BackColor=&HFF‘判定失效单元格涂红

End If

viClose(vi)

viClose(videfaultRM)

4.3.6 测试时间变化精度校准

用16380A1PF标准件进行测试时间变化精度的校准,如表6所示。

表6 测试时间变化精度校准

以Short为例,VB代码指令如下:

viOpenDefaultRM(defrm)‘打开E4980A GPIB通信,端口17,发送设置指令

Call selectLCR(defrm,Agte4980a)

viSetAttribute (Agte4980a,VI_ATTR_TMO_ VALUE,30)

viVPrintf(Agte4980a,"*RST;*CLS"+vbLf,0)

viVPrintf(Agte4980a,"FORM ASC"+vbLf,0)

viVPrintf(Agte4980a,"FREQ 1000000"+vbLf,0)

viVPrintf(Agte4980a,"APER SHORT,1"+vbLf,0) '将测试时间设置为short

viVPrintf(Agte4980a,"BIAS:STAT 0"+vbLf,0)

viVPrintf(Agte4980a,"VOLT 1E-1"+vbLf,0)

viVPrintf(Agte4980a,"TRIG:SOUR BUS"+vbLf,0)

viVPrintf(Agte4980a,"TRIG:IMM"+vbLf,0)

viVPrintf(Agte4980a,"FETCh?"+vbLf,0)

viVScanf(Agte4980a,"%t",Result)

Res=Split(Result,",")

ReturnedData=Val(Res(0))

Cell(i,4).text=Returned Data‘测试数据填写到“As Found”单元格

If ReturnedData<=UpperLimit And testvalue>= LowerLimit Then‘数据合格判定

Cell(i,6).text=“Pass”‘测试值在范围内判定合格

Cell(i,6).BackColor=&HFFFFFF‘判定合格单元格涂白

Else

Cell(i,6).text="Fail"‘测试值不在范围内判定失效

Cell(i,6).BackColor=&HFF‘判定失效单元格涂红

End If

viClose(vi)

viClose(videfaultRM)

4.3.7 电缆长度补偿精度校准

电缆长度补偿精度校准如表7所示。

表7 电缆长度补偿精度校准

以线长1 m为例,VB代码指令如下:

viOpenDefaultRM(defrm)‘打开E4980A GPIB通信,端口17,发送设置指令

Call selectLCR(defrm,Agte4980a)

viSetAttribute (Agte4980a, VI_ATTR_TMO_ VALUE,30)

viVPrintf(Agte4980a,"*RST;*CLS"+vbLf,0)

viVPrintf(Agte4980a,"FORM ASC"+vbLf,0)

viVPrintf(Agte4980a,"APER LONG,1"+vbLf,0)

viVPrintf(Agte4980a,"FREQ 1000000"+vbLf,0)

viVPrintf(Agte4980a,"BIAS:STAT 0"+vbLf,0)

viVPrintf(Agte4980a,"VOLT 1E-1"+vbLf,0)

viVPrintf(Agte4980a,"CORR:LENG 1"+vbLf,0)‘设置线长为1 m

viVPrintf(Agte4980a,"TRIG:SOURBUS"+vbLf,0)

viVPrintf(Agte4980a,"TRIG:IMM"+vbLf,0)

viVPrintf(Agte4980a,"FETCh?"+vbLf,0)

viVScanf(Agte4980a,"%t",Result)

Res=Split(Result,",")

ReturnedData=Val(Res(0))

Cell(i,4).text=Returned Data‘测试数据填写到“As Found”单元格

If ReturnedData<=UpperLimit And testvalue>= LowerLimit Then‘数据合格判定

Cell(i,6).text=“Pass”‘测试值在范围内判定合格

Cell(i,6).BackColor=&HFFFFFF‘判定合格单元格涂白

Else

Cell(i,6).text="Fail"‘测试值不在范围内判定失效

Cell(i,6).BackColor=&HFF‘判定失效单元格涂红

End If

viClose(vi)

viClose(videfaultRM)

4.4 软件界面

软件界面如图5所示。

测控软件含有4279A和E4980A两种仪表的自动校准界面。菜单里有一键自动校准全部项目,也有各个项目单个校准。各个校准项目都是软件自动发送GPIB指令去E4980A和3458A,读取返回值,判断和记录在表格当中,校准值有错时表格自动涂红。校准完成后没有任何校准错误,数据方可导出生成Excel。

图5 软件界面

4.5 手动和自动校准数据的对比

整个自动校准过程就是计算机将校准指令发送到仪表、自动读取仪表返回数值的过程,替代人手动在仪表面板按键输入指令、人眼读取数值,对于仪表而言实际上两者是一样的。以直流偏置精度校准为例(见图6),手动与自动校准数据几乎重合。

图6 直流偏置精度校准手动与自动操作对比

4.6 自动校准允许的距离

在自动校准过程中,多次测试值上下浮动只能在标准值1%之内,因为仪表在实际生产测试过程中稳定性是一个重要的指标。以16380A标准套件里10PF标准件测试为例(见图7),仪表多次测试值上下浮动均在标准值的1%之内。

图7 10PF标准件校准数据

5 结论

整个测控软件校准过程无须人手工操作仪表面板,仅需根据软件提示连接相应组件即可。单台仪表完成校准和导出Excel数据耗时从30 min降至5 min,同时自动保存校准数据为Excel文件的同时录入数据库,使得电容校准更加高效、准确、标准化和通用化。

[1]Keysight product introduction[EB/OL].www.keysight.com

[2]吕强福.电子技术基础[M].北京:机械工业出版社,2010.

[3]耿东华.GPIB接口[J].电光系统,2005(1):56-58.

GPIB Communication Application for C-V Meter Calibration

DENG Changkai,TANG Mingching,HU Yiping

(Infineon Technologies(Wuxi)Co.,Ltd.Wuxi214028,China)

Agilent C-V Meter(E4980A,4279A)needs yearly calibration.Manual calibration is complex and time-consuming.However the calibration procedure can be done automatically via Agilent C-V meter protocol command.The communication software developed using VB and GPIB is capable of sending calibration command to C-V meter,making automatically judgments,and saving calibration data into database in.xlsx format.The auto C-V calibration software significantly improves speed and calibration efficiency.

C-V Meter;GPIB;calibration

TN307

A

1681-1070(2017)04-0039-06

2016-12-18速度和出色的测量性能[1]。

邓长开(1986—),男,江苏南京人,工学学士,测试设备工程师,现任职于英飞凌科技(无锡)有限公司。

猜你喜欢

单元格偏置仪表
基于40%正面偏置碰撞的某车型仿真及结构优化
基于双向线性插值的车道辅助系统障碍避让研究
◆ 仪表
仪表
流水账分类统计巧实现
玩转方格
玩转方格
浅谈Excel中常见统计个数函数的用法
一级旋流偏置对双旋流杯下游流场的影响
奔驰E260车行驶过程中仪表灯熄灭