GD32F403xx User Manual
471
Flag
Description
Clear Method
Interrupt
Enable bit
CRCERR
CRC error
Write 0 to CRCERR bit
FERR
TI Mode Format Error
Write 0 to FERR bit
19.4.
I2S function overview
19.4.1.
I2S block diagram
Figure 19-14. 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.
19.4.2.
I2S signal description
There are four pins on the I2S interface, including I2S_CK, I2S_WS, I2S_SD and I2S_MCK.
I2S_CK is the serial clock signal, which shares the same pin with SPI_SCK. I2S_WS is the
frame control signal, which shares the same pin with SPI_NSS. I2S_SD is the serial data
signal, which shares the same pin with SPI_MOSI. I2S_MCK is the master clock signal. It
produces a frequency rate equal to 256 x Fs, and Fs is the audio sampling frequency.