Adam Taylor MicroZed Chronicles: XADC Alarms and Interrupts
Continuing with Adam Taylor's tutorials in his MicroZed Chronicles on the
XADC. This post relates to issue 43, which can be found using the
link at the bottom of the page.
What I learned from Adam's Tutorial:
VIVADO and SDK
When building in Vivado and SDK you can follow the exact steps in the previous blog post, MicroZed Chronicles XADC Adam Taylor, up until the step where you replace the HellowWorld.c file. You will replace this with the file located at the end of Issue 43 instead.
Launch Minicom > Program FPGA > Run (Be sure to run from the file that contains helloworld.c)
At first you will only see something similar to the picture below in minicom
it will take a few minutes before the interrupt appears, which should look something like this:
Now the interrupt has been triggered and 513 corresponds to the value in the XADC interrupt status register.
The reason that it takes a few minutes before appearing in the terminal is because we need to wait for the temperature to heat up to point where the alarm will be triggered.
http://zedboard.org/content/microzed-chronicles
What I learned from Adam's Tutorial:
- The Zynq SoC has the ability to monitor its own supply voltages and temperature.
- We can use this ability to verify the initial supply voltages and operating temperature.
- We can also check to ensure that the parameters remain within the specified ranges throughout operation.
- This can help us to determine if the Zynq SoC's environment has any problems that could possibly result in a failure over time.
- An example could be a drifting power supply.
- The SoC has a number of maskable interrupts that can interrupt the 2 on-chip ARM processors if an alarm parameter exceeds its range.
- A maskable interrupt can be disabled by the programmer, so if an interrupt happens, the CPU can ignore it and not have to respond.
- Above definition from: https://www.quora.com/What-is-meant-by-maskable-and-non-maskable-interrupts-in-Intel-microprocessor
- Alarm parameters are set during the block design
- double click on xadc_wiz > alarms
- The XADC provides alarm output signals that can be connected to other logic modules implemented in the Zynq SoC’s PL that can initiate an action should an alarm occur.
- There are seven alarms in total (table 30-1 from issue 43)
VIVADO and SDK
When building in Vivado and SDK you can follow the exact steps in the previous blog post, MicroZed Chronicles XADC Adam Taylor, up until the step where you replace the HellowWorld.c file. You will replace this with the file located at the end of Issue 43 instead.
Launch Minicom > Program FPGA > Run (Be sure to run from the file that contains helloworld.c)
At first you will only see something similar to the picture below in minicom
it will take a few minutes before the interrupt appears, which should look something like this:
Now the interrupt has been triggered and 513 corresponds to the value in the XADC interrupt status register.
The reason that it takes a few minutes before appearing in the terminal is because we need to wait for the temperature to heat up to point where the alarm will be triggered.
http://zedboard.org/content/microzed-chronicles
Comments
Post a Comment