Agilent.SMU¶
Code author: Kevin Kennedy <protonyx@users.noreply.github.com>
-
class
labtronyx.drivers.Agilent.SMU.d_B29XX(resource, **kwargs)[source]¶ Driver for Agilent B2901A and B2902A Source Measurement Units
-
clearTraceBuffer(channel)[source]¶ Clears the trace buffer of the specified channel.
Parameters: channel (int) – SMU Channel
-
disableAutoAperture(channel)[source]¶ Disables the auto aperture function.
Parameters: channel (int) – SMU Channel
-
disableFrontPanel()[source]¶ Disables the front panel display. Display can be re-enabled by calling enableFrontPanel or pressing the LOCAL button on the instrument.
-
disableHighCapacitanceOutput(channel)[source]¶ Disables the high capacitance mode.
Parameters: channel (int) – SMU Channel
-
disableRemoteSense(channel)[source]¶ Disable Remote Sense (4-wire) measurements
Parameters: channel (int) – SMU Channel
-
enableAutoAperture(channel)[source]¶ Enables the auto aperture function. When enabled, the instrument automatically sets the integration time suitable for the measurement range.
Parameters: channel (int) – SMU Channel
-
enableHighCapacitanceOutput(channel)[source]¶ Enables the high capacitance mode. This mode is effective for high capacitance DUT
Parameters: channel (int) – SMU Channel
-
enableRemoteSense(channel)[source]¶ Enable Remote Sense (4-wire) measurements
Parameters: channel (int) – SMU Channel
-
enableTraceBuffer(channel)[source]¶ Enables the trace buffer to start collecting data points. Buffer size is set using setTraceBufferPoints.
Parameters: channel (int) – SMU Channel
-
frontPanelText(text_top, text_bottom)[source]¶ Set the text on the front panel of the instrument. The top line is limited to 12 characters, the bottom line to 18 characters. You can use letters (A-Z), numbers (0-9), and special characters like “@”, “%”, “*”, etc. Use “#” character to display a degree symbol.
Parameters:
-
getApertureTime(channel)[source]¶ Get the instrument aperture time.
Parameters: channel (int) – SMU Channel Returns: float
-
getError()[source]¶ Get the last recorded error from the instrument
Returns: error code, error message
-
getMeasureMode(channel)[source]¶ Get the enabled measurement functions
Parameters: channel (int) – SMU Channel Returns: str
-
getMeasurementData(channel)[source]¶ Get the measurement data from the instrument
Parameters: channel (int) – SMU Channel
-
getMeasurementRange(channel)[source]¶ Get the measurement range.
Parameters: channel (int) – SMU Channel
-
getScreenshot(filename)[source]¶ Save a screenshot of the instrument. Supported picture formats are JPG, BMP, PNG, WMF.
Parameters: filename (str) – Filename for saved screenshot
-
getSourceCurrent(channel)[source]¶ Get the source output current
Parameters: channel (int) – SMU Channel Returns: float
-
getSourceOutputMode(channel)[source]¶ Get the source output mode. Returns ‘VOLT’ (Voltage) or ‘CURR’ (Current)
Parameters: channel (int) – SMU Channel Returns: str
-
getSourceVoltage(channel)[source]¶ Get the source output voltage
Parameters: channel (int) – SMU Channel Returns: float
-
getTraceBuffer(channel, offset=0, size=None)[source]¶ Returns data in the trace buffer of the specified channel.
Parameters: Returns:
-
getTraceBufferPoints(channel)[source]¶ Get the size of the instrument trace buffer, and the number of data points currently in the buffer
Parameters: channel (int) – SMU Channel Returns: Buffer size, number of points in the buffer
-
getTriggerDelay(channel)[source]¶ Get the time delay before the first trigger
Parameters: channel (int) – SMU Channel
-
getTriggerInterval(channel)[source]¶ Get the time interval between triggers.
Parameters: channel (int) – SMU Channel
-
getTriggerSource(channel)[source]¶ Get current trigger source.
Parameters: channel (int) – SMU Channel Returns: Trigger source Return type: str
-
powerOff(channel)[source]¶ Power off the SMU using the previously programmed power-off mode
Parameters: channel (int) – SMU Channel
-
powerOn(channel)[source]¶ Enable the SMU to the programmed output level
Parameters: channel (int) – SMU Channel
-
rampVoltage(channel, startVoltage, stopVoltage, time, delay=0)[source]¶ Automated voltage ramp. Enables power output, sweeps from startVoltage to stopVoltage and keeps power enabled after ramp is complete.
Parameters:
-
setApertureTime(channel, apertureTime)[source]¶ Sets the integration time for one point measurement. Aperture time must be between 8e-6 to 2 seconds. If the value specified is less than MIN or greater than MAX, the value is automatically set to MIN or MAX.
Parameters: Raises: RuntimeError on verification failure
-
setCurrentLimit(channel, limit)[source]¶ Set current protection limit. Automatically enables current protection mode
Parameters:
-
setMeasureMode(channel, measure_mode)[source]¶ Enable measurement functions. Instrument can measure Voltage (‘VOLT’), Current (‘CURR’) or Resistance (‘RES’)
Parameters: Raises: RuntimeError on verification failure
-
setMeasurementRange(channel, meas_range)[source]¶ Set the measurement range.
Voltage Measurement Range +=============+===========================+============+ | Range Value | Voltage Measurement Value | Resolution | +=============+===========================+============+ | 0.2 V | 0 < Voltage < 0.212 | 0.1 uV | | 2.0 V | 0 < Voltage < 2.12 | 1.0 uV | | 20 V | 0 < Voltage < 21.2 | 10 uV | | 200 V | 0 < Voltage < 212 | 100 uV | +————-+—————————+————+
Current Measurement Range +=============+===========================+============+ | Range Value | Voltage Measurement Value | Resolution | +=============+===========================+============+ | 100 nA | 0 < Current < 106 nA | 100 fA | | 1 uA | 0 < Current < 1.06 uA | 1 pA | | 10 uA | 0 < Current < 10.6 uA | 10 pA | | 100 uA | 0 < Current < 106 uA | 100 pA | | 1 mA | 0 < Current < 1.06 mA | 1 nA | | 10 mA | 0 < Current < 10.6 mA | 10 nA | | 100 mA | 0 < Current < 106 mA | 100 nA | | 1 A | 0 < Current < 1.06 A | 1 uA | | 1.5 A | 0 < Current < 1.53 A | 1 uA | | 3 A | 0 < Current < 3.06 A | 10 uA | +————-+—————————+————+
Parameters:
-
setMeasurementRangeAuto(channel)[source]¶ Set the measurement range mode to auto
Parameters: channel (int) – SMU Channel
-
setPowerOffMode(channel, mode)[source]¶ Set the power off mode
- NORMAL - Normal (0V, output relay off)
- ZERO - Ground output (0V, output relay on)
- HIZ - Float output (Floating, output relay off)
Parameters: Returns:
-
setPowerOffModeFloat(channel)[source]¶ Power off the SMU, output is left floating
Parameters: channel (int) – SMU Channel
-
setPowerOffModeZero(channel)[source]¶ Power off the SMU, output is held at ground voltage
Parameters: channel (int) – SMU Channel
-
setSourceCurrent(channel, current_base, current_trig=None)[source]¶ Set the source output current. current_trig is used to specify a current level when the instrument is triggered
Parameters: Raises: RuntimeError on verification failure
-
setSourceFixed(channel)[source]¶ Set the source to fixed voltage/current mode.
Parameters: channel (int) – SMU Channel
-
setSourceList(channel, source_points=())[source]¶ Set the source to list mode. Must set to current or voltage output mode first. Timing between each point is controlled by the trigger settings. Trigger points should equal the number of items in source_points. List mode is initiated by using the startProgram method. To set a fixed timing between list points, consider this example:
setTriggerSource(1, 'TIM') # Timer setTriggerInterval(1, 1e-3) # 1ms between sweep points powerOn(1) startProgram(1)
Parameters:
-
setSourceSweep(channel, start, stop, points=2500)[source]¶ Set the source to sweep mode. Must set to current or voltage mode first. Sweeps from start to stop with points number of points. Timing between each sweep point is controlled by the trigger settings. Trigger points should match points. Sweep is initiated using the startProgram method. To set a fixed timing between sweep points, consider this example:
setTriggerSource(1, 'TIM') # Timer setTriggerInterval(1, 1e-3) # 1ms between sweep points powerOn(1) startProgram(1)
Parameters:
-
setSourceVoltage(channel, voltage_base, voltage_trig=None)[source]¶ Set the source output voltage. voltage_trig is used to specify a voltage level when the instrument is triggered
Parameters: Raises: RuntimeError on verification failure
-
setTraceBufferPoints(channel, data_points)[source]¶ Sets the size of the instrument trace buffer. The maximum number of data points in the trace buffer is 100,000.
Parameters:
-
setTriggerCount(channel, number)[source]¶ Set the trigger count for the specified device action
Parameters:
-
setTriggerInterval(channel, interval)[source]¶ Set the time interval between triggers. interval is the number of seconds, must be between 1E-5 and 1E+5.
Parameters: - channel (int) – SMU Channel
- interval – Trigger timer interval (seconds)
Float interval: float
-
setTriggerSource(channel, triggerSource)[source]¶ Set the trigger source. See VALID_TRIGGER_SOURCES attribute for valid values for parameter triggerSource
Parameters:
-
setTriggerSourceTimer(channel)[source]¶ Use the timer as the trigger source
Parameters: channel (int) – SMU Channel
-