![GigaDevice Semiconductor GD32E23 Series User Manual Download Page 515](http://html.mh-extra.com/html/gigadevice-semiconductor/gd32e23-series/gd32e23-series_user-manual_2225794515.webp)
GD32E23x User Manual
515
Table 18-6. SPI interrupt requests
Flag
Description
Clear method
Interrupt
enable bit
TBE
Transmission buffer/TXFIFO
empty
Write SPI_DATA register.
TBEIE
RBNE
Reception buffer/RXFIFO not
empty
Read SPI_DATA register.
RBNEIE
CONFERR
Configuration fault error
Read or write SPI_STAT register,
then write SPI_CTL0 register.
ERRIE
RXORERR
Rx overrun error
Read SPI_DATA register, then read
SPI_STAT register.
CRCERR
CRC error
Write 0 to CRCERR bit
FERR
TI mode format error
Write 0 to FERR bit
18.4.
I2S function overview
18.4.1.
I2S block diagram
Figure 18-17. Block diagram of I2S
Clock Generator
SPI_MOSI /
I2S_SD
SPI_NSS /
I2S_WS
SPI_SCK /
I2S_CK
I2S_MCK
Master Control Logic
Slave Control Logic
TX Buffer
Shift Register
RX Buffer
Control
Registers
16 bits
SYSCLK
16 bits
LSB
MSB
PAD
PAD
O
I
O
I
PAD
O
I
PAD
O
I
APB
There are five sub modules to support I2S function, including control registers, clock
generator, master control logic, slave control logic and shift register. All the user
configuration registers are implemented in the control registers module, including the TX
buffer and RX buffer. The clock generator is used to produce I2S communication clock in
master mode. The master control logic is implemented to generate the I2S_WS signal and
control the communication in master mode. The slave control logic is implemented to control
the communication in slave mode according to the received I2SCK and I2S_WS. The shift
register handles the serial data transmission and reception on I2S_SD.