Hello Guys,
I am running a design that runs the PL pretty hard in the Zynq 7020 on a MicroZed board. In order to support that I instantiated the AXI4-Lite XADC core so that the PS can read the temperature under software control.
As a positive control I also read the supply voltages. Here is the output of those readings.
VCCint = 0x000052B8, 0.969360 Volts
VCCaux = 0x0000999F, 1.800247 Volts
VCCbram = 0x000052FF, 0.972610 Volts
VCCpint = 0x00005480, 0.990234 Volts
VCCpaux = 0x000099C9, 1.802170 Volts
VCCoddr = 0x00007F1C, 1.489563 Volts
temperature = 0x0000B490, 82.314789 degrees C
All the power supply voltages look about right but the temperature measurement looks incorrect, 82C with the PL application not running.
I do not have a heatsink on the MicroZed and the ARM processors are just running Linux. When I start the PL application the temperature rises to 104C.
What do you guys think? Is 82C possible on a lightly loaded 7020? What could I be doing to produce a wrong temperature reading?
I am using Equation 2-6 on page 33 of UG480 to compute degrees C from the register value and here is the C code that prints the temperature.
read_val = read_reg(pcie_addr,XADC_TEMP);
printf("temperature = 0x%08X, %f degrees C\n", read_val, ((0xffff&read_val)*503.975/(16.0*4096.0))-273.15);