The popular SourceMeter product line consists of several individual products that offer a wide range of current and voltage ranges for both sensing and sourcing. Within this portfolio is the model 2430 that specifically has a pulse mode. This pulse mode allows generation of pulses as short as 150 µsec in duration.
However, applications that require pulses of longer duration may be able to make use of other SourceMeter products in the line. The required pulse specifications will determine whether you can use a ‘non-pulse mode’ SourceMeter for a pulsing application or not. Generally, if you can tolerate some timing variations (typically 100µs - 400µs) and if the pulse width required is no less than 2ms for source & measure one function or 640µs for source only (no measurements), you may be able to use a ‘non-pulse-mode’ SourceMeter.
Please note that using a ‘non-pulse-mode’ SourceMeter for a pulsing application requires an indirect approach and as a result, you usually don’t have tight timing control as you would with the ‘pulse-mode’ 2430 SourceMeter.
The remainder of this note will discuss an example on how to program a ‘non-pulse-mode’ 2400 for a current pulsing application.
Supply 10 consecutive 10mA pulses to a device under test (DUT) and measure the voltage across the DUT. The pulse width should be 2.5ms and the ‘off’ time between pulses should be 5ms.
In order to achieve the requirement, we need to understand the different parameters that affect the timing in the Source – Delay – Measure cycle. Your strategy should be to fix as many parameters as possible and adjust a selected few parameters. The approach will involve setting the parameters with estimated values – as well as fine-tuning some parameters by actually verifying the signal with an oscilloscope.
You should also turn off “Auto” features such as Auto Zero and Auto Range, since they will increase the measurement time and pulse uncertainty. Also note that there usually is more than one approach you can take to achieve the given requirement.
S-D-M cycle Background
The Appendix A of 2400 Series User’s manual provides helpful timing information on the S-D-M cycle. As these values are not specifications, it may vary with firmware or hardware revision. You should only use these values as benchmarks for initial estimation.
Let’s consider Case III (Appendix A-9 of 2400 Series User’s manual).
Given Timing Specs
Trigger Latency = 225 µs (Note: for external Trigger Link trigger)
Source Configuration = 50 µs max
A/D conversion = [NPLC x 1/(power line freq)] + 185 µs
Firmware over head = 640 µs for source I - (Note: not shown in above timing diagram)
Other settings: Fixed Ranged Voltage, Source Auto Clear ON, Concurrent readings OFF.
Let’s make NPLC = 0.08, source delay=0. The source on time can be approximated as:
Source On Time = 50 µs + 0 + [(0.08 x 1/60) + 185 µs] + 640 µs = 2.20 ms
2400 Set up
Now that we have an idea of how long the pulse width could be, we need to consider how to achieve this pulse from 2400, before fine-tuning it.
Note that ‘Source Auto Clear’ feature of 2400 turns on the source at the beginning of the S-D-M cycle and turns it off at the end of the S-D-M cycle. By programming the 2400 to source I and measure V – and by setting the trigger count to 10, we will end up with 10 S-D-M operations.
2400 Configuration Summary: Source I & Measure V, Front Panel Display OFF, Concurrent readings OFF, Fixed range voltage, Auto Zero OFF, Source Auto Clear ON, Trigger source – immediate, Source Delay and Trigger Delay Set to zero initially. The following is the SCPI sequence that will perform this:
:TRAC:CLE ‘clear buffer and set for 10 readings
:STAT:MEAS:ENAB 512 ‘generate an SRQ upon buffer full (GPIB only!)
:TRIG:COUN 10 ‘trigger count
:SYST:AZER:STAT OFF ‘Auto Zero off
:SOUR:FUNC CURR ‘source current
:SENS:FUNC:CONC OFF ‘concurrent readings off
:SENS:FUNC "VOLT" ‘measure voltage
:SENS:VOLT:PROT:LEV 10 ‘voltage compliance
:FORM:ELEM VOLT ‘read back voltage only
:SOUR:CURR 0.01 ‘source current level
:TRIG:DEL 0 ‘trigger and source delay – we will modify this below***
:SOUR:CLE:AUTO ON ‘source auto clear
:DISP:ENAB OFF ‘display set up
‘On receiving SRQ.
‘Enter 10K bytes of data from 2400 & process data
‘clean up registers
Figure 1 shows voltage pulses observed across a 1 kOhm resistor. Notice that there are slight timing discrepencies between our estimation and actual pulses. (e.g. one reason for discrepency - TriggerLINK trigger was assumed in estimation while immediate trigger was used in actual case).
Now our task is to fine tune this waveform to achieve the required pulse of 2.5ms ‘On’ & 5 ms ‘Off’. In doing so we will adjust only 2 parameters: Trigger Delay – which affects the ‘Off’ portion of the pulse & Source Delay – which affects the ‘On’ portion of the pulse. We can achieve a close approximation of the required pulse at:
Trigger Delay = 4.38 ms
Source Delay = 0.46 ms
Change two lines in the above code with:
:TRIG:DEL 0.00438 ‘adjust trigger & source delay to achieve required pulse
You will also notice that even with the exact same parameters, the pulse timing may vary slightly between different runs due to system jitters (Figure 2 and 3 actual pulse parameters).
In the approach discussed here, we rely on the Source Auto Clear feature of the 2400 to automatically turn the source on and off. There are other approaches you may use to achieve the same requirement. One of the alternative approaches you may want to consider is to perform a sweep using the ‘sweep list’. In the ‘sweep list’ you would enter a series of source values (e.g. 0,0.01,0,0.1…etc.). This approach can be particularly useful if your pulse specification requires a non-zero bias level.
Using a non-pulse-mode SourceMeter for a pulsing application can be accomplished even though it requires an indirect approach. The timing resolution achieved this way is usually acceptable for most applications. However, if your application has critical timing requirements, you should consider model 2430 in Pulse Mode, which can source pulses as short as 150µs.