
V PeRiPheRaL MoDuLes 3 (inteRFaCe): i2s inteRFaCe (i2s)
V-4-14
ePson
s1C33L17 teChniCaL ManuaL
4
3
5, 6
4, 5, 6
6
Empty
FIFO
I2S_WS0 pin
FIFOSTAT0[2:0]
I2SFIFOFF0
I2SFIFOEF0
Interrupt
1, 2, 3, 4
2
3
2
3
0
1L
1R
2L
2R
3L
3R
4L
4R
5L
5R
6L
Start
2, 3, 4
2, 3, 4, 5
Empty
In one empty interrupt mode
Write 4 L & R data (1–4)
Write 1 L & R data (5)
Write 1 L & R data (6)
3, 4, 5
3, 4, 5, 6
Figure V.4.5.1 FIFO Data and Interrupts
When the FIFO becomes empty, I2SFIFOEF0 (D0/pI2S_FIFO_STATUS register) is set to 1.
i2sFiFoeF0: I2S CH.0 FIFO Empty Flag in the I2S FIFO Status (pI2S_FIFO_STATUS) Register (D0/
0x00301C14)
When data is written to the FIFO, I2SFIFOEF0 is reset to 0 and the data output continues.
Furthermore, the I2S CH.0 provides the status bits FIFOSTAT0[2:0] (D[4:2]/pI2S_FIFO_STATUS register) that
indicate the FIFO state machine.
FiFostat0[2:0]: I2S CH.0 FIFO State Machine Bits in the I2S FIFO Status (pI2S_FIFO_STATUS) Register
(D[4:2]/0x00301C14)
Table V.4.5.2 Monitoring the FIFO State Machine
FiFostat0[2:0]
state
0x7–0x6
Reserved
0x5
FLUSH: FIFO is flushing the remained audio data before it stops.
0x4
EMPTY: FIFO is empty.
0x3
LACK: FIFO is not full and not empty.
0x2
FULL: FIFO is full.
0x1
INIT:
Initialize all four entries of FIFO.
0x0
STOP: FIFO is idle.
(Default: 0x0)
I2SBUSY0 (D7/pI2S_START register) is set to 1 while data is being output. This flag can be used to check the
output status.
i2sBusY0: I2S CH.0 Busy Flag in the I2S Start/Stop (pI2S_START) Register (D7/0x00301C10)
8. To stop output, write 0 to I2SSTART0 (D0/pI2S_START register).
When I2SSTART0 is set to 0, the I2S module will stop data output after the remaining data stored in the FIFO
are all output. When the I2S stops, I2SBUSY0 is reset to 0.
To disable output, write 0 to I2SOUTEN (D4/pI2S_CONTRL_CH0 register) to stop the current output. Writing
1 to I2SOUTEN will continue the current output.
After writing 0 to I2SSTART0 (D0/ pI2S_START register), wait for I2SBUSY0 to reset to 0. You can then turn
off the I2S CH.0 circuit by writing 0 to I2SEN0 (D8/pI2S_CONTRL_CH0 register). You can disable output and
turn off I2S CH.0 simultaneously.