EVAL-AD3552R no-OS Example Project
See projects/ad3552r_fmcz (doxygen) for the Doxygen documentation.
Supported Evaluation Boards
Overview
The EVAL-AD3552RFMCZ Evaluation Board is designed for the dual-channel, 16-bit AD3552R digital-to-analog converter (DAC). It features two channels with distinct transimpedance amplifiers — one for dynamic performance and one for DC precision over temperature. The board supports comprehensive testing across all DAC outputs, waveform generation, and offers various power supply and reference options. Connectivity is facilitated through either the SDP-H1 system demonstration platform or via a pin header for ZedBoard or other controllers.
Applications
Instrumentation
Hardware in the loop
Process control equipment
Medical devices
Automated test equipment
Data acquisition systems
Programmable voltage sources
Optical communications
Hardware Specifications
Power Supply Requirements
To power the EVAL-AD3552RFMCZ board, connect it using either a controller board or external power supplies via connector P3.
Pin Assignment on Power Supply Connector P3
Pin Number |
Signal |
Description |
1 |
EXT_PVDD |
External positive supply for transconductance amplifier. 12V ± 5%. |
2 |
EXT_PVSS |
External negative supply for transconductance amplifier. −12V ± 5% |
3 |
EXT_VDD |
External AVDD analog supply for AD3552R. 5V ± 5%. |
4 |
EXT_DVDD |
External DVDD digital supply for AD3552R. 1.8V ± 5%. |
5 |
EXT_VLOGIC |
External VLOGIC digital I/O supply for AD3552R. 1.1V to 1.9V. |
6 |
GND |
Ground. |
Digital Signals
Pin Assignment on Connector P5
Pin Number |
Signal |
Description |
|---|---|---|
1 |
+12V_FMC |
External 12 V power supply. Use this pin to supply the EVAL-AD3552RFMCZ board when using a custom controller different from the SDP-H1 or the ZedBoard. |
2 |
POWER_ON_FMC |
Enable signal for the onboard regulators. This pin is used to turn on the LDOs and DC/DC converters. Set a voltage higher than 1.24 V to turn on. |
3 |
VIO |
Voltage supply used for AD3552R I/O pins. If this pin is used to supply VLOGIC, remove the VLOGIC link or set it to EXT. |
4 |
SPI_QPI1 |
Signal SPI_QPI. A high level sets the bus in Quad SPI mode. A low level sets the bus in classic SPI mode. |
5 |
GND |
Ground. |
6 |
SPI_CS1 |
SPI chip select signal. |
7 |
SPI_SCK1 |
SPI clock signal. |
8 |
SPI_SDI1 |
SPI data input signal. |
9 |
GND |
Ground. |
10 |
SPI_SDIO01 |
SDO/MISO signal in Classic SPI mode or SDIO0 signal in Dual/Quad SPI modes. |
11 |
GND |
Ground. |
12 |
SPI_SDIO11 |
SDO/MISO signal in Classic SPI mode or SDIO1 signal in Dual/Quad SPI modes. |
13 |
GND |
Ground. |
14 |
SPI_SDIO21 |
SPI SDIO2 signal in Quad SPI mode. |
15 |
GND |
Ground. |
16 |
SPI_SDIO31 |
SPI SDIO3 signal in Quad SPI mode. |
17 |
GND |
Ground. |
18 |
/LDAC1 |
LDAC signal. |
19 |
/RESET1 |
RESET signal. |
20 |
/ALERT1 |
ALERT signal. |
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.
Shared initialization data is defined in
src/common,
and platform-specific macros are in
src/platform.
AXI QSPI Example
The axi_qspi variant drives the AD3552R DAC via the AXI QSPI interface
with AXI DMA and AXI clock generator IP. It demonstrates hardware
initialization (GPIOs, SPI, DAC), raw sample data transfer to the DAC,
and cyclic DMA-based sine wave generation using the no_os_sine_lut_16
lookup table.
AXI QSPI IIO Example
The axi_qspi_iio variant extends the AXI QSPI example with an IIOD
server, exposing the AD3552R DAC through the IIO framework via iio_ad3552r
and iio_axi_dac. A host can connect using any libiio-compatible client
to configure DAC attributes and trigger waveform sequences.
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
Generic SPI Example
The generic_spi variant drives the AD3552R DAC using the Zynq PS SPI
controller (no AXI offload). It initializes GPIOs and SPI, configures the
DAC, and streams a sine wave lookup table to both channels using cyclic DMA.
Generic SPI IIO Example
The generic_spi_iio variant extends the generic SPI example with an
IIOD server, exposing the AD3552R DAC through the IIO framework via
iio_ad3552r. A host can connect using any libiio-compatible client to
configure DAC attributes and control waveform output.
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
The EVAL-AD3552RFMCZ board interfaces with the ZedBoard via connector P5, which handles both digital signal transmission and power requirements.
Connect the EVAL-AD3552RFMCZ board into the ZedBoard FMC connector.
Connect USB UART J14 (Micro USB) to your host PC.
Plug your ethernet cable into the RJ45 ethernet connector (J11).
Plug the Power Supply into the 12V Power input connector (J20).
For power, utilize the +12V_FMC pin and activate the POWER_ON_FMC pin to enable the board's regulators. I/O voltage is selected through the VIO pin. The SPI bus can operate in Quad mode or classic configuration controlled by the SPI_QPI pin. Proper initialization requires setting GPIO_RESET_N and GPIO_LDAC_N pins high at startup.
Pin Function |
Pin Name |
Description |
SPI Mode Selector |
SPI_QPI1 |
High level sets to Quad SPI; low level sets to Classic SPI. |
SPI Chip Select |
SPI_CS1 |
SPI chip select signal. |
SPI Clock |
SPI_SCK1 |
SPI clock signal. |
SPI Data Input |
SPI_SDI1 |
SPI data input signal. |
SPI SDIO Bit 0 |
SPI_SDIO01 |
SDO/MISO in Classic SPI or SDIO0 in Dual/Quad mode. |
SPI SDIO Bit 1 |
SPI_SDIO11 |
SDO/MISO in Classic SPI or SDIO1 in Dual/Quad mode. |
SPI SDIO Bit 2 |
SPI_SDIO21 |
SDIO2 in Quad SPI mode. |
SPI SDIO Bit 3 |
SPI_SDIO31 |
SDIO3 in Quad SPI mode. |
Load DAC Data |
/LDAC1 |
Load DAC data. |
Reset |
/RESET1 |
Reset signal. |
Alert |
/ALERT1 |
Indicates errors or alerts. |
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: axi_qspi,
axi_qspi_iio, generic_spi, generic_spi_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 ad3552r_fmcz --variant axi_qspi --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 ad3552r_fmcz --variant axi_qspi --board zed \
--hardware /path/to/system_top.xsa \
--probe openocd --flash