2022-02-10 08:06 AM
I am configuring SPI1 on the STM32H743. At first, I used the default configuration where the peripheral is clocked off of PLL1Q as shown below:
However, with this configuration, the HAL peripheral driver would time out waiting for EOT flag to be set. Probing the pins directly, there was no clock or data coming out of the pins, so it seemed clear that the peripheral was not receiving any clock internally. I switched to running the peripheral off the PER_CK clock source as shown below:
With this configuration, everything works fine. So I am all set to move forward with the project, but for my own education (and possibly to help other that come across this question), I would like to understand why running off the PLL source did not work. Any ideas?
Thanks,
Jamie
2022-02-10 08:11 AM
Using the PLL should work.
120 MHz is fast, but within the limits of the peripheral. Perhaps your hardware isn't suited for that fast of a rate and edges are missing. Must be an explanation somewhere.
I use SPI1 on PLL1Q on the STM32H743.
2022-02-10 09:05 AM
Hello,
SPI should work with ker clock of 120MHz. But please check the following from RM0433/Table 59:
2022-02-10 09:23 AM
I don't know if it's relevant but can you check the output speeds of the SPI pins from the GPIO settings?
by default it is set for the lowest speed. Can you try setting the output speed to maximum?