This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:eval:user-guides:ad-fmcomms1-ebz:quickstart:no_os_microblaze [28 Aug 2013 15:30] – [Hardware Setup] rejeesh kutty | resources:eval:user-guides:ad-fmcomms1-ebz:quickstart:no_os_microblaze [22 Nov 2021 14:31] (current) – Stefan-Robert Raus | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== AD-FMCOMMS1-EBZ Quick Start Guide on Xilinx FPGA Boards Without OS ====== | + | ====== AD-FMCOMMS1-EBZ Quick Start Guide on Xilinx FPGA Boards Without OS ====== |
+ | |||
+ | {{page>/ | ||
This guide provides some quick instructions on how to setup the AD-FMCOMMS1-EBZ on either: | This guide provides some quick instructions on how to setup the AD-FMCOMMS1-EBZ on either: | ||
- | | + | |
- | * [[xilinx> | + | |
- | * [[xilinx> | + | * [[xilinx> |
- | * [[http://www.digilentinc.com/Products/Detail.cfm? | + | * [[xilinx> |
- | ===== Required Software | + | * [[xilinx> |
- | * Xilinx | + | * [[xilinx> |
+ | * [[http://zedboard.org/product/ | ||
+ | |||
+ | <WRAP round important 80%> | ||
+ | \\ | ||
+ | The ML605 XPS project remain on this website only for legacy purposes. The support for XPS projects has been discontinued. | ||
+ | </ | ||
+ | |||
+ | ==== Required Software ==== | ||
+ | * We upgrade the Xilinx | ||
+ | |||
+ | ==== Required Hardware ==== | ||
+ | * AD-FMCOMMS1-EBZ FMC Board | ||
+ | * Xilinx ML605 / Xilinx AC701 / Xilinx KC705 / Xilinx VC707 / Xilinx ZC702 / Xilinx ZC706 / Digilent ZED | ||
===== Downloads ===== | ===== Downloads ===== | ||
Line 13: | Line 28: | ||
<WRAP round download 80%> | <WRAP round download 80%> | ||
**no-OS Drivers:** https:// | **no-OS Drivers:** https:// | ||
- | **ML605 HDL Reference Design: ** https:// | + | \\ |
- | **KC705 | + | **ML605 HDL Reference Design |
- | **ZC702 | + | https:// |
- | **ZED HDL Reference Design: ** https:// | + | \\ |
+ | |||
+ | **Latest release for Vivado** | ||
+ | |||
+ | **AC701: ** | ||
+ | https:// | ||
+ | **KC705: ** | ||
+ | https:// | ||
+ | **VC707: ** | ||
+ | https:// | ||
+ | **ZC702: ** | ||
+ | https:// | ||
+ | **ZC706: ** | ||
+ | https:// | ||
+ | **ZED: ** | ||
+ | https:// | ||
+ | |||
+ | **Old releases for Vivado**\\ | ||
+ | |||
+ | **For Vivado 2013.4 : | ||
</ | </ | ||
- | ===== Required Hardware ===== | + | |
- | * Xilinx ML605 / Xilinx KC705 / Xilinx ZC702 / Digilent ZED Board | + | |
- | * AD-FMCOMMS1-EBZ FMC Board | + | |
===== Hardware Setup ===== | ===== Hardware Setup ===== | ||
* Connect the power and UART cables of the Xilinx FPGA board | * Connect the power and UART cables of the Xilinx FPGA board | ||
- | * Connect the AD-FMCOMMS1-EBZ FMC board to the Xilinx FPGA board on the LPC FMC connector | + | * Connect the AD-FMCOMMS1-EBZ FMC board to the Xilinx FPGA board on the: |
+ | * LPC FMC connector | ||
+ | * LPC FMC1 connector for ZC702; | ||
+ | * HPC FMC connector for AC701, ML605; | ||
+ | * HPC FMC2 connector for VC707. | ||
The transmit signal may be observed using a spectrum analyzer. The receive side may be sourced by either the transmit side or a signal source. If it is the transmit side, connect an SMA cable from the transmit to receive or connect antennae on both. If it is a signal source the frequency needs to be 2.4G__+__f, 0 dBm where f is the baseband. | The transmit signal may be observed using a spectrum analyzer. The receive side may be sourced by either the transmit side or a signal source. If it is the transmit side, connect an SMA cable from the transmit to receive or connect antennae on both. If it is a signal source the frequency needs to be 2.4G__+__f, 0 dBm where f is the baseband. | ||
- | ===== Software Setup ===== | + | <WRAP round info %80> |
- | + | The default RX gain in case of no-OS software is 10 dB. This could be too high, when an SMA cable is used for external loop-back. In this case the user should reduce the RX gain to its minimum value: 4.5 dB, in order to prevent saturation. | |
- | The **HDL Reference Design** for each supported Xilinx | + | </ |
- | These are the steps that need to be followed to recreate the software project: | + | ===== Software Setup for Vivado |
- | * Copy the //**SDK_Workspace**// folder on your PC. Make sure that the path where it is stored does not contain any spaces. | + | Example for a ZC702 board: |
- | * Copy the no-OS drivers source code to the //**SDK_Workspace/sw/src**// folder. | + | * After [[/ |
- | {{ : | + | * Open the Xilinx SDK for Vivado. When the SDK starts it asks to provide a folder where to store the workspace. Any folder can be provided. |
- | * Open the Xilinx SDK. When the SDK starts it asks for a to provide a folder where to store the workspace. Any folder can be provided. | + | * Go to //**File-> |
- | | + | {{ : |
- | {{ : | + | * Use a new hardware platform, so choose |
- | * In the //Import// window select the //**General-> | + | {{ : |
- | {{ : | + | * At the **Target Hardware Specification** section browse |
- | * In the //Import Projects// window select the //**SDK_Workspace**// folder | + | {{ : |
- | {{ : | + | * Then give a name to the project and click // |
- | * 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 | + | {{ : |
- | {{ : | + | * In the next window choose |
+ | {{ : | ||
+ | * Now the project without source code looks like this | ||
+ | {{ : | ||
+ | * Then the source code(all folders from //**no-OS Drivers**//, except Chipscope, Evaluate and PIC) must be added from Github to //**src**// folder. | ||
+ | {{ : | ||
+ | * Afterwards click right on project name and go to // | ||
+ | {{ : | ||
+ | * In the window | ||
+ | {{ : | ||
+ | * 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 // | ||
+ | {{ : | ||
* The default project configuration assumes that a Xilinx ML605 FPGA board is used and that the FMCOMMS1 is connected to this board on the FMC LPC connector. In the file // | * The default project configuration assumes that a Xilinx ML605 FPGA board is used and that the FMCOMMS1 is connected to this board on the FMC LPC connector. In the file // | ||
{{ : | {{ : | ||
- | * At this point the software project setup is complete, the FPGA can be programmed and the software can be downloaded into the system. | + | * At this point the software project setup is complete, the FPGA can be programmed and the software can be downloaded into the system. |
+ | {{ : | ||
+ | * Then choose this bitstream and press // | ||
+ | {{ : | ||
+ | * This window will appear next. | ||
+ | {{ : | ||
+ | * Afterwards a //Run Configuration// | ||
+ | {{ : | ||
The no-OS drivers source code contains an example on how to: | The no-OS drivers source code contains an example on how to: | ||
Line 57: | Line 111: | ||
The example code outputs on the UART the status of each operation as shown below. | The example code outputs on the UART the status of each operation as shown below. | ||
- | {{ :resources:fpga:xilinx:fmc: | + | {{ :resources:eval:user-guides: |
- | The output of the example program can be viewed in the SDK console by enabling the //Connect STDIO Console// option and setting the baud rate of the UART port to 57600. | + | The output of the example program can be viewed in the SDK console by enabling the //Connect STDIO Console// option and setting the baud rate of the UART port to 115200. |
- | {{ : | + | {{ : |
- | As an alternative an UART terminal can be used to capture the output of the example program. The number of used UART port depends on the computer' | + | As an alternative an UART terminal can be used to capture the output of the example program. The number of used UART port depends on the computer' |
- | * Baud Rate: 57600bps (for ML605, KC705) / 115200bps | + | * Baud Rate: 115200bps |
* Data: 8 bit | * Data: 8 bit | ||
* Parity: None | * Parity: None | ||
Line 72: | Line 126: | ||
The example code is located in the "// | The example code is located in the "// | ||
- | After running the example program the system is configured to generate a sinewave and send it over the air using a 2.4GHz carrier. The signal is received back, brought to baseband again and digitized by the ADC on the FMCOMMS1. The I and Q samples generated by the ADC can be viewed using the Chipscope project from the "//Chipscope//" folder. These are the steps than need to be followed to view the sine waves in Chipscope: | + | After running the example program the system is configured to generate a sinewave and send it over the air using a 2.4GHz carrier. The signal is received back, brought to baseband again and digitized by the ADC on the FMCOMMS1. The I and Q samples generated by the ADC can be viewed using the //Vivado Hardware Manager//. These are the steps than need to be followed to view the sine waves: |
- | * open Chipscope | + | |
- | * open the //Chipscope/.cpj// project that corresponds to the used FPGA board | + | * First make sure that the board is programmed and the program is currently running |
- | * start the data capture | + | * Then open Vivado |
- | This is how the output | + | {{ : |
+ | * In the new window select //**Open a new hardware target**// | ||
+ | {{ : | ||
+ | * Then click //**Next**// 4 times and then //**Finish**// | ||
+ | {{: | ||
+ | {{: | ||
+ | \\ | ||
+ | * This is how the //Vivado Hardware Manager// looks like. Now go to Probes files. | ||
+ | {{ : | ||
+ | * And browse for the folder where the project was compiled | ||
+ | {{ : | ||
+ | * Then do a right click on the active target and choose //**Refresh Device**// | ||
+ | {{ : | ||
+ | * Afterwards do another right click on the active target and choose //**Run Trigger**// | ||
+ | {{ : | ||
+ | * This is how the 56 digital signals look like. Now we have to compose the sinewaves. | ||
+ | {{ : | ||
+ | * First select the first 14 signals, do a right click and choose //**New Virtual Bus**// | ||
+ | {{ : | ||
+ | * Then give a name to that virtual bus | ||
+ | {{ : | ||
+ | * In order to see a sinewave you have to right click on the name of the virtual bus, choose // | ||
+ | {{ : | ||
+ | * Now you can see a sinewave, but the radix is not the good one. In order to have the right radix, you must choose //**Signed Decimal**// for // | ||
+ | {{ : | ||
+ | * Now the signal | ||
+ | {{ : | ||
+ | * And after you did the same steps for the other 3x14 remaining signals, you should have 4 sinewaves composed of 56 signals. Because of the working frequency of the ILA core, data has been split into 2 buses, so the actual data from the Evaluation board would be I_0 interleaved with I_1, and Q_0 interleaved with Q_1. | ||
+ | {{ : | ||
- | {{ : | ||
| | ||
{{navigation AD-FMCOMMS1-EBZ# | {{navigation AD-FMCOMMS1-EBZ# |