datasheetbank_Logo
Integrated circuits, Transistor, Semiconductors Search and Datasheet PDF Download Site

ST6201BM3 View Datasheet(PDF) - STMicroelectronics

Part Name
Description
View to exact match
ST6201BM3 Datasheet PDF : 100 Pages
First Prev 21 22 23 24 25 26 27 28 29 30 Next Last
ST6200C ST6201C ST6203C
5.10 INTERRUPT HANDLING PROCEDURE
The interrupt procedure is very similar to a call pro-
cedure, in fact the user can consider the interrupt
as an asynchronous call procedure. As this is an
asynchronous event, the user cannot know the
context and the time at which it occurred. As a re-
sult, the user should save all Data space registers
which may be used within the interrupt routines.
The following list summarizes the interrupt proce-
dure:
When an interrupt request occurs, the following
actions are performed by the MCU automatically:
– The core switches from the normal flags to the
interrupt flags (or the NMI flags).
– The PC contents are stored in the top level of the
stack.
– The normal interrupt lines are inhibited (NMI still
active).
– The internal latch (if any) is cleared.
– The associated interrupt vector is loaded in the PC.
When an interrupt request occurs, the following
actions must be performed by the user software:
– User selected registers have to be saved within
the interrupt service routine (normally on a soft-
ware stack).
– The source of the interrupt must be determined
by polling the interrupt flags (if more than one
source is associated with the same vector).
– The RETI (RETurn from Interrupt) instruction
must end the interrupt service routine.
After the RETI instruction is executed, the MCU re-
turns to the main routine.
Caution: When a maskable interrupt occurs while
the ST6 core is in NORMAL mode and during the
execution of an “ldi IOR, 00h” instruction (disabling
all maskable interrupts): if the interrupt request oc-
curs during the first 3 cycles of the “ldi” instruction
(which is a 4-cycle instruction) the core will switch
to interrupt mode BUT the flags CN and ZN will
NOT switch to the interrupt pair CI and ZI.
5.10.1 Interrupt Response Time
This is defined as the time between the moment
when the Program Counter is loaded with the in-
terrupt vector and when the program has jump to
the interrupt subroutine and is ready to execute
the code. It depends on when the interrupt occurs
while the core is processing an instruction.
Figure 18. Interrupt Processing Flow Chart
INSTRUCTION
FETCH
INSTRUCTION
EXECUTE
INSTRUCTION
LOAD PC FROM
INTERRUPT VECTOR
YES
WAS
THE INSTRUCTION
NO
A RETI?
YES
IS THE CORE
ALREADY IN
NORMAL MODE?
NO
ENABLE
MASKABLE INTERRUPTS
CLEAR
INTERNAL LATCH *)
DISABLE
MASKABLE INTERRUPT
PUSH THE
PC INTO THE STACK
SELECT
NORMAL FLAGS
“POP”
THE STACKED PC
SELECT
INTERRUPT FLAGS
NO
IS THERE AN
AN INTERRUPT REQUEST
AND INTERRUPT MASK?
YES
*) If a latch is present on the interrupt source line
Table 6. Interrupt Response Time
Minimum
6 CPU cycles
Maximum
11 CPU cycles
One CPU cycle is 13 external clock cycles thus 11
CPU cycles = 11 x (13 /8M) = 17.875 µs with an 8
MHz external quartz.
Doc ID 4563 Rev 5
29/100
1
 

Share Link: 

datasheetbank.com [ Privacy Policy ] [ Request Datasheet ] [ Contact Us ]