1 Introduction

Simple, efficient and easily configurable custom laboratory software is helpful for researchers to perform measurements, quickly and repeatedly. Also, custom laboratory programs can give a complete solution for both measurement and data evaluation issues [1,2,3,4,5]. This type of customized programs can be written either in functional programming languages (such as C, Python, XML programming language) [6,7,8] or with software development environments (such as VEE Pro and LabView) [9,10,11]. Moreover, those programs are generally developed by researchers. Researchers get involved in all the main ingredients of the programming process [12,13,14,15]. They define the problem, plan the solution, code the program and finally test and document the program.

Software development environments are usually preferred due to the driver support for measurement systems. They do not require knowledge about programming languages, but steps of creating a program are the same with any programming language. For example, program input parameters can be easily assigned to the variables and recalled in anywhere in program via “set variable-get variable” objects, and all processes can be realized with the suitable objects or command lines.

VEE Pro, which is a graphical programming environment, is utilized on instrument control and automation. The software is capable of building test systems, the numerical computation, visualization, programming with MATLAB and many different options for researchers and/or manufacturers’ specific requirements. VEE Pro also provides an instrument manager and a dynamic I/O server for instruments, and it is GUI-based development environment; therefore, there is no need for coding skills. Because of flexibility, VEE Pro can be used to complete solution in test, automated measurement, data analysis and reporting the results.

Temperature-dependent/independent I–V, C–V and C–f measurements of MS contacts are important for characterization of devices. Obtained information from the measurement results determines the property and performance of potential device application. In this paper, we introduced a low-cost LN2-cooled cryostat system design and fully automated data acquisition program prepared with the VEE Pro. In the first section, it is presented a LN2-cooled cryostat system with vacuum jacket and temperature measurement system design. In the second section, electrical measurement system and data acquisition software are discussed.

This program is important because it allows users to control the electrical measurement processes of diodes, unlike commercially available programs. It offers a new approach and option for user requirements and with this development will provide an advantage to users in the electrical measurement process.

2 Experimental Details

Basic electrical characterization of MS contacts is based on I–V and C–V data. Results are evaluated by using many different methods and obtained parameters define MS contacts. Thus, electrical measurements are important for device fabrications. I–V and C–V measurements are performed with the high-precision source-measure units and LCR meters. Also, these measurements can be performed at various temperatures using with a closed cycle helium cryostat or LN2-cooled cryostat systems. These kinds of measurements give more details about MS contact properties and performance. For this reason, temperature-dependent I–V and C–V measurements are frequently used in semiconductor research laboratories. In this section, LN2-cooled cryostat, measurement units and controlling software are introduced. Low cost and high precision are main aspects of this measurement system.

3 Measurement System and Instrument Control Program: SeCLaS-IC

3.1 LN2-Cooled Cryostat and Temperature Measurement System Design

A simple, stable and low-cost cryostat is necessary for electrical characterization of MS contacts because temperature-dependent I–V and C–V measurements can reveal the several important points about MS contacts, such as inhomogeneity and current conduction mechanism. In other words, changing some parameters (ideality factor, barrier height, leakage current, etc.) with temperature plays an important role in revealing the general characteristics of MS contacts. LN2-cooled cryostat system design can be seen in Fig. 1. When the system is cooled to minimum temperature (below 100 K) by filling the center chamber with LN2, the temperature increase is about 0.1 K/min. This rate is enough to perform I–V–T, C–V–T and C–f–T measurements even in 5 K steps.

Fig. 1
figure 1

Schematic representation of vacuum-jacketed and liquid nitrogen-cooled cryostat

Vacuum jacket (outer chamber) system, which is made of stainless steel, stabilizes the sample temperature during the measurement time, and vacuum level is usually a few mTorr. Center chamber is similar to the outer chamber, but it is filled with the LN2. Sample holder (inner chamber) is made by thick copper plate, and device under test (DUT) and temperature measurement sensor (in this system k-type thermocouple) are inserted on the bottom of sample holder.

In here, real-time temperature measurement device is PICO TC-08 data logger which has a RS-232 interface, and temperature data is acquired via VEE Pro instrument drivers. Also, LN2-cooled cryostat system has an argon (Ar) gas inlet because sample environment must be become humidity free by replacing the air with the Ar to prevent a short circuit caused by the condensation during the measurements.

3.2 Instruments and Measurement Assembly

The electrical measurement instruments are as following;

  • High-precision, double channel Agilent B2912A source-measurement unit for I–V measurements,

  • High-precision, 20 Hz–2 MHz Agilent E4980A LCR meter unit (with dc bias source option) for C–V and C–f measurements.

Both instruments can be controlled with this software. Figure 2a, b shows the snap and the schematic diagram of the measurement setup, respectively.

Fig. 2
figure 2

Schematic diagram of the I–V and C–V–f measuring system connected to the temperature a and a photograph of the system installed in our laboratory b

3.3 Automated Instrument Control and Data Acquisition Program (SeCLaS-IC)

Temperature-dependent electrical measurement system is automated by using the VEE Pro (v7.5)-based program. This program is focused on instrument automation to help measurements. During the programming process, five programming stages are realized one by one.

3.3.1 Defining the Requirements

In the first stage, a few requirements are defined before the programming steps. According to this, program can be performed by following these requirements;

  • Control the instruments (E4980A LCR meter and B2912A SMU) and its functions (output status, bias values, frequency values, channel selection, etc.),

  • Real-time temperature measurement (independently from the measurement process) for temperature-dependent electrical measurements,

  • Electrical measurements at pre-defined temperature points (e.g., 100 K, 200 K and 300 K) or certain increment rates (e.g., Starts with 100 K and measurements performed at every 10 K increment),

  • I–V measurements at pre-defined bias range (e.g., − 3 V and + 3 V) and certain increment rates (measurements performed with 25 mV increment),

  • C–V measurements at pre-defined bias range and at certain dc signal frequencies,

  • C–f measurements at pre-defined dc signal frequency range and at certain dc bias,

  • Also, all measurement data are recorded automatically or manually, and measurement parameters can be described before the measurement (such as bias limits, bias step size, delay time between the measurement sequences, measurement mode, etc. in I–V–T measurements and frequency, bias limits, bias step size, ac signal amplitude, etc. in C–V–T measurements).

3.3.2 Design of the Program

Program task was prepared in the direction of the requirements (can be seen in Fig. 3) and virtual instruments used in design process in this step. This task is detailed in every coding step.

Fig. 3
figure 3

Flowchart of the developed program (SeCLaS-IC) showing the logic flow with control parameter inputs

3.3.3 Coding the Program

In the third step, a GUI-based development environment VEE Pro was used. Many programming objects were used in this program such as instrument–computer communication objects, variables, input method of pre-defined program parameters, data types and file storage folders.

Seven subroutines were prepared for six different types of measurement. Main program and panel view can be seen in Fig. 4a, b. All subroutines are embedded in “User functions” separately and work with only a user command. Each user function has its own main panel view to input parameters and watch window graphs, current status, saved file information, etc. The common components of these panels are real-time temperature measurements, device control functions and data processing functions. Details of panels are discussed in the following sections.

Fig. 4
figure 4

Main subroutines a and panel view b

3.3.3.1 Temperature Measurement with Pico TC-08

Real-time temperature measurement is vital for temperature-dependent electrical measurements. Watching the temperature data and starting the measurement at the right time are crucial in systems where the temperature control, as it is in here, cannot be fully realized. Therefore, temperature measurements are performed every second in runtime process of program independently from the electrical measurements. Also, this script triggers the instruments for measurement and checks the connection status of computer and PICO TC-08. Figure 5 shows customized PICO TC-08 temperature measurement script. This script converts the analogous signals to digital data and also performs Celsius to Kelvin conversion, shows instant temperature data and plots temperature–time graph.

Fig. 5
figure 5

Customized Pico TC-08 temperature measurement script

3.3.3.2 Controlling the Instruments

As mentioned before, electrical measurement test system consists of two instruments. Double channel high-precision SMU (Agilent B2912A) is the first instrument and performs I–V measurements, and the second one is 20 Hz–2 MHz LCR Meter (Agilent E4980A with dc bias option) and performs C–V and C–f measurements. Both instruments are controlled via the same command set (Standard Commands for Programmable Instruments—SCPI) to communicate each other or control computer. These SCPI commands are sent to instruments via direct I/O (DIO) objects. Also, DIO objects are used to read the results from instrument (Fig. 6).

Fig. 6
figure 6

SCPI command set and parameter input examples in I–V measurement subroutine

Three different types of parameter/command input methods (Text, Real64 and Check Box) can be seen in Fig. 6. Also, Button, List, Radio Button and Cyclic Button objects are used to define parameters/commands in this script. For example, upper and lower bias, current compliance, pulse delay time values of I–V measurements are defined by the Real64 data input object, output off status is defined by the radio button object, and measurement mode is defined by the cyclic button object.

3.3.3.3 Data Processing

Monitoring and storage of real-time data are important for measurement and evaluation procedure. For this reason, data, which is read from the instrument via DIO object, follows two different paths in this program. The first path goes to data monitoring script and allows the watching data real-time via “XY Trace,” “Alpha numeric display” and “logging Alpha numeric display” objects of VEE Pro on panel during the measurement process. The second path goes to data storage scripts in which data is saved in temporary files and moved to original files end of measurements. The flowchart of measurement data saving script can be seen in Fig. 7a, b. This script runs at every subroutine.

Fig. 7
figure 7

Typical data saving scripts of subroutines a and flowchart diagram of “auto save” mode

Dealing with the automated temperature-dependent measurement makes data storage more important. For example, three different measurement modes (quick, normal and detailed) can be applied on DUT and temperature-dependent measurements are performed at every 10 K increment between the 100 and 310 K and need many files for saving the data (see Table 1).

Table 1 File details of some pre-defined measurements and measurement modes used in laboratory tests

As can be seen in Table 1, 286,220 data points are saved to 740 files in normal mode measurements (for I–V, C–V and C–f measurements) for one SBD (between the 100 and 310 K). While performing a detailed measurement, these numbers will increase. Furthermore, if you have a few MS contacts, these numbers will increase exponentially. It is hard to control (give a name, save, etc.) these files manually; thus, they have to be managed automatically. Therefore, auto data save script is added to SeCLaS-IC (Fig. 7). In this script, data is called from temporary file and then saved to another file whose name contains current temperature value and is created automatically at the end of each measurement. Also, all measurement parameters and error outputs are saved into log files.

3.3.4 Test the Program

In the fourth stage, some tests are performed on seven subroutines. Communication with the instruments (e.g., sending command, pre-defined data reading, etc.), data traffic in main program and data processing (e.g., creating data file, file saving process, creating log file) are tested part by part. Finally, all subroutines are combined in main program and tests are performed on real DUT.

3.4 Final Program for I–V–T and C–V–T Measurements: SECLAS-IC

Final program was prepared by the combining seven subroutines. Each subroutine is focused on specified measurement conditions. For example, “I–V Measurement” subroutine performs temperature-independent I–V measurements at pre-defined bias range; “I–V–T Measurement” subroutine performs I–V measurements at pre-defined bias range and temperatures (Fig. 8a). The most comprehensive subroutine is “I–C–V–T Measurement,” and it performs temperature-dependent I–V and C–V measurements at pre-defined bias range, frequency and temperatures (Fig. 8b). Two cycles work together in temperature-dependent measurement subroutines. In the first cycle, the script traces the sample temperature and triggers the instruments when it reaches to the right temperature value. In the second cycle, LCR meter or SMU performs triggered measurements with pre-defined parameters. Also, some useful scripts are added to program such as output shutdown script for safety, polarity check script, working directory selection script, expert user options script for fine alignments of instrument and many others.

Fig. 8
figure 8

I–V–T panel a and I–C–V–T panel b views

SeCLaS-IC is a fluent, fast and user-friendly program and is created by the using more than 2000 VEE Pro objects. Automated basic electrical measurements perform, and it is successfully used in Semiconductor Materials Research Laboratory at Erciyes University/Science Faculty [14, 16,17,18,19,20,21,22].

4 Conclusion

In this paper, we demonstrate a low-cost temperature-dependent or independent I–V, C–V and C–f measurement system. This system consists of LN2-cooled cryostat and measurement instruments (E4980A LCR meter and B2912A SMU) with the control software. For that purpose, stable LN2-cooled cryostat with vacuum jacket was designed, and VEE Pro-based program (SeCLaS-IC) was prepared for automated measurements. SeCLaS-IC controls two instruments, and it starts the measurement automatically according to acquired temperature information from Pico TC-08. This program is successfully used to perform I–V–T and C–V–T measurements of SBD in our laboratory.

The preparation of such a program makes it possible to make many consecutive measurements quickly and potential users to manage the process easily. Moreover, users can make the electrical measurement process suitable for their own laboratory processes by making changes in the program.