ST92F124/F150/F250 - INTERRUPTS
WAKE-UP / INTERRUPT LINES MANAGEMENT UNIT (Cont’d)
5.12.3 Functional Description
5.12.3.1 Interrupt Mode
wake-up event does not require an interrupt
response.
7. Write the sequence 1,0,1 to the STOP bit of the
WUCTRL register with three consecutive write
operations. This is the STOP bit setting
sequence.
To configure the 16 wake-up lines as interrupt
sources, use the following procedure:
1. Configure the mask bits of the 16 wake-up lines
(WUMRL, WUMRH)
To detect if STOP Mode was entered or not, im-
mediately after the STOP bit setting sequence,
poll the RCCU EX_STP bit (R242.7, Page 55) and
the STOP bit itself.
2. Configure the triggering edge registers of the
wake-up lines (WUTRL, WUTRH)
3. Set bit 7 of EIMR (R244 Page 0) and EITR
(R242 Page 0) registers of the CPU: so an
interrupt coming from one of the 16 lines can be
correctly acknowledged
5.12.3.3 STOP Mode Entry Conditions
Assuming the ST9 is in Run mode: during the
STOP bit setting sequence the following cases
may occur:
4. Reset the WKUP-INT bit in the WUCTRL regis-
ter to disable Wake-up Mode
5. Set the ID1S bit in the WUCTRL register to
enable the 16 wake-up lines as external inter-
rupt source lines.
Case 1: NMI = 0, wrong STOP bit setting se-
quence
This can happen if an Interrupt/DMA request is ac-
knowledged during the STOP bit setting se-
quence. In this case polling the STOP and
EX_STP bits will give:
5.12.3.2 Wake-up Mode Selection
To configure the 16 lines as wake-up sources, use
the following procedure:
STOP = 0, EX_STP = 0
1. Configure the mask bits of the 16 wake-up lines
(WUMRL, WUMRH).
This means that the ST9 did not enter STOP mode
due to a bad STOP bit setting sequence: the user
must retry the sequence.
2. Configure the triggering edge registers of the
wake-up lines (WUTRL, WUTRH).
Case 2: NMI = 0, correct STOP bit setting se-
quence
3. Set, as for Interrupt Mode selection, bit 7 of
EIMR and EITR registers only if an interrupt
routine is to be executed after a wake-up event.
Otherwise, if the wake-up event only restarts
the execution of the code from where it was
stopped, the INTD1 interrupt channel must be
masked.
In this case the ST9 enters STOP mode. There are
two ways to exit STOP mode:
1. A wake-up interrupt (not an NMI interrupt) is
acknowledged. That implies:
STOP = 0, EX_STP = 1
4. Since the RCCU can generate an interrupt
request when exiting from STOP mode, take
care to mask it even if the wake-up event is
only to restart code execution.
This means that the ST9 entered and exited STOP
mode due to an external wake-up line event.
2. A NMI rising edge woke up the ST9. This
implies:
5. Set the WKUP-INT bit in the WUCTRL register
to select Wake-up Mode
STOP = 1, EX_STP = 1
This means that the ST9 entered and exited STOP
mode due to an NMI (rising edge) event. The user
should clear the STOP bit via software.
6. Set the ID1S bit in the WUCTRL register to
enable the 16 wake-up lines as external inter-
rupt source lines. This is not mandatory if the
113/426
9