
V PERIPHERAL MODULES 3 (INTERFACE): I2S INTERFACE (I2S)
S1C33E07 TECHNICAL MANUAL
EPSON
V-5-11
V
I2S
V.5.6 I2S Interrupt
The I2S module can generate an interrupt every time the FIFO is not full by loading one data in the FIFO to the
shift register.
Control registers of the interrupt controller
Table V.5.6.1 shows the interrupt controller's control registers provided for the I2S interrupt.
Table V.5.6.1 Control Register of Interrupt Controller
Interrupt
I2S interrupt
Cause-of-interrupt flag
FI2S(D2/0x3002AA)
Interrupt priority register
PI2S[2:0](D[2:0]/0x3002A4)
Interrupt enable register
EI2S(D2/0x3002A7)
When a cause of FIFO empty interrupt occurs, the cause-of-interrupt flag listed above is set to 1. If the interrupt
enable register bit for that cause of interrupt has been set to 1, an interrupt request is generated.
Interrupts can be disabled by leaving the interrupt enable register bit for that cause of interrupt set to 0. The
cause-of-interrupt flag is set to 1 whenever interrupt conditions are met, regardless of the setting of the interrupt
enable register (even if it is set to 0).
The interrupt priority register sets the interrupt priority level of each interrupt source in a range between 0 and
7. An interrupt request to the CPU is accepted only when no other interrupt request of a higher priority has been
generated. In addition, only when the PSR's IE bit = 1 (interrupts enabled) and the set value of the IL is smaller
than the input interrupt level set by the interrupt priority register, will the input interrupt request actually be ac-
cepted by the CPU.
For details on these interrupt control registers, as well as the device operation when an interrupt has occurred,
refer to Section III.2, “Interrupt Controller (ITC).”
Intelligent DMA
The I2S interrupt request can be used to invoke intelligent DMA (IDMA). This enables data transfer between
memory and the FIFO to be performed using DMA.
The IDMA channel numbers set for the cause of I2S interrupt is 0x2E.
The IDMA request and enable bits shown in Table V.5.6.2 must be set to 1 for IDMA to be invoked. Transfer
conditions, etc. on the IDMA side must also be set in advance.
Table V.5.6.2 Control Bits for IDMA Transfer
Interrupt
I2S interrupt
IDMA request bit
RI2S(D0/0x3002AD)
IDMA enable bit
DEI2S(D0/0x3002AF)
If a cause of interrupt occurs when the IDMA request and enable bits are set to 1, IDMA is invoked. No inter-
rupt request is generated at that point. An interrupt request is generated upon completion of the DMA transfer.
The bits can also be set so as not to generate an interrupt, with only a DMA transfer performed.
For details on DMA transfer and how to control interrupts upon completion of DMA transfer, refer to Section
II.2, “Intelligent DMA (IDMA).”
High-speed DMA
The cause of I2S interrupt cannot invoke high-speed DMA (HSDMA).
DMA transfer can be performed using the DMA request signals that are directly output to HSDMA from the
I2S module. For the HSDMA settings, see Section V.5.4, “Setting I2S Module.”
Trap vectors
The default trap-vector address of the cause of I2S interrupt is 0xC00178.
The base address of the trap table can be changed using the TTBR register.