6: Measure I-V characteristics of FETs Model 2470 High Voltage SourceMeter Instrument
6-18 2470-900-01 Rev. B / August 2019
Send the following commands for this example application:
--######################## Settings and TSP-Link setup ################
local gateVstart = 2
local gateVstop = 5
local gateStepSize = 1
local gateIlimit = 1e-3
local drainVstart = 0
local drainVstop = 5
local drainStepSize = 0.1
local drainIlimit = 1e-3
-- Reset the instruments and the TSP-Link connection and clear the buffers.
tsplink.initialize()
reset()
-- If the tsplink state is not online, print an error message and quit.
state = tsplink.state
if state ~= "online" then
print("Error:\n-Check that all SMUs have a different node number")
print("-Check that all SMUs are connected correctly\n")
return
end
-- Set up the TSP-Link node shortcuts.
local gate = node[1]
local drain = node[2]
--######################## Model 2470 #1 (gate) setup ################
-- Set up the source function.
gate.smu.source.configlist.create("stepVals")
gate.smu.source.func = gate.smu.FUNC_DC_VOLTAGE
gate.smu.source.autorange = gate.smu.ON
gate.smu.source.ilimit.level = gateIlimit
-- Set up the measure function.
gate.smu.measure.func = gate.smu.FUNC_DC_CURRENT
gate.smu.measure.autorange = gate.smu.ON
gate.smu.terminals = gate.smu.TERMINALS_REAR
-- Set up TSP-Link triggering.
tsplink.line[1].reset()
gate.tsplink.line[1].mode = gate.tsplink.MODE_SYNCHRONOUS_MASTER
gate.trigger.tsplinkout[1].stimulus = gate.trigger.EVENT_NOTIFY1
-- Populate the stepVals source config list, with source levels 2 V to 5 V.
for i = gateVstart, gateVstop, gateStepSize do
gate.smu.source.level = i
gate.smu.source.configlist.store("stepVals")
end
local stepPoints = (gateVstop - gateVstart) * (1 / gateStepSize) + 1
-- Set up the trigger model.
gate.trigger.model.setblock(1, trigger.BLOCK_CONFIG_RECALL, "stepVals")
gate.trigger.model.setblock(2, trigger.BLOCK_SOURCE_OUTPUT, gate.smu.ON)
gate.trigger.model.setblock(3, trigger.BLOCK_MEASURE_DIGITIZE)
gate.trigger.model.setblock(4, trigger.BLOCK_NOTIFY, gate.trigger.EVENT_NOTIFY1)
gate.trigger.model.setblock(5, trigger.BLOCK_WAIT, gate.trigger.EVENT_TSPLINK1)
gate.trigger.model.setblock(6, trigger.BLOCK_CONFIG_NEXT, "stepVals")
gate.trigger.model.setblock(7, trigger.BLOCK_BRANCH_COUNTER, stepPoints, 3)
gate.trigger.model.setblock(8, trigger.BLOCK_SOURCE_OUTPUT, gate.smu.OFF)