Wiki

This version (26 Apr 2024 20:00) was approved by Slater Campbell.The Previously approved version (22 Apr 2024 22:33) is available.Diff

EVAL-ADMX2001 LCR Meter Demo/Evaluation Setup

This page applies to hardware revision B and C, and firmware versions 1.1.0, 1.1.1, 1.2.0, and 1.2.2. It may not apply to past or future versions. For firmware update instructions, see Firmware Updates.

The EVAL-ADMX2001 LCR Meter Demo is an evaluation system that is comprised of both the ADMX2001B and the EVAL-ADMX2001EBZ boards.

The ADMX2001B is a high-performance, precision impedance analyzer module.

  • Highly compact, 1.5 inch by 2.5 inch System-on-Module (SOM)
  • Resistance measurements at DC or impedance measurements from 0.2 Hz to 10 MHz
  • 18-bit acquisition channels
  • Operates from a single 3.3V supply
  • Flexible UART and SPI interfaces
  • 18 display mode formats in SI units

The EVAL-ADMX2001EBZ is an easy-to-use evaluation and development breakout board that enables convenient access to the functionality of the ADMX2001B Precision Impedance Analyzer Measurement Module.

  • BNC connectors can interface to common LCR meter test probes and fixtures
  • UART interface can be used with USB-to-UART cables to interface to host PC
  • Trigger and clock synchronization signals are available through SMA connectors that simplify the connection to standard test equipment
  • Arduino-style headers allow the user to develop embedded code with boards like the SDP-K1
  • Power jack accepts various input voltages from ac/dc power adapters that can supply +5V to +12V

EVAL-ADMX2001EBZ Evaluation Kit Contents

  1. EVAL-ADMX2001EBZ board
  2. UART to USB cable (TTL-232R-RPI)
  3. Universal power adapter with 9VDC output
  4. LCR meter test clips


Additional Equipment Required

  1. ADMX2001B High-Performance Precision Impedance Analyzer Measurement Module

It is critical to purchase both the the ADMX2001 High-Performance Precision Impedance Analyzer Measurement Module and the EVAL-ADMX2001EBZ LCR Meter Demonstration Board. These are sold separately.

Optional Equipment

Quick Start

There are five simple steps to start evaluating the ADMX2001:

  1. Driver Installation
  2. Terminal Emulator Installation
  3. Basic hardware setup
  4. Open a session through the terminal emulator (e.g. TeraTerm)
  5. Perform basic measurements

These steps are explained in detail in the following sections.


1. Driver Installation

The default communication interface to the EVAL-ADMX2001EBZ is via its UART port. When using the UART to USB cable included with the evaluation board (TTL-232R-RPI), FTDI's Virtual COM Port (VCP) drivers must be downloaded from their website located at https://www.ftdichip.com/Drivers/VCP.htm

Installation steps:

  1. Download the driver setup executable for the host OS version from https://www.ftdichip.com/Drivers/VCP.htm
  2. Unzip the file and run the setup executable
  3. Connect the USB to UART cable to the PC
  4. Open the Device Manager
  5. In the Device Manager window, verify that the USB Serial Port is displayed under “Ports (COM & LPT)” and that a serial port identifier has been assigned as shown below:



2. Terminal Emulator Installation

To communicate with ADMX2001B via its command-line interface and UART, a terminal emulator like TeraTerm is recommended. Download TeraTerm from the official Github Releases page:

Download and run the latest stable release. Follow the on-screen instructions.

Alternatives like PuTTY can also be used, but some users have had issues with PuTTY where the terminal window does not open. Additionally, some terminals do not support the ANSI Escape Codes which manipulate the cursor position and text color. If the ANSI Escape Codes are not supported, the terminal will render them as boxes. TeraTerm supports these characters.


3. Basic Hardware Setup

The following figure shows the basic connections required for evaluating the EVAL-ADMX2001.

  1. Insert the ADMX2001B module into the EVAL-ADMX2001EBZ board in the location shown above. The connectors are keyed, so they can only be inserted in the orientation shown
  2. Set the load select switches to OPEN and GND, as shown below. This is required for the self-test to pass, indicated by the red/green LED on the underside of the ADMX2001B module

  3. Connect the power adapter to the power jack and to the AC outlet
  4. Verify that the self-test light is green
  5. Connect the UART to USB cable to the UART terminals TX-->TX, RX-->RX and GND-->GND:

  6. Ensure that the CLK_SEL jumper is set to INT (internal clock)
  7. Set the load select switches to DUT and GND, as shown below:

  8. Use the test leads to connect to the device under test (DUT):

Inspect the BNC connectors on the test clips. The housing can become partially unscrewed, allowing the conductor to be pushed back inside and preventing it from making good contact. Additionally, when using the clips in the “open” configuration, each clip should clamp on its own small wire scrap to ensure both sides of the clip are electrically connected.

An example of how to use the wire scrap in each of the test clips, when using them in the open configuration:


Self-Test Functionality

When the ADMX2001B powers on, it automatically performs a self-test. The bi-color LED on the underside of the board will turn green if the board boots and passes the self-test, or yellow if the self-test fails. It will turn red if there is a major issue preventing it from booting. In order to pass the analog component of the self-test, the switches S1 and S2 must be set to OPEN and GND. Alternatively, if S1 and S2 are in the DUT and GND position, the test leads must be connected in the 'open' configuration to pass the self-test. The board will still attempt to function without passing the self-test.

The status of the last self-test can be seen by running the command selftest. Using selftest run will rerun the self-test. By default, the self-test only runs on boot.


4. Opening a Session via TeraTerm

After installing TeraTerm, open the program and choose Serial connection. Select the COM port identified earlier in Device Manager. Click OK. Then choose the dropdown labeled Setup, click Serial port, and ensure that the COM port is set, Speed=115200, Data=8 bits, Parity=none, Stop bits=1 bits, Flow control=none. Click New setting. Optionally, choose Setup→Save setup. Save the file to the default directory. Now, when launching TeraTerm, it will automatically try to connect with the saved settings.

Make sure the hardware is properly installed and that power is available to the board via the 12V power adapter. TeraTerm should now be connected to the board. To check:

  • Press ENTER to display the ADMX2001> prompt
  • Type *idn and press ENTER to display the firmware version
  • Type help and press ENTER to see a list of commands supported by ADMX2001B.

Please note that closing the TeraTerm window does not reset the ADMX2001B settings from the last session.


5. Performing Basic Measurements

Upon opening a session with TeraTerm, the ADMX2001B is ready to perform impedance measurements.

The measurements reported by the module will not be accurate unless it has been calibrated. For detailed instructions on how to calibrate the module, please refer to the Calibration Procedure section in this user guide.

By default, the module is set to perform single-point impedance measurements in rectangular coordinates with a 1V pk signal (magnitude = 1) at 1kHz, and no DC offset. To initiate a measurement type the z command at the prompt and press ENTER.

Measurement settings are not always in their base SI form. Frequency is in kHz, delays are in milliseconds. The signal magnitude sets the Vpk value. The peak-to-peak value is twice the signal magnitude, centered around the offset voltage. The DC offset is in volts.

The AC magnitude can be configured anywhere between 0.15V pk and 2.25V pk, but the actual magnitude across the DUT will be be dependent on the DUT impedance, due to the 100Ω source resistance; see Selecting a Measurement Range for details.

The order in which the settings commands are entered is not important.

Example

Perform a capacitance measurement in parallel with an equivalent resistor (Cp-Rp) at 100kHz with a 1V amplitude (2V pk-pk) sine. Return 5 readings, where each is an average of 10 samples.

ADMX2001> frequency 100
frequency = 100.0000kHz
ADMX2001> display 9
Measurement model: 9 - Capacitance and equivalent parallel resistance (Cp,Rp)
ADMX2001> magnitude 1
magnitude = 1.0000
ADMX2001> average 10
average = 10
ADMX2001> count 5
sampleCount = 5
ADMX2001> z
0,5.677640e-13,8.062763e+07
1,5.668012e-13,8.305672e+07
2,5.675237e-13,8.208995e+07
3,5.673763e-13,8.276912e+07
4,5.683635e-13,8.463327e+07
ADMX2001>

By default, auto-range is selected. To disable the auto-ranging function, use the setgain <ch> <setting> command to select a specific measurement range for the voltage (ch0) or current (ch1) measurement channels.


Using the Help Functionality in the Command-Line Interface

The help command will display all the commands available to the user from the command-line interface (CLI). To get help for any command, simply type

ADMX2001>help <command>

For example, to get help with how to select different measurement display formats, type

ADMX2001>help display

Which should show a similar screen to the picture shown below



Useful Hints

Measurement Display Modes

The ADMX2001B returns a result in one of 18 different display modes, shown below. The result is always reported in the base SI unit. For instance, display mode 0 (Cs, Rs) returns the series capacitance in Farads, and the series resistance in Ohms.

Display Mode Number Mode Name Form SI Unit
0 Equivalent series capacitance and resistance Cs, Rs Farads, Ohms
1 Equivalent series capacitance and dissipation factor Cs, D Farads, Dimensionless
2 Equivalent series capacitance and quality factor Cs, Q Farads, Dimensionless
3 Inductance and equivalent series resistance Ls, Rs Henries, Ohms
4 Equivalent series inductance and dissipation factor Ls, D Henries, Dimensionless
5 Equivalent series inductance and quality factor Ls, Q Henries, Dimensionless
6 Impedance in rectangular coordinates (default) R, X Ohms, Ohms
7 Impedance in magnitude and phase in degrees Z, deg Ohms, Degrees
8 Impedance in magnitude and phase in radians Z, rad Ohms, Radians
9 Capacitance and equivalent parallel resistance Cp, Rp Farads, Ohms
10 Equivalent parallel capacitance and dissipation factor Cp, D Farads, Dimensionless
11 Equivalent parallel capacitance and quality factor Cp, Q Farads, Dimensionless
12 Inductance and equivalent parallel resistance Lp, Rp Henries, Ohms
13 Equivalent parallel inductance and dissipation factor Lp, D Henries, Dimensionless
14 Equivalent parallel inductance and quality factor Lp, Q Henries, Dimensionless
15 Admittance in rectangular coordinates G, B Siemens, Siemens
16 Admittance in magnitude and phase in degrees Y, deg Siemens, Degrees
17 Admittance in magnitude and phase in radians Y, rad Siemens, Radians
18 Off None None

Selecting a Measurement Range

By default, the ADMX2001B is in auto-ranging mode, which will optimize the measurement gain of the voltage and current measurement channels, depending on the frequency and magnitude of the test signal.

The auto-ranging algorithm will only be applied to the conditions of the first measurement. When performing frequency sweeps, the impedance of the device under test will change and could fall outside of the measurement range selected by the initial measurement conditions.

Additionally, the DC offset control is disabled when using the autorange. Manual gain setting must be employed when using the DC offset. The DC offset will be automatically set to -0.25V to allow the saturation detection to perform as expected when autoranging.

In some cases, the user may want to select a specific measurement range. The measurement range is mostly affected by the transimpedance of channel 1 and the test signal magnitude. It is recommended to select the transimpedance value that is smaller than the expected value of the impedance under test, but larger than the next transimpedance selection.

For example, if the DUT's expected impedance value is 2kΩ, enter the following in the command line prompt:

ADMX2001> setgain ch0 0
  Voltage meas gain = 0
ADMX2001> setgain ch1 1
  Current meas gain = 1

The command setgain ch1 will set the transimpedance of the L_CUR input (channel 1) to 499Ω, appropriate for the 1kΩ range. It is not recommended to use the 10kΩ range for a 2kΩ load since this could exceed the input channel measurement capabilities and return incorrect readings.

The ADMX2001B uses a balancing bridge architecture. A 100 ohm series resistor Rs protects the source channel. When calculating the current through a DUT or the actual AC magnitude across that DUT, this resistor must be factored in. A transimpedance amplifier is used in measuring the current, and has a 10 ohm input protection resistor Rin. A simplified diagram is shown below. In the diagram, Zx is the DUT (unknown impedance). The transimpedance amplifier holds the L_POT/L_CUR leg of the DUT at 0V.

Available current gain settings and the transimpedance values associated with them are listed below.

Ch1 Gain Measurement Range Max. Input Current Transimpedance
0 100Ω 25mA 49.9Ω
1 1kΩ 2.5mA 499Ω
2 10kΩ 250uA 4.99kΩ
3 100kΩ 25uA 49.9kΩ

The command setgain ch0 modifies the input voltage range of channel 0 (between terminals H_POT and L_POT). This is less common, but it can be used to improve measurement sensitivity if the impedance under test is smaller than the lead impedance or less than 100Ω. It can also be used if the magnitude of the test signal is small. This can be the case with sensitive loads, or when the test frequency is high.

Available voltage gain values for channel 0 are listed below.

Ch0 Gain Gain Factor Max Input Voltage Range
0 1 ±2.5V
1 2 ±1.25V
2 4 ±625mV
3 8 ±312.5mV

Voltages across and currents through the DUT that exceed these maximum values for each gain range may result in the ADC saturating, causing the measurement to fail.

Typing the command setgain will display the gain of both input channels and whether or not autoranging is enabled.

ADMX2001> setgain
Autorange enabled
voltGain = 1
currGain = 3
ADMX2001>

To turn autoranging back on after setting a manual range type setgain auto

Even though 16 gain combinations are possible, most measurements can be performed with the 7 combinations shown in the table below.

Ch0 Gain Ch1 Gain Impedance Measurement Range
3 0 < 10Ω
2 0 < 25Ω
1 0 < 50Ω
0 0 100Ω to 1kΩ
0 1 1kΩ to 10kΩ
0 2 10kΩ to 100kΩ
0 3 > 100kΩ

These are the same ranges that the autoranging algorithm uses. The following section show how to estimate the impedance value of the DUT to determine the measurement range. These measurement ranges apply for magnitude = 1 and offset = 0. They may not apply for other settings. To calculate whether the ADC will saturate, use the balancing bridge diagram above. Using the sum of the signal magnitude and offset, calculate what the current through the 100 ohm resistor + DUT will be, and choose a gain from the CH1 gain table. Then, calculate the voltage across the DUT due to this current through it, and choose a voltage gain from the CH0 gain table.

Estimating the Impedance and Admittance of Capacitive and Inductive Devices

Impedance is defined as the opposition to the flow of alternating current. Admittance is the reciprocal of impedance, or how easy is for alternating current to flow. Electrical components such as resistors, capacitors and inductors have a direct relationship between their value and the expected impedance (Z):

Z = X = -1/(2πfC) for capacitors
Z = X = 2πfL for inductors
Z = R for resistors

Where f is the frequency of the signal; C, L, and R are the component values in Farads, Henries and Ohms respectively. R represents resistance and X reactance. For admittance (Y):

Y = B = 2πfC for capacitors
Y = B = -1/(2πfL) for inductors
Y = G = 1/R for resistors

Where f is the frequency of the signal; C, L, and R are the component values in Farads, Henries and Ohms respectively. G represents conductivity and B susceptance.

All components, regardless of their construction, will show a combination of resistive (conductive) and reactive (susceptive) properties. These properties can be expressed in the form of ideal electrical components combined either in series or parallel. At any given frequency, impedance/admittance can be expressed as a combination of the reactive element (capacitor or inductor) and a resistive element. The total impedance or admittance magnitude can be obtained by calculating the square-root of the sum of squares (RSS) of the two components or


|Z| = sqrt(R*R + X*X)
|Y| = sqrt(G*G + B*B)

To determine the best measurement range for measurement, it is necessary to estimate the impedance or admittance of the device under test at the frequency of measurement using the equations above. A simpler method to obtain an approximate value based on the expected capacitance or inductance value is through the reactance chart shown below.

To find the approximate impedance or admittance value for a capacitor or inductor, find the closest expected value assigned to the diagonal lines and find its equivalent impedance/admittance value on the vertical axis at the frequency of interest (on the horizontal axis).

Reducing Measurement Noise

The average command determines how many samples are averaged for each reading returned. Averaging reduces noise and is helpful in applications that require to detect small changes in a value or when the impedance component of interest is small in comparison to the total impedance magnitude (e.g. ESR of capacitors). The default is set to 1, which means that no averaging is done.

Averaging increases the time required to return a reading. Values greater than 256 have been observed to have little effect in reducing measurement noise and have a significant impact on measurement speed.


Improving Measurement Precision

To ensure precise and accurate measurements, impedance measurements should be performed with appropriate test fixtures. Measurement leads can introduce additional errors due to parasitic impedances that will vary depending on mechanical configuration.

The test leads included with the EVAL-ADMX2001EBZ kit can introduce fluctuations of a few picofarads depending on their position. This effect becomes more noticeable with test frequencies higher than 100kHz.

To ensure repeatable and stable measurements, custom-made fixtures that minimize impedance fluctuations due to mechanical configuration are recommended. For example, to test surface-mount components, fixtures like the B+K Precision TL89S1 or the Keysight 16034G are recommended. For a full list of recommended accessories, please refer to the Recommended Accessories Section at the beginning of this user guide.

Performing Parametric Sweeps

The ADMX2001B can automatically perform measurements that sweep different measurement parameters such as

  • Frequency, common in EIS applications (Electrical Impedance Spectroscopy). The frequency increments can be linear or logarithmic.
  • DC bias, common in C-V measurements for semiconductor devices
  • Magnitude

By default, the sweep function is off. To enable parametric sweeps, use the sweep_type command and specify the sweep type. The command also requires the user to enter the start and end points of the sweep. The number of points is determined by the count command.

Example

Perform an 11-point logarithmic frequency sweep from 100kHz to 1MHz.

ADMX2001> count 11
sampleCount = 11
ADMX2001> sweep_type frequency 100 1000
Frequency
sweepStart = +100.0000KHz
sweepEnd = +1000.0000KHz
ADMX2001> sweep_scale log
Sweep scale is log
ADMX2001> z
1.000000e+05,5.683433e-13,8.149236e+07
1.258925e+05,5.704062e-13,4.727518e+07
1.584893e+05,5.674423e-13,2.989029e+07
1.995262e+05,5.652225e-13,1.917354e+07
2.511886e+05,5.622380e-13,1.233886e+07
3.162278e+05,5.577508e-13,8.082886e+06
3.981072e+05,5.490229e-13,5.611289e+06
5.011872e+05,5.421543e-13,3.547964e+06
6.309573e+05,5.299540e-13,2.360688e+06
7.943282e+05,5.136760e-13,1.624230e+06
1.000000e+06,4.798023e-13,1.411488e+06
ADMX2001>

When sweeping parameters, the first value printed will be the swept parameter, followed by the measurement in the display format selected.

Performing DC Resistance Measurements

The DC resistance measurement function can be easily selected by setting the test frequency to zero. In DC mode, since the AC test signal is disabled, the DC offset must be used to generate the test signal. Due to the hardware design, saturation may not be detected if the DC offset is positive; set the DC offset to a negative value to prevent this. DC resistance mode only works in display mode 6, so the display mode must be configured as such.

ADMX2001> frequency 0
DC Resistance mode enabled
ADMX2001> display 6
Measurement model: 6 - Impedance in rectangular coordinates (default) (Rs,Xs)
ADMX2001> offset -1
Offset = -1.0000
ADMX2001> z
0,4.995231e+01
ADMX2001>

In the DC resistance mode, only the DC resistance value is returned.

Optimizing Measurement Timing

The commands mdelay (measurement delay) and tdelay (trigger delay) can be used to control the settling time between measurements.

  • The measurement delay or mdelay is observed before each measurement, but not between samples when averaging. The delay is also applied during sweeps and between multiple counts. Both the DC offset and AC test signal are enabled during the delay, but the ADCs do not capture data for the measurement until the delay has elapsed.
  • Trigger delay is only observed after trigger events controlled by the “tcount” command. This is useful when using the ADMX2001B with external scanning cards or multiplexers, to allow proper debounce and settling time. If configured, the DC offset will be enabled during the trigger delay, but the AC source will only start for the data capture.

To setup mdelay and tdelay, simply enter the command followed by a value in milliseconds.

The measurement time is dependent on a number of factors. Command transmission time, configured delays, source setup time, ADC acquisition time, count setting, averages, etc. Some factors, like the ADC acquisition time, are dependent on the frequency since the ADC needs to capture a minimum of three cycles of the waveform. Above 10 kHz, the acquisition time is constant. A typical single point measurement at 10 kHz with no averaging and delays disabled will take around 23 ms from z command being sent to the result being fully written back in the terminal. Each average will add around 4 ms. Each count will add about 13 ms.

Plotting Measurement Data

When acquiring multiple measurements or performing sweeps, it is useful to plot the results to observe trends or characteristics of the device under test. TeraTerm allows the user to save a log by going to File→Log, which can then be copy and pasted into a *.csv file that can be opened by spreadsheet applications such as Microsoft Excel®. The log file must be saved BEFORE taking any measurements.

To plot the acquired data in Microsoft Excel, follow the steps below:

  1. In TeraTerm, go to File→Log, and save the log file with any name but make sure the extension is *.csv
  2. Configure the ADMX2001B and run the z command to acquire the desired measurements
  3. Make a copy of the log file to allow editing
  4. Open the file with Excel
  5. Select the data to plot and insert a scatter plot to visualize the data

Calibration Procedure

A few milliseconds after power up, the ADMX2001B is ready to perform measurements. However, any readings and their units are scaled and assigned using nominal circuit parameters. Measurement accuracy can only be evaluated after performing calibration on the module with an external calibration source with certified traceability. For example, the Keysight E4980A can be used.

There are three basic calibration steps involved in calibrating the module: open calibration, short calibration, and load calibration. The first two correct the module and test lead parasitics. The latter provides traceability to an external source. The calibration steps must be performed in the order open→short→load. Open and load calibration are the most important. Short calibration may need to be skipped in certain gain ranges where the current ADC would saturate. Open calibration may need to be skipped in gain ranges that the voltage ADC would saturate.

When performing load calibration for a given gain setting and frequency, the optimal load device (usually a resistor) is one with an impedance magnitude close to that of the eventual DUT. The best accuracy at a certain gain and frequency will be with DUTs of a similar impedance to the one used in calibration.

Resistors, capacitors or inductors can be used for calibration. High-quality resistors (e.g. thin film or metal film), air capacitors, and gas-filled capacitors tend to provide the best results. Alternatively, C0G/NP0 type ceramic capacitors can be used as well. The true value of these components must be determined with traceable measurements from another meter, such as the Keysight E4980A.

Each measurement front-end configuration (ch0 and ch1 gain combination) needs to be calibrated separately. If calibration is performed for only one gain combination, calibration needs to be carried out again if the front-end configuration changes. There are a total of 16 possible gain combinations based on the 4 gain and transimpedance ranges for channel 0 and channel 1 respectively.

The autorange will only choose between the 7 gain combinations that have a zero in at least one position. These are shown in the impedance measurement range table within the section Selecting a Measurement Range. If all measurements will be done with the autorange or with these gains, then the other gain settings do not need to be calibrated. In versions 1.2.0 and older, if the user calibrates at a specific gain and frequency, then changes the frequency and calibrates again, the user will overwrite the result of the first calibration. In version 1.2.2, support for calibration over frequency was added. See Calibration Over Frequency for more details.

Each calibration point is for a specific frequency. Measurements taken at a different frequency may be out of tolerance. Always calibrate as near as possible to the intended test frequency.

Calibration Steps

To calibrate the module in a specific gain combination, follow the steps below:

  1. Select the desired measurement configuration (gain, frequency, magnitude and offset)
    • Autorange must be disabled during calibration.
  2. Set the averaging to at least 200 samples and tdelay to 200ms (to allow sufficient settling time)
  3. Ensure the load select switches are in the DUT and GND positions, described in Basic Hardware Setup
  4. Connect the H_POT and H_CUR terminal together and the L_POT and L_CUR terminals together to form two separate connection pairs
    • If using the test clips, place them so the alligator clips are separated by the same distance as they will be when the DUT is connected. Each clip should be clipped to a very short scrap of uninsulated wire, which serves to improve the connection between each half of the clip
    • An alternative is to use BNC cables to connect the H_POT/H_CUR pairs and the L_POT/L_CUR pairs.
    • Open calibration at high frequencies and in higher impedance measurement ranges is especially susceptible to error, due to the increased opportunity for coupling into the current measurement path. The test setup is especially important under these conditions
    • For better results, use Keysight 42090A Open Termination
  5. Run the calibrate open command
  6. Connect all the measurement terminals together
    • Short calibration can be performed only when gain channel 1 is set to 0 or 1. When channel 1 is in gain 1, the magnitude of the source must be less than 0.2Vp.
    • When measuring extremely tiny impedances (<100mΩ), short calibration becomes extremely important. Many fixtures have a low repeatability under these conditions. Optimizing the repeatability of the fixture is critical to getting a meaningful result, for both calibration and measurement
    • For better results, use Keysight 42091A Short Termination
  7. Run the calibrate short command, if possible
  8. Connect a known impedance between the measurement leads
  9. Run the calibrate rt <value1> xt <value2> command where <value1> is the true value of the resistive component (Ohms) of the calibration impedance and <value 2> is the true value of the reactive component (Ohms)
    • Scientific notation can be used when entering the rt and xt values
    • For best results, a standard resistor set like the Keysight 42030A can be used

After completing the steps above, calibration coefficients are generated and stored in RAM. These coefficients will be applied to any subsequent measurements, but will be lost after a power cycle or reset of the module. To store the coefficients in non-volatile memory (flash) the command calibration commit <timestamp> must be executed. The timestamp parameter is optional. If supplied, the unix timestamp is the number of seconds elapsed since 01/01/1970. For example:

ADMX2001>calibrate commit 1689959855

This will store the calibration coefficients in the RAM to the flash, and set the date and time stamp of the calibration to 07/21/23 at 05:17 UTC.

To help ensure calibration integrity, the calibration coefficients stored in flash are password protected. The default password is Analog123 and must be entered after running calibrate commit to save the coefficients. The password can be changed with the calibrate password command. Maximum password length is 12 characters.

Calibration Example

Calibrate the gain setting (0, 1) at 100kHz with a resistor of value 1k Ohms. The true resistance Rt from the E4980A at 100kHz was measured as 1000.019 Ohms, and the true reactance Xt was 0.822 Ohms.

ADMX2001> setgain ch0 0
voltGain = 0
ADMX2001> setgain ch1 1
currGain = 1
ADMX2001> frequency 100
frequency = 100.0000kHz
ADMX2001> magnitude 1         <--- 1 Vp, 2 Vpp
magnitude = 1.0000
ADMX2001> offset 0
Offset = 0.0000
ADMX2001> average 200
average = 200
ADMX2001> tdelay 200
triggerDelay = 200.0000msec
                              <--- Connect open load now
ADMX2001> calibrate open
0,-1.117998e-09,1.162904e-06
Frequency = 100.0000kHz
Cal Temp: 41.4 deg C
open:Done
short:Not Done
load:Not Done
ADMX2001> magnitude 0.2       <--- Need to reduce the magnitude to avoid saturating the current ADC when measuring a short
magnitude = 0.2000
                              <--- Connect short load now
ADMX2001> calibrate short
0,2.075835e-02,1.224807e-02
Frequency = 100.0000kHz
Cal Temp: 41.4 deg C
open:Done
short:Done
load:Not Done
ADMX2001> magnitude 1         <--- Magnitude can be set back to 1 now
magnitude = 1.0000
                              <--- Connect calibration load now (in this case, a 1kΩ resistor)
ADMX2001> calibrate rt 1e+3 xt 0.822
0,1.010381e+03,-1.254483e+01
Frequency = 100.0000kHz
Cal Temp: 41.5 deg C
open:Done
short:Done
load:Done
ADMX2001> calibrate commit 1689959855   <--- The timestamp can be omitted here
PASSWORD> *********
commit : success
ADMX2001> display 6
Measurement model: 6 - Impedance in rectangular coordinates (default) (Rs,Xs)
ADMX2001> z
0,1.000021e+03,8.220137e-01
ADMX2001>

Reading and Writing Calibration Coefficients

Calibration coefficients for each gain can be read to the terminal, and written back to the device. This allows the user to save coefficients for multiple different test setups, conditions, or frequencies. To read the currently loaded coefficients for a certain gain setting, run the command rdcal <vgain> <igain>. This prints the 12 AC and and 2 DC coefficients to the terminal, where they could be saved by an external device. To write coefficients to the device, use the command storecal <vgain> <igain> <coefficient_name> <value>, where coefficient_name is one of the 12 AC or 2 DC coefficients. For example, set Ro to 1e+6 for the gain vgain=0, igain=1:

ADMX2001> storecal 0 1 Ro 1e+6
ADMX2001> rdcal 0 1
Ro = 1.0000000e+06
Xo = -8.5991553e+05
Go = -1.1179984e-09
Bo = 1.1629038e-06
Rs = 2.0758350e-02
Xs = 1.2248066e-02
Gs = 3.5733319e+01
Bs = -2.1083758e+01
Rg = -9.4387458e+03
Xg = 8.5097009e+05
Gg = -3.5847357e+01
Bg = 2.1737716e+01
No calibration coefficients found for the given arguments. The defaults coefficients are ...
Rdg = 1.0000000e+00
Rdo = 0.0000000e+00
ADMX2001>

This process should be repeated for all coefficients for a given gain to be valid. If using other gains, the coefficients will need to be stored for them too. Then, they must be saved using calibrate commit; otherwise, they will be lost if the system reboots.


Calibration Over Frequency

Starting in firmware version 1.2.2, calibration over frequency support is implemented. This means that all 16 gain settings can be fully calibrated at multiple frequency points. The process for calibrating over frequency is the same as single point calibration, except after running calibrate commit for the final gain setting at a given frequency, the user can then change the frequency and repeat the process.

When calibration is enabled, taking a measurement with z will automatically load the calibration coefficients with the nearest frequency from memory. After taking the measurement, running the command calibrate with no arguments will report the frequency of the coefficients that were used. For instance, if calibration was performed at 1 kHz and at 100 kHz, a measurement at 55 kHz would use the coefficients saved for 100 kHz.

There are no restrictions on what frequencies the user can calibrate at. However, there are two hardware revisions of the ADMX2001B module; one has EEPROM for the nonvolatile memory (older) and the other has flash memory. Modules with the EEPROM can store 25 calibration sets at different frequency points before new sets start to overwrite the oldest ones. Modules with the flash can store up to 450 calibration sets. The command selftest run will report whether the module has EEPROM or flash installed.

New commands have been added to facilitate calibration over frequency:
resetcal (unchanged) will erase only the currently loaded calibration set from RAM.
calibrate reload will load the nearest frequency calibration coefficients from the nonvolatile memory and store them in the RAM (taking a measurement implicitly runs calibrate reload).
calibrate erase will permanently delete all saved calibration sets from memory, restoring to the default configuration. This requires the password (default is Analog123) and cannot be undone!
calibrate list will report all frequencies that have any calibration data saved (at least one gain setting).
calibrate list <freq> will report what gain settings at a given frequency have been calibrated.

The commands for reading and writing calibration coefficients detailed in Reading and Writing Calibration Coefficients apply to the currently selected frequency.

Preloaded Calibration Sets

Version 1.2.2 also adds support for ADMX2001B modules to ship with a set of calibration coefficients intended to help with evaluating the board. Although the firmware supports it, boards that are currently shipping will not have calibration coefficients preloaded. This will be a future development.

Preloaded coefficients may not apply to a given test setup and their accuracy is not guaranteed. If the board came with them pre-loaded, then the below new commands apply:
calibrate switch <evalkit/default> choosing evalkit will apply the preloaded coefficients. Choosing default will apply user generated coefficients. Generating calibration coefficients will automatically change the active set to default.
calibrate with no arguments will report the active set.
The evalkit set cannot be modified or erased. Only the default (user) set should be modified or erased.


Compensation Procedure

Compensation is an additional measurement adjustment function designed to account for changes in the test fixture or leads that were not present during calibration.

Compensation is applied after calibration. Calibration must be on if compensation is on. Compensation is not gain dependent, but the module should be fully calibrated for the setup used when running open, short and load compensation. The compensation coefficients are stored in volatile RAM on the ADMX2001B. If the device reboots, they will be lost. They are intended to be managed by the user and stored in external memory owned by the device interfacing with the ADMX2001B. After generating the coefficients for a given fixture using the built in functions, they should be read using rdcomp, like for calibration. The gain is not provided in rdcomp, since the coefficients are not gain dependent. Compensation only uses the 12 AC coefficients, as the DC resistance of a test fixture should be negligible given proper use of the Kelvin connections. The 12 coefficients reported to the terminal can now be saved by an external device. To write them back into the volatile memory on the ADMX2001, use the command storecomp <coefficient_name> <value>. Like with the calibration coefficients, all of them must be written to be valid. Then, running compensation on will apply them to subsequent measurements. Running compensation off will disable compensation adjustment.


EVAL-ADMX2001EBZ Terminal Description


Terminal Name Description
H_CUR Signal source terminal. It generates the excitation required for measurement. This terminal can source up to +/-5V @ 50mA
H_POT Voltage sense terminal. Connect to H_CUR at the device under test (DUT)
L_POT Voltage sense terminal. Connect to L_CUR at the device under test (DUT)
L_CUR Current sense terminal. Return path for the excitation signal. Connect to the opposite end of the DUT as H_CUR
UART TX UART transmitter pin. Connect to TX pin on the UART to USB cable. Uses 3.3V logic
UART RX UART receiver pin. Connect to RX pin on the UART to USB cable. Uses 3.3V logic
UART GND UART ground. Connect to ground pin on the UART to USB cable
CLK_SEL Jumper selection of internal or external clock. Set to internal for default operation
TRIG_IN Trigger input. Use for hardware-timed acquisition only, otherwise leave disconnected
TRIG_OUT Measurement complete trigger out
CLK_IN External clock input. Use a LVCMOS 50MHz clock signal and set CLK_SEL to EXT position
CLK_OUT Clock output. These two terminals have a buffered replica of the 50MHz main clock
PMOD Controller and Peripheral PMOD terminals for SPI port
Header P6 pins [9-10] Digital output 0-1
Header P7 pins [1-6] Digital output 2-7


Trigger Input / Output Ports

The EVAL-ADMX2001EBZ has SMA terminals for the trigger input and output ports. These can be used to synchronize multiple modules or control measurement timing with an external instrument. To use the trigger input, the module must be configured to external trigger mode using the command trig_mode <internal/external>. By default, the board is in internal trigger mode, and ignores pulses on the TRIG_IN port. Next, set the trigger count with tcount <count>. This controls how many external triggers the module will respond to before exiting the WAIT_FOR_TRIGGER state. Now, type the command initiate. The module will enter the WAIT_FOR_TRIGGER state. Most commands are disabled in this state. The module will automatically return to the IDLE state after receiving tcount triggers, or immediately if it receives the abort command. While in the WAIT_FOR_TRIGGER state, a software trigger can be provided with the command trigger, in both internal or external trigger modes. If the trigger mode is external, then a 3.3V 15μs pulse (min) to the TRIG_IN port will be registered as a trigger.

When a measurement is initiated from the WAIT_FOR_TRIGGER state, either by an external trigger or software trigger, it will generate a 3.3V 15μs pulse on the TRIG_OUT port.

Digital Output Pins

The ADMX2001B features eight general purpose digital output pins, intended for controlling external MUXes or other peripherals. Support was added in version 1.2.2. The outputs can be accessed on pins 9-10 of P6, and pins 1-6 of P7. They can be set with the command gpio_ctrl <N> where N is a decimal from 0-255, and each of the 8 inputs are controlled by the respective bit for that position. Digital output 0 corresponds to the LSB. For instance, configuring gpio_ctrl 133 (1000 0101 in binary) will set high P6 pin 9, and P7 pins 1 and 6.

Header : Pin Number Bit Number N Setting
P6 : 9 0 1
P6 : 10 1 2
P7 : 2 2 4
P7 : 3 3 8
P7 : 4 4 16
P7 : 5 5 32
P7 : 6 6 64
P7 : 7 7 128

ADMX2001B Pin Configuration and Function Descriptions

Pin Number Mnemonic Description
Center Pad GND Ground
A1-4, B1-4 VDD Power supply terminals. Apply +3.3V nominal
A23 CLKIN External clock input. Connect to 50MHz source or CLKOUT terminal
A25 CLKOUT Clock output. If unused, leave unconnected
A22, A24, A26, B5, B7, B9, B11, B13 GND Ground
B10 TRIGIN Measurement trigger input. If unused, leave unconnected
B12 TRIGOUT Measurement trigger output. If unused, leave unconnected
B14 SCK Serial data clock input
B15 SDI Serial data input
B16 SDO Serial data output
B17 CS Serial interface port chip select input
B18, B21 GND Ground
B19 TX UART transmit output. Connect to host’s receiver
B20 RX UART receive input. Connect to host’s transmitter
B22-B26 Reserved Reserved. Do not connect
C1, C3, C4, C6, C7, C9, C10, C12-C17, C26 GND Ground
C18-C25 GPIO0-GPIO7 General-purpose digital output terminals
D1, D3, D4, D6, D7, D9, D10, D12 GND Ground
D2 HCUR Source terminal
D5 HPOT Voltage measurement high terminal. Tie to HCUR at the device under test
D8 LPOT Voltage measurement high terminal. Tie to LCUR at the device under test
D11 LCUR Current measurement input
All other pins NC Do not connect



Firmware Updates

The ADMX2001B module firmware is user-updatable. Programming files must be requested by contacting admx-support@analog.com.

Equipment List:

  1. EVAL-ADMX2001EBZ board
  2. ADMX2001B Impedance Analyzer Measurement Module
  3. Intel Altera USB Blaster (Terasic)
  4. Universal power adapter with 9VDC output

Software Prerequisites:

  1. Latest Intel Quartus Prime Programmer And Tools
    • Navigate to the downloads page for the latest Quartus Prime Lite Edition, and click the “Additional Software” tab. Alternatively, the full Quartus Prime Lite Edition can be used. Both are free, but the programmer is a smaller download
  2. Drivers installed for the Altera USB Blaster
  3. Firmware programming folder containing *.pof file (downloaded from Analog.com, request from admx-support@analog.com)

Board Programming Setup

  1. Connect the USB Blaster to the computer over USB and verify the driver installation
  2. Plug the ADMX2001B module into EVAL-ADMX2001EBZ board
  3. Connect the USB blaster to the port labeled “P8 JTAG” on the EVAL-ADMX2001EBZ
  4. Connect the EVAL-ADMX2001EBZ to a 9V DC supply
  5. Open the Quartus Prime Programmer
  6. If the USB blaster is not selected in the upper hardware setup field (it will say No Hardware) then click “Hardware Setup…” and select the USB blaster. If it does not show up, then most likely there is an issue with the driver installation
  7. Close the “Hardware Setup” window if it was opened, and verify the programming mode is set to “JTAG

Program the *.pof file

  1. On the left side of the main window of the Quartus Prime Programmer, click on “Add File”
  2. Navigate to the location of the *.pof file. If it was downloaded using the installer from Analog.com, then the default folder will be C:\Analog Devices\Admx2001Firmware-Rel*.*.*\Firmware
  3. See the image above carefully. Check only the CFM0 and UFM boxes under “Program/Configure”
    1. IMPORTANT : Do not check the top/parent box. If this box is checked, the board will not boot and will have to be returned/swapped
  4. Verify that the checked boxes match the screenshot above before proceeding
  5. Click on the “Start” button
    1. This operation takes several seconds to complete
    2. Ensure the operation is successful by looking at the progress bar in the top right, and the messsages window at the bottom
    3. Then, unplug the USB blaster, the firmware update is complete!

Currently available firmare versions and release highlights:

Version Status Release Highlights
1.2.2 Stable Adds calibration over frequency, configurable digital outputs, external trigger support, bug fixes and more
1.2.0 Stable Bug fixes, noise and repeatability improvements. Calibration with complex loads now supported
1.1.1 Stable Same fixes as 1.2.0, but not compatible with boards using the flash memory.
1.1.0 Legacy Added SPI interface and built in self test
1.0.1 Legacy
1.0.0 Legacy

The full release notes are included with each firmware download.


Support

For support, general questions, or firmware update help, reach out to admx-support@analog.com.

resources/eval/user-guides/admx/eval-admx2001ebz.txt · Last modified: 26 Apr 2024 20:00 by Slater Campbell