
Serial peripheral interface (SPI)
RM0008
706/1096
Doc ID 13902 Rev 12
It will be: I
2
S bitrate = 32 x 2 x F
S
if the packet length is 32-bit wide.
Figure 266. Audio sampling frequency definition
When the master mode is configured, a specific action needs to be taken to properly
program the linear divider in order to communicate with the desired audio frequency.
Figure 267. I
2
S clock generator architecture
1.
Where x could be 2 or 3.
presents the communication clock architecture. The I2SxCLK source is the
system clock (provided by the HSI, the HSE or the PLL and sourcing the AHB clock). For
connectivity line devices, the I2SxCLK source can be either SYSCLK or the PLL3 VCO (2 ×
PLL3CLK) clock in order to have maximum accuracy. This selection is made using the
I2S2SRC and I2S3SRC bits in the RCC_CFGR2 register.
The audio sampling frequency may be 96 kHz, 48 kHz, 44.1 kHz, 32 kHz, 22.05 kHz,
16 kHz, 11.025 kHz or 8 kHz (or any other value within this range). In order to reach the
desired frequency, the linear divider needs to be programmed according to the formulas
below:
When the master clock is generated (MCKOE in the SPI_I2SPR register is set):
F
S
= I2SxCLK / [(16*2)*((2*ODD)*8)] when the channel frame is 16-bit wide
F
S
= I2SxCLK / [(32*2)*((2*ODD)*4)] when the channel frame is 32-bit wide
When the master clock is disabled (MCKOE bit cleared):
F
S
= I2SxCLK / [(16*2)*((2*ODD))] when the channel frame is 16-bit wide
F
S
= I2SxCLK / [(32*2)*((2*ODD))] when the channel frame is 32-bit wide
and
provide example precision values for different clock configurations.
16-bit or 32-bit Left channel
16-bit or 32-bit Right channel
sampling point
sampling point
32-bits or 64-bits
F
S
F
S
: Audio sampling frequency
8-bit
D
Linear
CK
ODD
I2SDIV[7:0]
I2SxCLK
CHLEN
I2SMOD
reshaping stage
Divider by 4
Div2
1
0
MCKOE
MCKOE
MCK
0
1