• 0

# XADC problem running on Arty-Z7-20

## Question

Hi Guys,

II used Lab3 as a starting point and defined 06 inputs. Vaux0 up to Vaux5

When I apply 0.25 V to pin A0 on teh XADC connector, I get answers like this

The Current Vaux0 is 0.016 Volts.
The Current Vaux1 is 0.285 Volts.  (It says the voltage appears on Vaux1  !!!)
The Current Vaux2 is 0.000 Volts.
The Current Vaux3 is 0.001 Volts.
The Current Vaux4 is 0.000 Volts.
The Current Vaux5 is 0.002 Volts.

When I apply 0.25 V to pin A1 on teh XADC connector, I get answers like this

The Current Vaux0 is 0.015 Volts.
The Current Vaux1 is 0.001 Volts.
The Current Vaux2 is 0.000 Volts.
The Current Vaux3 is 0.001 Volts.
The Current Vaux4 is 0.000 Volts.
The Current Vaux5 is 0.002 Volts.         (It reads no voltage at all !!)

When I apply 0.25 V to pin A2 on teh XADC connector, just like above, it shows no voltage

When I apply 0.25 V to pin A3 on teh XADC connector, just like above, it shows no voltage

When I apply 0.25 V to pin A4 on teh XADC connector:

The Current Vaux0 is 0.256 Volts.
The Current Vaux1 is 0.002 Volts.
The Current Vaux2 is 0.000 Volts.
The Current Vaux3 is 0.001 Volts.
The Current Vaux4 is 0.000 Volts.
The Current Vaux5 is 0.286 Volts.   (It says it is on both VAux0 and Vaux5 !!!!!)

When I apply 0.25 V to pin A5 on teh XADC connector, it shows no Voltage in any pins !!

I am using the following commands in XADC

ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux0 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));

ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux1 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));

ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux2 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));

ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux3 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));

ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux4 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));

ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux5 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));

I have configured the XADC Wizard as per the pictures below. Has anyone seen this strange behaviour so far ?

Thanks

Antonio

## Recommended Posts

• 0

Here is the HDL XADC Arty-Z7-20 demo. As it shows in the demo's wiki page only a few of the vaux channels are available to use on the XADC. They would be 12, 0, and 8. You can see this on the schematic here on page 9 bank 35.  can you please  attach a screen shot of  your block design , wrapper and xdc files. Here is a forum thread that uses the XADC in the PS on the zedboard. It has a complete project attached in the thread that could be a good reference for your project.

thank you,

Jon

##### Share on other sites
• 0

Hi Jon,

I just checked unchecked all others and checked VAUX0 VAUX8 and VAUX12 and the project ran without problems. I thought the readable analog voltage range would be from 0 to 2.5V, but it actually reads from 0V to 1V and clips outside that range ...  But it works ...

Thank you once again !!

Antonio