ADA4355-FMC HDL project
Overview
The ADA4355 is a complete, high performance, current input µModule. For space savings, the ADA4355 includes all the required active and passive components to realize a complete current to bits data acquisition solution, supporting a small form factor, optical modules as well as multichannel systems.
The high speed transimpedance amplifier (TIA) of the device supports 10 ns pulse widths, allowing high spatial resolution for Time of Flight (ToF) measurements. Additionally, the ADA4355 includes three TIA gain (TZ) settings to maximize dynamic range. An internal, selectable, analog low-pass filter (LPF) can limit the device bandwidth with a corner frequency of 100 MHz to minimize broadband noise while also serving as an antialiasing filter for the 125 MSPS ADC.
The 14-bit ADC converts the amplified voltage signal at a rate of up to 125 MSPS and outputs the digitized signals through two serial, low voltage differential signaling (LVDS) data lanes, operating at rates of up to 1 Gbps per lane. The data clock output (DCO) operates at frequencies of up to 500 MHz and supports double data rate (DDR) operation.
Supported boards
Supported devices
Supported carriers
Evaluation board |
Carrier |
FMC slot |
---|---|---|
FMC |
Block design
Warning
The VADJ for the Zedboard must be set to 2.5V.
Block diagram
The data path and clock domains are depicted in the below diagram:
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 HDL Architecture).
Instance |
Zynq/Microblaze |
---|---|
axi_ada4355_adc |
0x44A0_0000 |
axi_ada4355_dma |
0x44A3_0000 |
I2C connections
I2C type |
I2C manager instance |
Alias |
Address |
I2C subordinate |
---|---|---|---|---|
PL |
iic_fmc |
axi_iic_fmc |
0x4162_0000 |
— |
PL |
iic_main |
axi_iic_main |
0x4160_0000 |
— |
GPIOs
The Software GPIO number is calculated as follows:
Zynq-7000: if PS7 is used, then offset is 54
GPIO signal |
Direction |
HDL GPIO EMIO |
Software GPIO |
---|---|---|---|
(from FPGA view) |
Zynq-7000 |
||
gpio_1p8va_en |
IN |
37 |
91 |
gain_sel2 |
IN |
36 |
90 |
gpio_1p8vd_en |
INOUT |
35 |
89 |
fsel |
INOUT |
34 |
88 |
gain_sel1 |
INOUT |
33 |
87 |
gain_sel0 |
INOUT |
32 |
86 |
Interrupts
Below are the Programmable Logic interrupts used in this project.
Instance name |
HDL |
Linux Zynq |
Actual Zynq |
---|---|---|---|
axi_ada4355_dma |
13 |
57 |
89 |
SPI connections
SPI type |
SPI manager instance |
SPI subordinate |
CS |
---|---|---|---|
PS |
SPI 0 |
ADA4355 |
0 |
PS |
SPI 1 |
AD5142 |
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.
Linux/Cygwin/WSL
~$
cd hdl/projects/ada4355_fmc/zed
~/hdl/projects/ada4355_fmc/zed$
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.