新闻中心

EEPW首页 > 测试测量 > 设计应用 > 2602型数字源表测试脚本及两个典型命令

2602型数字源表测试脚本及两个典型命令

作者: 时间:2017-02-06 来源:网络 收藏
从传统意义上讲,测试工程师将进行测试编程,并将其输入计算机或其他控制器。这类程序可能包括测试执行程序以及函数程序与其他子程序。执行程序通过以适当的顺序来调用不同的函数或子程序,从而控制测试流程。函数和子程序通过向测试系统中的仪器发送命令等对其进行配置并启动测试。它们对数据进行处理和评估,并对待测器件做出通过/失效决策,对数据进行存档。通常,对于每个测试的待测器件来说,控制器都将为各仪器发送命令序列,并不断对得到的数据进行评估。控制器[1]与仪器之间的所有这些通信都可能大大降低测试速度。2600系列测试脚本处理器[2]允许将大部分控制程序下载至数据源表的易失性或非易失性内存。下载至TSP的程序称作脚本。

脚本可能是一个执行多项测试的较长程序。

依照良好的编程规范,可以编写出创建和调用函数的脚本,就像计算机中的控制程序一样。一旦函数建立,就可以通过脚本以及测试脚本处理器中的其他函数中进行调用,或者通过主机控制器中的测试执行程序进行调用。由于参数可以传递至函数,这就提供了一种非常简单的方法,可以轻松的将被测件测试相关参数,如输入信号电平或限值等,从控制器传递至数字源表内部的测试程序中。

在吉时利公司网站(www.keithley.com)可以下载记录详尽的测试DAC脚本示例。这个脚本是全功能的,可以与图3所示的两个2602数字源表一起使用。为了使读者领会新的脚本语言,我们从DAC测试脚本中选取以下代码片段。注意,双点划线(--)表示注释。

让我们看两个典型命令:
node[1].smua.source.func = node[1].smua.OUTPUT _ DCVOLTS
node[1].smua.source.levelv = 0

脚本语言运行使用别名,这可能使代码更可读,并改进代码执行速度。我们为DAC测试示例定义了以下别名:

MASTER = node[1]
--Alias indicating control is via Node 1
SLAVE = node[2]
--Node 2 is controlled by MASTER via TSP-Link
IOUT1 = MASTER.smua
--Alias for SMU measuring current output #1
--IOUT1 is equivalent to node[1].smua
IOUT2 = MASTER.smub
--Alias for SMU measuring current output #2
--IOUT2 is equivalent to node[1].smub
DIO = MASTER.digio

--Alias for Digital I/O of 2602 #1
--DIO is equivalent to node[1].digio
VPLUS = SLAVE.smua

--Alias for SMU supplying V+ and measuring current draw
--VPLUS is equivalent to node[2].smua
VREF = SLAVE.smub

--Alias for SMU supplying reference voltage (Vref)
--VREF is equivalent to node[2].smub

在整个示例中都使用了别名。利用定义的别名,示例命令可以重写为:

IOUT1.source.func = IOUT1.OUTPUT_DCVOLTS
IOUT1.source.levelv = 0

通常,脚本语言[3]不需要明确声明变量。根据对其的赋值,它们被声明和定义为 “on the fly”。但表格(也就是数组)除外, 它们必须定义数据类型。所有变量都是全局的,除非明确声明为本地的。在代码片段出现以下“常数”:

Vref = 10
--Use +10VDC reference voltage
IoutMax = 0.002
--Max expected current output
Nplc = 0.001
--Integration time for SMU A-to-D converters (in terms of power line cycles)
Nbits = 8
--Number of DAC control bits (digital inputs)
Ncodes = 2^Nbits

--Number of possible control codes
MaxCode = Ncodes - 1
--Decimal equivalent of full-scale code (255 for 8-bit DAC)
Lsb = Vref / MaxCode
--Nominal value of least significant bit

在开始实际测试序列之前,一般要对仪器进行某些初始设置。在我们的示例中,初始设置包括设置源函数及范围、测量函数及范围、电压检测模式等等。所有这4个源-测量单元[4]的配置都是类似的。对于节点1的SMU A,某些设置命令如下:

MASTER.reset()
--Reset all Node 1 logical instruments to default settings
IOUT1.sense = IOUT1.SENSE_REMOTE --Use REMOTE (4-wire) voltage sensing
IOUT1.source.func = IOUT1.OUTPUT_DCVOLTS --Configure SMU to source DCV
IOUT1.source.rangev = 0 --Set voltage source ranges;
--2602 picks appropriate range based on programmed value
IOUT1.source.levelv = 0 --To measure current, source zero volts on lowest range
IOUT1.source.limiti = 1.2 * IoutMax --Set current compliance limit (20% over max)
IOUT1.measure.nplc = Nplc --Set integration times for all measurements
IOUT1.measure.autozero = IOUT1.AUTOZERO_AUTO --Autozero for max accuracy;
IOUT1.measure.rangei = IoutMax --Set up current measurement range; Measurement
--range for source function fixed at source range val
IOUT1.measure.filter.type = IOUT1.FILTER_REPEAT_AVG --Use REPEAT filter
IOUT1.measure.filter.count = 5 --Reading will be average of 5 consecutive measurements
IOUT1.measure.filter.enable = IOUT1.FILTER_ON --Enable Node 1 SMU A digital filter
--Set measurement parameters the 2602s will display (if display is enabled)
--Displays can be disabled to improve test speed
MASTER.display.screen = MASTER.display.SMUA_SMUB --Digital port isn’t affected by reset so user must set desired initial state
DIO.writeport(0)
--Set all digital control bits to zero
DIO.writeprotect(16128) --Write protect bits 9 through 14, which are reserved for
--component handler control in this example.

在初始设置完成后,将进行DAC测试。这里只给出在IOUT1端的INL与DNL测试。对于其他测试,请参见完整的测试脚本。注意:数字源表仪器始终“假定”其通过内部源测试电流。在这种情况下,正电流从端点流出,负电流从端点流入。根据这种规定,源表将以纯电流表模式运行,如节点1的SMU A和SMU B,其测量到的极性与使用典型电流表时的极性是相反的。从电路流入数字源表[5]仪器的正向电流,将作为负电流测量,反之亦然。

上一页 1 2 下一页

评论


技术专区

关闭