2021-08-11 12:23 PM
I use 8MHz crystal as the input for the PLL. I'm using a timer and a LED to verify frequency, aka the LED should blink at 1Hz. Everything works fine until 48MHz, after which the STM seems to fail - led doesn't blink and the debugger does not know where is the program counter. The register values indicate that yes, the frequency should be 80MHz, just before it is enabled. And also if I increase the PLLR (output prescaler) to divide to 40MHz, then everything starts to work again.. I also have tried using the HSI16 as input and the same result.
Solved! Go to Solution.
2021-08-11 12:33 PM
The VCO has a maximum frequency. Not looking to pull the Reference Manual, but would expect somewhere a little north of 160 MHz, probably has a lower limit too.
Watch the wait states on flash, and that they are sufficiently large to accommodate operational speed.
Watch also APB1 / APB2 ratios don't exceed data sheet limits.
Should be code examples in Cube L4 where chips are correctly configured for 80 MHz operation, review those..
2021-08-11 12:33 PM
The VCO has a maximum frequency. Not looking to pull the Reference Manual, but would expect somewhere a little north of 160 MHz, probably has a lower limit too.
Watch the wait states on flash, and that they are sufficiently large to accommodate operational speed.
Watch also APB1 / APB2 ratios don't exceed data sheet limits.
Should be code examples in Cube L4 where chips are correctly configured for 80 MHz operation, review those..
2021-08-11 12:59 PM
The Flash wait states probably are the answer, will verify and reply again. Thanks for the answer
2021-08-11 02:45 PM
The flash wait states were the issue. Works now. Thanks!