AD7124-ASDZ HDL project

Overview

The HDL reference design for the AD7124-4 and AD7124-8 provides a 4/8-Channel, Low Noise, Low Power, 24-Bit, Sigma-Delta ADC with PGA and Reference.

The AD7124-4/8 offers output data rates from 1.17 SPS up to 19,200 SPS. The AD7124-4/8 can achieve simultaneous 50 Hz and 60 Hz rejection when operating at an output data rate of 25 SPS (single cycle settling), with rejection in excess of 80 dB achieved at lower output data rates.

This project has a SPI instance to control and acquire data from the AD7124-4/8 24-bit precision ADC. This instance provides support for capturing continuous samples at the maximum sample rate.

Supported boards

Supported devices

Supported carriers

Block design

Block diagram

The data path and clock domains are depicted in the below diagram:

AD47124-ASDZ block diagram

I2C connections

I2C type

I2C manager instance

Alias

Address

I2C subordinate

PS

i2c1

sys_hps_i2c1

SPI connections

SPI type

SPI manager instance

SPI subordinate

CS

PS

SPI

ad7124

0

GPIOs

The Software GPIO number is calculated as follows:

  • DE10-Nano: the offset is 32

GPIO signal

Direction

HDL GPIO EMIO

Software GPIO

(from FPGA view)

DE10-Nano

sync_err

INPUT

32

0

spi_miso

INPUT

33

1

Building the HDL project

The design is built upon ADI’s generic HDL reference design framework. ADI distributes the bit/elf files of these projects as part of the ADI Kuiper Linux. If you want to build the sources, ADI makes them available on the HDL repository. To get the source you must clone the HDL repository, and then build the project as follows:

Linux/Cygwin/WSL

~$
cd hdl/projects/ad7124_asdz/de10nano
~/hdl/projects/ad7124_asdz/de10nano$
make

A more comprehensive build guide can be found in the Build an HDL project user guide.

Resources

More information

Support

Analog Devices, Inc. will provide limited online support for anyone using the reference design with ADI components via the EngineerZone FPGA reference designs forum.

For questions regarding the ADI Linux device drivers, device trees, etc. from our Linux GitHub repository, the team will offer support on the EngineerZone Linux software drivers forum.

For questions concerning the ADI No-OS drivers, from our No-OS GitHub repository, the team will offer support on the EngineerZone microcontroller No-OS drivers forum.

It should be noted, that the older the tools’ versions and release branches are, the lower the chances to receive support from ADI engineers.