Zybo Z7 XADC Demo

Overview

Description

This simple XADC demo is a verilog project made to demonstrate usage of the Analog to Digital Converter hardware of the Zybo Z7.

  • An XADC IP core is used to read the voltage differences of each of the four vertical pairs of pins - channels - of the XADC Pmod Port.
  • The LED associated with a channel brightens as that channel's voltage increases.

Features Used

Not Used Used
4 slide switches X
5 LEDs X
2 RGB LEDs (1*) X
6 push buttons X
USB-UART Bridge X
Micro SD card connector X
HDMI Sink X
HDMI Source X
Pcam camera connector X
Audio codec w/ three 3.5mm jacks X
User EEPROM X
10/100/1000 Ethernet PHY X
1GB 1066MHz DDR3 Memory X
Serial Flash X
6 Pmod ports (5*) X
Pmod for differential analog signals X
USB HID Host X

*The -7010 variant has several differences that are shown in parenthesis above

Prerequisites

Skills

  • Basic familiarity with Vivado
    • This experience can be found by walking through our “Getting Started with Vivado” guide

Hardware

  • Zybo Z7 Zynq board
  • Micro-USB cable
  • Wires and a voltage to measure

Software

  • Vivado Design Suite 2016.4
    • Newer/older versions can be used, but the procedure may vary slightly

Downloads

Zybo Z7-10 XADC Project Repository – ZIP Archive GIT Repo

Zybo Z7-20 XADC Project Repository – ZIP Archive GIT Repo


Download and Launch the Zybo Z7 XADC Demo

1) Follow the Using Digilent Github Demo Projects Tutorial. This is an HDL design project, and as such does not support Vivado SDK, select the tutorial options appropriate for a Vivado-only design. Return to this guide when prompted to check for additional hardware requirements and setup.
2) In order to use the demo, you will need to connect a circuit to the XADC Pmod Port in order to measure a voltage. The following example shows a voltage divider that produces each voltage between 0 and 1 Volt in increments of 0.33 Volts. This circuit uses a chain of three 1KOhm resistors in series with a 4.7 KOhm and 2.2 KOhm resistor. The circuit is tied to the 3V3 and GND pins of the XADC Pmod header to provide power. Each of the 'n' pins, the lower row of the XADC port, are connected to ground.

Important

Voltages to be measured should be in the range of 0 to 1.0 Volts.

3) Once you have connected your circuit to your Zybo Z7, return to the Github Demo Projects tutorial to finish programming your board.

Using the Zybo Z7 XADC Demo

1) Each channel will control the brightness of an LED as shown in the following table.
Channel Name LED # Pmod Pin #s
AD14 LD0 1 & 7
AD7 LD1 2 & 8
AD15 LD2 3 & 9
AD6 LD3 4 & 10
2) Changing voltages through reconfiguring the circuit while the demo is running is fine. If you built the example circuit above, feel free to move jumpers around to test out the different nodes of the voltage divider.