Table of Contents
CN0209 FMC-SDP Interposer & Evaluation Board / Xilinx KC705 Reference Design
This document presents the steps to setup an environment for using the EVAL-CN0209-SDPZ evaluation board together with the Xilinx KC705 FPGA board and the Xilinx Embedded Development Kit (EDK). Below is presented a picture of the EVAL-CN0209-SDPZ Evaluation Board with the Xilinx KC705 board.
For component evaluation and performance purposes, as opposed to quick prototyping, the user is directed to use the part evaluation setup. This consists of:
- 1. A controller board like the SDP-B ( EVAL-SDP-CS1Z)
- 2. The component SDP compatible product evaluation board
- 3. Corresponding PC software ( shipped with the product evaluation board)
The SDP-B controller board is part of Analog Devices System Demonstration Platform (SDP). It provides a high speed USB 2.0 connection from the PC to the component evaluation board. The PC runs the evaluation software. Each evaluation board, which is an SDP compatible daughter board, includes the necessary installation file required for performance testing.
Note: it is expected that the analog performance on the two platforms may differ.
Below is presented a picture of SDP-B Controller Board with the EVAL-CN0209-SDPZ Evaluation Board.
The EVAL-CN0209-SDPZ evaluation board is a member of a growing number of boards available for the SDP. It provides a fully programmable universal analog front end (AFE) for process control applications. The following inputs are supported: 2-, 3-, and 4- wire RTD configurations, thermocouple inputs with cold junction compensation, unipolar and bipolar input voltages, and 4 mA-to-20 mA inputs. When using this evaluation board with the SDP board or BeMicro SDK board, apply +15 V, -15 V, and GND to Connector J3.
The AD7193 is a low noise, complete analog front end for high precision measurement applications. It contains a low noise, 24-bit sigma-delta (S-?) analog-to-digital converter (ADC). The on-chip low noise gain stage means that signals of small amplitude can interface directly to the ADC.
The device can be configured to have four differential inputs or eight pseudo differential inputs. The on-chip channel sequencer allows several channels to be enabled simultaneously, and the AD7193 sequentially converts on each enabled channel, simplifying communication with the part. The on-chip 4.92 MHz clock can be used as the clock source to the ADC or, alternatively, an external clock or crystal can be used. The output data rate from the part can be varied from 4.7 Hz to 4.8 kHz.
The device has a very flexible digital filter, including a fast settling option. Variables such as output data rate and settling time are dependent on the option selected. The AD7193 also includes a zero latency option.
The ADT7310 is a high accuracy digital temperature sensor in a narrow SOIC package. It contains a band gap temperature reference and a 13-bit ADC to monitor and digitize the temperature to a 0.0625°C resolution. The ADC resolution, by default, is set to 13 bits (0.0625 °C). This can be changed to 16 bits (0.0078 °C) by setting Bit 7 in the configuration register (Register Address 0x01).
The ADT7310 is guaranteed to operate over supply voltages from 2.7 V to 5.5 V. Operating at 3.3 V, the average supply current is typically 210 µA. The ADT7310 has a shutdown mode that powers down the device and offers a shutdown current of typically 2 µA. The ADT7310 is rated for operation over the -55°C to +150°C temperature range.
The CT pin is an open-drain output that becomes active when the temperature exceeds a programmable critical temperature limit. The default critical temperature limit is 147°C. The INT pin is also an open-drain output that becomes active when the temperature exceeds a programmable limit. The INT and CT pins can operate in either comparator or interrupt mode.
The first objective is to ensure that you have all of the items needed and to install the software tools so that you are ready to create and run the evaluation project.
- FMC-SDP adapter board
- EVAL-CN0209-SDPZ evaluation board
- Xilinx ISE 14.6.
- UART Terminal (Termite/Tera Term/Hyperterminal), baud rate 115200.
- The EVAL-CN0209 reference project for Xilinx KC705 FPGA.
- Xilinx Boards Common Drivers: https://github.com/analogdevicesinc/no-OS/tree/master/platform_drivers/Xilinx/SDP_Common
- EDK KC705 Reference project: https://github.com/analogdevicesinc/fpgahdl_xilinx/tree/master/cf_sdp_kc705
Run the Demonstration Project
Before connecting the ADI evaluation board to the Xilinx KC705 make sure that the VADJ_FPGA voltage of the KC705 is set to 3.3V. For more details on how to change the setting for VADJ_FPGA visit the Xilinx KC705 product page.
- Use the FMC-SDP interposer to connect the ADI evaluation board to the Xilinx KC705 board on the FMC LPC connector.
- Connect the JTAG and UART cables to the KC705 and power up the FPGA board.
Reference Project Overview
The following commands were implemented in this version of EVAL-CN0209 reference project for Xilinx KC705 FPGA board.
|help?||Displays all available commands.|
|ad7193Temp?||Displays the temperature from AD7193 device.|
|ad7193id?||Displays the AD7193 device ID.|
|ad7193Reset!||Reset the serial interface with the AD7193.|
|adt7310Temp?||Displays the temperature from ADT7310 device.|
|adt7310id?||Displays the ADT7310 device ID.|
|adt7310Reset!||Resets the serial interface with the ADT7310.|
|voltage?|| Displays the input voltage on selected channel. Accepted values:
1 - channel 1.
2 - channel 2.
|current?|| Displays the input current on selected channel. Accepted values:
1 - channel 1.
2 - channel 2.
|tempTC?|| Displays the temperature detected by the thermocouple connected on selected channel.
1 - channel 1.
2 - channel 2.
Commands can be executed using a serial terminal connected to the UART peripheral of Xilinx KC705 FPGA.
Software Project Setup
The hardware platform for each reference projects with FMC-SDP interposer and KC705 evaluation board is common. The next steps should be followed to recreate the software project of the reference design:
- First download the KC705 Reference project from Github on your computer. You can do this by clonning this repository: https://github.com/analogdevicesinc/fpgahdl_xilinx.
- From this entire repository you will use cf_sdp_kc705 folder. This is common for all KC705 projects.
- 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. Make sure that the path where it is located does not contain any spaces.
- In the SDK select the File→Import menu option to import the software projects into the workspace.
- In the Import window select the General→Existing Projects into Workspace option.
- In the Import Projects window select the cf_sdp_kc705 folder as root directory and check the Copy projects into workspace option. 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.
- The Project Explorer window now shows the projects that exist in the workspace without software files.
- Now the software must be added in your project. For downloading the software, you must use 3 links from Github given in Downloads section. From there you'll download the specific driver, the specific commands and the Xilinx Boards Common Drivers(which are commons for all Xilinx boards). All the software files downloaded must be copied in src folder from sw folder.
- Before compilation in the file called Communication.h you have to uncomment the name of the device that you currently use. In the picture below there is an example of this, which works only with AD5629R project. For another device, uncomment only the respective name. You can have one driver working on multiple devices, so the drivers's name and the uncommented name may not be the same for every project.
- The SDK should automatically build the project 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.
- If the project was built without any errors, you can program the FPGA and run the software application.