Using timers to perform pulse mode sweeps
You can use timers to control the pulse width during a pulsed sweep. To create a pulse train, a
second timer must be used to configure the pulse period. The following topics provide examples that
show a single pulse output and a pulse train output.
To create a pulse, the SMU end pulse action smuX.trigger.endpulse.action must be set to
smuX.SOURCE_IDLE.
Pulsing from a positive to a negative pulse level
The following single pulse and pulse train examples pulse from a zero bias level to a positive pulse
level (+5 V). If you change the pulse level to a negative value, such as −5 V, the pulse width is
nominally 100 µs shorter than expected. The pulse width is shortened because the SMU source must
change polarity when pulsing from zero to a negative level, and there is an internal 100 µs delay
associated with the change. This polarity change is required because the number zero (0) is treated
as a positive value. Therefore, pulsing from zero to +5 V does not require a polarity change, but
pulsing from zero to −5 V does. There are multiple ways to obtain the correct pulse width, but the
simplest is to define a negative zero and set the bias level equal to that value.
A negative zero is a value that is mathematically negative and functionally equivalent to zero. For a
SMU, a source level setting that is functionally equivalent to zero is one that is significantly less than
the programming resolution of the source range being used. Programming resolution values are listed
by range in the SMU instrument specifications. A suitable value that works for all voltage and current
source ranges in the 2600B instruments is −1e
−18
. Therefore, to pulse from a zero bias level to a
negative pulse level, make the following change to the examples:
-- Set the voltage source range and the bias source level and limit.
smua.source.rangev = 5
neg_zero = -1e-18
smua.source.levelv = neg_zero
smua.source.limiti = 0.1