Model 2460 Interactive SourceMeter® Instrument User's Manual
Section 9: Generating a high-current pulse train
2460-900-01 Rev. A / September 2014
9-9
smu.source.configlist.store("OutputList")
--Set to biaslevel and save settings to the configuration list.
smu.source.level = biaslevel
smu.source.configlist.store("OutputList")
--Set up the timers.
--[[Set timer[1] to control the period of the pulse train. The effective count will
be points because trigger.timer[1].start.generate = trigger.ON
]]
trigger.timer[1].reset()
trigger.timer[1].start.generate = trigger.ON
trigger.timer[1].delay = period
trigger.timer[1].count = points - 1
--Set timer[2] to control the width of the pulses.
trigger.timer[2].reset()
trigger.timer[2].start.stimulus = trigger.EVENT_TIMER1
trigger.timer[2].start.generate = trigger.OFF
trigger.timer[2].delay = pulsewidth
trigger.timer[2].count = 1
trigger.timer[2].enable = trigger.ON
--Set up the trigger model.
trigger.model.setblock(1, trigger.BLOCK_BUFFER_CLEAR)
trigger.model.setblock(2, trigger.BLOCK_SOURCE_OUTPUT, smu.ON)
trigger.model.setblock(3, trigger.BLOCK_WAIT, trigger.EVENT_TIMER1)
trigger.model.setblock(4, trigger.BLOCK_CONFIG_RECALL, "OutputList")
trigger.model.setblock(5, trigger.BLOCK_DELAY_CONSTANT, measuredelay)
trigger.model.setblock(6, trigger.BLOCK_MEASURE)
trigger.model.setblock(7, trigger.BLOCK_WAIT, trigger.EVENT_TIMER2)
trigger.model.setblock(8, trigger.BLOCK_CONFIG_NEXT, "OutputList")
trigger.model.setblock(9, trigger.BLOCK_BRANCH_COUNTER, points, 3)
trigger.model.setblock(10, trigger.BLOCK_SOURCE_OUTPUT, smu.OFF)
--Start the trigger model.
defbuffer1.clear()
smu.measure.autozero.once()
trigger.model.initiate()
delay(0.001)
trigger.timer[1].enable = trigger.ON
waitcomplete()
In this example, the output is measured across the load using an oscilloscope. The following figure
shows the pulse train displayed on the oscilloscope. The figure shows that the trigger model event
timers generate events at uniform time intervals. This results in precise timing control.