Run the Demonstration Remotely via Ethernet (AD7606B) - 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 AD7606B® Evaluation Platform in this configuration is comprised of the following components:
- Analog Devices EVAL-AD7606BFMCZ (also Known As EVAL-AD7606B) 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
- One (1) BNC male to SMB 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-AD7606BFMCZ 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-AD7606BFMCZ 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-AD7606BFMCZ SMA connectors (channel 0)
- Ensure that Jumper JP5 is removed, Jumper JP1 is in position A to remove standby, Jumper JP6 is in position B to get internal voltage reference on AD7606B, JP3 in position B, and Jumper JP2 is in position A to get +12V from FMC on the EVAL-AD7606BFMCZ board, for it to be powered via the FMC connector.
- Connect the power supply to the DataStorm DAQ
- Plug the AC-DC adapter into an AC outlet
Signal Source
The Analog Discovery 2 is used as a signal generator to drive the AD7606B input.
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 1
Select Type as Sine
Select Frequency or Period
Set Amplitude to 1V
Set Offset to 0V
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. Right click on axi-ad7606-adc in the Plot Channels window. Select voltage0 and rising edge as the trigger parameters.
Capture Time Domain Signals
Press the Capture / Stop button to begin the capture process.
Capture Frequency Domain Signals with Frequency Markers enabled
Change the capture mode to Frequency Domain. Select an FFT Size and Average. Press the Capture / Stop button to begin the capture process.
Right click in the IIO Oscilloscope plot area. Select Single Tone markers. Press the Capture / Stop button to begin the capture process with markers.
Note the information in the Marker window. This capture shows a signal source of 10 kHz with 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 ad7606b-fmcz.py
This capture shows a signal source of 10 kHz with harmonic components.
NOTE: The following image shows the output data from Channel 0 of the 8 available channels in AD7606B. The outputs from other channels can be obtained in a similar method by defining the relevant channel number in the given source code.
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 ad7606b-iiostream.c -o ad7606b-iiostream -liio
-
Run the C executable (use your relevant target IP address here)
$ ./ad7606b-iiostream ip:192.168.0.2
NOTE: The following image shows the output data from Channel 0 of the 8 available channels in AD7606B. The outputs from other channels can be obtained in a similar method by defining the relevant channel number in the given source code.
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 DAQ7606B.slx file
- Double click on the system object block of axi-ad7606-adc. Set your relevant target IP Address in the "IP Address".
- Set your preferred stop time and run the simulation to see waveforms.
NOTE: Channels are arranged top-down with channels 0 to 3 on the left and channels 4 to 7 on the right.
This capture shows a signal source of 10 kHz in Channel 0 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