The pulse density modulation (PDM) peripheral enables input of pulse density modulated signals from external audio interfaces, such as digital microphones. PDM generates the PDM clock and supports single-channel or dual-channel (left and right) data input. Data is transferred directly to RAM buffers using EasyDMA.
The main features of PDM are the following:
- Up to two PDM microphones configured as a left/right pair using the same data input
- 8 kHz, 16 kHz, 32 kHz, or 48k Hz output sample rate, 16-bit samples
- Supports digital microphone clocks at 768 kHz, 800 kHz, 1.024 MHz , 1.536 MHz, 2.048 MHz , 3.072 MHz , 1.28 MHz, and 2.56 MHz
- Selectable sample rate ratio of 48, 50, 64, 80, 96, 150,192, or custom even values up to 256 between PDM_CLK and output sample rate
- Hardware decimation filters
- EasyDMA support for sample buffering
The following figure shows the interaction between the PDM interface and up to two digital microphones. EasyDMA reduces the real-time requirements for controlling the PDM target from a low priority CPU execution context. PDM has the necessary digital filter elements to produce pulse code modulation (PCM) samples and allows continuous audio streaming.