Extended interrupt and event controller (EXTI) RM0444
320/1390 RM0444 Rev 5
13.3.1 EXTI configurable event input wakeup
Figure 27 is a detailed representation of the logic associated with configurable event inputs
which wake up the CPU sub-system bus clocks and generated an EXTI pending flag and
interrupt to the CPU and or a CPU wakeup event.
Figure 27. Configurable event trigger logic CPU wakeup
The software interrupt event register allows triggering configurable events by software,
writing the corresponding register bit, irrespective of the edge selection setting.
The rising edge and falling edge selection registers allow to enable and select the
configurable event active trigger edge or both edges.
The CPU has its dedicated interrupt mask register and a dedicated event mask registers.
The enabled event allows generating an event on the CPU. All events for a CPU are OR-ed
together into a single CPU event signal. The event pending registers (EXTI_RPR1 and
EXTI_FPR1) is not set for an unmasked CPU event.
The configurable events have unique interrupt pending request registers, shared by the
CPU. The pending register is only set for an unmasked interrupt. Each configurable event
provides a common interrupt to the CPU. The configurable event interrupts need to be
acknowledged by software in the EXTI_RPR1 and/or EXTI_FPR1 registers.
When a CPU interrupt or CPU event is enabled, the asynchronous edge detection circuit is
reset by the clocked delay and rising edge detect pulse generator. This guarantees the
wakeup of the EXTI hclk clock before the asynchronous edge detection circuit is reset.
Table 61. EXTI event input configurations and register control
Event input
type
Logic implementation
EXTI_RTSR1
EXTI_FTSR1
EXTI_SWIER1
EXTI_R/FPR1
EXTI_IMRx
EXTI_EMRx
Configurable Configurable event input wakeup logic x x x x x x
Direct Direct event input wakeup logic - - - - x x
EVG
EXTI
Peripheral interface
Falling
trigger
selection
register
Rising
trigger
selection
register
Pending
request
register
Asynchronous Edge
detection circuit
Configurable
Event input(y)
it_exti_per(y)
CPU Event(y)
(1)
c_wakeup
Rising Edge
detect Pulse
generator
rst
Delay
hclk
hclk
CPU
Interrupt
mask
register
CPU
Event
mask
register
Other CPU Wakeups
sys_wakeup
Other Wakeups
Wakeup(y)
Other CPU Events(x,y)
c_event
CPU Wakeup(y)
Synch
hclk
Software
interrupt
event
register
AHB
interface
CPU
Rising Edge
detect Pulse
generator
ck_fclk_c
Rising
Edge
detect
hclk
rst
c_evt_exti
c_evt_rst
Same circuit for Configurable
and Direct events
MS46537V1