AD463x-FMCZ no-OS Example Project
See projects/ad463x_fmcz (doxygen) for the Doxygen documentation.
Supported Evaluation Boards
Overview
The EVAL-AD4630-24FMCZ, EVAL-AD4030-24FMCZ, and EVAL-AD4630-16FMCZ evaluation boards enable quick and easy evaluation of the AD4X3X family of 24-bit and 16-bit precision successive approximation register (SAR) analog-to-digital converters (ADCs). The AD4630-24 and AD4630-16 are 2 MSPS per channel, low power, dual channel 24-bit or 16-bit SAR ADCs, while the AD4030-24 is a single channel 24-bit precision SAR ADC that supports a sampling rate of up to 2 MSPS. The evaluation boards demonstrate the performance of either the AD4630-24, AD4030-24, or AD4630-16 and provide a configurable analog front end (AFE) for a variety of system applications.
The evaluation boards are designed for use with a ZedBoard or the SDP-K1 controller board. The ZedBoard uses the FMC low pin count (LPC) connector for high-speed data capture and buffering.
Note
The name AD463x is used as a generic identifier in the no-OS driver code;
this driver supports multiple devices in the AD463x family including
AD4630-24, AD4630-20, AD4630-16, AD4631-24, AD4631-20, AD4631-16,
AD4632-24, AD4632-20, AD4632-16, AD4030, ADAQ4216, and ADAQ4224.
Applications
Automatic test equipment
Digital control loops
Medical instrumentation
Seismology
Semiconductor manufacturing
Scientific instrumentation
Hardware Specifications
Power Supply Requirements
The EVAL-AD4630-24FMCZ evaluation board derives its primary 12V power supply directly from the ZedBoard via the FMC connector. This 12V input is first converted to a 7.5V intermediate voltage by a switching regulator before being post-regulated to provide various required voltage rails. Moreover, the 12V is instrumental in generating negative rail voltages, such as the -3.3V needed for the buffers and drive amplifiers.
Power Supply |
Function |
Min. (V) |
Max. (V) |
|---|---|---|---|
+12V |
12V primary supply via FMC connector |
N/A |
N/A |
GND |
Ground connection |
N/A |
N/A |
+3.3V |
3.3V for various digital logic |
3.26 |
3.33 |
+1.8V |
1.8V for the ADC |
1.77 |
1.81 |
VIO |
1.8V supply for the ADC digital I/O |
1.77 |
1.81 |
+5.4V |
5.4V for the ADC |
5.34 |
5.46 |
REFIN |
5V ADC reference input |
4.95 |
5.05 |
VAMP+ |
Positive supply for the amplifiers |
6.35 |
6.5 |
VAMP- |
Negative supply for the amplifiers |
-3.35 |
-3.28 |
VP1 |
7.5V at the input of the switcher |
7.425 |
7.575 |
REF |
5V at the ADC reference output |
4.95 |
5.05 |
EN |
1.8V enable signal for power supplies |
1.75 |
1.85 |
No-OS Build Setup
Please see: No-OS Build Guide
No-OS Supported Examples
This project uses the no-OS variant-based build flow. Selecting a variant
at build time (--variant <name>) chooses which application is compiled.
The initialization data used in the examples is taken out from:
Project Common Data Path
The macros used in Common Data are defined in platform specific files found in: Project Platform Configuration Path
Basic Example
The basic example demonstrates initialization, configuration, and data
acquisition for AD463x series ADCs. The basic_example_main function
initializes the ADC using ad463x_init. If the ADAQ4224 is used, gain
settings are configured via a scale table with ad463x_set_pgia_gain.
The function then exits the register configuration mode, reads ADC data
into a buffer, sign-extends the results with no_os_sign_extend32, and
prints data for both channels to the console.
IIO Example
The IIO example initializes the AD463x ADC and sets up the IIO interface
through iio_example_main(). It allocates and initializes an
ad463x_dev structure, alongside an iio_ad463x structure to support
IIO functions. The example routinely streams data from the ADC via an
IIO-configured buffer, showcasing ADC configuration and data management
capabilities using the IIO framework.
If you are not familiar with ADI IIO Application, please take a look at: IIO No-OS
If you are not familiar with ADI IIO-Oscilloscope Client, please take a look at: IIO Oscilloscope
No-OS Supported Platforms
Xilinx
Used Hardware
Connections
Connect the EVAL-AD4630-24FMCZ to the ZedBoard through the FMC LPC connector for data and 12V power supply.
Connect differential signal sources to the input channels via the SMA connectors.
Set the VADJ SELECT jumper to the correct voltage (e.g., 2.5V) to avoid damage.
Optionally connect an external clock input (up to 100 MHz) via the CLK IN SMA connector.
Configure the ZedBoard boot jumpers for SD card boot.
Connect a USB cable to the ZedBoard USB-UART port for serial communication.
Connect a power supply to J20/DC Input to power the system.
The UART console appears on the ZedBoard USB-UART port at 115200 baud, 8N1.
Build Command
The Xilinx platform uses the CMake/Ninja build system via the
no_os_build.py helper script. Available variants: basic, iio.
Available boards: zed.
For toolchain setup and prerequisites, see the Xilinx CMake build guide.
# Source the Vitis environment (sets XILINX_VITIS and adds tools to PATH)
source /path/to/Vitis/settings64.sh
# PowerShell (Windows) equivalent:
# $env:XILINX_VITIS = "<C:\path\to\Vitis>"
cd no-OS
# build the example on the ZedBoard (replace --variant as needed)
python tools/scripts/no_os_build.py build \
--project ad463x_fmcz --variant basic --board zed \
--hardware /path/to/system_top.xsa
# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
--project ad463x_fmcz --variant basic --board zed \
--hardware /path/to/system_top.xsa \
--probe openocd --flash
STM32
Used Hardware
Connections
Align and mate the EVAL-AD4630-24FMCZ with the SDP-K1 120-pin FMC connector. The evaluation board receives +12V, +3.3V, and +18V through the connector interface.
Connect a 7V to 12V DC power supply (center positive, min 300 mA, max 3.5 A) to the SDP-K1 DC jack.
Set the VIO_ADJUST header to the correct voltage (1.8V or 3.3V) before powering to avoid damage.
Verify the SYS_PWR LED lights up to indicate proper power.
Connect a USB standard-A to mini-B cable from the SDP-K1 USB mini-B port to the PC.
The UART console appears on the SDP-K1 USB virtual COM port at 115200 baud, 8N1.
Build Command
The STM32 platform uses the CMake/Ninja build system via the
no_os_build.py helper script. Available variants: basic, iio.
Available boards: sdp-ck1z.
For toolchain setup and prerequisites, see the STM32 CMake build guide.
# point at your STM32CubeMX installation
export STM32CUBEMX_EXECUTABLE=/path/to/STM32CubeMX
# PowerShell (Windows) equivalent:
# $env:STM32CUBEMX_EXECUTABLE = "<C:\path\to\STM32CubeMX>"
cd no-OS
# build the example on the SDP-K1 board (replace --variant as needed)
python tools/scripts/no_os_build.py build \
--project ad463x_fmcz --variant basic --board sdp-ck1z
# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
--project ad463x_fmcz --variant basic --board sdp-ck1z \
--probe openocd --flash