
Model 2651A High Power System SourceMeter® Instrument User's Manual Section 7: Increasing SMU current sourcing ability
-- Configure 2651A #2 (Drain SMU 2)
-----------------------------------
node[2].smua.reset()
node[2].smua.source.func
= node[2].smua.OUTPUT_DCAMPS
node[2].smua.sense
= node[2].smua.SENSE_REMOTE
node[2].smua.source.offmode
= node[2].smua.OUTPUT_NORMAL
node[2].smua.source.offfunc
= node[2].smua.OUTPUT_DCAMPS
node[2].smua.source.offlimitv = 10
-- Set off limit
-- SMU will be a 0A current source with 10V limit when output is turned off
node[2].smua.source.rangei =
math.max(math.abs(dstart / 2), math.abs(dstop / 2))
node[2].smua.source.leveli
= 0
-- Sets the DC bias level
node[2].smua.source.limitv
= 10
-- Sets the DC bias limit
node[2].smua.measure.nplc
= 0.005
node[2].smua.measure.rangev
= pulseLimit
node[2].smua.measure.autozero = node[2].smua.AUTOZERO_ONCE
node[2].smua.measure.delay
= (pulseWidth -
((1 / node[2].linefreq) * node[2].smua.measure.nplc)) - 20e-6
-- Set the delay so that the measurement is near the end of the pulse
-- Prepare the reading buffers
node[2].smua.nvbuffer1.clear()
node[2].smua.nvbuffer1.collecttimestamps = 1
node[2].smua.nvbuffer1.collectsourcevalues = 1
node[2].smua.nvbuffer1.fillmode = node[2].smua.FILL_ONCE
node[2].smua.nvbuffer2.clear()
node[2].smua.nvbuffer2.collecttimestamps = 1
node[2].smua.nvbuffer2.collectsourcevalues = 1
node[2]. smua.nvbuffer2.fillmode = node[2].smua.FILL_ONCE
-- Configure TSP-Link Trigger 1
node[2].tsplink.trigger[1].clear()
node[2].tsplink.trigger[1].mode = node[2].tsplink.TRIG_FALLING
-- Timer 1 controls the pulse width
node[2].trigger.timer[1].count =
1
node[2].trigger.timer[1].delay
= pulseWidth - 3e-6
node[2].trigger.timer[1].passthrough = false
node[2].trigger.timer[1].stimulus =
node[2].smua.trigger.SOURCE_COMPLETE_EVENT_ID
node[2].trigger.timer[1].clear()
-- Configure SMU Trigger Model for Sweep
node[2].smua.trigger.source.lineari(dstart / 2, dstop / 2, dsteps)
node[2].smua.trigger.source.limitv
= pulseLimit
node[2].smua.trigger.measure.iv(node[2].smua.nvbuffer1, node[2].smua.nvbuffer2)
node[2].smua.trigger.measure.action
= node[2].smua.ENABLE
-- Return the output to the bias level at the end of the pulse/sweep
node[2].smua.trigger.endpulse.action = node[2].smua.SOURCE_IDLE
node[2].smua.trigger.endsweep.action = node[2].smua.SOURCE_IDLE
node[2].smua.trigger.count
= dsteps
node[2].smua.trigger.arm.stimulus
= 0
node[2].smua.trigger.source.stimulus = node[2].tsplink.trigger[1].EVENT_ID
node[2].smua.trigger.measure.stimulus = 0
node[2].smua.trigger.endpulse.stimulus = node[2].trigger.timer[1].EVENT_ID
node[2].smua.trigger.source.action
= node[2].smua.ENABLE
2651A-900-01 Rev. A / March 2011
7-13