Serial peripheral interface/ inter-IC sound (SPI/I2S) RM0390
874/1328 RM0390 Rev 4
Figure 324. Example of 16-bit data frame extended to 32-bit channel frame
For transmission, each time an MSB is written to SPIx_DR, the TXE flag is set and its
interrupt, if allowed, is generated to load the SPIx_DR register with the new value to send.
This takes place even if 0x0000 have not yet been sent because it is done by hardware.
For reception, the RXNE flag is set and its interrupt, if allowed, is generated when the first
16 MSB half-word is received.
In this way, more time is provided between two write or read operations, which prevents
underrun or overrun conditions (depending on the direction of the data transfer).
MSB justified standard
For this standard, the WS signal is generated at the same time as the first data bit, which is
the MSBit.
Figure 325. MSB Justified 16-bit or 32-bit full-accuracy length with CPOL = 0
Data are latched on the falling edge of CK (for transmitter) and are read on the rising edge
(for the receiver).
Figure 326. MSB justified 24-bit frame length with CPOL = 0
069
[$
2QO\RQHDFFHVVWR63,[B'5
069
&.
:6
6'
7UDQVPLVVLRQ
5HFHSWLRQ
RUELWGDWD
06%
/6%
&KDQQHOOHIW
&KDQQHOULJKW
06%
069
&.
:6
6'
7UDQVPLVVLRQ
5HFHSWLRQ
ELWGDWD
06%
/6%
&KDQQHOOHIWELW
&KDQQHOULJKW
ELWUHPDLQLQJ
IRUFHG