![Infineon XDPP1100 Скачать руководство пользователя страница 245](http://html1.mh-extra.com/html/infineon/xdpp1100/xdpp1100_technical-reference-manual_2055193245.webp)
User Manual
245 of 562
V 1.0
2021-08-25
XDPP1100 technical reference manual
Digital power controller
Fault handler
9.3
Fault interrupts (IRQ)
The fault interrupt generation is shown in
. From the figure it can be observed that three fault status
registers:
•
fault0_status_loop
•
fault1_status_loop
•
fault_status_com
are individually bitwise ORed to produce three interrupt signals:
•
fault0_irq
•
fault1_irq
•
faultcm_irq
These three IRQ signals are ORed together to form the interrupt going to the CPU. They are also gathered
together to form the register
fault_irq_bus
, allowing the FW to determine in which status register to look for
the fault.
Figure 81
Fault interrupt block diagram
9.4
Faults priority encoding
A second and more practical method for determining the fault that has occurred is via the fault priority
encoding module. A portion of the priority encoder LUT is shown in
. The LUT input is formed from a
96-bit wide bus formed by concatenation of the following status registers:
•
fault_status_com[31:0
]
•
fault1_status_loop[31:0
]
•
fault0_status_loop[31:0]
As shown in the figure, the highest priority is given to the LSB of the input bus (i.e.,
fault0_status_loop[0]
) and
lowest priority is given to the MSB of the input bus (i.e.,
fault_status_com[31]
). The output is provided on
read-only register
fault_encode
. Note that
fault_encode
returns 0d for both the no-fault case and the
fault0_status_loop[0]
= 1 case. To distinguish between the two cases the FW can read the value of
fault0_status_loop
or
fault_irq_bus
.
fault0_status_loop[31:0]
fault0_irq
fault1_status_loop[31:0]
fault1_irq
fault_status_com[31:0]
faultcm_irq
fault_irq
[0]
[1]
[2]
fault_irq_bus[2:0]