261 lines
8.4 KiB
ReStructuredText
261 lines
8.4 KiB
ReStructuredText
|
.. _adaq7980_sdz:
|
|||
|
|
|||
|
ADAQ7980-SDZ HDL project
|
|||
|
===============================================================================
|
|||
|
|
|||
|
Overview
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
The :adi:`ADAQ7980`/:adi:`ADAQ7988` are 16-bit analog-to-digital converter
|
|||
|
(ADC) subsystems that integrate four common signal processing and conditioning
|
|||
|
blocks into a system in package (SiP) design that supports a variety of
|
|||
|
applications. These devices contain the most critical passive components,
|
|||
|
eliminating many of the design challenges associated with traditional signal
|
|||
|
chains that use successive approximation register (SAR) ADCs. These passive
|
|||
|
components are crucial to achieving the specified device performance.
|
|||
|
|
|||
|
The :adi:`ADAQ7980`/:adi:`ADAQ7988` contain a high accuracy, low power,
|
|||
|
16-bit SAR ADC, a low power, high bandwidth, high input impedance ADC driver,
|
|||
|
a low power, stable reference buffer, and an efficient power management block.
|
|||
|
Housed within a tiny, 5 mm × 4 mm LGA package, these systems simplify the
|
|||
|
design process for data acquisition systems. The level of system integration
|
|||
|
of the :adi:`ADAQ7980`/:adi:`ADAQ7988` solves many design challenges, while
|
|||
|
the devices still provide the flexibility of a configurable ADC driver feedback
|
|||
|
loop to allow gain and/or common-mode adjustments. A set of four device
|
|||
|
supplies provides optimal system performance; however, single-supply operation
|
|||
|
is possible with minimal impact on device operating specifications.
|
|||
|
|
|||
|
Using the SDI input, the SPI-compatible serial interface features the ability
|
|||
|
to daisy-chain multiple devices on a single, 3-wire bus and provides an optional
|
|||
|
busy indicator. The user interface is compatible with 1.8 V, 2.5 V, 3 V, or 5 V
|
|||
|
logic. Specified operation of these devices is from −55°C to +125°C.
|
|||
|
|
|||
|
Applications:
|
|||
|
* Automated test equipment (ATE)
|
|||
|
* Battery powered instrumentation
|
|||
|
* Communications
|
|||
|
* Data acquisition
|
|||
|
* Process control
|
|||
|
* Medical instruments
|
|||
|
|
|||
|
Supported boards
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
- :adi:`EVAL-ADAQ7980 <EVAL-ADAQ7980>`
|
|||
|
|
|||
|
Supported devices
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
- :adi:`ADAQ7980`
|
|||
|
- :adi:`ADAQ7988`
|
|||
|
|
|||
|
Supported carriers
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
- :xilinx:`ZedBoard <products/boards-and-kits/1-8dyf-11.html>` on FMC slot
|
|||
|
|
|||
|
Block design
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
Block diagram
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
.. image:: adaq7980_sdz_hdl.svg
|
|||
|
:width: 800
|
|||
|
:align: center
|
|||
|
:alt: ADAQ7980_SDZ block diagram
|
|||
|
|
|||
|
CPU/Memory interconnects addresses
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
=========================== ==========
|
|||
|
Instance Address
|
|||
|
=========================== ==========
|
|||
|
axi_adaq7980_dma 0x44a30000
|
|||
|
spi_clkgen 0x44a70000
|
|||
|
spi_adaq7980_adc_axi_regmap 0x44a00000
|
|||
|
spi_trigger_gen 0x44b00000
|
|||
|
=========================== ==========
|
|||
|
|
|||
|
I2C connections
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
.. list-table::
|
|||
|
:widths: 20 20 20 20 20
|
|||
|
:header-rows: 1
|
|||
|
|
|||
|
* - 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
|
|||
|
- ---
|
|||
|
|
|||
|
SPI connections
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
.. list-table::
|
|||
|
:widths: 25 25 25 25
|
|||
|
:header-rows: 1
|
|||
|
|
|||
|
* - SPI type
|
|||
|
- SPI manager instance
|
|||
|
- SPI subordinate
|
|||
|
- CS
|
|||
|
* - PL
|
|||
|
- axi_spi_engine
|
|||
|
- adaq7980
|
|||
|
- 0
|
|||
|
|
|||
|
GPIOs
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
The Software GPIO number is calculated as follows:
|
|||
|
|
|||
|
- Zynq-7000: if PS7 is used, then offset is 54
|
|||
|
|
|||
|
.. list-table::
|
|||
|
:widths: 25 25 25 25
|
|||
|
:header-rows: 2
|
|||
|
|
|||
|
* - GPIO signal
|
|||
|
- Direction
|
|||
|
- HDL GPIO EMIO
|
|||
|
- Software GPIO
|
|||
|
* -
|
|||
|
- (from FPGA view)
|
|||
|
-
|
|||
|
- Zynq-7000
|
|||
|
* - adaq7980_rbuf_pf
|
|||
|
- INOUT
|
|||
|
- 41
|
|||
|
- 95
|
|||
|
* - adaq7980_ref_pd
|
|||
|
- INOUT
|
|||
|
- 40
|
|||
|
- 94
|
|||
|
* - adaq7980_gpio
|
|||
|
- INOUT
|
|||
|
- 39:32
|
|||
|
- 93:86
|
|||
|
|
|||
|
Interrupts
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
Below are the Programmable Logic interrupts used in this project.
|
|||
|
|
|||
|
================ === ========== ===========
|
|||
|
Instance name HDL Linux Zynq Actual Zynq
|
|||
|
================ === ========== ===========
|
|||
|
axi_adaq7980_dma 13 57 89
|
|||
|
spi_adaq7980 12 56 88
|
|||
|
================ === ========== ===========
|
|||
|
|
|||
|
Building the HDL project
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
The design is built upon ADI's generic HDL reference design framework.
|
|||
|
ADI does not distribute the bit/elf files of these projects so they
|
|||
|
must be built from the sources available :git-hdl:`here </>`. To get the source
|
|||
|
you must `clone <https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository>`__
|
|||
|
the HDL repository, and then build the project as follows:.
|
|||
|
|
|||
|
**Linux/Cygwin/WSL**
|
|||
|
|
|||
|
.. code-block::
|
|||
|
:linenos:
|
|||
|
|
|||
|
user@analog:~$ cd hdl/projects/adaq7980_sdz/zed
|
|||
|
user@analog:~/hdl/projects/adaq7980_sdz/zed$ make
|
|||
|
|
|||
|
A more comprehensive build guide can be found in the :ref:`build_hdl` user guide.
|
|||
|
|
|||
|
Resources
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
Systems related
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
- :dokuwiki:`ADAQ7980 User guide <resources/eval/user-guides/adaq7980-sdz>`
|
|||
|
- :dokuwiki:`How to build No-OS <resources/no-os/build>`
|
|||
|
|
|||
|
Hardware related
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
- Product datasheet: :adi:`ADAQ7980`/:adi:`ADAQ7988`
|
|||
|
|
|||
|
- `UG-1060, Evaluation Board User Guide <https://www.analog.com/media/en/technical-documentation/data-sheets/adaq7980-7988.pdf>`__
|
|||
|
|
|||
|
HDL related
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
- :git-hdl:`adaq7980_sdz HDL project <projects/adaq7980_sdz>`
|
|||
|
- :ref:`SPI_ENGINE <spi_engine>`
|
|||
|
|
|||
|
.. list-table::
|
|||
|
:widths: 30 35 35
|
|||
|
:header-rows: 1
|
|||
|
|
|||
|
* - IP name
|
|||
|
- Source code link
|
|||
|
- Documentation link
|
|||
|
* - AXI_CLKGEN
|
|||
|
- :git-hdl:`library/axi_dmac <main:library/axi_clkgen>`
|
|||
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/axi_clkgen>`
|
|||
|
* - AXI_DMAC
|
|||
|
- :git-hdl:`library/axi_dmac <master:library/axi_dmac>`
|
|||
|
- :ref:`here <axi_dmac>`
|
|||
|
* - AXI_HDMI_TX
|
|||
|
- :git-hdl:`library/axi_hdmi_tx <main:library/axi_hdmi_tx>`
|
|||
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/axi_hdmi_tx>`
|
|||
|
* - AXI_I2S_ADI
|
|||
|
- :git-hdl:`library/axi_i2s_adi <main:library/axi_i2s_adi>`
|
|||
|
- ---
|
|||
|
* - AXI_PWM_GEN
|
|||
|
- :git-hdl:`library/axi_pwm_gen <main:library/axi_pwm_gen>`
|
|||
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/axi_pwm_gen>`
|
|||
|
* - AXI_SPDIF_TX
|
|||
|
- :git-hdl:`library/axi_spdif_tx <main:library/axi_spdif_tx>`
|
|||
|
- ---
|
|||
|
* - AXI_SPI_ENGINE
|
|||
|
- :git-hdl:`library/spi_engine/axi_spi_engine <main:library/spi_engine/axi_spi_engine>`
|
|||
|
- :ref:`here <spi_engine axi>`
|
|||
|
* - AXI_SYSID
|
|||
|
- :git-hdl:`library/axi_sysid <main:library/axi_sysid>`
|
|||
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/axi_sysid>`
|
|||
|
* - SPI_ENGINE_EXECUTION
|
|||
|
- :git-hdl:`library/spi_engine/spi_engine_execution <main:library/spi_engine/spi_engine_execution>`
|
|||
|
- :ref:`here <spi_engine execution>`
|
|||
|
* - SPI_ENGINE_INTERCONNECT
|
|||
|
- :git-hdl:`library/spi_engine/spi_engine_interconnect <main:library/spi_engine/spi_engine_interconnect>`
|
|||
|
- :ref:`here <spi_engine interconnect>`
|
|||
|
* - SPI_ENGINE_OFFLOAD
|
|||
|
- :git-hdl:`library/spi_engine/spi_engine_offload <main:library/spi_engine/spi_engine_offload>`
|
|||
|
- :ref:`here <spi_engine offload>`
|
|||
|
* - SYSID_ROM
|
|||
|
- :git-hdl:`library/sysid_rom <main:library/sysid_rom>`
|
|||
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/axi_sysid>`
|
|||
|
* - UTIL_I2C_MIXER
|
|||
|
- :git-hdl:`library/util_i2c_mixer <main:library/util_i2c_mixer>`
|
|||
|
- :ref:`here <spi_engine offload>`
|
|||
|
|
|||
|
Software related
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
- :git-no-os:`No-OS project <projects/adaq7980_sdz>`
|
|||
|
|
|||
|
- :dokuwiki:`How to build No-OS <resources/no-os/build>`
|
|||
|
|
|||
|
.. include:: ../common/more_information.rst
|
|||
|
|
|||
|
.. include:: ../common/support.rst
|