×

采用基于PC的软件GUI的AD8302 Arduino屏蔽板用户指南

消耗积分:2 | 格式:pdf | 大小:1.57MB | 2021-04-09

贾桂林

分享资料个

This version (14 Jan 2021 05:29) was approved by Robin Getz.The Previously approved version (03 Jan 2021 21:55) is available.Diff

EVAL-AD8302-ARDZ

EVAL-AD8302-ARDZ

The EVAL-AD8302-ARDZ shield illustrates the functionality of the AD8302, a gain and phase detector which operates for frequencies up to 2.7 GHz. The voltage outputs of the AD8302 are routed to the ANALOG IN connector of the Arduino base board. This allows the RF power detector’s output voltage to be easily digitized and processed by the Arduino base board’s integrated six-channel ADC.

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 is designed to work as a shield for EVAL-ADICUP3029 and DC2026C(also called Linduino One). For EVAL-ADICUP3029, PC software GUI and device development drivers are available.

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:
    1. Voltage: 5V
    2. Operates at around 35mA
  • Quiescent Current: 19mA to 25mA
  • Input signal characteristic:
  • Recommended Calibration:
  • Output Voltage Range:
    1. VMAG: ~30mV to ~1.8V
    2. VPHASE: ~30mV to ~1.8V
    3. VREF: ~1.72V to ~1.88V
  • Has power down interface

Functional Block Diagram

Functional Block Diagram

Typical Hardware Setup for Measurement

Operational Setup

Software GUI for EVAL-ADICUP3029

Software Installation

  1. Set up EVAL-ADICUP3029 serial driver as in 1. Install mBed windows serial driver...
  2. Download the software on the product page or click here.
    If previously downloaded evaluation software cannot detect board, download the evaluation software again to get the software fix version.


  3. Extract the Software GUI.zip to your computer.
  4. Connect the EVAL-ADICUP3029 board using micro USB cable
  5. Set the S2 switch to USB.
    EVAL-ADICUP3029pic_selectUSB
  6. In the extracted files look for power_detector-firmware.hex then copy the hex file to Computer»DAPLINK drive
    |DAPLINK_screencap
    After loading the hex file to the DAPLINK drive the window explorer must automatically close or else you need to load the hex file to the drive again.


  7. After the windows explorer automatically closes, reset the EVAL-ADICUP3029 board by pressing the S1 (reset) button on the board.
  8. Go to extracted files and look for power_detector.exe file and double click to run the software. The Connection Window will open.

APP_window

Software Operation

Connection Window

  1. Mount EVAL-AD8302-ARDZ to the EVAL-ADICUP3029 and connect EVAL-ADICUP3029 to computer as in Typical Hardware Setup for Measurement
  2. Click the refresh button on Port Name to Identify the port where an EVAL-ADICUP3029 is installed
    APP_window
    If there is more than one EVAL-ADICUP3029 installed, select the port where EVAL-ADICUP3029 and EVAL-AD8302-ARDZ connected
  3. Set Baudrate to 115200
  4. Select Auto-detect on Shield type.
  5. Click Connect. The Measurement Window should Open.
Console Log must indicate AD8302 shield detected with ADiCUP. If previously downloaded evaluation software cannot connect, go back to Software Installation step 2 and download the evaluation software again to get the software fix version.

Measurement Window

APP_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 2-point linear response corresponds to the datasheet specifications of AD8302. By using the user calibration coefficients, the frequency dependent 2-point linear response corresponds to the calibration made by the user.

If calibration is skipped at some frequencies, the default calibration coefficients will be used (user calibration coefficients and default calibration coefficients are INITIALLY the same).


Related topic: Calibration of EVAL-AD8302-ARDZ

To skip Calibration and use Default Calibration Coefficients:

  • Check the box to use default calibration coefficients
  • Uncheck to use user calibration coefficients

To make single measurement:

  1. Enter the frequency of the input RF signal
  2. Uncheck Continuous Measurement
  3. Click Measure Button
Not entering the correct frequency may result to less accurate measurements.


To continuously make measurements:

  1. Enter the frequency of the input RF signal
  2. Check Continuous Measurement
  3. Click Measure Button
  4. Click Stop to stop measuring at the last measurement
Not entering the correct frequency may result to less accurate measurements.


To switch windows:

Click Connection or Calibration to switch to respective window.

Calibration Window

  • Gain Calibration

APP_window

  1. Select the frequency
  2. Input to J1 an RF signal of-20dBm
  3. Input to J2 an RF signal of-40dBm
  4. Click Measure
  5. Input to J1 an RF signal of-40dBm
  6. Input to J2 an RF signal of-20dBm
  7. Click Measure
  8. Click Calibrate
  • Phase Calibration

APP_window

  1. Select frequency
  2. Set the signal power of inputs to -30dBm
  3. Set phase between inputs to be 45º
  4. Click measure
  5. Set phase between inputs to be 135º
  6. Click measure
  7. Click Calibrate
User must be able to synchronize the phase of input signals perhaps, by using external devices/equipment, to do this calibration

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/lower than the available frequency selection, calibrate only on the highest/lowest frequency selection

Calibration Methodology

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.

fig50

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/SLOPE)+INTERCEPT

Where

MAG is the RF Power Magnitude being measured

CODE is the ADC code

SLOPE is the slope of the AD8302transfer function's linear model (unit is LSBs/dB)

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)/(MAG1−MAG2)


INTERCEPT = MAG1-(CODE1/SLOPE)

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, three known power levels are applied MAG1, MAG2 and MAG3 (MAG1 should be greater than MAG2 which should be greater than MAG3) and the corresponding ADC codes are noted (CODE1, CODE2, CODE3)

This results in two SLOPE values and two INTERCEPT values which are calculated using the equations

SLOPE1 = (CODE1–CODE2)/(MAG1−MAG2)


SLOPE2 = (CODE2–CODE3)/(MAG2−MAG3)


INTERCEPT1 = MAG1-(CODE1/SLOPE1)


INTERCEPT2 = MAG2-(CODE2/SLOPE2)

After calibration when measuring RF input power, the power is calculated using the appropriate equation

MAG = (CODE/SLOPE1)+INTERCEPT1   (if CODE > CODE2)

or

MAG = (CODE/SLOPE2)+INTERCEPT2   (if CODE < CODE2)

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's transfer function the RF power magnitude is located. For example, if the ADC CODE is greater than CODE2, this will indicate that the input power is greater than MAG2. So SLOPE1 and INTERCEPT1 should be used to calculate the input power. Because of the need to identify the region in which the measured RF input power is located, the CODE2 value should also be stored after calibration along with the SLOPE1, SLOPE2, INTERCEPT1 AND INTERCEPT2.

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

  1. Download and install mBed windows serial driver
Assumes a fresh installation of all required software

Setting Up CrossCore Embedded Studio

  1. Install the following packs by following the How to install or upgrade Packs for CCES guide:
    • ARM.CMSIS.5.4.0
    • AnalogDevices.ADuCM302x_DFP.3.1.2
  2. Switch back to C/C++ window c-dev-window and close CCES 2.8.1
  3. Run the “AD8302 Sample C Code and Header Files.exe” and select “C:/Users/YourUsername/cces/2.8.1” as the destination folder. The ad8302 folder should appear in C:/Users/YourUsername/cces/2.8.1 .
    rfdet-c-unzip
    rfdet-c-folder-ad8302
  4. Launch CCES 2.8.1 and select workspace C:/Users/YourUsername/cces/2.8.1. If the ad8302 has been installed elsewhere, choose that location as workspace. Switch to C/C++ window if it's not the current window.
    rfdet-c-workspace
  5. 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.
    rfdet-c-import-ad8302

On the left side of the window, the structure of the loaded sample code should match the structure in the image shown below.
rfdet-c-proj-ad8302

Development on CrossCore Embedded Studio

  1. Connect your EVAL-ADICUP3029 and power up the RF power detector shield then click Build rfdet-c-hammer.
    rfdet-c-console-ad8302
  2. 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.
  3. 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

  1. Download python 3.7.0 version. Choose the right version depending on operating system. For windows, choose Windows x86-64 executable installer. (Do not run installer yet)
  2. Run installer as Administrator. During installation, check Add Python 3.7 to PATH before clicking Install Now
    rfdet-py-path
  3. Install pyserial. For windows, enter pip3.7 install pyserial on command prompt.
  4. Download and install PyCharm community version
  5. Download and install mBed windows serial driver

Setting Up PyCharm

  1. Install Power Detector Python Code Example.exe, the destination folder used is the “Scripts” directory where the python3.7 is located. For windows, the location path is similar to C:/Users/MyUsername/AppData/Local/Programs/Python/Python37/Scripts
    rfdet-py-scripts
  2. Launch PyCharm and set up PyCharm interpreter by clicking file»settings»Project»Project Interpreter choose python 3.7 then click “Ok”.

Python Development

  1. Connect the EVAL-ADICUP3029 board using micro USB cable.
  2. In the EVAL-ADICUP3029, set the S2 switch to USB.
  3. Unzip power detector development code-release.zip from evaluation software
  4. Find and copy power_detector-firmware.hex to the DAPLINK directory. Wait for the window to exit automatically. Else, repeat the Development on PyCharm guide.
  5. Press S1 (reset) button on the EVAL-ADICUP3029 and mount the EVAL-AD8302-ARDZ to the EVAL-ADICUP3029
  6. On pyCharm, go to File»Open and browse for the /PycharmProjects/example code directory.
  7. Click Project Tab located at left side of IDE and go to ad8302 folder and double click ad8302-getShieldReadings.py
  8. Change the default Port number (“COM10”) in the example code. On your computer go to Control Panel»Device Manager look for Ports (COM & LPT) find the port number of “mbed Serial Port”.
  9. Right click on any point in the working space and click Run ltc5596-getShieldReadings

Hardware Reference Information

Help and Support

For any queries regarding the hardware and evaluation software, contact as at EngineerZone.

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'采用基于PC的软件GUI的AD8302 Arduino屏蔽板用户指南',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);