This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:eval:user-guides:eval-ad8302-ardz [10 Aug 2018 10:23] – Adrian Tolentino | resources:eval:user-guides:eval-ad8302-ardz [14 Jan 2021 05:23] (current) – use ez> / interwiki links Robin Getz | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== EVAL-AD8302-ARDZ ====== | ====== EVAL-AD8302-ARDZ ====== | ||
- | {{: | + | {{: |
- | The EVAL-AD8302-ARDZ shield illustrates the functionality of the [[http:// | + | The **[[adi> |
- | The power supply for the board comes from the Arduino base board through the POWER connector (5V). So there is no need to connect an external power supply.\\ \\ | + | The power supply for the board comes from the Arduino base board through the POWER connector (5V). So there is **no need to connect an external power supply**.\\ \\ |
- | The EVAL-AD8302-ARDZ | + | The EVAL-AD8302-ARDZ |
===== Shield Specifications ===== | ===== Shield Specifications ===== | ||
+ | * Input RF Frequency Range: DC to 2.7GHz | ||
+ | * Input RF Power Range: -60dBm to 0dBm | ||
+ | * Maximum RF Input Power (Abs Max Rating): 10dBm | ||
* Supply: | * Supply: | ||
- Voltage: 5V | - Voltage: 5V | ||
- Operates at around 35mA | - Operates at around 35mA | ||
- | * Input RF Power Range: -60dBm | + | * Quiescent Current: 19mA to 25mA |
- | * Input RF Frequency | + | * Input signal characteristic: |
+ | * Recommended Calibration: | ||
+ | * Output Voltage | ||
+ | - VMAG: ~30mV to ~1.8V | ||
+ | - VPHASE: ~30mV to ~1.8V | ||
+ | - VREF: ~1.72V | ||
* Has power down interface | * Has power down interface | ||
- | + | ===== Functional Block Diagram ===== | |
- | ===== Setting Up the Hardware ===== | + | {{: |
+ | ===== Typical | ||
{{: | {{: | ||
- | ===== Software GUI for ADICUP3029 | + | ====== Software GUI for EVAL-ADICUP3029 |
- | ==== Software Installation ==== | + | ===== Software Installation |
- | - Download the Software GUI file {{|here}}. | + | - Set up **EVAL-ADICUP3029 serial driver** as in **[[/ |
- | - Extract the Software GUI file to your computer. | + | - Download the software on the [[adi> |
- | - Connect the Eval-ADICUP3029 board using micro USB cable. | + | - Extract the Software GUI.zip to your computer. |
- | - Set the S2 switch to USB.\\ | + | - Connect the EVAL-ADICUP3029 board using micro USB cable |
- | {{: | + | - Set the **S2 switch to USB**.\\ {{: |
- | - In the extracted files look for “power_detector-firmware.hex” then copy the hex file to Computer>> | + | - In the extracted files look for **power_detector-firmware.hex** then copy the hex file to **Computer>> |
- | {{: | + | - After the **windows explorer automatically closes**, reset the EVAL-ADICUP3029 board by pressing the S1 (reset) button on the board. |
- | - After the windows explorer automatically closes, reset the Eval-ADICUP3029 board by pressing the S1 (reset) button on the board. | + | - Go to extracted files and look for **power_detector.exe** file and double click to run the software. The Connection Window will open.\\ |
- | - Go to extracted files and look for “power_detector.exe” file and double click to run the software. The Connection Window will open.\\ | + | |
| | ||
- | ==== Software Operation ==== | + | ===== Software Operation |
- | === Connection Window === | + | ==== Connection Window |
- | - Mount EVAL-ADL5902-ARDZ to the ADICUP3029 and connect ADICUP3029 to computer as in [[#Typical Hardware Setup for Measurement|Typical Hardware Setup for Measurement]] | + | - Mount EVAL-AD8302-ARDZ to the EVAL-ADICUP3029 and connect |
- | - Click the refresh button on Port Name to Identify the port where an ADICUP3029 is installed\\ {{: | + | - Click the **refresh button** on Port Name to Identify the **port** where an EVAL-ADICUP3029 is installed\\ {{: |
- | </ | + | |
- Set Baudrate to 115200 | - Set Baudrate to 115200 | ||
- Select Auto-detect on Shield type. | - Select Auto-detect on Shield type. | ||
- Click Connect. The Measurement Window should Open.\\ | - Click Connect. The Measurement Window should Open.\\ | ||
- | < | + | < |
- | </ | + | ==== Measurement Window |
- | === Measurement Window === | + | |
{{: | {{: | ||
- | The shield measures Gain and Phase Difference based on a 2-point calibrated linear response characterized for a specific frequency. By using default calibration coefficients, | + | The shield measures Gain and Phase Difference based on a 2-point calibrated linear response characterized for a specific frequency. By using default calibration coefficients, |
- | < | + | < |
</ | </ | ||
Related topic: [[# | Related topic: [[# | ||
- | == Select | + | === To skip Calibration and use Default |
- | * Check the box to use default calibration coefficients | + | |
- | * Uncheck to use user calibration coefficients | + | |
- | == To make single measurement: | + | === To make single measurement: |
- Enter the frequency of the input RF signal | - Enter the frequency of the input RF signal | ||
- Uncheck Continuous Measurement | - Uncheck Continuous Measurement | ||
Line 55: | Line 60: | ||
< | < | ||
</ | </ | ||
- | == To continuously make measurements: | + | === To continuously make measurements: |
- Enter the frequency of the input RF signal | - Enter the frequency of the input RF signal | ||
- Check Continuous Measurement | - Check Continuous Measurement | ||
Line 62: | Line 67: | ||
< | < | ||
</ | </ | ||
- | == To switch windows: == | + | === To switch windows: |
- | Click "Connection" | + | Click **Connection** or **Calibration** to switch to respective window. |
- | === Calibration Window === | + | ==== Calibration Window === |
* Gain Calibration\\ | * Gain Calibration\\ | ||
{{: | {{: | ||
Line 70: | Line 75: | ||
- Input to J1 an RF signal of-20dBm | - Input to J1 an RF signal of-20dBm | ||
- Input to J2 an RF signal of-40dBm | - Input to J2 an RF signal of-40dBm | ||
- | - Click "Measure" | + | - Click **Measure** |
- Input to J1 an RF signal of-40dBm | - Input to J1 an RF signal of-40dBm | ||
- Input to J2 an RF signal of-20dBm | - Input to J2 an RF signal of-20dBm | ||
- | - Click "Measure" | + | - Click **Measure** |
- | - Click "Calibrate" | + | - Click **Calibrate** |
* Phase Calibration\\ | * Phase Calibration\\ | ||
{{: | {{: | ||
Line 83: | Line 88: | ||
- Set phase between inputs to be 135º | - Set phase between inputs to be 135º | ||
- Click measure | - Click measure | ||
- | - Click "Calibrate" | + | - Click **Calibrate** |
<note tip> User must be able to synchronize the phase of input signals perhaps, by using external devices/ | <note tip> User must be able to synchronize the phase of input signals perhaps, by using external devices/ | ||
<WRAP tip> If desired frequency of calibration or measurement is not on the list, calibrate on the immediate higher frequency available and on the immediate lower frequency available. If desired frequency is higher/ | <WRAP tip> If desired frequency of calibration or measurement is not on the list, calibrate on the immediate higher frequency available and on the immediate lower frequency available. If desired frequency is higher/ | ||
</ | </ | ||
- | ==== Development on ADICUP3029 ==== | + | ====== Calibration Methodology ====== |
- | ===== Software GUI for Linduino | + | Calibration can be implemented using 2, 3, or 4-point calibration techniques which can be used to approximate nearly linear response characteristics such as in AD8302. A typical characteristic of the AD8302 for magnitude difference of 1.9GHz input signals is shown in Figure 1. This is TPC4 from the AD8302 datasheet. |
- | ==== Software Installation | + | |
- | ==== Software Operation | + | {{ resources: |
- | ==== Development on Linduino | + | |
- | ===== Hardware Reference Information ===== | + | <WRAP centeralign > Figure 1. AD8302 Characteristic Response to Magnitude Difference for 1.9GHz Signals</ |
+ | |||
+ | **Two-point calibration** is the simplest calibration technique. This models the magnitude transfer function of the AD8302 and ADC as a **single straight line** | ||
+ | |||
+ | MAG = (CODE/ | ||
+ | |||
+ | Where | ||
+ | |||
+ | MAG is the RF Power Magnitude being measured | ||
+ | |||
+ | CODE is the ADC code | ||
+ | |||
+ | SLOPE is the slope of the AD8302transfer function' | ||
+ | |||
+ | INTERCEPT is the (extrapolated) input RF power level which would yield and ADC code of 0 (this is a theoretical value with a unit of dBm) | ||
+ | |||
+ | SLOPE and INTERCEPT are calculated and stored during the calibration process by applying two known RF power levels, MAG1 and MAG2 (these RF power levels should be within the linear input range of the AD8302) and measuring the corresponding ADC codes, CODE1 and CODE2. The equations for calculating SLOPE and INTERCEPT are as follows: | ||
+ | |||
+ | SLOPE = (CODE1–CODE2)/ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | INTERCEPT = MAG1-(CODE1/ | ||
+ | |||
+ | |||
+ | If there is some non-linearity in the transfer function of the RF detector, the number of calibration points can be increased to improve measurement accuracy. To implement **three-point calibration**, | ||
+ | |||
+ | This results in two SLOPE values and two INTERCEPT values which are calculated using the equations | ||
+ | |||
+ | SLOPE1 = (CODE1–CODE2)/ | ||
+ | \\ | ||
+ | SLOPE2 = (CODE2–CODE3)/ | ||
+ | \\ | ||
+ | INTERCEPT1 = MAG1-(CODE1/ | ||
+ | \\ | ||
+ | INTERCEPT2 = MAG2-(CODE2/ | ||
+ | |||
+ | After calibration when measuring RF input power, the power is calculated | ||
+ | |||
+ | MAG = (CODE/ | ||
+ | |||
+ | or | ||
+ | |||
+ | MAG = (CODE/ | ||
+ | |||
+ | To decide which equation and calibration coefficients to use, the CODE from the ADC should be compared to CODE2 (CODE2 is the demarcation point between the two calibration regions). This will indicate which region of the AD8302' | ||
+ | |||
+ | This technique can be extended to four or more calibration points. This may improve measurement accuracy at the cost of more complex calibration. | ||
+ | |||
+ | |||
+ | ====== Development on EVAL-ADICUP3029 | ||
+ | Development packages are available for C and Python. Other development environments may be used but this development guided is focused on software development on CrossCore Embedded Studio (for C) and on Pycharm(for Python). | ||
+ | ===== C Development Guide ===== | ||
+ | ==== Installations | ||
+ | - Download and install **[[adi> | ||
+ | - Download and install **[[https:// | ||
+ | < | ||
+ | ==== Setting Up CrossCore Embedded Studio | ||
+ | - Install the following packs by following the **[[/ | ||
+ | * **ARM.CMSIS.5.4.0** | ||
+ | * **AnalogDevices.ADuCM302x_DFP.3.1.2** | ||
+ | - Switch back to **C/ | ||
+ | - Download {{: | ||
+ | - Run the " | ||
+ | - Launch CCES 2.8.1 and select workspace C: | ||
+ | - To open the unzipped folder in the workspace, click **File -> Open Projects from File System**. A new window will pop up and ask you to select the project or folder that you want to open. Select the proper directory then click **Finish**.\\ {{: | ||
+ | On the left side of the window, the structure of the loaded sample code should match the structure in the image shown below.\\ {{: | ||
+ | |||
+ | ==== Development on CrossCore Embedded Studio | ||
+ | - Setup Crosscore as in [[#Setting Up CrossCore Embedded Studio|Setting Up CrossCore Embedded Studio]] | ||
+ | - Connect your EVAL-ADICUP3029 and power up the RF power detector shield then click Build {{: | ||
+ | - After it finishes building, click Debug and click Application with GDB and OpenOCD (Emulator). Copy the following Debug configurations on the new window that will appear then click the Debug button. | ||
+ | - On the Debug window, click the Resume to run and display the results on the Console window. | ||
+ | |||
+ | ===== Python Development Guide ===== | ||
+ | ==== Installations ==== | ||
+ | Assumes a fresh installation of all required software | ||
+ | - Download **[[ http:// | ||
+ | - Run installer as Administrator. During installation, | ||
+ | - Install **pyserial**. For windows, enter **pip3.7 install pyserial** on command prompt. | ||
+ | - Download and install **[[https:// | ||
+ | - Download and install **[[https:// | ||
+ | |||
+ | ==== Setting Up PyCharm ==== | ||
+ | - Download **{{: | ||
+ | - Install **Power Detector Python Code Example.exe**, | ||
+ | - Launch PyCharm and set up PyCharm interpreter by clicking file>> | ||
+ | |||
+ | ==== Python Development ==== | ||
+ | - Connect the EVAL-ADICUP3029 board using micro USB cable. | ||
+ | - In the EVAL-ADICUP3029, | ||
+ | - Unzip **power detector development code-release.zip** from **[[adi> | ||
+ | - Find and copy **power_detector-firmware.hex** to the DAPLINK directory. Wait for the window to exit automatically. Else, repeat the [[# | ||
+ | - Press S1 (reset) button on the EVAL-ADICUP3029 and mount the EVAL-AD8302-ARDZ to the EVAL-ADICUP3029 | ||
+ | - On pyCharm, go to File>> | ||
+ | - Click Project Tab located at left side of IDE and go to **ad8302** folder and double click **ad8302-getShieldReadings.py** | ||
+ | - Change the default Port number (“COM10”) in the example code. On your computer go to Control Panel>> | ||
+ | - Right click on any point in the working space and click **Run ltc5596-getShieldReadings** | ||
+ | |||
+ | ====== Hardware Reference Information | ||
<WRAP round 80% download> | <WRAP round 80% download> | ||
\\ | \\ | ||
Line 107: | Line 211: | ||
</ | </ | ||
+ | |||
+ | ====== Help and Support ====== | ||
+ | For any queries regarding the hardware and evaluation software, contact as at **[[ez> |