Interactive SourceMeter® Instrument User's Manual Section 7: Measuring I-
V characteristics of FETs
2450-900-01 Rev. C / December 2013 7-7
SMU 2
SENS:FUNC "CURR"
SENS:CURR:RANG:AUTO ON
ROUT:TERM REAR
SOUR:FUNC VOLT
SOUR:VOLT:RANG 20
SOUR:VOLT:ILIM 1
SOUR:CONF:LIST:CRE "sweepVals"
DIG:LINE2:MODE TRIG, OUT
DIG:LINE1:MODE TRIG, IN
TRIG:DIG2:OUT:STIM NOT2
TRIG:DIG1:IN:CLE
TRIG:DIG1:IN:EDGE RIS
• Reset the instrument.
• Set to measure current.
• Set to measure with autorange enabled.
• Set to rear terminals.
• Set to source voltage.
• Set to 20 V source range.
• Set the source limit to 1 A.
• Create the source configuration list
sweepVals.
• Set digital line 2 to trigger out.
• Set digital line 1 to trigger in.
• Set the stimulus for digital line 2 to the
notify2 event.
• Clear digital line 1.
• Detect for a rising edge on line 1.
Pseudocode
• Set up a for loop from 0 to 5 in 0.1 steps
SOUR:CONF:LIST:STORE "sweepVals"
• Set the voltage level to the iteration
number.
• Store the source configuration to
• End the
loop.
SMU 2
"sweepVals"
TRIG:BLOC:SOUR:STAT 2, ON
TRIG:BLOC:WAIT 3, DIG1
TRIG:BLOC:DEL:CONS 4, 0.01
TRIG:BLOC:MEAS 5
TRIG:BLOC:CONF:NEXT 6, "sweepVals"
TRIG:BLOC:BRAN:COUN 7, 51, 4
TRIG:BLOC:NOT 8, 2
TRIG:BLOC:BRAN:COUN 9, 4, 3
TRIG:BLOC:SOUR:STAT 10, OFF
• Create a block to load sweepVals at the
first index.
• Create a block to turn the output on.
• Create a block to wait on digital line 3.
• Create a block to delay for 0.01 seconds.
• Create a block to take a measurement.
• Create a block to load the next index of
sweepVals.
• Create a block to branch to block 4, 50
times.
• Create a block to generate the notify2
event.
• Create a block to branch to block 3 three
times.
• Create a block to turn the output off.
• Initiate the trigger model.
• Initiate the trigger model.
ids = []
for i = 2, 5 do:
• Create an empty array to hold measured
voltage values.
• Create an empty array to hold measured
current values.
•
Set up a for loop from 2 to 5 (Including 5).
vds[i-1] = TRAC:DATA? 1 + 51*(i-
2), 51*(i-1), "defbuffer1", SOUR
vds[i-1] = TRAC:DATA? 1 + 51*(i-
2), 51*(i-1), "defbuffer1", READ
• Save the sourced and measured values to
the arrays vds and ids, respectively. The
readings from each step are saved at each
index in the array.
• End the
loop.