![background image](http://html2.mh-extra.com/html/keithley/2651a/2651a_user-manual_4028356034.webp)
Model 2651A High Power System SourceMeter® Instrument User's Manual Section 5: Capturing high power pulse waveforms
--[[
Name:
CapturePulseI(pulseLevel, pulseWidth, pulseLimit,
numPulses)
Description:
This function outputs current pulses with a 1% duty cycle and performs
measurements using the fast ADC to capture each pulse in its entirety.
At the conclusion of the pulse train, the data is returned to the
instrument console in a Microsoft Excel compatible format.
Parameters:
pulseLevel:
The current level of the pulse in amps
pulseWidth:
The width of the pulse in seconds
100e-6
<=
pulseWidth
<=
4e-3
pulseLimit:
The voltage limit of the pulse in volts
numPulses:
The number of pulses to output
Example Usage:
CapturePulseI(50, 300e-6, 10, 5)
]]
function CapturePulseI(pulseLevel, pulseWidth, pulseLimit, numPulses)
if (numPulses == nil) then
numPulses = 1
end
-- Configure the SMU
reset()
smua.reset()
smua.source.func
= smua.OUTPUT_DCAMPS
smua.sense
=
smua.SENSE_REMOTE
smua.source.rangei
= pulseLevel
smua.source.leveli
= 0
-- The bias level
smua.source.limitv
= 10
-- The DC limit
-- Use a measure range that is as large as the biggest possible pulse.
smua.measure.rangev
= pulseLimit
smua.measure.rangei
= pulseLevel
-- Select the fast ADC for measurements
smua.measure.adc
= smua.ADC_FAST
-- Set the measure count to be 1.25 times the width of the pulse
-- to ensure we capture the entire pulse plus falling edge.
smua.measure.count
= pulseWidth / smua.measure.interval) * 1.25
-- Prepare the reading buffers
smua.nvbuffer1.clear()
smua.nvbuffer1.collecttimestamps
= 1
smua.nvbuffer1.collectsourcevalues
= 0
smua.nvbuffer1.fillmode
= smua.FILL_ONCE
smua.nvbuffer2.clear()
smua.nvbuffer2.collecttimestamps
= 1
smua.nvbuffer2.collectsourcevalues
= 0
smua.nvbuffer2.fillmode
= smua.FILL_ONCE
-- Cannot use source values with async measurements
2651A-900-01 Rev. A / March 2011
5-7