Skip to content

Commit a2a0038

Browse files
committed
ad9467_fmc: Added doc for ZCU102 design
Signed-off-by: JuanRafael Rabacca <[email protected]>
1 parent e6555d2 commit a2a0038

File tree

1 file changed

+50
-29
lines changed

1 file changed

+50
-29
lines changed

docs/projects/ad9467_fmc/index.rst

Lines changed: 50 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Supported carriers
3030

3131
- :xilinx:`KC705` LPC slot *
3232
- `ZedBoard <https://digilent.com/shop/zedboard-zynq-7000-arm-fpga-soc-development-board>`__
33+
- :xilinx:`ZCU102` FMC HPC0
3334

3435
.. admonition:: Legend
3536
:class: note
@@ -40,9 +41,6 @@ Supported carriers
4041
Block design
4142
-------------------------------------------------------------------------------
4243

43-
.. warning::
44-
The VADJ for the FPGA carrier must be set to 2.5V.
45-
4644
The PN9/PN23 sequences are not compatible with O.150. Please use the
4745
equations given in the reference design. They follow the polynomial
4846
equations as in O.150, but ONLY the MSB is inverted.
@@ -52,6 +50,18 @@ and second byte (D14:D0) on the falling edge of DCO clock. However, in
5250
certain frequencies the captured data (from IDDR) seems to be reverse.
5351
If that occurs, try setting the "capture select" bit (register 0x0A, bit to 0).
5452

53+
VADJ setting
54+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55+
56+
.. warning::
57+
58+
For ZedBoard, the VADJ must be set to 2.5V.
59+
60+
For ZCU102, the :adi:`EVAL-AD9467` it has on board EEPROM that will be read
61+
as per VITA 57.1 FMC standards. It provides information to set the VADJ to
62+
1.8V. There are onboard level shifters on the :adi:`EVAL-AD9467` to accomodate
63+
the change in VADJ.
64+
5565
Block diagram
5666
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5767

@@ -63,29 +73,29 @@ The data path and clock domains are depicted in the below diagram:
6373
.. image:: ad9467_fmc_block_diagram.svg
6474
:width: 800
6575
:align: center
66-
:alt: AD9467-FMC HDL block diagram
76+
:alt: AD9467-FMC/ZedBoard HDL block diagram
6777

6878
AD9467 FMC card block diagram
6979
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7080

7181
The block diagram of the AD9467-FMC evaluation board is depicted below:
7282

7383
.. image:: ad9467_fmc_card.svg
74-
:width: 800
84+
:width: 600
7585
:align: center
7686
:alt: AD9467-FMC card diagram
7787

7888
The reference design is built on an ARM/Microblaze based system tailored
7989
for Linux.
8090

81-
Through an SPI interface, the software can access the AD9467/AD9517-4
82-
registers, given the possibility to initialize and configure the ADC
83-
and/or clock chip.
91+
Through an SPI interface, the software can access the :adi:`AD9467` and the
92+
:adi:`AD9517-4` registers, having the possibility to initialize and configure
93+
the ADC and/or clock chip.
8494

85-
The LVDS interface captures and buffers data from the ADC. The DMA
86-
interface then transfers the samples to the external DDR-DRAM. The
87-
capture is initiated by the software. The status of capture (overflow,
88-
over the range) are reported back to the software.
95+
The :git-hdl:`LVDS interface <library/axi_ad9467/axi_ad9467_if.v>` captures
96+
and buffers data from the ADC. The DMA interface then transfers the samples
97+
to the external DDR-DRAM. The capture is initiated by the software. The status
98+
of capture (overflow, over the range) are reported back to the software.
8999

90100
Clock selection
91101
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -123,7 +133,7 @@ A **differential LVPECL or LVDS clock driver** can also be used to clock
123133
the ADC input using the AD9517.
124134

125135
- Populate (C304, C305) for LVPECL clock driver **or** (C306, C307) for
126-
LVDS clock driver, with 0.1 µF capacitors
136+
LVDS clock driver, with 0.1 µF capacitors
127137
- Remove C209 and C210 to disconnect the default clock path inputs
128138

129139
The :adi:`AD9517` has many SPI-selectable options that are set to a default
@@ -143,12 +153,12 @@ CPU/Memory interconnects addresses
143153
The addresses are dependent on the architecture of the FPGA, having an offset
144154
added to the base address from HDL (see more at :ref:`architecture cpu-intercon-addr`).
145155

146-
==================== ===============
147-
Instance Zynq/Microblaze
148-
==================== ===============
149-
axi_ad9467 0x44A0_0000
150-
axi_ad9467_dma 0x44A3_0000
151-
==================== ===============
156+
==================== =============== ===========
157+
Instance Zynq/Microblaze ZynqMP
158+
==================== =============== ===========
159+
axi_ad9467 0x44A0_0000 0x84A0_0000
160+
axi_ad9467_dma 0x44A3_0000 0x84A3_0000
161+
==================== =============== ===========
152162

153163
SPI connections
154164
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -167,6 +177,10 @@ Depending on the carrier, the SPI connections are as follows:
167177
- spi0
168178
- AD9467
169179
- 0
180+
* - PS
181+
- spi0
182+
- AD9517-4
183+
- 1
170184
* - MicroBlaze
171185
- spi_*
172186
- AD9467
@@ -218,10 +232,10 @@ Hardware related
218232
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219233

220234
- Product datasheet: :adi:`AD9467`
221-
- The schematic of the board can be found
222-
:dokuwiki:`here <_media/resources/fpga/xilinx/fmc/02-041710-01-c-1.pdf>`,
223-
or :dokuwiki:`here <_media/resources/fpga/xilinx/fmc/9467fmc01c_sch.pdf>`
224-
for older versions.
235+
- The schematic of the new board can be found
236+
:dokuwiki:`here <_media/resources/fpga/xilinx/fmc/02-041710-01-c-1.pdf>`
237+
(for older versions,
238+
:dokuwiki:`here <_media/resources/fpga/xilinx/fmc/9467fmc01c_sch.pdf>`)
225239

226240
HDL related
227241
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -244,13 +258,13 @@ HDL related
244258
* - AXI_DMAC
245259
- :git-hdl:`library/axi_dmac`
246260
- :ref:`axi_dmac`
247-
* - AXI_HDMI_TX
261+
* - AXI_HDMI_TX *
248262
- :git-hdl:`library/axi_hdmi_tx`
249263
- :ref:`axi_hdmi_tx`
250-
* - AXI_I2S_ADI
264+
* - AXI_I2S_ADI *
251265
- :git-hdl:`library/axi_i2s_adi`
252266
- ---
253-
* - AXI_SPDIF_TX
267+
* - AXI_SPDIF_TX *
254268
- :git-hdl:`library/axi_spdif_tx`
255269
- ---
256270
* - AXI_SYSID
@@ -259,18 +273,25 @@ HDL related
259273
* - SYSID_ROM
260274
- :git-hdl:`library/sysid_rom`
261275
- :ref:`axi_sysid`
262-
* - UTIL_I2C_MIXER
276+
* - UTIL_I2C_MIXER *
263277
- :git-hdl:`library/util_i2c_mixer`
264278
- ---
265279

280+
.. admonition:: Legend
281+
:class: note
282+
283+
- ``*`` instantiated only for Zedboard
284+
266285
Software related
267286
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
268287

269-
- :git-linux:`AD9467-FMC KC705 Linux device tree <arch/microblaze/boot/dts/kc705_ad9467_fmc.dts>`
270288
- :git-linux:`AD9467-FMC ZedBoard Linux device tree zynq-zed-adv7511-ad9467-fmc-250ebz.dts <arch/arm/boot/dts/xilinx/zynq-zed-adv7511-ad9467-fmc-250ebz.dts>`
289+
- :git-linux:`AD9467-FMC ZCU102 Linux device tree zynqmp-zcu102-rev10-ad9467-fmc-250ebz.dts <arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-ad9467-fmc-250ebz.dts>`
290+
- :git-linux:`AD9467-FMC KC705 Linux device tree (2023_R2 release) <2023_R2:arch/microblaze/boot/dts/kc705_ad9467_fmc.dts>`
271291
- :git-linux:`Linux driver ad9467.c <drivers/iio/adc/ad9467.c>`
272292
- :dokuwiki:`[Wiki] AD9467-FMC on ZedBoard using ACE </resources/eval/ad9467-fmc-250ebz-zedboard>`
273-
- :git-no-os:`No-OS project <projects/ad9467>` and :git-no-os:`No-OS driver <drivers/adc/ad9467>`
293+
- :git-no-os:`AD9467 no-OS project <projects/ad9467>` and
294+
:git-no-os:`AD9467 no-OS driver <drivers/adc/ad9467>`
274295

275296
.. include:: ../common/more_information.rst
276297

0 commit comments

Comments
 (0)