CN0577 HDL project#
Overview#
The CN0577 provides an analog front-end and an FMC digital interface for LTC2387-18, its core. It is a low noise, high speed successive approximation register (SAR) ADC with a resolution of 18 bits and sampling rate up to 15MSPS.
CN0577 includes an on-board reference oscillator and a retiming circuit to minimize signal-to-noise ratio (SNR) degradation due to the FPGA additive jitter.
In order to support high speed operations while minimizing the number of data lines, a serial LVDS digital interface is used. It has a one-lane and two-lane output modes, allowing the user to optimize the interface data rate for each application, through setting a parameter.
Supported boards#
Supported devices#
Supported carriers#
ZedBoard on FMC slot
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:
Configuration modes#
TWOLANES: specifies the number of lanes used
1 - two-lane output mode (default)
0 - one-lane output mode
Jumper setup#
Depending on what configuration of pins is chosen on the jumpers P1, P2 and P3, the device can act in different modes, as described below. Of course, the PD jumper overrides the PD signal from the FPGA. It is controlled by a one-bit-adc-dac, in software.
P1 - configures PD_N
Shorting pins 1 and 2 → PD_N = 1, device is not powered down
Shorting pins 2 and 3 → PD_N = 0, device is powered down
P2 - configures TESTPAT
Shorting pins 1 and 2 → TESTPAT = 1, pattern testing is active
Shorting pins 2 and 3 → TESTPAT = 0, pattern testing is inactive
P3 - configures TWOLANES parameter
Shorting pins 1 and 2 → TWOLANES = 1 (TWO LANES mode)
Shorting pins 2 and 3 → TWOLANES = 0 (ONE LANE mode)
Clock scheme#
The clock architecture of the CN0577 is designed with careful consideration to ensure low jitter and low phase noise
An on-board 120 MHz voltage controlled crystal oscillator (VCXO) is used to provide the clock for the CN0577 board and the FPGA. It is further named as reference clock. This clock is gated and fed back to the device as the sampling clock, on which the data was sampled
The DMA runs on the ZynqPS clock FCLK_CLK0 which has a frequency of 100MHz
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_ltc2387 |
0x44A0_0000 |
axi_ltc2387_dma |
0x44A3_0000 |
axi_pwm_gen |
0x44A6_0000 |
GPIOs#
GPIO signal |
Direction |
HDL GPIO EMIO |
Software GPIO |
Software GPIO |
---|---|---|---|---|
(from FPGA view) |
Zynq-7000 |
Zynq MP |
||
testpat_cntrl |
IN |
32 |
86 |
110 |
pd_cntrl |
IN |
33 |
87 |
111 |
Interrupts#
Below are the Programmable Logic interrupts used in this project.
Instance name |
HDL |
Linux Zynq |
Actual Zynq |
---|---|---|---|
axi_ltc2387_dma |
13 |
57 |
89 |
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.
Default (two-lane mode):
1user@analog:~$ cd hdl/projects/cn0577/zed
2user@analog:~/hdl/projects/cn0577/zed$ make
If one-lane mode is desired:
1user@analog:~$ cd hdl/projects/cn0577/zed
2user@analog:~/hdl/projects/cn0577/zed$ make TWOLANES=0
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.