
Section 9: Generating a high-current pulse train
Model 2460 Interactive SourceMeter® Instrument User's Manual
9-8
2460-900-01 Rev. A / September 2014
TSP commands to output a high-current pulse train
The following TSP code is designed to be run from Keithley Instruments Test Script Builder (TSB).
TSB is a software tool that is available from the Keithley Instruments website. You can install and
use TSB to write code and develop scripts for TSP-enabled instruments. Information about how to
use TSB is in the online help for TSB and in the “Introduction to TSP operation” section of the
Model
2460 Reference Manual
.
To use other programming environments, you may need to make changes to the example TSP code.
By default, the Model 2460 is configured to use the SCPI command set. You must select the TSP
command set before sending TSP commands to the instrument.
To enable TSP commands:
1. Press the
MENU
key.
2. Under System, select
Settings
.
3. For Command Set, select
TSP
.
4. At the prompt to reboot, select
Yes
.
This following example code generates 10 pulses with a magnitude of 6 A and a pulse width of 1 ms.
The pulse period is 4 ms and the load is 1
Ω. The voltage readings are stored in the default buffer,
defbuffer1
.
Send the following commands for this application:
reset()
--Set up the pulse parameters (user-specified).
biaslevel = 0
pulselevel = 6
biaswidth = 3e-3
pulsewidth = 1e-3
period = puls biaswidth
points = 10
limit = 7
--[[Set the source to output current and create a source configuration list.
]]
smu.source.configlist.create("OutputList")
smu.source.func = smu.FUNC_DC_CURRENT
smu.source.readback = smu.OFF
--Set up the measure functions.
smu.measure.func = smu.FUNC_DC_VOLTAGE
smu.measure.nplc = 0.01
smu.measure.terminals = smu.TERMINALS_FRONT
smu.measure.range = limit
smu.measure.sense = smu.SENSE_4WIRE
measuredelay = pulsewidth -((1/localnode.linefreq)*smu.measure.nplc + 450e-6)
if measuredelay < 50e-6 then measuredelay = 50e-6 end
--[[Specify a source range large enough to fit both the bias and level.
]]
smu.source.range = math.max(math.abs(biaslevel), math.abs(pulselevel))
smu.source.delay = 0
smu.source.vlimit.level = limit
--[[Set to pulselevel (amplitude)and save the settings to the configuration list.
]]
smu.source.level = pulselevel