Section 3: Functions and features
2606B System SourceMeter® Instrument Reference Manual
3-44
2606B-901-01 Rev. B / May 2018
Single pulse example code
-- Generate a single 500 us, 5 V pulse.
-- Configure a single-point voltage list sweep.
smua.trigger.source.listv({5})
smua.trigger.source.action = smua.ENABLE
smua.trigger.measure.action = smua.DISABLE
-- Configure other source parameters for best timing possible.
smua.trigger.source.limiti = 0.1
smua.source.rangev = 5
-- Configure timer parameters to output a single 500 us pulse.
trigger.timer[1].delay = 0.0005
trigger.timer[1].count = 1
trigger.timer[1].passthrough = false
-- Trigger timer when the SMU passes through the ARM layer.
trigger.timer[1].stimulus = smua.trigger.ARMED_EVENT_ID
-- Configure source action to start immediately.
smua.trigger.source.stimulus = 0
-- Configure endpulse action to achieve a pulse.
smua.trigger.endpulse.action = smua.SOURCE_IDLE
smua.trigger.endpulse.stimulus = trigger.timer[1].EVENT_ID
-- Set appropriate counts of trigger model.
smua.trigger.count = 1
smua.trigger.arm.count = 1
-- Turn on output and trigger SMU to output a single pulse.
smua.source.output = smua.OUTPUT_ON
smua.trigger.initiate()
-- Wait for the sweep to complete.
waitcomplete()
Pulse train example:
The programming example below illustrates how to use two timers: One to control the pulse period, a
second to control the pulse width. The example configures the timers and SMU as follows:
Timer 1: Pulse period timer
•
Set the delay attribute to the appropriate pulse period (see the following figure).
•
Configure the timer to start when the sweep is initiated.
•
Enable the pass-through attribute so that the timer generates a trigger event at the start of the
first delay.
•
Set the count equal to one less than the total number of pulses to output.
Figure 57: Pulse train