ADuCM310 Hardware Reference Manual
UG-549
Rev. C | Page 63 of 192
LOW VOLTAGE ANALOG DIE INTERRUPT CONFIGURATION
Two interrupt lines are available between the low voltage analog die and the interrupt controller on the digital die.
These two interrupt lines are the outputs of two multiplexers of multiple interrupt sources from the low voltage analog die.
The full list of interrupt sources from the low voltage analog die are as follows:
•
ADC software conversion complete interrupt. This is asserted at the end of an ADC conversion when this interrupt source is enabled.
•
ADC sequencer complete interrupt. This is the interrupt asserted by the ADC sequencer.
•
Digital comparator interrupt. If the ADC result is outside the selected threshold, this interrupt is asserted.
•
IDAC thermal shutdown interrupt.
•
IDAC external reference resistor status interrupt.
•
Read ECC interrupt source. Error correction and checking is available on the interface between the digital and analog die. If a read
error occurs (for example, an error on the ADC result), this interrupt is asserted.
•
Write ECC interrupt source. If the ECC returns an error on a value written to the low voltage die, this interrupt is asserted.
Low Voltage Die Interrupt 1 is more flexible than Low Voltage Interrupt 0. The key differences are as follows:
•
Low Voltage Die Interrupt 1 allows all seven different interrupt sources as configured by INTSEL[7:0] to be enabled. In the interrupt
handler, the LV1 interrupt source can be determined by the INTSTA register.
•
Low Voltage Die Interrupt 0 allows only one of the possible seven interrupt sources selected by INTSEL[15:8] to be enabled at a given
time. The INTSTA register is not valid for Low Voltage Interrupt 0.
•
To clear an interrupt, set the appropriate bit in the INTCLR register.
•
Note there is a delay period required after writing to INTCLR before the associated status bit in the INTSTA register is updated.
•
If polling is used of the INTSTA register, the following example code can be used:
pADI_LV_INT->INTCLR = 0x1; // clear Irq source
delay(10);
ucLVIrqStatus = pADI_LV_INT->INTSTA;
// Simple delay routine
void delay (long int length)
{
while (length >0)
length--;
}
REGISTER SUMMARY: LOW VOLTAGE DIE INTERRUPTS
Table 70. Low Voltage Die Interrupts Register Summary
Address
Name
Description
Reset
Access
0x40083004
INTCLR
Interrupt clear register
0x0000
W
0x40083008
INTSEL
Interrupt mask register
0x0000
RW
0x4008300C
INTSTA
Interrupt status register
0x0000
R