
CY7C63310
CY7C638xx
Document 38-08035 Rev. *I
Page 46 of 74
17.0
Interrupt Controller
The interrupt controller and its associated registers allow the
user’s code to respond to an interrupt from almost every
functional block in the enCoRe II devices. The registers
associated with the interrupt controller allow interrupts to be
disabled either globally or individually. The registers also
provide a mechanism by which a user may clear all pending
and posted interrupts, or clear individual posted or pending
interrupts.
The following table lists all interrupts and the priorities that are
available in the enCoRe II devices.
17.1
An interrupt is posted when its interrupt conditions occur. This
results in the flip-flop in
Figure 17-1
clocking in a ‘1’. The
interrupt will remain posted until the interrupt is taken or until
it is cleared by writing to the appropriate INT_CLRx register.
A posted interrupt is not pending unless it is enabled by setting
its interrupt mask bit (in the appropriate INT_MSKx register).
All pending interrupts are processed by the Priority Encoder to
determine the highest priority interrupt which will be taken by
the M8C if the Global Interrupt Enable bit is set in the CPU_F
register.
Disabling an interrupt by clearing its interrupt mask bit (in the
INT_MSKx register) does not clear a posted interrupt, nor
does it prevent an interrupt from being posted. It simply
prevents a posted interrupt from becoming pending.
Nested interrupts can be accomplished by re-enabling inter-
rupts inside an interrupt service routine. To do this, set the IE
bit in the Flag Register.
A block diagram of the enCoRe II Interrupt Controller is shown
in
Figure 17-1
.
Architectural Description
Table 17-1. Interrupt Numbers, Priorities, Vectors
Interrupt
Priority
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Interrupt
Address
0000h
0004h
0008h
000Ch
0010h
0014h
0018h
001Ch
0020h
0024h
0028h
002Ch
0030h
0034h
0038h
003Ch
0040h
Name
Reset
POR/LVD
INT0
SPI Transmitter Empty
SPI Receiver Full
GPIO Port 0
GPIO Port 1
INT1
EP0
EP1
EP2
USB Reset
USB Active
1 mS Interval timer
Programmable Interval Timer
Timer Capture 0
Timer Capture 1
17
18
19
20
21
22
23
24
25
0044h
0048h
004Ch
0050h
0054h
0058h
005Ch
0060h
0064h
16-bit Free Running Timer Wrap
INT2
PS2 Data Low
GPIO Port 2
GPIO Port 3
Reserved
Reserved
Reserved
Sleep Timer
Table 17-1. Interrupt Numbers, Priorities, Vectors
(contin-
Interrupt
Priority
Interrupt
Address
Name
Figure 17-1. Interrupt Controller Block Diagram
Interrupt
Source
(Timer,
GPIO, etc.)
Interrupt Taken
or
INT_CLRx Write
Posted
Interrupt
Pending
Interrupt
GIE
Interrupt Vector
Mask Bit Setting
D
R
Q
1
Priority
Encoder
M8C Core
Interrupt
Request
.
.
INT_MSKx
CPU_F[0]