Run the Demonstration Remotely via Ethernet (AD40xx) - ArrowElectronics/data-storm-daq GitHub Wiki
In addition to the DataStorm DAQ development kit running in standalone hardware configuration, it can also run while connected to computer remotely via an Ethernet cable.
Configuration for remote IIO Oscilloscope access via ethernet
The AD40xx® Evaluation Platform in this configuration is comprised of the following components: The AD40xx Evaluation Platform in this configuration is comprised of the following components:
- Analog Devices EVAL-AD4020FMCZ data converter board
- DataStorm DAQ (Trenz Intel Cyclone V SoC TEI0022 Development Board) (includes 12VDC power supply)
- Host Windows PC with IIO Oscilloscope and Digilent WaveForms App installed
- Ethernet Cable
- Micro USB cable
- Digilent Analog Discovery 2 Signal Generator with dual outputs
- Digilent Discovery BNC adapter board
- Two (2) BNC Male to SMA Female Cables
Configure BOOTSEL DIP Switches
Select the SD card as the boot source for the processor.
Configure FMC_VADJ DIP Switches
The FMC_VADJ power rails provide power to the EVAL-AD4020FMCZ via the FMC interface. This is an adjustable voltage. It must be set to 3.3V. Modify the VID_SW DIP switch settings to select 3.3V.
Assemble the Hardware
Follow the steps in the order shown below.
- Insert the Micro SD card into the SD card slot
- Insert the EVAL-AD4020FMCZ FMC connector into the FMC mating connector on the DataStorm DAQ board
- Attach PC via ethernet cable
- Attach the Micro USB cable
- Connect the Signal Generator to the EVAL-AD4020FMCZ SMA connectors
- Connect the power supply to the DataStorm DAQ
- Plug the AC-DC adapter into an AC outlet
Signal Source
The AD4020 requires a Differential signal from a signal source. The EVAL-AD4020FMCZ, in its default configuration, requires the input signal to be centered around VCM=2.5V (as in yellow tag #5 below). Connect the Differential signal source to VIN+ and VIN- input of EVAL-AD4020FMCZ.
Install (if not already done) the Digilent WaveForms App.
Open the WaveForms App and Click on Wavegen in the left margin which opens a waveform window
Click on Channels and select 2
Select Type as Sine
Select Frequency or Period
Set Amplitude to 2V
Set Offset (Common Mode Voltage) to 2.5V
For Channel 2, Match the Channel 1 settings
Select the Phase to 180 degrees for Inverse signal
Click on No synchronization and select Synchronized
Click Run All
Run the Demonstration Remotely
Software for remote IIO Oscilloscope access via ethernet
There are a few software components that need to be installed in order to run this demo successfully:
- IIO Oscilloscope™
- A SW terminal like Tera Term VT or Putty
IIO Oscilloscope™
IIO Oscilloscope™ is a tool developed by Analog Devices. It can be downloaded from this web site: https://github.com/analogdevicesinc/iio-oscilloscope/releases/download/v0.13-master/adi-osc-setup.exe (Download and install v0.13)
Define the host PC IP address
A wired ethernet point-to-point connection between the host PC and the embedded target is required. Use this link for instructions on how to assign a static IP address to the host Ethernet adapter. Set the following values
-
IP address : 192.168.0.1
-
Subnet mask : 255.255.255.0
-
No entries required for the other fields
Connect to the target terminal
- A wired Micro USB serial port connection between the host PC and the embedded target is required
- Launch a terminal program (like Tera Term VT or Putty) and connect using serial port
- Select 115200 baud
- Select the appropriate target COM port
Define the target IP address
Type the following at the terminal prompt to set the target IP address
- $ ifconfig eth0 192.168.0.2 up
Launch IIO Oscilloscope
Double click the IIO Oscilloscope application icon on the host Windows PC.
Note: IIO Oscilloscope creates a .osc_profile.ini file in the Users/UserName/Appdata/Local directory. The next time IIO Oscilloscope is opened, the existence of this file delays connection to the target. It is recommended to delete the .osc_profile.ini (if it exists) prior to launching IIO Oscilloscope.
Connect to the target
- Select the Discoverable/Scan option and click the Refresh button..
- A successful connection results in discovery of the IIO devices. Press OK to continue.
Enable voltage0 ADC channel
Select a Plot Channel to be displayed in IIO Oscilloscope. Click on the check box in the Plot Channel window adjacent to voltage0.
Capture Time Domain Signals
Press the Capture / Stop button to begin the capture process. After viewing the waveform press the button again to stop the capture. Below snapshot is for input sinewave with 100 kHz frequency.
Capture Frequency Domain Signals
Change the capture mode to Frequency Domain. Select an FFT Size and Average. Press the Capture / Stop button to begin the capture process. An FFT is continuously plotted. Note that larger FFT sizes provide a higher resolution but the screen updates more slowly. The x-axis is labeled “MHz” in the top right corner and the maximum frequency depends on the sampling frequency which is independent of the selected FFT size. After viewing the FFT press the button again to stop the capture.
Enable Frequency Markers
Right click in the IIO Oscilloscope plot area. Select a marker option. Press the Capture / Stop button to begin the capture process with markers.
Note the information in the Marker window. This capture shows the FFT of the signal source of 100 kHz with its harmonic components.
Software for the Python demonstration
There are a few software components that need to be installed in order to run this demonstration successfully:
Install Python 3.7
-
Download Python 3.7 and run the installer
-
A typical installation location will be C:\Users\username\AppData\Local\Programs\Python
-
Edit the Windows System PATH environment variable to add the path to the Python directory
-
Edit the Windows System PATH environment variable to add the path to the Python\Scripts directory
Install PIP
- Use the following instructions to install PIP
Install LibIIO - API library for IIO
- Download and run the LibIIO installer from the GitHub releases page here
Install PyADI-IIO and matplotlib
-
Open a Windows CMD shell.
C:\Users\myuser> pip install pyadi-iio C:\Users\myuser> python -m pip install -U matplotlib
Download Python source code
-
Download the python source code from the github repository
-
Run the Python source code. Open a Windows CMD shell
C:\Users\myuser\pyadi-iio\examples> python ad4020evb.py
This capture shows a signal source of 100 kHz with harmonic components.
Software for the C demonstration
NOTE: The C examples provided are only tested on a Linux environment as mentioned here. The following example is demonstrated using the Arrow Ubuntu-64bit VM provided in the build prerequisites here.
There are a few software components that need to be installed in order to run this demonstration successfully:
Install LibIIO - API library for IIO
- Follow this tutorial to directly install LibIIO dependencies on the host machine.
Run the C programs
-
Download the C source code from the github repository
-
Compile the C source code (Use -liio flag to dynamically link the LibIIO libraries)
$ gcc ad4020-iiostream.c -o ad4020-iiostream -liio
-
Run the C executable (use your relevant target IP address here)
$ ./ad4020-iiostream ip:192.168.0.2
Software for the MATLAB demonstration
NOTE: This demonstration requires a licensed version of MATLAB and Simulink along with the Communication Toolbox installed.
There are a few software components that need to be installed in order to run this demonstration successfully:
Install MATLAB
- Follow these instructions to install MATLAB and Simulink
- Use Add-On Manager to install Communication Toolbox in MATLAB
Install LibIIO - API library for IIO
- Download and run the LibIIO installer from the GitHub releases page here
Run MATLAB
-
Download the MATLAB source from the github repository
-
Open the Simulink model AD4020.slx file
- Double click on the system object block of ad4020. Set your relevant target IP Address in the "IP Address".
- Set your preferred stop time and run the simulation to see waveforms
This capture shows a signal source of 100 kHz with harmonic components.
Shutting down the demo
-
Power down the target. Type the following at the terminal prompt
$ poweroff
-
Wait until the linux terminal shows
$ reboot : System Halted
-
Close out IIO Oscilloscope and all associated windows