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:interposer:ad9116 [27 Jan 2012 16:30] – Approved Robin Getzresources:fpga:xilinx:interposer:ad9116 [31 Jan 2024 09:53] (current) – Mark as obsolete iulia Moldovan
Line 1: Line 1:
-====== AD9116 FMC Interposer & Evaluation Board / Xilinx ML-605 Reference Design ======+====== (OBSOLETE) AD971x/AD911x-DPG2 FMC Interposer & Evaluation Board / Xilinx ML-605 Reference Design ====== 
 + 
 +<WRAP round important 65%> 
 +Support for AD971x/AD911x-DPG2 project on this website only for legacy purposes. The support for this project has been discontinued, latest tested files can be found in the Downloads section. 
 +</WRAP> 
 + 
 +===== Supported Devices ===== 
 + 
 +  * [[adi>AD9114|AD9114]] 
 +  * [[adi>AD9115|AD9115]] 
 +  * [[adi>AD9116|AD9116]] 
 +  * [[adi>AD9117|AD9117]] 
 + 
 +===== Evaluation Boards ===== 
 + 
 +  * [[adi>AD9114-DPG2-EBZ]] 
 +  * [[adi>AD9115-DPG2-EBZ]] 
 +  * [[adi>AD9116-DPG2-EBZ]] 
 +  * [[adi>AD9117-DPG2-EBZ]]
    
 ===== Introduction ===== ===== Introduction =====
  
-The [[adi>AD9116]] is a 12-bit, low power digital-to-analog converter (DAC) that provides a sample rate of 125 MSPS. This TxDAC converter is optimized for the transmit signal path of communication systems. The AD9116 offers exceptional AC and DC performance and supports update rates up to 125 MSPS. The flexible power supply operating range of 1.8V to 3.3V and low power dissipation of the AD9116 makes it well suited for portable and low power applications.+The [[adi>AD9114]]/[[adi>AD9115]]/[[adi>AD9116]]/[[adi>AD9117]] are pin-compatible dual, 8-/10-/12-/14-bit, low power digital-to-analog converters (DACs) that provide a sample rate of 125 MSPS. These TxDAC® converters are optimized for the transmit signal path of commu-nication systems. All the devices share the same interface, package, and pinout, providing an upward or downward component selection path based on performance, resolution, and cost. 
 +The AD9114/AD9115/AD9116/AD9117 offer exceptional ac and dc performance and support update rates up to 125 MSPS. 
 +The flexible power supply operating range of 1.8 V to 3.3 V and low power dissipation of the AD9114/AD9115/AD9116/AD9117 make them well suited for portable and low power applications.
  
-**HW Platform(s):** [[http://www.xilinx.com/products/boards-and-kits/EK-V6-ML605-G.htm|Virtex-6 ML605 (Xilinx)]], [[http://www.analog.com/en/digital-to-analog-converters/da-converters/ad9116/products/EVAL-AD9116/eb.html|AD9116 Evaluation Board (ADI)]][[http://www.analog.com/en/digital-to-analog-converters/da-converters/ad-dac-fmc/products/product.html|DAC FMC Interposer Board (ADI)]] \\+**HW Platform(s):** [[xilinx>products/boards-and-kits/EK-V6-ML605-G.htm|Virtex-6 ML605 (Xilinx)]], [[adi>EVAL-AD9114|AD9114 Evaluation Board (ADI)]] [[adi>EVAL-AD9115|AD9115 Evaluation Board (ADI)]] [[adi>EVAL-AD9116|AD9116 Evaluation Board (ADI)]] [[adi>EVAL-AD9117|AD9117 Evaluation Board (ADI)]], [[adi>ad-dac-fmc|DAC FMC Interposer Board (ADI)]] \\
 **System:** Microblaze, AXI, UART **System:** Microblaze, AXI, UART
  
Line 15: Line 35:
  
   * ML605 board    * ML605 board 
-  * AD9116-DPG2-EBZ board+  * AD911x-DPG2-EBZ board
   * DAC FMC interposer board   * DAC FMC interposer board
   * Any PIC ICSP Programmer (e.g. PICkit 2 or PICkit 3 from Microchip)   * Any PIC ICSP Programmer (e.g. PICkit 2 or PICkit 3 from Microchip)
Line 22: Line 42:
  
   * Xilinx ISE 13.2 (Programmer (IMPACT) is sufficient for the demo and is available on Webpack).   * Xilinx ISE 13.2 (Programmer (IMPACT) is sufficient for the demo and is available on Webpack).
-  * MPLAB IDE (in order to program the PIC on the AD9116-DPG2-EBZ Board)+  * MPLAB IDE (in order to program the PIC on the AD911x-DPG2-EBZ Board)
   * A UART terminal (Tera Term/Hyperterminal), Baud rate 57600.   * A UART terminal (Tera Term/Hyperterminal), Baud rate 57600.
  
 ==== Bit file ==== ==== Bit file ====
  
-  * Download the zip file and extract the **sw/AD9116_SPI_Adapter.hex** and **sw/AD9116.bit** files.+  * Download the zip file and extract the **AD911x_SPI_Adapter.hex** and **AD911x.bit** files in the project *.zip archive, located in the “sw” folder (../ad911x/sw/AD911x.bit)(where x is 4,5,6 or 7)
  
 ==== Running Demo (SDK) Program ==== ==== Running Demo (SDK) Program ====
  
-<note tip>If you are not familiar with ML605 and/or Xilix tools, please visit\\ [[http://www.xilinx.com/products/boards/ml605/reference_designs.htm]] for details. +<WRAP tip>If you are not familiar with ML605 and/or Xilix tools, please visit\\ [[xilinx>products/boards/ml605/reference_designs.htm]] for details. 
-</note>+</WRAP>
  
-Extract the project from the archive file (AD9116.zip) to the location you desire. +Extract the project from the archive file (AD911x.zip) to the location you desire. 
  
 To begin make the following connections (see image below): To begin make the following connections (see image below):
  
-  * Connect the USB cable from the PC to the AD9116-DPG2-EBZ board.+=== Programming the PIC === 
 +  * Connect the USB cable from the PC to the AD911x-DPG2-EBZ board.
   * Connect the programming cables from the PIC ICSP to the programming pins on connector XP1 as follows:   * Connect the programming cables from the PIC ICSP to the programming pins on connector XP1 as follows:
            - **PGD  1**            - **PGD  1**
Line 45: Line 66:
            - **VDD  2**            - **VDD  2**
            - **GND  6**            - **GND  6**
-  * Program the PIC using the AD9116_SPI_Adapter.hex file found in the project *.zip archive. +  * Program the PIC using the AD911x_SPI_Adapter.hex file found in the project *.zip archive. 
-  * Disconnect the programming cables and the USB Cable from the AD9116-DPG2-EBZ board. +  * Disconnect the programming cables and the USB Cable from the AD911x-DPG2-EBZ board. 
-  * Connect the AD9116-DPG2-EBZ board to the FMC Interposer board.+ 
 +=== Connections === 
 + 
 +  * Connect the AD911x-DPG2-EBZ board to the FMC Interposer board.
   * Connect the FMC Interposer board to the FMC-LPC connector of ML605 board.   * Connect the FMC Interposer board to the FMC-LPC connector of ML605 board.
   * Connect power cable to ML605.   * Connect power cable to ML605.
   * Connect two USB cables from the PC to the //JTAG// and //UART// USB connectors on ML605.   * Connect two USB cables from the PC to the //JTAG// and //UART// USB connectors on ML605.
   * Turn on the ML605 Board   * Turn on the ML605 Board
-  * Connect a USB cable to the AD9116-DPG2-EBZ board.+  * Connect a USB cable to the AD911x-DPG2-EBZ board.
  
 {{:resources:fpga:xilinx:interposer:ml605_ad9916.jpg?200| ML605 and AD9116 connected on LPC port}} {{:resources:fpga:xilinx:interposer:ml605_ad9916.jpg?200| ML605 and AD9116 connected on LPC port}}
Line 58: Line 82:
 {{:resources:fpga:xilinx:interposer:ml605_ad9116_spi.jpg?200| SPI Wiring on ML605}} {{:resources:fpga:xilinx:interposer:ml605_ad9116_spi.jpg?200| SPI Wiring on ML605}}
  
-Start IMPACT, and double click "Boundary Scan". Right click and select Initialize Chain. The program should recognize the Spartan 6 device (see screenshot below). Start a UART terminal (set to 9600 baud rate) and then program the device using the bit file provided in the project *.zip archive, located in the "sw" folder (../ad9116/sw/AD9116.bit).+=== Programming the FPGA === 
 + 
 +Start IMPACT, and double click "Boundary Scan". Right click and select Initialize Chain. The program should recognize the Spartan 6 device (see screenshot below). Start a UART terminal (set to 115200 baud rate) and then program the device using the bit file provided in the project *.zip archive, located in the "sw" folder (../ad911x/sw/AD911x.bit). 
 + 
 +{{:resources:fpga:xilinx:interposer:ad9116impact.jpg?200| Programming ML605 in iMPACT}} 
 + 
 +=== Setting up uC/Probe === 
 + 
 +Launch Micrium uC/Probe and load the interface located in the project folder (../ad911x/sw/AD911x_Interface.wsp). In options, select RS-232 and set Baud Rate to 115200. 
 + 
 +{{:resources:fpga:xilinx:interposer:ad9116ucprobesettings1.jpg?200| ucProbe RS-232 Settings}} 
 +{{:resources:fpga:xilinx:interposer:ad9116ucprobesettings2.jpg?200| uCProbe RS-232 Settings}} 
 + 
 +=== uC/Probe Interface === 
 + 
 +Click Play, and afterwards click on the ON/OFF Button. The Green LED on the button should light up. Set the options you desire by clicking on the red buttons and moving the sliders. After you are finished setting up the device, press "SEND AD911x SETTINGS" button. Now the device is programmed, and you should see the results on the S4 and S6 connectors on the AD911x Evaluation Board. 
 + 
 +{{:resources:fpga:xilinx:interposer:ad9116interface_new.png?600| uCProbe Interface}} 
 + 
 +The User Interface is divided in 13 sections, described below: 
 +  - **Section 1** Communication with the board is activated / deactivated by toggling the ON/OFF Switch 
 +  - **Section 2** Modifies data format sent to the AD911x by toggling the switches ON or OFF: 
 +      * DATADIR sets the transmission mode (ON = LSB First, OFF = MSB First) 
 +      * LNGINS sets the number of address bits used by the Instruction Word (ON = 13 bits, OFF = 5 bits) 
 +  - **Section 3** Modifies the way data is received from the DDS Module: 
 +      * TWOS sets the input data format (ON = Twos complement, OFF = Unsigned Binary) 
 +      * IFIRST selects pairing of input data (ON = I First on data input pads, OFF = Q First on data input pads) 
 +      * IRISING selects data latch edge (ON = I data latched on rising edge, OFF = Q data latched on rising edge) 
 +      * SIMUL selects DCLKIO type (ON = do not allow simultaneous input and output on DCLKIO, OFF = allow simultaneous input and output on DLCKIO) 
 +  - **Section 4** is used to select IRset and QRset Resistor values, using the corresponding slider 
 +  - **Section 5** selects differend Power Down possibilities: 
 +      * LDOOFF sets the LDO Voltage regulator ON/OFF 
 +      * LDOSTAT shows the status of LDO Voltage regulator 
 +      * PWRDN Enables or Disables Power Supply (ON = Power Down, OFF = Power On) 
 +      * ISLEEP turns I DAC output current ON/OFF 
 +      * QSLEEP turns Q DAC output current ON/OFF 
 +      * ICLKOFF turns I DAC Clock ON/OFF 
 +      * QCLKOFF turns Q DAC Clock ON/OFF 
 +      * EXTREF selects internal voltage reference (ON = Reference OFF, OFF = Reference ON) 
 +  - **Section 6** 
 +      * Set IRcml and QRcml Resistor values, and also I DAC and Q DAC Gain values by using the sliders provided 
 +  - **Section 7** is used to set the increment value for the DDS Core using the sliders provided 
 +  - **Section 8** Set different clock modes (see datasheet pg. 42 for details) 
 +  - **Section 9** Turn the Auxiliary DAC ON or OFF, set their Offset and Voltage Range 
 +  - **Section 10** provides calibration options for the AD911x 
 +      * CALSELI selects calibration for I Channel 
 +      * CALSELQ selects calibration for Q Channel 
 +      * DIVSEL selects clock divide ratio by 2^n (n value selected using slider) 
 +      * CALEN starts calibration process 
 +      * CALSTATI shows the status of the calibration process for I Channel (Green = Done) 
 +      * CALSTATQ shows the status of the calibration process for Q Channel (Green = Done) 
 +  - **Section 11** is used to set parameters for AD9512 Clock Distribution IC (divide ratio for Data and DAC Clock) 
 +  - **Section 12** User must press the button in order for the AD911x related modifications to take place 
 +  - **Section 13** User must press the button in order for the AD9512 related modifications to take place 
 + 
 +<WRAP important> 
 +  * If you drag a slider and it doesn't change the value in the numeric indicator next to it, please press Stop and then Play again. At the bottom of the screen, the bytes/sec should be increasing with 200 per second. If they increase only with 50 per second, please press Stop and Play again. 
 +  * If you receive (Pc Port Open) at the bottom of the screen, please press Stop, close your COM port, reprogram the FPGA, launch the software and try again. 
 +  * In **Section 10** please select DIVSEL so that (DCLKIO / 2^n) is between 0.5 MHz and 4 MHz for optimal Calibration results 
 +</WRAP> 
 + 
 +===== Downloads ===== 
 + 
 +<WRAP round download 80%> 
 +{{:resources:fpga:xilinx:interposer:ad9116.zip|Reference design source code}} 
 +</WRAP> 
 + 
 +===== Support ===== 
 + 
 +==== HDL / Hardware Questions ====
  
-Launch Micrium uC/Probe and load the interface located in the project folder (../ad9116/sw/AD9116_Interface.wsp). +For questions regarding the AD9116 chip, or the AD911x eval board, please ask them in the [[ez>community/data_converters/high-speed_dacs|High Speed DAC]] sub-community.
-Click Play, and afterwards click on the On/OFF Button. The Green LED on the button should light up. Set the options you desire by clicking on the red buttons and moving the sliders. After you are finished setting up the device, press "SEND AD9116 SETTINGS" button. Now the device is programmed, and you should see the results on the S4 and S6 connectors.+
  
 +==== No-OS Questions ====
 +For questions regarding the no-OS drivers for any of the components on the AD-FMCOMMS2-EBZ please use the [[ez>community/linux-device-drivers/microcontroller-no-os-drivers|Microcontroller and No-OS Driver]] sub-community.
  
resources/fpga/xilinx/interposer/ad9116.1327678244.txt.gz · Last modified: 27 Jan 2012 16:30 by Robin Getz