The EVAL-ADAQ40xx is an evaluation board for the ADAQ4003 8-Bit, 2 MSPS, μModule Data Acquisition Solution. This guide provides instructions to setup EVAL-ADAQ40xx and evaluate ADAQ4003 with Linux.
The connections for the setup with CoraZ7 are the following:
The tricky part of this setup is connecting ADALM2000 to EVAL-ADAQ40xx since ADALM2000 probes don't plug into EVAL-ADAQ40xx ADC inputs. To sort that, you can use ADALM2000 BNC Adapter Board with additional probes to make a tight connection.
Alternatively, you can use long PCB header pins to adapt ADALM2000 female probes to male probes which can then connect to J1 and J2 internal connections. For the external part of the ADC connectors, carefully curled jumper wires may do the trick.
The EVAL-ADAQ40xx configuration mesaures (IN+ - IN-) as (J2 - J1). Connect ADALM2000 W1 to EVAL-ADAQ40xx J1, ADALM2000 W2 to J2, and EVAL-ADAQ40xx J1, J2 outer connectors to ADALM2000 GND. With that, ADAQ4003 readings will convert ADALM2000 W2 - W1 which we will configure in Scopy as CH2 - CH1.
Install Kuiper Linux to the SD card. Step by step guides for imaging Kuiper Linux are available for Linux and Windows.
Follow the Configuring the SD Card for FPGA Projects section of the Kuiper Linux page.
Copy the following files onto the BOOT partition to configure the SD card:
Linux support for ADAQ4003 and similar ADC devices was introduced in January 2024 so any Linux Kuiper release after that date will have support for ADAQ4003 built in.
If using older Kuiper releases, no zynq-coraz7s-adaq4003 or no zynq-zed-adv7511-ad4020 directory is available, use these boot files or follow the next subsections to get BOOT.BIN, uImage, and devicetree.dtb files.
To achieve high performance with ADAQ4003, the hardware platform must have an integrated FPGA. To configure the FPGA to properly support ADAQ4003, ADI engineers provide HDL reference projects from which we will use the pulsar project.
If there is no directory with boot files for your platform of choice under the SD BOOT partition, follow the build instructions on the Building HDL page to build the pulsar project and generate a BOOT.BIN file from that.
If there is no directory with boot files for your platform of choice under the SD BOOT partition, follow the Linux build guide to build a new Linux kernel image and devicetree blob. After that, replace Kuiper Linux image with the newly built uImage and copy the proper .dtb file your platform (either zynq-coraz7s-adaq4003.dtb or zynq-zed-adv7511-ad4020.dtb) from arch/arm/boot/dts/ to the BOOT partition as devicetree.dtb.
Analog Devices ADAQ4003 can be easily managed with IIO Oscilloscope which has interfaces for configuring and retrieving data from IIO devices. After installing IIO Oscilloscope in the host computer, open the application and connect to the IIO context provided by the Kuiper Linux installation running on CoraZ7. Both host machine and CoraZ7 must be in the same network otherwise IIO Oscilloscope won't be able to find the correct context. A quick way of getting some data after connecting to Cora's IIO context is to access the DMM (Digital MultiMeter) tab where the user can see the results of single-shot readings from the ADC.
Users can inspect ADAQ4003 attributes such as the sampling frequency in the Debug tab. Edit the value field then click the write button to change ADAQ4003 parameters.
ADAQ4003 is a differential ADC and thus converts the difference between its positive and negative inputs. We can use ADALM2000 to set different input waves so to evaluate ADAQ4003 performance. Install Scopy in the host computer to easily configure ADALM2000 output channels. For a simple test, we can set a 100Hz square wave in channel W1 and a 1KHz sine wave in channel W2. The difference can then be read with ADAQ4003 and the resulting waveform plot with IIO Oscilloscope.
The next example shows the effect of increasing the sample rate on characterizing a waveform. We set W1 as a 20 KHz square wave and W2 as a 200 KHz sine wave. At 1MSPS, we can barely see what happens when the square wave transitions from low to high. At 2MSPS, the resulting waveform is much clearer and the transition effect that happens from square wave low to high is clear.