2602型數(shù)字源表測試腳本及兩個典型命令
腳本可能是一個執(zhí)行多項測試的較長程序。
依照良好的編程規(guī)范,可以編寫出創(chuàng)建和調(diào)用函數(shù)的腳本,就像計算機中的控制程序一樣。一旦函數(shù)建立,就可以通過腳本以及測試腳本處理器中的其他函數(shù)中進行調(diào)用,或者通過主機控制器中的測試執(zhí)行程序進行調(diào)用。由于參數(shù)可以傳遞至函數(shù),這就提供了一種非常簡單的方法,可以輕松的將被測件測試相關(guān)參數(shù),如輸入信號電平或限值等,從控制器傳遞至數(shù)字源表內(nèi)部的測試程序中。
在吉時利公司網(wǎng)站(www.keithley.com)可以下載記錄詳盡的測試DAC腳本示例。這個腳本是全功能的,可以與圖3所示的兩個2602數(shù)字源表一起使用。為了使讀者領(lǐng)會新的腳本語言,我們從DAC測試腳本中選取以下代碼片段。注意,雙點劃線(--)表示注釋。
讓我們看兩個典型命令:
node[1].smua.source.func = node[1].smua.OUTPUT _ DCVOLTS
node[1].smua.source.levelv = 0
腳本語言運行使用別名,這可能使代碼更可讀,并改進代碼執(zhí)行速度。我們?yōu)镈AC測試示例定義了以下別名:
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]不需要明確聲明變量。根據(jù)對其的賦值,它們被聲明和定義為 “on the fly”。但表格(也就是數(shù)組)除外, 它們必須定義數(shù)據(jù)類型。所有變量都是全局的,除非明確聲明為本地的。在代碼片段出現(xiàn)以下“常數(shù)”:
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
在開始實際測試序列之前,一般要對儀器進行某些初始設(shè)置。在我們的示例中,初始設(shè)置包括設(shè)置源函數(shù)及范圍、測量函數(shù)及范圍、電壓檢測模式等等。所有這4個源-測量單元[4]的配置都是類似的。對于節(jié)點1的SMU A,某些設(shè)置命令如下:
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.
在初始設(shè)置完成后,將進行DAC測試。這里只給出在IOUT1端的INL與DNL測試。對于其他測試,請參見完整的測試腳本。注意:數(shù)字源表儀器始終“假定”其通過內(nèi)部源測試電流。在這種情況下,正電流從端點流出,負電流從端點流入。根據(jù)這種規(guī)定,源表將以純電流表模式運行,如節(jié)點1的SMU A和SMU B,其測量到的極性與使用典型電流表時的極性是相反的。從電路流入數(shù)字源表[5]儀器的正向電流,將作為負電流測量,反之亦然。
評論