2025-08-07 2:16 AM
I think it is quite natural to operate the STM32L433 at 80 MHz generated from HSI16, but is this guaranteed to be accurate?
When creating 80 MHz from HSI16 in STM32CubeMX, no error occurs, but when inputting 16.08 MHz to HSE in the same way, an error message is displayed (attached files).
According to Datasheet 6.3.8, the maximum frequency of HSI16 is 16.08 MHz. Therefore, if HSI16 is multiplied by 20 using a PLL and then divided by 4, the result is 80.4 MHz, which slightly exceeds 80 MHz. Considering temperature and voltage changes, the frequency may drift up to approximately 81.3MHz.
According to Section 6.3.1, the maximum frequency for fHCLK is 80MHz.
Does this mean that operation is not guaranteed since it exceeds the specified limits?
Thank you in advance.
Ken
2025-08-07 2:26 AM - edited 2025-08-07 2:28 AM
@ikeken wrote:80 MHz generated from HSI16, but is this guaranteed to be accurate?
The accuracy specifications of the oscillators are in the datasheet - as you've seen
@ikeken wrote:Does this mean that operation is not guaranteed since it exceeds the specified limits?
Strictly, Yes - that is what the datasheet specifications mean!
But the thing won't just suddenly go wild and completely malfunction at 80.00000000000000000000000000001MHz
80.4MHz exceeds the spec by only 0.5%
You can probably get away with that.
Only you can decide what's an acceptable risk within the constraints of your particular system requirements.
Normal engineering practice would always be to work within a margin.
This is general engineering stuff - not really specific to STM32.
PS:
Using an RC oscillator may also have other issues; eg, they are often not accurate enough for reliable UART comms...