AD9739A-FMC HDL project

Overview

The AD9739A is a 14-bit, 2.5 GSPS high performance RF DAC capable of synthesizing wideband signals with up to 1.25GHz of bandwidth, from DC up to 3 GHz.

This reference design includes a single tone sine generator (DDS) and allows programming the device and monitoring its internal status registers. It also programs the ADF4350 clock chip which can generate a 1.6G Hz to 2.5 GHz clock for the AD9739A from the on-board 25MHz crystal. An alternate clock path using an ADCLK914 is available for driving the clock externally.

Supported boards

Supported devices

Supported carriers

Block design

Block diagram

The reference design consists of two functional modules, a DDS/LVDS interface and a SPI interface. It is part of an AXI based microblaze system as shown in the block diagram below. It is designed to support linux running on microblaze. All other peripherals are available from Xilinx as IP cores.

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

Xilinx block diagram

AD9739A-FMC/ZC706 xlilinx block diagram

AD9739A FMC Card block diagram

AD9739A-FMC/ZC706 fmc card block diagram

The DDS consists of a Xilinx DDS IP core and a DDR based data generator. The core generates 6 samples at every fDAC/3 clock cycles for each port of AD9739A.

The SPI interface allows programming the ADF4350 and/or AD9739A. The provided SDK software shows the initial setup required for both the devices for a 2.5GHz DAC clock with a 300MHz single tone DDS.

Clock scheme

Two clock paths are available to drive the clock input on the AD9739A:

  • The factory default option connects the ADF4350 to the AD9739A. The ADF4350 is able to synthesize a clock over the entire specified range of the AD9739A (1.6GHz to 2.5GHz)

    • Jumper CLOCK SOURCE (S1) must be moved to the ADF4350 position

  • Alternatively, an external clock can be provided via the SMA CLKIN (J3) jack

    • Jumper CLOCK SOURCE (S1) must be moved to the ADCLK914 position. C102 and C99 on the back of the board also need to be removed from their default position, and then soldered into the vertical position from the large square pad they were previously soldered to and the narrow pads closer to the ADCLK914 (U3). Observe the orientation of the caps before removing them; they must be soldered with their narrow edge against the PCB, and not the wide side as is common with most components.

CPU/Memory interconnects addresses

The addresses are dependent on the architecture of the FPGA, having an offset added to the base address from HDL (see more at CPU/Memory interconnects addresses).

Instance

Zynq/Microblaze

axi_ad9739a

0x7420_0000

axi_ad9739a_dma

0x7C42_0000

SPI connections

SPI type

SPI manager instance

SPI subordinate

CS

PS

SPI 0

ADF4350

0

PS

SPI 0

ADCLK914

0

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.

~$
cd hdl/projects/ad9739a_fmc/zc706
~/hdl/projects/ad9739a_fmc/zc706$
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.