
V PeRiPheRaL MoDuLes 3 (inteRFaCe): i2s inteRFaCe (i2s)
s1C33L17 teChniCaL ManuaL
ePson
V-4-17
V
I2S
FIFO
I2S_WS1 pin
I2SFIFOFF1
I2SFIFOEF1
Interrupt
1
1L
1R
2L
2R
3L
3R
4L
4R
5L
5R
6R
6L
7L
Start
1, 2
E
3, 4
3
3, 4, 5, 6
3, 4, 5
Full
Empty
In half full interrupt mode
Receive (1)
Receive (2)
Receive (3)
Read 2 data
Receive (4)
Receive (5)
Receive (6)
FIFO
I2S_WS1 pin
I2SFIFOFF1
I2SFIFOEF1
Interrupt
1
1L
1R
2L
2R
3L
3R
4L
4R
5L
5R
6R
6L
7L
Start
E
1, 2, 3
1, 2
5
Full
Empty
In whole full interrupt mode
Receive (1)
Receive (2)
Receive (3)
Read 4 data
Receive (4)
Receive (5)
Receive (6)
1, 2, 3, 4
5, 6
FIFO
I2S_WS1 pin
I2SFIFOFF1
I2SFIFOEF1
Interrupt
1L
1R
2L
2R
3L
3R
4L
4R
5L
5R
6R
6L
7L
Start
1
E
3, 4
3
3, 4, 5, 6
3, 4, 5
Full
Empty
In one data interrupt mode
Receive (1)
Receive (2)
Receive (3)
Read 1 data
2
E
Read 1 data
Receive (4)
Receive (5)
Receive (6)
Figure V.4.6.1 FIFO Data and Interrupts
5. Read the received audio data from the FIFO.
By using an interrupt described above, read the received data from the pI2S_FIFO_CH1 register (0x00301C30).
With 16-bit data, you can use a 16-bit memory read (ld.h %rd, [%rb]) or a 32-bit memory read (ld.
w %rd, [%rb]) instruction to read data from the FIFO. Note that 8-bit memory read instructions cannot be
used with 16-bit data. With 16-bit memory read instructions, the FIFO address is 0x301c30 for the Left channel
(ld.h %rd, [0x30]) and 0x301c32 for the Right channel (ld.h %rd, [0x32]). With 32-bit memory
read instructions, one memory access will read out both Left and Right channel data, and the FIFO address is
0x301c30 (ld.w %rd, [0x30]).
With 24-bit data, you can use 32-bit memory read (ld.w %rd, [%rb]) instructions to read data from the
FIFO. Note that 8-bit and 16-bit memory read instructions cannot be used with 24-bit data.
Both channel data should be read as a pair. L-channel data is read first, then R channel data.
When the FIFO becomes empty by reading, I2SFIFOEF1 (D8/pI2S_FIFO_STATUS register) is set to 1.
i2sFiFoeF1: I2S CH.1 FIFO Empty Flag in the I2S FIFO Status (pI2S_FIFO_STATUS) Register (D8/
0x00301C14)