Serial audio interface (SAI) RM0440
1808/2126 RM0440 Rev 4
The data processing sequence into the PDM is the following:
1. The PDM interface builds the bitstream clock from the bit clock received from the TDM
interface of SAI_A.
2. The bitstream data received from the microphones (SAI_D[n]) are de-interleaved and
go through a 7-bit delay line in order to fine-tune the delay of each microphone with the
accuracy of the bitstream clock.
3. The shift registers translate each serial bitstream into bytes.
4. The last operation consists in shifting-out the resulting bytes to SAI_A via the serial
data line of the TDM interface.
Figure 616 hereafter shows the block diagram of PDM interface, with a detailed view of a
de-interleaver.
Note: The PDM interface does not embed the decimation filter required to build-up the PCM audio
samples from the bitstream. It is up to the application software to perform this operation.
Figure 616. Detailed PDM interface block diagram
1. n refers to the number of data lines and p to the number of microphone pairs.
The PDM interface can be enabled through the PDMEN bit in SAI_PDMCR register.
However the PDM interface must be enabled prior to enabling SAI_A block.
To reduce the memory footprint, the user can select the amount of microphones the
application needs. This can be done through MICNBR[1:0] bits. It is possible to select
between 2,4,6 or 8 microphones. For example, if the application is using 3 microphones, the
user has to select 4.
MSv35468V4
De-Interleaver1
De-Interleaver2
De-Interleaver3
De-Interleaver4
To saia_sd_in
Control
Logic
PDM_IF
8
8
8
8
8
8
8
8
1 2 3 4 5 6 7 8 61626364
LatchReg
From saia_fs_out
From saia_sck_out
SAI register interface
pdm_ck
SAI_D[n]
delay line
shift reg
8
delay line
shift reg
8
De-Interleaver n
DLYMpL
DLYMpR
PDMEN
MICNBR CKEN[4:1]
SAI_D1
SAI_D2
SAI_D3
SAI_D4
SAI_CK1
SAI_CK2
SAI_CK3
SAI_CK4
DLYM[4:1]L,
DLYM[4:1]R