GD32W51x User Manual
687
Figure 20-19. I2S Phillips standard timing diagram (DTLEN=01, CHLEN=1, CKPL=1)
I2S_CK
I2S_SD
24-bit data
frame 1 (channel left)
frame 2 (channel right)
MSB
I2S_WS
LSB
8-bit 0
MSB
When the packet type is 24-bit data packed in 32-bit frame, two write or read operations to or
from the SPI_DATA register are needed to complete
the transmission of a frame. In
transmission mode, if a 24-bit data D[23:0] is going to be sent, the first data written to the
SPI_DATA register should be the higher 16 bits D[23:8]. And the second one should be a 16-
bit data, the higher 8 bits of this 16-bit data should be D[7:0] and the lower 8 bits can be any
value. In reception mode, if a 24-bit data D[23:0] is received, the first data read from the
SPI_DATA register is D[23:8]. And the second one is a 16-bit data, the higher 8 bits of this
16-bit data are D[7:0] and the lower 8 bits are zeros.
Figure 20-20. I2S Phillips standard timing diagram (DTLEN=00, CHLEN=1, CKPL=0)
I2S_CK
I2S_SD
16-bit data
frame 1 (channel left)
frame 2 (channel right)
MSB
I2S_WS
LSB
16-bit 0
MSB
Figure 20-21. I2S Phillips standard timing diagram (DTLEN=00, CHLEN=1, CKPL=1)
I2S_CK
I2S_SD
16-bit data
frame 1 (channel left)
frame 2 (channel right)
MSB
I2S_WS
LSB
16-bit 0
MSB
When the packet type is 16-bit data packed in 32-bit frame, only one write or read operation
to or from the SPI_DATA register is needed to complete
the transmission of a frame. The
remaining 16 bits are forced by hardware to 0x0000 to extend the data to 32-bit format.
MSB justified standard
For MSB justified standard, I2S_WS and I2S_SD are updated on the falling edge of I2S_CK.
The SPI_DATA register is handled in the exactly same way as that for I2S Phillips standard.
The timing diagrams for each configuration are shown below.
Figure 20-22. MSB justified standard timing diagram (DTLEN=00, CHLEN=0, CKPL=0)
I2S_CK
I2S_SD
16-bit data
frame 1 (channel left)
frame 2 (channel right)
MSB
MSB
LSB
I2S_WS