GD32W51x User Manual
684
When the CRCEN bit is set, the CRC calculation result of the received data in the SPI_RCRC
register is compared with the received CRC value after the last data, the CRCERR is set
when they are different.
Table 20-4. SPI interrupt requests
Flag
Description
Clear m ethod
Interrupt
enable bit
TBE
Transmit buffer empty
Write SPI_DATA register.
TBEIE
RBNE
Receive buffer not empty
Read SPI_DATA register.
RBNEIE
CONFERR
Configuration fault error
Read or w rite SPI_STAT register,
then w rite 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
20.7.
I2S block diagram
Figure 20-13. 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
CK_I2S
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 cont rol the
communication in slave mode according to the received I2S_CK and I2S_WS. The shift
register handles the serial data transmission and reception on I2S_SD.