User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 751
UG585 (v1.11) September 27, 2016
Chapter 30: XADC Interface
30.2.2 Serial Communication Channel (PL-JTAG and PS-XADC)
The serial communication channel connects the XADC to the PS-XADC or PL-JTAG interface,
depending on the devcfg.XADCIF_CFG [ENABLE] bit setting.
The channel is a full duplex synchronous bit-serial link with dedicated control signals using a JTAG
protocol. By default, after reset, the connection between the PS and XADC (PS-XADC interface) is
disabled. PS software can write a
1
to the devcfg.XADCIF_CFG [ENABLE] bit to control the source
and switch the communication channel from the PL-JTAG interface to the PS-XADC interface. When
the PS-XADC interface is enabled to control the XADC, the XADC is no longer accessible by the
PL-JTAG interface. The inverse is true, when XADC is accessible by PL-JTAG, it can not be accessed by
the PS-XADC.
The PS-XADC interface interacts with the PS via an APB 3.0 interface on the PS interconnect. This
interface is part of the DevC module and is described in section 6.4 Device Boot and PL
Configuration.
30.2.3 Analog-to-Digital Converter (All)
The functions and features of the XADC are described in UG480, 7 Series FPGAs and Zynq-7000 All
Programmable SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide.
30.2.4 Sensor Alarms (PS-XADC and DRP)
The XADC can generate an alarm signal when an internal sensor measurement exceeds the value
programmed into the XADC threshold register. The alarm thresholds are stored in the XADC Control
registers, refer to UG480
for their descriptions.
PS-XADC Interface
The alarm signals are routed directly from the XADC block into the PS_XADC interface block, thus
allowing alarm status to be reflected directly in the PS XADC’s interface registers and enabling alarms
to trigger interrupts.
Individual alarm interrupts can be disabled using the devcfg.XADCIF_INT_MASK register.
The alarm signals are sent to the PS-XADC Interface Status register. This register is masked and the
masked interrupts are OR’d together to generate the IRQ ID #39 interrupt to the PS interrupt
controller.
When an alarm goes active, it triggers a maskable interrupt. The alarm signals get latched in the
PS-XADC interface devcfg.XADCIF_INT_STS register and it can be used to determine which alarm was
activated. Writing a 1 to the active alarm bit in the devcfg.XADCIF_INT_STS register clears the
interrupt. The unmasked status of the alarm signals can be read using the devcfg.XADCIF_MSTS
register.