Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:eval:user-guides:admx:eval-admx2001ebz [20 Feb 2021 00:41] – [Calibration Procedure] Gustavo Castroresources:eval:user-guides:admx:eval-admx2001ebz [22 Apr 2024 22:33] (current) – Updated to cover 1.2.2 new features, firmware updates, enhanced images and added full pinout Slater Campbell
Line 1: Line 1:
-====== EVAL-ADMX2001EBZ LCR Meter Demo/Evaluation Board ======+====== EVAL-ADMX2001 LCR Meter Demo/Evaluation Setup ======
  
-The EVAL-ADMX2001EBZ is an easy-to-use evaluation and development board that enables convenient access to the functionality of the ADMX2001 Precision Impedance Analyzer Measurement Module. +<WRAP info> 
-  - BNC connectors can interface to common LCR meter test probes and fixtures +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 [[eval-admx2001ebz#firmware_updates|Firmware Updates.]] 
-  - UART interface can be used with USB-to-UART cables to interface to host PC +</WRAP>
-  - 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+
  
-==== Evaluation Kit Contents ==== +The EVAL-ADMX2001 LCR Meter Demo is an evaluation system that is comprised of both the ADMX2001B and the EVAL-ADMX2001EBZ boards. 
-  - EVAL-ADMX2001EBZ board+ 
 +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 ==== 
 +  - **EVAL-ADMX2001EBZ** board
   - UART to USB cable (TTL-232R-RPI)   - UART to USB cable (TTL-232R-RPI)
-  - Universal power adapter with 12VDC output+  - Universal power adapter with 9VDC output
   - LCR meter test clips   - LCR meter test clips
 +\\
 +==== Additional Equipment Required ====
 +  - **ADMX2001B** High-Performance Precision Impedance Analyzer Measurement Module
 +
 +
 +<WRAP important>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.</WRAP>
 +
 +==== Optional Equipment ====
 +  - LCR meter accessories. Available from various test and measurement manufacturers, for example:
 +    * [[https://www.keysight.com/en/pc-1000002552%3Aepsg%3Apgr/lcr-meter-impedance-measurement-product-accessories|Keysight's Impedance Measurement Accessories]]
 +    * [[https://www.digikey.com/en/products/detail/b-k-precision/TL89S1/7915183|B+K Precision TL89S1 SMD Test Fixture]]
 +    * [[https://www.digikey.com/en/products/detail/b-k-precision/TL89F2/6618989|B+K Precision TL89F1 4-Terminal Test Fixture for leaded components]]
 +  - Calibration Standards and Accessories
 +    * [[https://www.ietlabs.com/|IET Labs]] (former General Radio products)
 +    * [[https://www.keysight.com/en/pd-1000003831%3Aepsg%3Apro-pn-42090A/open-termination-4-terminal-pair|Keysight 42090A Open Termination]]
 +    * [[https://www.keysight.com/en/pd-1000003830%3Aepsg%3Apro-pn-42091A/short-termination-4-terminal-pair|Keysight 42091A Short Termination]]
 +    * [[https://www.keysight.com/en/pd-1000003832%3Aepsg%3Apro-pn-42030A/four-terminal-pair-standard-resistor-set|Keysight 42030A Four Terminal Pair Standard Resistor Set]]
 +    * [[https://www.keysight.com/en/pd-1000003834%3Aepsg%3Apro-pn-16380A/standard-air-capacitor-set-1pf-to-1000pf| Keysight 16380A Standard Air Capacitor Set (1pF to 1000pF)]]
 +    * [[https://www.keysight.com/en/pd-1000003833%3Aepsg%3Apro-pn-16380C/capacitance-standard-set-001uf-to-10uf|Keysight 16380C Capacitance Standard Set (0.01uF to 10uF)]]
 +  - LCR Meter for verification and calibration transfer
 +    * [[https://www.keysight.com/en/pd-715495-pn-E4980A/precision-lcr-meter-20-hz-to-2-mhz|Keysight E4980A Precision LCR Meter]]
 \\ \\
 ===== Quick Start ===== ===== Quick Start =====
Line 19: Line 54:
   - Terminal Emulator Installation   - Terminal Emulator Installation
   - Basic hardware setup   - Basic hardware setup
-  - Open a session through the terminal emulator (e.g. PuTTY)+  - Open a session through the terminal emulator (e.g. TeraTerm)
   - Perform basic measurements   - Perform basic measurements
  
 These steps are explained in detail in the following sections. These steps are explained in detail in the following sections.
- 
-\\ 
  
 ---- ----
  
 ==== 1. Driver Installation ==== ==== 1. Driver Installation ====
-<note+<WRAP info
-The default communication interface to 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 Power (VCP) drivers must be downloaded from their website located at+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 https://www.ftdichip.com/Drivers/VCP.htm
-</note>+</WRAP>
  
 **Installation steps:** **Installation steps:**
-  - Download the driver for your OS version from https://www.ftdichip.com/Drivers/VCP.htm +  - Download the driver **setup executable** for the host OS version from https://www.ftdichip.com/Drivers/VCP.htm 
-    Note: for detailed instructions, visit https://www.ftdichip.com/Support/Documents/InstallGuides.htm +    Note: for detailed instructions, visit https://www.ftdichip.com/Support/Documents/InstallGuides.htm 
-  - Unzip the files +  - Unzip the file and run the setup executable
-  - Open the Device Manager +
-  - Right Click on the Other Device (TTL232R) and select “Update Driver Software…” +
-  - Click on “Browse my computer for driver software” +
-  - In the next dialog window, specify the location where the drivers have been saved and click on “Next” +
-  - The installation should take a few seconds. After the installation has finished, a completion screen is displayed. Click “Close”. +
-  - Note: The steps above only install the USB controller. To install the virtual com port layer, the above steps need to be repeated (as described below) +
-  - Open the Device Manager and right click again on the other device (TTLR232). Select “Update Driver Software…” +
-  - Click on “Browse my computer for driver software” +
-  - In the next dialog window, specify the location where the drivers have been saved and click on “Next” +
-  - The installation should take a few seconds. After the installation has finished, a completion screen is displayed. Click “Close”.+
   - **Connect the USB to UART cable to the PC**   - **Connect the USB to UART cable to the PC**
-  - 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+  - Open the Device Manager 
 +  - 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:
  
 {{ :resources:eval:user-guides:admx:dev_mgr_vcp_installed.png?600 |}} {{ :resources:eval:user-guides:admx:dev_mgr_vcp_installed.png?600 |}}
Line 58: Line 82:
 ---- ----
 ==== 2. Terminal Emulator Installation ==== ==== 2. Terminal Emulator Installation ====
-To communicate with ADMX2001 via its command-line interface and UART, a terminal emulator like PuTTY is recommended.  +To communicate with ADMX2001B via its command-line interface and UART, a terminal emulator like TeraTerm is recommended.  
-Visit the URL below to download PuTTY  +Download TeraTerm from the official Github Releases page
- +
-<note>https://www.putty.org/</note> +
- +
-Download the MSI (Windows Installer) and execute it. Follow the on-screen instructions. +
-\\+
  
 +<WRAP download>https://github.com/TeraTermProject/teraterm/releases</WRAP>
  
 +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 ==== ==== 3. Basic Hardware Setup ====
-The following figure shows the basic connections required for evaluating the ADMX2001.  +The following figure shows the basic connections required for evaluating the EVAL-ADMX2001.  
-{{ :resources:eval:user-guides:admx:eval-admx2001ebz_basic_connections.png?800 |}} +<WRAP>{{ :resources:eval:user-guides:admx:eval-admx2001ebz_basic_connections.png?600 |}}</WRAP> 
-  - Insert the ADMX2001 module into the EVAL-ADMX2001EBZ board in the location shown above +  - 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 
-  - Connect the power adapter to the power jack and to the ac outlet +  - 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<WRAP>{{ :resources:eval:user-guides:admx:open_load.png?450 |}}</WRAP> 
-  - Connect the UART to USB cable to the UART terminals TX-->RX, RX-->TX and GND-->GND {{ :resources:eval:user-guides:admx:img_0937.jpg?400 |}}+  - Connect the power adapter to the power jack and to the AC outlet 
 +  - Verify that the self-test light is green 
 +  - Connect the UART to USB cable to the UART terminals TX-->TX, RX-->RX and GND-->GND:<WRAP>{{ :resources:eval:user-guides:admx:img_0937.jpg?450 |}}</WRAP>
   - Ensure that the CLK_SEL jumper is set to INT (internal clock)   - Ensure that the CLK_SEL jumper is set to INT (internal clock)
-  - Use the test leads to connect to the device under test (DUT) +  - Set the load select switches to DUT and GND, as shown below:<WRAP>{{ :resources:eval:user-guides:admx:bnc_load.png?450 |}}</WRAP> 
-*The switches S1 and S2 must be set to DUT and GND respectively to connect the ADMX2001 to the BNC terminals.+  - Use the test leads to connect to the device under test (DUT): 
 +<WRAP>{{ :resources:eval:user-guides:admx:img_0940.jpg?600 |}}</WRAP> 
 +<WRAP important> 
 +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.  
 +</WRAP> 
 +An example of how to use the wire scrap in each of the test clips, when using them in the open configuration: 
 +<WRAP>{{ :resources:eval:user-guides:admx:open_config_test_clips_2.png?600 |}}</WRAP> 
 \\ \\
  
-{{ :resources:eval:user-guides:admx:img_0940.jpg?800 |}}+=== 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-testBy default, the self-test only runs on boot.
-==== 4Opening a Session via PuTTY ==== +
-After installing PuTTYselect the Serial connection session, and configure the Serial category as shown below. Please note that the COM port must match the COM port number selected by the driver in the previous step.+
  
-{{ :resources:eval:user-guides:admx:admx2001_putty_serial_settings.png?400 |}} 
  
-Make sure the hardware is properly installed and that power is available to the board via the 12V power adapter. Then, simply “Open” a serial connection to initiate the session. PuTTY will launch a blank window.  
-  * Press ENTER to display the AMDX2001> prompt 
-  * Type ''*idn'' and press ENTER to display the firmware version 
-  * Type ''help'' and press ENTER to see a list of commands supported by ADMX2001. 
  
-For complete list of ADMX2001 configuration parameters please refer to the ADMX2001 Configuration Parameters section in this pageFor a complete command set referenceplease refer to the Command Set Reference section in this page.+---- 
 +==== 4. Opening Session via TeraTerm ==== 
 +After installing TeraTerm, open the program and choose Serial connection. Select the COM port identified earlier in Device ManagerClick 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 PuTTY's terminal window does not reset the ADMX2001 settings from the last session.+Please note that closing the TeraTerm window does not reset the ADMX2001B settings from the last session.
 \\ \\
  
 ---- ----
 ==== 5. Performing Basic Measurements ==== ==== 5. Performing Basic Measurements ====
-Upon opening a session with PuTTY, the ADMX2001 is ready to perform impedance measurements.  +Upon opening a session with TeraTerm, the ADMX2001B is ready to perform impedance measurements.  
-<note>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.</note+<WRAP important>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 [[eval-admx2001ebz#calibration_procedure|Calibration Procedure]] section in this user guide.</WRAP
-By default, the module is set to perform single-point measurements with a 1VRMS signal (1.41 signal magnitude) at 1kHz, and no dc offset. To initiate a measurement type the ''z'' command at the prompt and press ENTER.+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.
  
-===**Example**=== +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. 
-Perform a capacitance measurement in parallel with an equivalent resistor (Cp-Rp) at 100kHz with a 1V amplitude sine. Return 5 readings, where each is an average of 10 samples.+ 
 +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 [[eval-admx2001ebz#selecting_a_measurement_range|Selecting a Measurement Range]] for details. 
 +<WRAP tip>The order in which the settings commands are entered is not important.</WRAP> 
 + 
 +=== 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.
  
 <code> <code>
Line 126: Line 165:
 ADMX2001> ADMX2001>
 </code> </code>
-<note>The order in which the commands are entered is not important.</note> +<WRAP info>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.</WRAP>
-<note>By default, auto-range is selected. To disable the auto-ranging function, use the ''setgain'' command to select a specific measurement range for the voltage (ch0) or current (ch1) measurement channels.</note>+
  
  
 ---- ----
-===== Using the Online Help in the Command-Line Interface =====+===== 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).  The ''help'' command will display all the commands available to the user from the command-line interface (CLI). 
-{{ :resources:eval:user-guides:admx:help_command_printout.png?1000 |}}+{{ :resources:eval:user-guides:admx:help_command_printout_teraterm.png?1000 |}}
 To get help for any command, simply type To get help for any command, simply type
 <code> <code>
Line 143: Line 181:
 </code> </code>
 Which should show a similar screen to the picture shown below Which should show a similar screen to the picture shown below
-{{ :resources:eval:user-guides:admx:help_display_printout.png?1000 |}}+{{ :resources:eval:user-guides:admx:help_display_teraterm.png?1000 |}}
  
 \\ \\
Line 149: Line 187:
 ---- ----
 ===== Useful Hints ===== ===== Useful Hints =====
-This section presents common measurement use cases.+ 
 +==== Measurement Display Modes ==== 
 + 
 +The ADMX2001B returns a result in one of 18 different display modes, shown belowThe 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 ==== ==== Selecting a Measurement Range ====
-By default, the ADMX2001 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. +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. 
  
-<note>+<WRAP info>
 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. 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.
-</note>+ 
 +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. 
 +</WRAP>
 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.  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+For example, if the DUT's expected impedance value is 2kΩ, enter the following in the command line prompt:
 <code> <code>
 +ADMX2001> setgain ch0 0
 +  Voltage meas gain = 0
 ADMX2001> setgain ch1 1 ADMX2001> setgain ch1 1
   Current meas gain = 1   Current meas gain = 1
 </code> </code>
-The command ''setgain ch1'' will set the transimpedance of the L_CUR input (channel 1) to 1kΩ. It is not recommended to use the 10kΩ value since this could exceed the input channel measurement capabilities and return incorrect readings.+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 transimpedance values available are listed below.+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. 
 +{{ :resources:eval:user-guides:admx:Source_and_measurement_channels_v3.png?600 |}}
  
-Enumeration      Transimpedance       ^ Max. Input Current          ^ +Available current gain settings and the transimpedance values associated with them are listed below. 
-| 0    | 100Ω     | 25mA        | + 
-| 1    | 1kΩ      | 2.5mA       | +Ch1 Gain      Measurement Range       ^ Max. Input Current          ^ Transimpedance 
-| 2    | 10kΩ     | 250uA       | +| 0    | 100Ω     | 25mA        | 49.9Ω     
-| 3    | 100kΩ    | 25uA        |+| 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.  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. 
Line 177: Line 247:
 Available voltage gain values for channel 0 are listed below. Available voltage gain values for channel 0 are listed below.
  
-Enumeration      ^ Gain Factor       ^ Input Voltage Range          ^ +Ch0 Gain      ^ Gain Factor       Max Input Voltage Range          ^ 
-| 0    | 1    | 2.5V        | +| 0    | 1    | ±2.5V        | 
-| 1    | 2    | 1.25V       | +| 1    | 2    | ±1.25V       | 
-| 2    | 4    | 625mV       | +| 2    | 4    | ±625mV       | 
-| 3    | 8    | 31.3mV      |+| 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. Typing the command ''setgain'' will display the gain of both input channels and whether or not autoranging is enabled.
Line 195: Line 267:
 To turn autoranging back on after setting a manual range type ''setgain auto'' To turn autoranging back on after setting a manual range type ''setgain auto''
  
-==== Impedance of Capacitive and Inductive Devices ====+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. 
 + 
 +{{ :resources:eval:user-guides:admx:reactance_chart.png?600 |}} 
 + 
 +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 ==== ==== 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. 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.
-<note+<WRAP tip
-Averaging increases the time required to return a reading. Values greater than 200 have been observed to have little effect in reducing measurement noise and have a notorious impact on measurement speed.  +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.  
-</note>+</WRAP> 
 +\\ 
 +==== 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.  
 + 
 +<WRAP tip> 
 +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.  
 +</WRAP> 
 + 
 +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 [[https://www.digikey.com/en/products/detail/b-k-precision/TL89S1/7915183|B+K Precision TL89S1]] or the [[https://www.keysight.com/en/pd-1000000474%3Aepsg%3Apro-pn-16034G/smd-test-fixture|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 ==== ==== Performing Parametric Sweeps ====
-The ADMX2001 can automatically perform measurements that sweep different measurement parameters such as+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.   * 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   * DC bias, common in C-V measurements for semiconductor devices
   * Magnitude   * 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 to enter the start and end points of the sweep. The number of points is determined by the ''count'' command. +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 === === Example ===
Line 236: Line 360:
 </code> </code>
  
-<note>+<WRAP info>
 When sweeping parameters, the first value printed will be the swept parameter, followed by the measurement in the display format selected. When sweeping parameters, the first value printed will be the swept parameter, followed by the measurement in the display format selected.
-</note>+</WRAP>
  
 ==== Performing DC Resistance Measurements ==== ==== Performing DC Resistance Measurements ====
-The DC resistance measurement function can be easily selected by setting the test frequency to zero.+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.
  
 <code> <code>
 ADMX2001> frequency 0 ADMX2001> frequency 0
 DC Resistance mode enabled 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 ADMX2001> z
-0,6.834371e+01+0,4.995231e+01
 ADMX2001> ADMX2001>
 </code> </code>
  
-In the DC resistance mode, only the dc resistance value is returned.+In the DC resistance mode, only the DC resistance value is returned.
 ==== Optimizing Measurement Timing ==== ==== Optimizing Measurement Timing ====
  
 The commands ''mdelay'' (measurement delay) and ''tdelay'' (trigger delay) can be used to control the settling time between measurements. 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 only observed during sweeps and multiple measurements controlled by the “count” command.  +  * 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 ADMX2001 with external scanning cards or multiplexers, to allow proper debounce and settling time.+  * 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.  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 ==== ==== 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. PuTTY allows the user to copy and paste its screen into a *.csv file that can be opened by spreadsheet applications such as Microsoft Excel®. +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: To plot the acquired data in Microsoft Excel, follow the steps below:
  
-  - Configure the ADMX2001 and run the ''z'' command to acquire the desired measurements +  - In TeraTerm, go to File->Log, and save the log file with any name but make sure the extension is *.csv 
-  - Select with the mouse the desired data and press the keys CTRL-C +  - Configure the ADMX2001B and run the ''z'' command to acquire the desired measurements 
-  - Open a text editor (notepad.exe for example) and start a new file. Press CTRL-V +  - Make a copy of the log file to allow editing 
-  - Save the file with any name but make sure the extension is *.csv +  - Open the file with Excel
-  - Close the file and open Excel +
-  - Open the file from its location+
   - Select the data to plot and insert a scatter plot to visualize the data   - Select the data to plot and insert a scatter plot to visualize the data
- 
  
 ---- ----
 ===== Calibration Procedure ===== ===== Calibration Procedure =====
-A few milliseconds after power up, the ADMX2001 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.+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 [[https://www.keysight.com/us/en/product/E4980A/precision-lcr-meter-20-hz-2-mhz.html|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. +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.
  
 +{{ :resources:eval:user-guides:admx:open_short_load_config.png?800 |}}
 +
 +<WRAP tip>
 +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.
 +</WRAP>
 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. 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.
  
-<note important> +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 [[eval-admx2001ebz#selecting_a_measurement_range|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. 
-  Short calibration can be performed only when channel 1 is set to 0 and 1 +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 [[eval-admx2001ebz#calibration_over_frequency|Calibration Over Frequency]] for more details. 
-  Disable autoranging during calibration +<WRAP important> 
-</note>+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. 
 +</WRAP>
  
 +=== Calibration Steps ===
 To calibrate the module in a specific gain combination, follow the steps below: To calibrate the module in a specific gain combination, follow the steps below:
-  - Select the desired measurement configuration +  - Select the desired measurement configuration (gain, frequency, magnitude and offset)  
-  - Set the averaging to 200 samples and tdelay to 200ms (to allow sufficient settling time)+    * <wrap important>Autorange must be disabled during calibration.</wrap> 
 +  - Set the averaging to at least 200 samples and tdelay to 200ms (to allow sufficient settling time) 
 +  - Ensure the load select switches are in the DUT and GND positions, described in [[eval-admx2001ebz#basic_hardware_setup|Basic Hardware Setup]]
   - Connect the H_POT and H_CUR terminal together and the L_POT and L_CUR terminals together to form two separate connection pairs   - Connect the H_POT and H_CUR terminal together and the L_POT and L_CUR terminals together to form two separate connection pairs
-    - Run the “cal open” command +    * 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 
-  - Connect all the measurement terminals together. +    * An alternative is to use BNC cables to connect the H_POT/H_CUR pairs and the L_POT/L_CUR pairs. 
-    - Please note that this step is only required if the short-circuit path impedance is significant compared to the impedance under test +    * 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 
-    - Run the “cal short” command +    * For better results, use [[https://www.keysight.com/en/pd-1000003831%3Aepsg%3Apro-pn-42090A/open-termination-4-terminal-pair|Keysight 42090A Open Termination]] 
-  - Connect known impedance between the measurement leads as shown in Figure 3. +  - Run the ''calibrate open'' command 
-    - Run the “cal rt <value1> xt <value2> command where <value1> is the true value of the resistive component of the calibration impedance and <value 2> is the true value of the reactive component.+  - Connect all the measurement terminals together 
 +    * <wrap important>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.</wrap> 
 +    * 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 [[https://www.keysight.com/en/pd-1000003830%3Aepsg%3Apro-pn-42091A/short-termination-4-terminal-pair|Keysight 42091A Short Termination]] 
 +  - Run the ''calibrate short'' command, if possible 
 +  - Connect known impedance between the measurement leads 
 +  - 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 [[https://www.keysight.com/en/pd-1000003832%3Aepsg%3Apro-pn-42030A/four-terminal-pair-standard-resistor-set|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:
 +<code>
 +ADMX2001>calibrate commit 1689959855
 +</code>
 +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. 
  
 +<WRAP info>
 +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.
 +</WRAP>
  
 +=== 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.
 +<code>
 +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>
 +</code>
 +
 +=== 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:
 +<code>
 +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>
 +</code>
 +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 [[eval-admx2001ebz#reading_and_writing_calibration_coefficients|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. 
 +
 +{{ :resources:eval:user-guides:admx:calibration_compensation_boundary_2.png?600 |}}
 +
 +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 ===== ===== EVAL-ADMX2001EBZ Terminal Description =====
  
-{{ :resources:eval:user-guides:admx:eval-admx2001ebz_diagram.png?600 |}}+{{ :resources:eval:user-guides:admx:eval-admx2001ebz_diagram_2.png?600 |}}
  
 \\ \\
-^ 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_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) | +| 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_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 | +| 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 RX pin on the UART to USB cable| +| 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 TX pin on the UART to USB cable| +| 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| +| 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| +| 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 (future expansion)+| TRIG_IN     | Trigger input. Use for hardware-timed acquisition only, otherwise leave disconnected | 
-|TRIG_OUT    | Measurement complete trigger out (future expansion)+| 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_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 master clock| +| CLK_OUT     | Clock output. These two terminals have a buffered replica of the 50MHz main clock| 
-|PMOD        | Master and slave PMOD terminals for SPI port (future expansion)|+| 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 |
  
-*Arduino headers currently reserved for future expansion 
 \\ \\
 +
 +==== 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 =====
 +
 +{{ :resources:eval:user-guides:admx:ADMX2001B_Pinout.png?600 |}} 
 +
 +^ 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:**
 +  - EVAL-ADMX2001EBZ board
 +  - ADMX2001B Impedance Analyzer Measurement Module
 +  - Intel Altera USB Blaster [[https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=46|(Terasic)]]
 +  - Universal power adapter with 9VDC output
 +
 +**Software Prerequisites:**
 +  - 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
 +  - Drivers installed for the Altera USB Blaster
 +  - Firmware programming folder containing *.pof file (downloaded from Analog.com, request from admx-support@analog.com)
 +
 +{{ :resources:eval:user-guides:admx:ADMX2001B_Firmware_Programming.png?600 |}} 
 +
 +**Board Programming Setup**
 +  - Connect the USB Blaster to the computer over USB and verify the driver installation
 +  - Plug the ADMX2001B module into EVAL-ADMX2001EBZ board
 +  - Connect the USB blaster to the port labeled "P8 JTAG" on the EVAL-ADMX2001EBZ
 +  - Connect the EVAL-ADMX2001EBZ to a 9V DC supply
 +  - Open the Quartus Prime Programmer
 +  - 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
 +  - Close the "Hardware Setup" window if it was opened, and verify the programming mode is set to "JTAG"
 +**Program the *.pof file**
 +  - On the left side of the main window of the Quartus Prime Programmer, click on "Add File"
 +  - 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''
 +  - **See the image above carefully.** Check only the CFM0 and UFM boxes under "Program/Configure"
 +    - <wrap important> **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 </wrap>
 +  - Verify that the checked boxes match the screenshot above before proceeding
 +  - Click on the "Start" button
 +    - This operation takes several seconds to complete
 +    - Ensure the operation is successful by looking at the progress bar in the top right, and the messsages window at the bottom
 +    - 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.
 +
  
  
 ---- ----
-===== Command Reference =====+===== Support =====
  
 +For support, general questions, or firmware update help, reach out to admx-support@analog.com.
  
-This section describes the commands available through the command-line interface (CLI).  
resources/eval/user-guides/admx/eval-admx2001ebz.1613778115.txt.gz · Last modified: 20 Feb 2021 00:41 by Gustavo Castro