SAI: Won't stay enabled (H7 and WB)
Hi - I'm having a real struggle with the SAI peripheral. I've tried on both H742, and WB55 module, and am running into the same problem.
I have the source set up in the clock config (Tried both PLL1 and PLL2, and using PLLSA1P on WB), and made sure I correctly configured and enabled the appropriate PLLs). Enabled the SAI peripheral, with what seemed like reasonable defaults in the SAI registers. Configured the SAI pins as AF6. (PE4, 5, 6 on H7) Anywhere you'd troubleshoot first?
Surface level problem: SAI SA_xDR reads 0. Deeper: Scope shows no signals on the SCK line. Most fundamental: The SAI_xCR1, SAIEN field shows 0, even if read immediately after setting it
Here's a selection of register readings from H742 after (attempting to) enabling SAI1:
- SAI1 source (RCC_D2CCIP1R, SAI1SEL): 1 (PLL2P)
- PLL2 ready (RCC_CR, PLL2RDY): 1 (Ready)
- PLL2P enabled (RCC_PLLCFGR, DIVP2EN): 1 (Enabled)
- SAI periph clock enabled (RCC_APB2ENR, SAI1EN): 1 (Enabled)
- SAI1 mode(SAI_ACR1, MODE): 1 (Master receiver)
- SAI1 enabled (SAI_ACR1, SAIEN): 0 (Not enabled)
Any ideas where to troubleshoot? The clearest way to solve this: What would block the SAI from enabling entirely? Of note, the other writes I do to the same reg (eg MODE above) work. Thank you.