at89lp428-25pu ATMEL Corporation, at89lp428-25pu Datasheet - Page 31

no-image

at89lp428-25pu

Manufacturer Part Number
at89lp428-25pu
Description
8-bit Microcontroller With 4k/8k Bytes In-system Programmable Flash
Manufacturer
ATMEL Corporation
Datasheet
9.1
3654A–MICRO–8/09
Interrupt Response Time
The interrupt flags may be set by their hardware in any clock cycle. The interrupt controller polls
the flags in the last clock cycle of the instruction in progress. If one of the flags was set in the
preceding cycle, the polling cycle will find it and the interrupt system will generate an LCALL to
the appropriate service routine as the next instruction, provided that the interrupt is not blocked
by any of the following conditions: an interrupt of equal or higher priority level is already in prog-
ress; the instruction in progress is RETI or any write to the IE, IP, IPH, IE2, IP2 or IP2H registers;
the CPU is currently forced into idle by an IAP or FDATA write. Each of these conditions will
block the generation of the LCALL to the interrupt service routine. The second condition ensures
that if the instruction in progress is RETI or any access to IE, IP, IPH, IE2, IP2 or IP2H, then at
least one more instruction will be executed before any interrupt is vectored to. The polling cycle
is repeated at the last cycle of each instruction, and the values polled are the values that were
present at the previous clock cycle. If an active interrupt flag is not being serviced because of
one of the above conditions and is no longer active when the blocking condition is removed, the
denied interrupt will not be serviced. In other words, the fact that the interrupt flag was once
active but not serviced is not remembered. Every polling cycle is new.
If a request is active and conditions are met for it to be acknowledged, a hardware subroutine
call to the requested service routine will be the next instruction executed. The call itself takes
four cycles. Thus, a minimum of five complete clock cycles elapsed between activation of an
interrupt request and the beginning of execution of the first instruction of the service routine.
A longer response time results if the request is blocked by one of the previously listed condi-
tions. If an interrupt of equal or higher priority level is already in progress, the additional wait time
depends on the nature of the other interrupt's service routine. If the instruction in progress is not
in its final clock cycle, the additional wait time cannot be more than 4 cycles, since the longest
are only 5 cycles long. If the instruction in progress is RETI or an access to IE or IP, the addi-
tional wait time cannot be more than 9 cycles (a maximum of four more cycles to complete the
instruction in progress, plus a maximum of 5 cycles to complete the next instruction). Thus, in a
single-interrupt system, the response time is always more than 5 clock cycles and less than
14 clock cycles. See
Figure 9-1.
Figure 9-2.
Clock Cycles
Instruction
Minimum Interrupt Response Time
Maximum Interrupt Response Time
Clock Cycles
INT0
Instruction
IE0
Figure 9-1
INT0
IE0
Cur. Instr.
1
and
RETI
Figure
Ack.
1
9-2.
LCALL
5 Cyc. Instr.
Ack.
5
1st ISR Instr.
LCALL
AT89LP428/828
14
1st ISR Instr.
31

Related parts for at89lp428-25pu