I havve been trying to read analog Inputs using the XADC input.
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
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux0 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+1);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux1 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+12);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux2 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+3);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux3 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+4);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux4 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+5);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux5 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
I am using VIVADO 2018.1
I have configured the XADC Wizard as per the pictures below. Has anyone seen this strange behaviour so far ?
Question
Antonio Fasano
Hi Guys,
I havve been trying to read analog Inputs using the XADC input.
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
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux0 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+1);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux1 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+12);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux2 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+3);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux3 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+4);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux4 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
ExtVolRawData = XSysMon_GetAdcData(SysMonInstPtr, XSM_CH_AUX_MIN+5);
ExtVolData = XSysMon_RawToExtVoltage(ExtVolRawData);
printf("The Current Vaux5 is %0d.%03d Volts. \r\n", (int)(ExtVolData), SysMonFractionToInt(ExtVolData));
I am using VIVADO 2018.1
I have configured the XADC Wizard as per the pictures below. Has anyone seen this strange behaviour so far ?
Thanks
Antonio
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.