cancel
Showing results for 
Search instead for 
Did you mean: 

Can I use STM32L4 at 80MHz generated by HSI16?

ikeken
Associate II

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

1 REPLY 1
Andrew Neil
Super User

@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...

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.