Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:fpga:xilinx:fmc:ad9467 [26 Feb 2015 09:15] – [Downloads] Revert the XPS zed tar ball Istvan Csomortaniresources:fpga:xilinx:fmc:ad9467 [19 Apr 2024 11:59] (current) – Add reference to AD9467/Zed using ACE iulia Moldovan
Line 3: Line 3:
 ===== Introduction ===== ===== Introduction =====
  
-The [[adi>AD9467]] is a 16-bit, monolithic, IF sampling analog-to-digital converter (ADC) with a conversion rate of up to 250 MSPS. This reference design includes a data capture interface and the external DDR-DRAM interface for sample storage. It allows programming the device and monitoring its internal status registers. The board also provides other options to drive the clock and analog inputs of the ADC. This can be done by programming the [[adi>AD9517-4]] clock chip and/or setting up the ADL5565 differential amplifier respectively. +The [[adi>AD9467]] chip used on [[adi>eval-ad9467.html | AD9467-FMC-250EBZ]] is a 16-bit, monolithic, IF sampling analog-to-digital converter (ADC) with a conversion rate of up to 250 MSPS. This reference design includes a data capture interface and the external DDR-DRAM interface for sample storage. It allows programming the device and monitoring its internal status registers. The board also provides other options to drive the clock and analog inputs of the ADC. This can be done by programming the [[adi>AD9517-4]] clock chip and/or setting up the ADL5565 differential amplifier respectively. 
  
-===== Supported Devices ===== 
  
-  * [[adi>EVAL-AD9467| AD9467-FMC ]] +===== Supported devices =====
-{{:resources:fpga:xilinx:fmc:ad9467_fmc.jpg?300|}}+
  
-===== Supported Carriers =====+  * [[adi>eval-ad9467.html | AD9467-FMC-250EBZ]] also referred to as EVAL-AD9467
  
-^ Board     ^ XPS     ^ Vivado     ^ 
-| [[xilinx>ML605]] |  **DISCONTINUED**  |    | 
-| [[xilinx>KC705]] |  **DISCONTINUED**  |  **x**  | 
-| [[xilinx>VC707]] |  **DISCONTINUED**  |    | 
-| [[http://www.zedboard.org| Zed 
-Board]] |  **DISCONTINUED**  |  **x**  |   
  
-<WRAP round important 80%> +===== Supported carriers =====
-\\ +
-The XPS projects remain on this website only for legacy purposes. The support for them has been discontinued.  +
-</WRAP>+
  
-===== Quick Start Guide =====+  * [[xilinx>KC705]] LPC slot 
 +  * [[https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/zedboard/ | ZedBoard]]
  
-The reference design has been tested with ML605, KC705, VC707 and Zed. The notes below refer to ML605, the procedure is same for the other boards. Please make sure you are using the correct reference design for the board(s) that you have.+===== Block design =====
  
-==== Required Hardware ==== +==== Xilinx block diagram ==== 
-  * ML605/KC705/VC707/Zed board +{{:resources:fpga:xilinx:fmc:ad9467_ebz:ad9467_fmc.svg?500|Xilinx HDL Block Diagram}}
-  * AD9467-FMC-EBZ board +
-  * Signal generator (for data) +
-  * Signal generator (for clock) (optional)+
  
 +==== AD9467 FMC card block diagram ====
 +{{:resources:fpga:xilinx:fmc:ad9467_ebz:ad9467_fmc_card.svg?400|Xilinx HDL Block Diagram}}
  
-==== Required Software ==== 
  
-  * We're upgrade the Xilinx tools on every release. The supported version number can be found in our [[https://github.com/analogdevicesinc/hdl/tree/master | git repository ]].   +==== Description ====
-  * A UART terminal (Tera Term/Hyperterminal), baud rate 115200.+
  
-==== Running Demo (SDK) Program ==== +The reference design is built on a ARM/Microblaze based system tailored for LinuxA functional block diagram of the design is given below.
-To begin, connect the AD9467-FMC-EBZ board to the FMC-LPC connector of ML605 (see image below) or KC705 or Zed board. If using VC707 connect to the FMC1-HPC. Connect power and two USB cables from the PC to the //JTAG// and //UART// USB connectors on the edge of the ML605. ** The demo program uses the default board configuration that uses an external clock (AD9517 is powered down). ** However, since AD9517 is still access-able via SPI, the SDK program configures it for a pass through modeConnect a clock source to the CLKIN SMA connector and a signal source to the AIN SMA connector of the FMC card. After the hardware setup, turn the power on to the ML605.+
  
-{{:resources:fpga:xilinx:fmc:cf_ad9467_setup.jpg?200|Hardware setup}}+Through an SPI interface, the software can access the AD9467/AD9517-4 registers, given the possibility to initialize and configure the ADC and/or clock chip 
  
-Run the **//download.bat//** script located in the "//SDK/SDK_Workspace/bin//" folder provided within the HDL Reference DesignThis script uses XMD to program the FPGA with the HDL Reference Design and download the Software Reference Design into the DDR+The LVDS interface captures and buffers data from the ADCThe DMA interface then transfers the samples to the external DDR-DRAMThe capture is initiated by the software. The status of capture (overflow, over the range) are reported back to the software.
  
-**Note:** The //download.bat// script assumes that the //Xilinx ISE Design Suite 14.4// is installed at this path:  //C:/Xilinx/14.4//. If the installation path on your computer is different please modify the script accordingly. 
  
-If programming was successful, you should be seeing messages appear on the terminal as shown in figure below. +==== Clock selection ====
  
-{{:resources:fpga:xilinx:fmc:ad9467_ebz:ad9467_test.png?200|Terminal}}+The board provides three (some modification maybe necessary) possible clock paths for clocking the AD9467, as follows:
  
-The reference design contains an example on how to: +=== Default clock input ===
-  * Initialize the AD9467 evaluation board +
-  * Initialize the AD9467 HDL core +
-  * Test the ADC communication using the test patterns and PRBS sequences generated by the AD9467 +
-  * Capture data from the AD9467 using DMA transfers+
  
-After the ADC test patterns and PRBS sequences are verified, if no errors are present, the reference design continuously reads data from the ADC. The ADC data can be viewed using the Chipscope project located in the "//Chipscope//" folder provided in the HDL Reference Design. These are the steps than need to be followed to view the ADC data in Chipscope: +The **default clock input** circuitry is derived from a simple transformer-coupled circuit using a high bandwidth 1:1 impedance ratio transformer (T201that adds a very low amount of jitter to the clock pathThe clock input (J201) is 50 Ω terminated and AC-coupled to handle single-ended sine wave types of inputs. The transformer converts the single-ended input to a differential signal that is clipped before entering the ADC clock inputs\\
-  open Chipscope and press the **//Open Cable/Search JTAG Chain//** button (the leftmost button located under the File menu) +
-  * open the //Chipscope/AD9467.cpj// project  +
-  * start the data capture +
-This is how the output of the ADC looks like.+
  
-{{:resources:fpga:xilinx:fmc:cf_ad9467_chipscope.jpg?200|Chipscope Busplot}} +=== Crystal oscillator ===
-===== Using the HDL reference design =====+
  
-==== Functional description ====+The evaluation board can be set up to be clocked from the **crystal oscillator**, Y200. This oscillator is a low phase noise oscillator from Vectron (VCC6-QCD-250M000).  
 +  * Install C205 and C206 
 +  * Remove C202 
 +Jumper P200 is used to disable the oscillator from running. \\
  
-The reference design is built on a Microblaze based system parameterized for Linux. A functional block diagram of the design is given below.+=== Clock generator AD9517 ===
  
-{{:resources:fpga:xilinx:fmc:cf_ad9467_bd.jpg?400|block diagram}}+A **differential LVPECL or LVDS clock driver** can also be used to clock the ADC input using the [[adi>media/en/technical-documentation/data-sheets/AD9517-4.pdf|AD9517]]. 
 +  * Populate (C304, C305) for LVPECL clock driver **or** (C306, C307) for LVDS clock driver, with 0.1 µF capacitors 
 +  * Remove C209 and C210 to disconnect the default clock path inputs
  
-The reference design consists of three functional modules, a LVDS interface, a PN9/PN23/PAT monitor and a DMA interface+The AD9517 has many SPI-selectable options that are set to a default mode of operation. Consult the AD9517 data sheet for more information about these and other options.\\
  
-The LVDS interface captures and buffers data from the ADC. The DMA interface then transfers the samples to the external DDR-DRAM. The capture is initiated by the softwareThe status of capture (overflow, over the range) are reported back to the software.+<WRAP round important 100%> 
 +Please make sure you have removed or inserted the corresponding components on the board to select the desired clock path. The schematic of the board can be found {{ :resources:fpga:xilinx:fmc:02-041710-01-c-1.pdf | here}}. 
 +</WRAP>
  
  
-==== Registers ====+==== Hardware description ====
  
-Refer to the **//regmap.txt//** file inside the pcores directory.+To find out more information about the [[adi>eval-ad9467.html | AD9467-FMC-250EBZ]] board hardware, default operation and jumper selection settings please read the Evaluation User Guide of the board: [[:resources:eval:ad9467-fmc-250ebz]] and the one of the other board, with an FMC interposer [[adi>media/en/technical-documentation/user-guides/UG-200.pdf|UG200]].
  
-==== Good To Know ====+{{:resources:fpga:xilinx:fmc:ad9467_fmc.jpg?300|}}
  
-The PN9/PN23 sequences are not compatible with O.150. Please use the equations given in the reference design. They follow the polynomial equations as in O.150, but ONLY the msb is inverted. 
  
-The AD9467 drives the interleaved first byte (D15:D1) on the rising edge and second byte (D14:D0) on the falling edge of DCO clock. However in certain frequencies the captured data (from IDDR) seems to be reverse. If that occurs try setting the "capture select" bit (register 0x0a, bit 0).+===== Quick start guide =====
  
-==== Clock Selection ====+==== Required hardware ====
  
-The board provides three (some modification maybe necessary) possible clock path for clocking the AD9467+  * [[https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/zedboard/ | ZedBoard]] or [[xilinx>KC705]] board 
 +  * [[adi>eval-ad9467.html | AD9467-FMC-250EBZ]] 
 +  * Signal/clock generator (clock input, 200MHz or 250MHz) 
 +  * Signal generator (analog input, for data capture) 
 +  * Signal synthesizer (for data and/or clock input).
  
-  * External passive clock (default): A SMA connector is provided for an external clock source. +==== Required software ====
-  * Optional active clock path or using the AD9517 : You may use either the PECL (OUT3) or the LVDS (OUT5) outputs. The optional oscillator may be used as a clock source for the AD9517 REF or CLK inputs. +
-  * Optional oscillator: The connector P200 must be set to OSC-ON position. This can be enabled through the passive or active (AD9517) path.+
  
-**Please make sure you have removed or inserted the corresponding components on the board to select the desired clock path.**+  We're upgrading the Xilinx tools on every release. The supported version number can be found in our HDL [[/resources/fpga/docs/releases | releases page]].   
 +  A UART terminal (Tera Term/Putty), baud rate 115200. 
 + 
 +===== Using the HDL reference design ===== 
 + 
 +Check this wiki page if you're not familiar about [[:resources:fpga:docs:build | how to build an ADI HDL project]]. 
 + 
 +The PN9/PN23 sequences are not compatible with O.150. Please use the equations given in the reference design. They follow the polynomial equations as in O.150, but ONLY the msb is inverted. 
 + 
 +The AD9467 drives the interleaved first byte (D15:D1) on the rising edge and second byte (D14:D0) on the falling edge of DCO clock. However in certain frequencies the captured data (from IDDR) seems to be reverse. If that occurs try setting the "capture select" bit (register 0x0a, bit 0).
  
 ===== Using the Software Reference Design ===== ===== Using the Software Reference Design =====
Line 107: Line 100:
   * Capture data from the AD9467 using DMA transfers   * Capture data from the AD9467 using DMA transfers
  
-The software project contains 3 components: the AD9467-FMC-EBZ reference design files, the AD9467 driver and the AD9517 driver. All the components have to be downloaded from the links provided in the **Downloads** section.+The software project contains 3 components: the AD9467-FMC-EBZ reference design files, the AD9467 driver and the AD9517 driver. All the components have to be downloaded from the links provided in the [[/resources/fpga/xilinx/fmc/ad9467#downloads|Downloads]] section. 
 ==== AD9467 Software Driver ==== ==== AD9467 Software Driver ====
  
Line 139: Line 133:
 ==== Software Setup ==== ==== Software Setup ====
  
-The **HDL Reference Design** for each supported Xilinx FPGA board contains a folder called //**SDK_Workspace**// which stores the Xilinx SDK project files needed to build the no-OS software and also the .bit files with the HDL design that must be programmed into the FPGA. +<WRAP round info 100%> 
-These are the steps that need to be followed to recreate the software project: +Instruction about how to create a software application can be found [[/resources/fpga/xilinx/software_setup|here]].  
-  * Copy the //**SDK_Workspace**// folder on your PC. Make sure that the path where it is stored does not contain any spaces. +</WRAP>
-  * Copy the no-OS drivers source code to the //**SDK_Workspace/sw/src**// folder. +
-{{:resources:fpga:xilinx:fmc:ad9467_ebz:src_files.png?200|no-OS driver Source Files}} +
-  * Open the Xilinx SDK. When the SDK starts it asks you to provide a folder where to store the workspace. Any folder can be provided. +
-  * In the SDK select the //**File->Import**// menu option to import the software projects into the workspace. +
-{{:resources:fpga:xilinx:fmc:ad9467_ebz:file_import.png?200|Import Projects}} +
-  * In the //Import// window select the //**General->Existing Projects into Workspace**// option. +
-{{:resources:eval:user-guides:ad-fmcomms1-ebz:quickstart:existing_project_import.png?200|Existing Projects Import}} +
-  * In the //Import Projects// window select the //**SDK_Workspace**// folder as root directory. After the root directory is chosen the projects that reside in that directory will appear in the //Projects// list. Press //Finish// to finalize the import process+
-{{:resources:fpga:xilinx:fmc:ad9467_ebz:projects_import.png?200|Projects Import}}  +
-  * The //Project Explorer// window now shows the projects that exist in the workspace and the files for each project. The SDK should automatically build the projects and the //Console// window will display the result of the build. If the build is not done automatically select the //**Project->Build Automatically**// menu option. +
-{{:resources:fpga:xilinx:fmc:ad9467_ebz:project_explorer.png?200|Project Explorer}} +
-  * At this point the software project setup is complete, the FPGA can be programmed and the software can be downloaded into the system.+
  
-The example code is located in the ”//main.c//” file and the implementations of the test routines can be found in the "//cf_ad9467.c//" file. +<note important>C302 and C303 are not installed as indicated in the Schematic and BOM.</note>
  
-   +**Board Files:** 
-===== Downloads ===== +<WRAP round download
- +  * {{:resources:fpga:xilinx:fmc:9467fmc01c_sch.pdf|Rev C Schematics for the card}} 
-The HDL Reference Designs and the no-OS Software can be downloaded from the Analog Devices github.\\ +  * {{:resources:fpga:xilinx:fmc:9467fmc01c_bom.xls|Bill of Materials for Rev C}} 
-\\ +  * {{ :resources:fpga:xilinx:fmc:9467fmc01c.zip|AD9467FMC-250EBZ Gerber/Layout Fabrication Files}}
-<WRAP round important 80%+
-Only Xilinx coregen xco files are provided with the HDL Reference DesignYou must regenerate the IP core files using this file. See [[http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms1-ebz/reference_hdl|generating Xilinx netlist/verilog files from xco files]] for details.\\ +
-\\ +
-The software project contains 3 componentsthe AD9467-FMC-EBZ reference design files, the AD9467 driver and the AD9517 driver. All the components have to be downloaded from the links below.+
 </WRAP> </WRAP>
  
-**HDL Reference Designs:** 
  
-<WRAP round download 80%> +===== Resources =====
-**Sources for ISE**+
  
-  * **ML605 HDL Reference Design: ** {{:resources:fpga:xilinx:fmc:cf_ad9467_edk_14_4_2013_02_11.tar.gz}} +  * [[repo>hdl/tree/master/projects/ad9467_fmc | AD9467_FMC HDL project source code]] with ZedBoard and KC705 carriers 
-  * **KC705 HDL Reference Design: ** {{:resources:fpga:xilinx:fmc:cf_ad9467_kc705_edk_14_4_2013_02_11.tar.gz}} +  [[:resources:fpga:docs:axi_ad9467 | AXI_AD9467 IP wiki documentation]] 
-  * **VC707 HDL Reference Design: ** {{:resources:fpga:xilinx:fmc:cf_ad9467_vc707_edk_14_4_2013_02_11.tar.gz}} +  * [[adi>media/en/technical-documentation/data-sheets/ad9467.pdf | AD9467 chip datasheet]] 
-  * **ZED HDL Reference Design  ** {{:resources:fpga:xilinx:fmc:cf_ad9467_zed_edk_14_4_2013_02_11.tar.gz}}+  * {{:resources:fpga:xilinx:fmc:9467fmc01c_sch.pdf?linkonly | AD9467-FMC-250EBZ schematic}} 
 +  * [[repo>no-OS/tree/master/projects/ad9467 | AD9467 no-OS project]] 
 +  [[repo>no-OS/tree/master/drivers/adc/ad9467 | AD9467 no-OS driver]] 
 +  [[repo>no-OS/tree/master/drivers/frequency/ad9517 | AD9517 no-OS driver]] 
 +  [[https://github.com/analogdevicesinc/linux/blob/master/arch/arm/boot/dts/zynq-zed-adv7511-ad9467-fmc-250ebz.dts | AD9467_FMC/Zed Linux devicetree]] 
 +  * [[https://github.com/analogdevicesinc/linux/blob/master/arch/microblaze/boot/dts/kc705_ad9467_fmc.dts | AD9467_FMC/KC705 Linux devicetree]] 
 +  * [[https://github.com/analogdevicesinc/linux/blob/master/drivers/iio/adc/ad9467.c | AD9467 Linux driver]]
  
-**Sources for Vivado** 
-  * **ZED HDL Reference Design: ** https://github.com/analogdevicesinc/hdl/tree/master/projects/ad9467_fmc/zed 
-  * **KC705 HDL Reference Design: ** https://github.com/analogdevicesinc/hdl/tree/master/projects/ad9467_fmc/kc705 
-</WRAP> 
  
-**no-OS Software:** +===== More information =====
-<WRAP round download 80%> +
-  * **AD9467 Driver:                   ** https://github.com/analogdevicesinc/no-OS/tree/master/drivers/AD9467 +
-  * **AD9517 Driver:                   ** https://github.com/analogdevicesinc/no-OS/tree/master/drivers/AD9517 +
-  * **AD9467-FMC-EBZ Reference Design: ** https://github.com/analogdevicesinc/no-OS/tree/master/AD9467-FMC-EBZ  +
-</WRAP>+
  
-**Board Files:** +  [[:resources:fpga:docs:axi_dmac | High-Speed DMA Controller Peripheral]] wiki documentation 
-<WRAP round download 80%> +  * [[:resources:fpga:docs:hdl ADI reference designs HDL user guide]] 
-  * {{:resources:fpga:xilinx:fmc:9467fmc01c_sch.pdf|Rev C Schematics for the card}} +  * [[:resources:fpga:docs:arch ADI HDL architecture]] wiki page 
-  * {{:resources:fpga:xilinx:fmc:9467fmc01c_bom.xls|Bill of Materials for Rev C}} +  * [[:resources:fpga:docs:build How to build an ADI HDL project]] 
-  * {{:resources:fpga:xilinx:fmc:9467fmc01c.zip|AD9467FMC-250EBZ Gerber/Layout Fabrication Files}} +  [[:resources:tools-software:linux-software:kuiper-linux | How to prepare an SD card]] with boot files 
-**Note:** C302 and C303 are not installed as indicated in the Schematic and BOM. +  * [[:resources:eval:ad9467-fmc-250ebz-zedboard | AD9467-FMC on Zedboard using ACE]]
-</WRAP>+
  
-==== Reference Design Contents ==== 
  
-<WRAP round important 80%> +===== Support =====
-\\ +
-The information below is valid just in case of the XPS projects. The XPS projects remain on this website only for legacy purposes. The support for them has been discontinued.  +
-</WRAP>+
  
-^ HDL Reference Design   ^^ +Analog Devices will provide **limited** online support for anyone using the reference design with Analog Devices components via the [[ez>community/fpga | EngineerZone FPGA reference designs]] forum. 
-| license.txt | ADI license & copyright information. | + 
-| system.mhs  | MHS file. | +It should be noted, that the older the tools' versions and release branches are, the lower the chances to receive support from ADI engineers.
-| system.xmp  | XMP file (use this file to build the reference design). | +
-| data/       | UCF file and/or DDR MIG project files. | +
-| docs/       | Documentation files (Please note that this wiki page is the documentation for the reference design). | +
-| Chipscope/  | Chipscope project. | +
-| ../cf_lib/edk/pcores/* | The pcores directory. | +
-^ Software Reference Design   ^^ +
-| cf_ad9467.h | Header file containing the registers definitions for the AD9467 HDL core. | +
-| cf_ad9467.c | Implementation of the AD9467 HDL core access functions and ADC test and capture functions. | +
-| spi.h | Header file for the Xilinx AXI SPI driver. | +
-| spi.c | Implementation file for the Xilinx AXI SPI driver. | +
-| main.c | Implementation of the program's main function. | +
-^ AD9467 Software Driver   ^^ +
-| AD9467.h | AD9467 software driver header file. | +
-| AD9467.c | AD9467 software driver implementation file. | +
-^ AD9517 Software Driver   ^^ +
-| AD9517.h | AD9517 software driver header file. | +
-| AD9517_cfg.h | AD9517 software driver configuration file. | +
-| AD9517.c | AD9517 software driver implementation file. | +
-===== More information ===== +
-<WRAP round help 80%> +
-\\ +
-[[ez>community/fpga|Ask questions about the FPGA reference design]] +
-</WRAP>+
resources/fpga/xilinx/fmc/ad9467.1424938536.txt.gz · Last modified: 26 Feb 2015 09:15 by Istvan Csomortani