UG-498
ADuCM320 Hardware Reference Manual
Rev. C | Page 56 of 196
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.
•
Analog comparator interrupt. If the input signal is outside the selected threshold, this interrupt is asserted.
•
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 LV die, this interrupt is asserted.
Low Voltage Die Interrupt 1 is more flexible than Low Voltage Die 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 LV Interrupt 0.
To clear an interrupt, set the appropriate bit in the INTCLR register.
Note that 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--;
}