Basys 3 XADC Demo
This simple XADC Demo project demonstrates a simple usage of the Basys3's XADC port capability. The behavior is as follows:
- Voltage levels between 0 and 1 Volt are read off of the JXADC header.
- The 16 User LEDs increment from right to left as the voltage difference on the selected XADC pins gets larger.
- The two 7-segment displays show the voltage difference on the AD6, AD7, AD14, AD15 pins in volts.
- SW0 and SW1 select which XADC channel is displayed.
|16 User Switches||X|
|16 User LEDs||X|
|5 User Push Buttons||X|
|4-digit 7-Segment Display||X|
|4 Pmod Connectors||X|
|XADC Analog Input||X|
|12-bit VGA Output||X|
|Serial Flash for Application Data||X|
|USB HID Host With Mouse||X|
|USB HID Host With Keyboard||X|
A Note About The XADC Port
On the Basys3, the XADC Pmod connector houses 4 differential analog pairs. The corresponding XADC channels are 6, 7, 14, and 15. Below is a picture of the pinout of the Pmod Header.
The differential pairs are grouped by columns. Looking at the number above, 1 corresponds to XA1_P and XA1_N, column 2 routes to XA2_P and XA2_N, 3 routes to XA3_P and XA3_N, and 4 routes to XA4_P and XA4_N. Below is from the Basys3 schematics that will show the internal connections of these signals.
From the schematic we can see XA1 is connected to XADC channel 6, XA2 is connected to XADC channel 14, XA3 is connected to XADC channel 7, and XA4 is connected to XADC channel 15.
- Basys3 FPGA board
- Micro-USB cable
- Wires and a voltage to measure
- Vivado Design Suite 2016.4
- Newer versions can be used, but the procedure may vary slightly
Download and Launch the Basys 3 XADC Demo
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. As you can connect your test circuit to your Basys 3 after the demo is running, you do not need to return to this guide when prompted to check for additional hardware requirements and setup.
Using the Basys 3 XADC Demo
1. Applying a voltage to the XADC port
2. Seven Segment Display and LEDs
3. Selecting a Channel
To display a different channel on the 7-segment display and LEDs change SW0 and SW1 to select the desired channel as seen in the table below.
|Channel Number||SW0 Position||SW1 Position|