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