2025-04-23 3:57 AM
I'm working on recording audio synchronously using multiple I2S microphones connected to different SAI subblocks on an STM32H7. I’m trying to synchronize all four SAI subblocks to ensure aligned multi-channel audio capture.
So far, I've successfully configured SAI1:
However, when I configure SAI2_Block_A as a Synchronous Slave to SAI1, I encounter an issue:
I’ve double-checked the physical wiring — BCLK and WS from the master are properly shared with the mic on SAI2_A.
While reading the STM32 reference manual, I noticed there are two modes: Asynchronous Slave and Synchronous Slave. My question is: “Is the "Synchronous Slave" mode only intended for internal sync within a single SAI or can it be used across SAIs (e.g., SAI2_A , SAI3_B, SAI4_A synced to SAI1_A)?"
I'd appreciate any insight or recommendations. Should I switch SAI2_A to "Asynchronous Slave" (but still wire WS/SCK from the master) to make it work?
Thanks in advance!