This in-depth blog posting considers the ways in which I-V testing can be performed “on-device” using the Keithley 2450 SMU in standalone operation.

 

On-Device I-V Tracing, Let Me Count the Ways!

Performing I-V testing on the Keithley 2450 SMU can be achieved in a number of ways. Included by default in the firmware of the unit is the “sweep generator” function. When combined with the onboard graphing functions, you can perform an I-V sweep without the need for a PC. An alternative is the new I-V Tracer app which needs to be licensed and installed via a PC running KickStart 2 for the first time. Afterwards, it is resident on the 2450 SMU allowing for I-V sweeps using the rotary encoder knob for direct control. Finally, I look at using the onboard TSP scripting as a way to enable I-V sweeping across different instruments including the use of my R&S NGM202. But rather than describe these processes in-depth from the outset, I thought it would be best if you could see it for yourself in a video.

 

I-V Tracer App Licensing

As far as I am aware, the I-V Tracer app can be trialled for a limited period of time. For the purposes of this RoadTest, however, a license for the app is provided and I’ve been told by the representatives that it is possible to claim and keep it updated even on a trial version of KickStart 2, thus alleviating my worries about not having the KICKSTARTFL-BASE license to do with it. Of course, an installation of KickStart 2 is required to perform the initial installation of the app onto the SMU and possibly to keep it up to date into the future.

 

The I-V Tracer License is known as the KICKSTARTNL-ACT1 license and is a node locked license allowing for activation of the I-V Tracer feature on one instrument only. A purchase begins with ensuring that you have a Tektronix Asset Management System (TekAMS) account, which is followed by the issuing of a claim check code via e-mail that is bound to your TekAMS account.

In order to claim the license, you will need to login to TekAMS.

Once logged in, you will need to “Redeem a Claim Check”, which will add the license to the Node Locked License Inventory.

Within your installation of KickStart 2, you will need to navigate to the settings to Manage Licenses. From there, you will find the Host ID.

From TekAMS, you use the Host ID to check-out the license. Initially, I was confused as the system was complaining about the lack of a Site – it turns out that you have to add a site into the database to be able to check it out.

Once that is completed, then you need to generate the license, fill in more details and download the license file (.lic).

After that, you can import this .lic file into the license manager, where it will show up as a license for I-V Tracer.

 

I-V Tracer App Installation

To actually use I-V Tracer requires installing it onto the SMU. This is achieved by opening the I-V Tracer App from within KickStart 2. You will be prompted that it needs to be installed, as follows.

To install it, click on the installer button on the toolbar which will bring up the installer window.

From here, you can click install and the app would be installed and licensed for the connected SMU in a matter of seconds.

The licensing screen will show that the instrument has been licensed and the node locked license is consumed. Unfortunately, due to a quirk, it seems that my license shows up as a one year trial – I have contacted Tektronix for clarification as to the cause but have yet to receive a conclusive reply.

 

I-V Tracer App in Use

For the best illustration of the I-V Tracer App in action, refer to the video at the beginning of this chapter. When installed onto the SMU, it can be invoked by using the “Apps” button on the main menu and selecting I-V Tracer, followed by run.

The application starts up with a blank plotting area, flanked by buttons on the right side. Settings for the I-V tracer can be changed in the Settings dialog which include the ability to change between voltage (I-V) or current (V-I) modes, setting the current/voltage limits, sensing mode and DC polarity. These settings can be saved as presets and recalled automatically at opening the app.

To begin tracing is as simple as pushing the output key to turn the output on. The trace can be advanced by turning the rotary encoder knob clockwise and vice-versa. The speed at which the knob is rotated controls the width of the “jump” between successive steps.

Additional options can be found in the drop-down at the top allowing for configuration of the scale (which can also be effected by “pinching” the graph on the touch screen). It is also possible to save a reference curve for comparison between devices.

The draw style can be changed from the default of points to lines or points and lines. The resulting curve looks a bit more like the output you might see from a curve tracer, featuring linearly interpolated lines between measurement points.

 

On the whole, while this is designed to imitate the intuitive operation of a curve tracer, I found the set-up to be somewhat lacking, especially on the 2450. I found the feel of the rotary encoder to be less “analog” and more “digital” owing to the stepped operation. The knob “acceleration” with regards to speed of rotation is hard to gauge, since the unit plots only 2-3 points per second at the most. Depending on the limit settings, it can be extremely easy to overshoot the inflection point of the curve, requiring a back-and-forth action to try and get more resolution around this point. The output is maintained on during the trace, which means that slower tracing will result in possible heating of the device under test, resulting in deviations of the traced curve. The alternative is turning the knob slowly and consistently, but this results in a very slow trace that may wear out the rotary encoder (and your fingers). Based on my experiences, I find the I-V Tracer App hard to consider as a good replacement for a curve tracer, especially when used on the 2450 in its current form.

 

Some of these limitations seem to be specific to the 2450, because it does not have the high-speed digitisers and AC capability of the 2461, thus cannot offer quite the same experience. I have made some suggestions to Tektronix that they may consider automatically plotting intermediate points while sweeping, adjust the way the knob acceleration works or instead use the touch screen input (e.g. slide your finger to adjust sweep direction and speed) to make a more “analog” feeling tracer. After all, the SMU is quite quick with its outputs, but this app just doesn’t feel like it’s making the most of the capabilities.

 

The app also seems to have a quirk when changing from Voltage to Current mode, which causes an error to be displayed, but the app continues to function correctly.

It would seem to me that compared to the Sweep Generator and graphing features on-board the SMU, the I-V Tracer offers the user more “direct” control of how the trace proceeds, having some flexibility as to where to spend more “effort” to get clearer data. The downside is that the implementation using the digital rotary encoder and unintuitive-feeling knob acceleration makes this less ideal than it could be. The Sweep Generator and graphing features, on the other hand, are included with the SMU at no additional cost and can offer high resolution across the swept range, naively stepping at a fixed interval which may take a longer, but more consistent, time. It will sweep in one direction just fine, but does not easily allow you to “scrub” back and forth. Both methods, unlike KickStart 2’s I-V Characterizer, can operate on the SMU alone without the need for a connected PC.

 

I-V Tracer App While Connected with KickStart 2

The I-V Tracer App can also be used with KickStart 2 connected to the SMU. In this case, the control and interaction of the app must occur on the instrument itself, instead, KickStart 2 provides a vehicle to read the data, plot the I-V curve and export the data on the PC directly without needing to resort to exporting the instrument’s memory buffers to a connected USB or via the web interface.

Note that as the graph on KickStart 2 is plotted as a line graph, scrubbing back and forth on the curve results in the “web” of lines seen in the image above.

 

Despite this, a number of quirks were experienced during testing.

In one case, the graph could not be displayed as the application complained of being low on memory, while the computer had 59.5GB of free memory. This was resolved after restarting the program.

Another issue manifests itself when trying to select all of the table data and copy to the clipboard – for some reason, the left column is always partially deselected when this is attempted, resulting in a “sheared” table being copied.

 

There is no doubt that the software issues could be improved or resolved in future versions, but my experiences with KickStart 2 so far seem to suggest that the software is still lacking somewhat when it comes to polish.

 

Experiment: Inter-Instrument Co-operation for MOSFET Tracing?

So far, the review has mostly concerned itself with tracing two-terminal devices. However, a common use case is to trace three-terminal devices such as MOSFETs. This is usually achieved by using two SMUs together and the Keithley KickStart 2’s I-V Characterizer definitely supports this provided you use supported Keithley instruments.

 

Unfortunately, I don’t have any other supported Keithley instruments, so I was “on my own”, so to speak. My initial thought would be to do things the “old fashioned way” using a PC and SCPI remote control, but then it dawned on me that the TSP capabilities of the 2450 SMU may allow me to get away without requiring a PC at all.

 

After about half an hour of reading through portions of the TSP command reference and laying down some code, I decided to use the internal sweep generation feature of the 2450 SMU to record the I-V parameters of the drain-source connection. The gate-source voltage would be provided by a third-party instrument – my Rohde & Schwarz NGM202 two-quadrant power supply. This is possible, because the tspnet commands in the 2450 SMU allow for sending and receiving commands (in this case, SCPI commands) over LAN socket connections. As a result, I was coding a TSP script that would speak SCPI to the NGM202, which worked a treat! The results of the sweep would be stored locally on a USB stick attached to the SMU’s front port, named by Unix time and step number. The code was surprisingly easy to write, even for someone who has never touched Lua or TSP before this RoadTest and really illustrates the power of the TSP. Unfortunately, the family of I-V curves would have to be “built” using Microsoft Excel on a PC afterwards.

 

The code is as follows:

-- MOSFET Sweep using Keithley TSP Control
-- Using a third-party power supply (R&S NGM202) to supply Vgs
-- via the TSPNet control interface over LAN, logging to USB.
-- Demonstration by Gough Lui - June 2020

local address, channel, vgs
address = "192.168.80.18" -- address of instrument supplying Vgs
channel = "2" -- instrument channel
vgs = {} -- list of test Vgs values
vgs[1]  = "1.0"
vgs[2]  = "1.5"
vgs[3]  = "2.0"
vgs[4]  = "2.5"
vgs[5]  = "2.75"
vgs[6]  = "3.0"
vgs[7]  = "3.25"
vgs[8]  = "3.5"
vgs[9]  = "3.75"
vgs[10] = "4.0"
vgs[11] = "4.25"
vgs[12] = "4.5"
vgs[13] = "4.75"
vgs[14] = "5.0"
vgs[15] = "10.0"

-- Begin Script
display.clear()
display.changescreen(display.SCREEN_USER_SWIPE)
display.settext(display.TEXT1, "MOSFET Sweep with")
display.settext(display.TEXT2, "Other Instr Ctl by Gough Lui")

delay(2.0)

-- Check USB is Ready
display.clear()
display.settext(display.TEXT1, "Setting up USB")

if (file.usbdriveexists() == 1) then
  display.settext(display.TEXT2, "USB Memory Device OK")
else
  display.settext(display.TEXT2, "USB Memory Device FAIL")
  exit() -- end script if no USB device
end

-- Connect to Other Instrument
display.settext(display.TEXT1, "Opening Other")
display.settext(display.TEXT2, "Instrument at "..address)

delay(2.0)
ins_ngm202 = tspnet.connect(address,5025,"")
if (not ins_ngm202) then
  display.settext(display.TEXT1, "Failed to Connect")
  display.settext(display.TEXT2, "to other instrument!")
  exit()
end
tspnet.termination(ins_ngm202, tspnet.TERM_CRLF)
tspnet.execute(ins_ngm202, "*IDN?")
display.settext(display.TEXT1, "Connected to:")
display.settext(display.TEXT2, tspnet.read(ins_ngm202))

delay(2.0)

-- Setup Instrument Parameters
tspnet.execute(ins_ngm202, "INST:NSEL "..channel)
tspnet.execute(ins_ngm202, "SOUR:CURR 0.1") -- Igs limit
tspnet.execute(ins_ngm202, "SOUR:VOLT 0")
tspnet.execute(ins_ngm202, "OUTP 1")


-- Begin Iterating Through Vgs List
display.settext(display.TEXT1, "Setup Complete!")
display.settext(display.TEXT2, "Begin Iterating ...")

delay(1.0)
display.changescreen(display.SCREEN_HOME)

for z = 1, table.getn(vgs), 1 do
  tspnet.execute(ins_ngm202, "SOUR:VOLT "..vgs[z])
  --print(localnode.gettime())
  delay(0.1) -- Output Settling Delay
  defbuffer1.clear()
  smu.source.func = smu.FUNC_DC_VOLTAGE
  smu.source.ilimit.level = 1.0 -- Ids current limit
  smu.measure.func = smu.FUNC_DC_CURRENT
  -- Configure Linear Sweep 0-10V in 201 steps into defbuffer1
  smu.source.sweeplinear("LinSweep",0,10,201,smu.DELAY_AUTO,1,smu.RANGE_BEST,smu.ON,smu.OFF,defbuffer1)
  trigger.model.initiate()
  waitcomplete()
  -- Save Results
  buffer.save(defbuffer1,"/usb1/"..localnode.gettime().."step"..tostring(z)..".csv")
end

-- Script Completed - Tidy Up
display.changescreen(display.SCREEN_USER_SWIPE)
display.settext(display.TEXT1, "Script Completed!")
display.settext(display.TEXT2, "Closing Inst at "..address)
tspnet.execute(ins_ngm202, "OUTP 0")
tspnet.execute(ins_ngm202, "OUTP:GEN 0")
tspnet.disconnect(ins_ngm202)


 

With the data downloaded and plotted, we are greeted with the results.

That’s not the lovely datasheet set of curves I was expecting! But perhaps that is not too unexpected – I am just using banana jack test leads and the sweep was sufficiently slow that device heating effects and even stray charges were likely changing the device’s characteristics while the test was running, resulting in strange behaviour for a few intermediate voltages. There is the possibility that the SMU may have also contributed (as my unit appears to have a hardware issue).

When looking at it in the log view, it can be seen that the plot of curves especially at lower Vgs values is very much in line with expectations. The current appears to be unstable at about 100pA, but that’s extremely low for a set-up that pays no attention to insulator leakage and stray currents. A good job, especially because the Keithley 2450 was running the whole test with no PC intervention.

 

Conclusion

The 2450 SMU offers a number of different on-board approaches to I-V curve measurement – there is the onboard sweep generator and graphing feature, the optional I-V Tracer app and the possibility of using TSP scripting.

 

The I-V Tracer app is licensed as option KICKSTARTNL-ACT1 which was provided as a claim check by e-mail for redemption through the TekAMS system which generated a license file to be imported into KickStart 2. From there, the app needs to be installed to the SMU on the first use, after which it remains resident on the SMU and can be run without the computer. The claim process was a bit more complex than I had expected and after installation, the system believed I had a one-year trial even though this should not have been the case. It could be related to installation on a trial version of KickStart 2, but I was assured by Tektronix that this should not cause any problems.

 

The I-V Tracer app is designed to imitate the intuitive operation of a curve tracer by providing a real-time graph of current and voltage, controlled by the rotary encoder knob on the front panel. I found the set-up to be somewhat lacking, especially on the 2450. I found the feel of the rotary encoder to be less “analog” and more “digital” owing to the stepped operation. The knob “acceleration” with regards to speed of rotation is hard to gauge, since the unit plots only 2-3 points per second at the most. Depending on the limit settings, it can be extremely easy to overshoot the inflection point of the curve, requiring a back-and-forth action to try and get more resolution around this point. The output is maintained on during the trace, which means that slower tracing will result in possible heating of the device under test, resulting in deviations of the traced curve. The alternative is turning the knob slowly and consistently, but this results in a very slow trace that may wear out the rotary encoder (and your fingers). Based on my experiences so far, I find the I-V Tracer App hard to consider as a good replacement for a curve tracer, especially when used on the 2450 in its current form.

 

Some of these limitations seem to be specific to the 2450, because it does not have the high-speed digitisers and AC capability of the 2461, thus cannot offer quite the same experience. I have made some suggestions to Tektronix that they may consider automatically plotting intermediate points while sweeping, adjust the way the knob acceleration works or instead use the touch screen input (e.g. slide your finger to adjust sweep direction and speed) to make a more “analog” feeling tracer. After all, the SMU is quite quick with its outputs, but this app just doesn’t feel like it’s making the most of the capabilities.

 

Compared to the Sweep Generator and graphing features on-board the SMU, the I-V Tracer offers the user more “direct” control of how the trace proceeds, having some flexibility as to where to spend more “effort” to get clearer data. The downside is that the implementation using the digital rotary encoder and unintuitive-feeling knob acceleration makes this less ideal than it could be.

 

I-V Tracer can also be used with KickStart 2 connected, in which case it provides a table of data, plotting of the I-V curve on the computer and the ability to export the data. For both the I-V Tracer app and KickStart 2, a number of quirks were encountered which suggests the software could do with some additional polish.

 

I also explored I-V tracing a MOSFET at several different gate voltages using TSP scripting to control the 2450 to provide the Vds and an R&S NGM202 to provide the Vgs. Using the tspnet commands, it is possible to use the 2450 to also control other vendor instruments over LAN (in this case, using SCPI). As a result, it was possible to perform such an I-V trace without the need for PC connection entirely, storing the data to a locally-connected USB memory device for later processing. As someone who has never written TSP code prior to this RoadTest and has never coded in Lua before, it was exciting to see that it only took about 30 minutes of looking at references to get from nothing to a completed script. The results weren’t perfect, as it seems thermal effects and stray charges may have affected some of the curves, but the SMU shows impressive low-current resolution in this test as well.

 

---

This blog is part of the Keithley 2450 SMU with I-V Tracer RoadTest.