6 inTeRRuPT COnTROlleR (iTC)
S1C17624/604/622/602/621 TeChniCal Manual
Seiko epson Corporation
6-7
• When data is written to the ITC_LV0 to ITC_LV9 registers, the “Reserved” bits must always be
written as 0 and not 1.
interrupt level Setup Register
x
(iTC_lV
x
)
Register name address
Bit
name
Function
Setting
init. R/W
Remarks
interrupt level
Setup Register
x
(iTC_lV
x
)
0x4306
|
0x4318
(16 bits)
D15–11 –
reserved
–
–
–
0 when being read.
D10–8 ilV
n
[2:0]
INTn
(1, 3, ... 19) interrupt level
0 to 7
0x0 R/W
D7–3 –
reserved
–
–
–
0 when being read.
D2–0 ilV
n
[2:0]
INTn
(0, 2, ... 18) interrupt level
0 to 7
0x0 R/W
D[15:11], D[7:3]
Reserved
D[10:8], D[2:0]
ilV
n
[2:0]:
INTn
interrupt level Bits (
n
= 0–19)
Sets the interrupt level (0 to 7) of each interrupt. (Default: 0x0)
The S1C17 Core does not accept interrupts with a level set lower than the PSR IL value.
The ITC uses the interrupt level when multiple interrupt requests occur simultaneously.
If multiple interrupt requests enabled by the interrupt enable bit occur simultaneously, the ITC sends the
interrupt request with the highest level set by the ITC_LV
x
registers (0x4306 to 0x4318) to the S1C17
Core.
If multiple interrupt requests with the same interrupt level occur simultaneously, the interrupt with the
lowest vector number is processed first.
The other interrupts are held until all interrupts of higher priority have been accepted by the S1C17
Core.
If an interrupt requests of higher priority occurs while the ITC outputs an interrupt request signal to the
S1C17 Core (before acceptance by the S1C17 Core), the ITC alters the vector number and interrupt
level signals to the setting details of the most recent interrupt. The immediately preceding interrupt is
held.
7.2 Interrupt Level Bits
Table 6.
Register
Bit
interrupt
ITC_LV0(0x4306)
ILV0[2:0] (D[2:0])
P0 port interrupt
ILV1[2:0] (D[10:8])
P1 port interrupt
ITC_LV1(0x4308)
ILV2[2:0] (D[2:0])
Stopwatch timer (SWT) interrupt
ILV3[2:0] (D[10:8])
Clock timer (CT) interrupt / Real-time clock (RTC) interrupt
(S1C17624/604)
ITC_LV2(0x430a)
ILV4[2:0] (D[2:0])
8-bit OSC1 timer (T8OSC1) interrupt
ILV5[2:0] (D[10:8])
Supply voltage detector (SVD) interrupt
ITC_LV3(0x430c)
ILV6[2:0] (D[2:0])
LCD driver (LCD) interrupt / 16-bit PWM timer (T16A2) Ch.0
interrupt (S1C17624/604)
ILV7[2:0] (D[10:8])
16-bit PWM timer (T16E) Ch.0 interrupt
ITC_LV4(0x430e)
ILV8[2:0] (D[2:0])
8-bit timer (T8F) Ch.0 & Ch.1 interrupt
ILV9[2:0] (D[10:8])
16-bit timer (T16) Ch.0 interrupt
ITC_LV5(0x4310)
ILV10[2:0] (D[2:0])
16-bit timer (T16) Ch.1 interrupt
ILV11[2:0] (D[10:8])
16-bit timer (T16) Ch.2 interrupt
ITC_LV6(0x4312)
ILV12[2:0] (D[2:0])
UART Ch.0 interrupt
ILV13[2:0] (D[10:8])
I
2
C slave (I2CS) interrupt / UART Ch.1 interrupt
ITC_LV7(0x4314)
ILV14[2:0] (D[2:0])
SPI Ch.0 interrupt
ILV15[2:0] (D[10:8])
I
2
C master (I2CM) interrupt
ITC_LV8(0x4316)
ILV16[2:0] (D[2:0])
IR remote controller (REMC) interrupt
ILV17[2:0] (D[10:8])
16-bit PWM timer (T16A2) Ch.1 interrupt (S1C17624/604)
ITC_LV9(0x4318)
ILV18[2:0] (D[2:0])
A/D converter (ADC10) interrupt
ILV19[2:0] (D[10:8])
R/F converter (RFC) interrupt