RM0390
executed to recover from an underrun error detected via the underrun interrupt or the
underrun status bit:
1.
Disable the DMA stream (via the DMA peripheral) if the DMA is used.
2.
Disable the SAI and check that the peripheral is physically disabled by polling the
SAIEN bit in SAI_xCR1 register.
3.
Clear the COVRUNDR flag in the SAI_xCLRFR register.
4.
Flush the FIFO by setting the FFLUSH bit in SAI_xCR2.
The software needs to point to the address of the future data corresponding to a start of
new block (data for preamble B). If the DMA is used, the DMA source base address
pointer should be updated accordingly.
5.
Enable again the DMA stream (DMA peripheral) if the DMA used to manage data
transfers according to the new source base address.
6.
Enable again the SAI by setting SAIEN bit in SAI_xCR1 register.
Clock generator programming in SPDIF generator mode
For the SPDIF generator, the SAI shall provide a bit clock twice faster as the symbol-rate.
The table hereafter shows usual examples of symbol rates with respect to the audio
sampling rate.
Audio Sampling Frequencies (F
More generally, the relationship between the audio sampling frequency (F
clock rate (F
F S
And the bit clock rate is obtained as follow:
F SCK_x
Table 177. Audio sampling frequency versus symbol rates
44.1 kHz
48 kHz
96 kHz
192 kHz
) is given by the formula:
SCK_X
F SCK_x
---------------------- -
=
128
F SAI_CK_x
=
)
S
RM0390 Rev 4
Serial audio interface (SAI)
Symbol-rate
2.8224 MHz
3.072 MHz
6.144 MHz
12.288 MHz
) and the bit
S
949/1328
973
Need help?
Do you have a question about the STM32F446 Series and is the answer not in the manual?
Questions and answers