2470 High Voltage SourceMeter Instrument Reference Manual
Section 4: Sourcing and measuring
2470-901-01 Rev. A /
May
2019
4-75
-- Set voltage limit of current source to 2V; set this after setting measure range.
smu.source.vlimit.level = 2
-- This example records the resistance measurements
-- for later statistical analysis.
-- Limit inspection and binning can be performed
-- without recording the measurements.
-- Set the buffer capacity equal to the number of resistors
-- to be tested.
defbuffer1.capacity = number_of_resistors
-- Configure digital I/O lines 1 through 4 as digital outputs.
-- These I/O lines are used to output binning code to component handler.
digio.line[1].mode = digio.MODE_DIGITAL_OUT
digio.line[2].mode = digio.MODE_DIGITAL_OUT
digio.line[3].mode = digio.MODE_DIGITAL_OUT
digio.line[4].mode = digio.MODE_DIGITAL_OUT
-- Configure digital I/0 line 5 as a trigger input.
-- Used to detect start-of-test trigger from component handler.
digio.line[5].mode = digio.MODE_TRIGGER_IN
-- Set trigger detector to detect falling edge.
trigger.digin[5].edge = trigger.EDGE_FALLING
-- Configure digital I/0 line 6 as a trigger output.
-- Used to send end-of-test trigger to component handler.
digio.line[6].mode = digio.MODE_TRIGGER_OUT
-- Output a falling edge trigger.
trigger.digout[6].logic = trigger.LOGIC_NEGATIVE
-- Set width of output trigger pulse to 10 us.
trigger.digout[6].pulsewidth = 10E-6
-- Trigger pulse will be output when Notify Block generates an event.
trigger.digout[6].stimulus = trigger.EVENT_NOTIFY1
-- Reset existing trigger model settings.
trigger.model.load("Empty")
-- Configure the Trigger Model.
-- Block 1: Clear defbuffer1.
trigger.model.setblock(1, trigger.BLOCK_BUFFER_CLEAR, defbuffer1)
-- Block 2: Wait for start-of-test trigger on digital I/O line 5.
trigger.model.setblock(2, trigger.BLOCK_WAIT, trigger.EVENT_DIGIO5)
-- Block 3: Turn SMU output ON.
trigger.model.setblock(3, trigger.BLOCK_SOURCE_OUTPUT, smu.ON)
-- Block 4: Delay for 1ms to allow source to settle; adjust as appropriate.
trigger.model.setblock(4, trigger.BLOCK_DELAY_CONSTANT, 0.001)
-- Block 5: Measure resistance and store result in defbuffer1.
trigger.model.setblock(5, trigger.BLOCK_MEASURE, defbuffer1)
-- Block 6: Turn SMU output OFF.
trigger.model.setblock(6, trigger.BLOCK_SOURCE_OUTPUT, smu.OFF)
-- Block 7: Check if 80<=R<=120; if yes, go to Block 10.
trigger.model.setblock(7, trigger.BLOCK_BRANCH_LIMIT_CONSTANT, trigger.LIMIT_INSIDE,
80, 120, 10, 5)