RP2350 I2S
Jump to navigation
Jump to search
Video
The I2S protocol
To transmit one 32-bit word ([16-bit Left | 16-bit Right] packed together in memory), the PIO state machine must:
- Pull 32 bits from the FIFO queue.
- Drive LRCK Low while shifting out the 16 bits for the Left Channel across 16 clock cycles.
- Drive LRCK High while shifting out the 16 bits for the Right Channel across 16 clock cycles.
- Toggle BCK constantly on every half-bit clock.
- DMA dumps 32-bit stereo audio words into the PIO TX FIFO.
- Autopull feeds 32 bits into the Output Shift Register.
- out pins, 1 drives the data line bit-by-bit.
- side X toggles the Bit Clock pin concurrently.
- set pins, X toggles the LRCK pin to flag Left/Right transitions.

