cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F302 Max SysClock

daniel2
Associate II
Posted on July 13, 2015 at 02:48

I'm trying to configure my sys clock to be 72MHz but I'm not clear on how to do this. In the system file has this:

    /*  PLL configuration: PLLCLK = HSI/2 *16  = 64 MHz Max frequency on PLL HSI mode*/

    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL));

    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI_Div2 | RCC_CFGR_PLLMULL16);

But in this migration document it says the F30xx should be capable of 72MHz. 

In STM32F30xxD/E, we can reach the maximum system clock 72 MHz when PLL is systemclock source and PLL clock source is the HSI. In STM32F1 and other STM32F3 seriesdevices, when PLL clock source is the HSI, the maximum system clock value is 64 MHz.''

Which of these two is correct?
4 REPLIES 4
Posted on July 13, 2015 at 04:00

At the end of the day it's going to be limited by the maximum multiplier of the PLL, usually X16, if you're starting from 4 MHz (HSI/2) then the inherent maximum is going to be 64 MHz.

With an HSE of 8 MHz and a multiplier of X9 you can get to 72 MHz

Why does the HSI have to be divided by 2? Probably because it has a highly asymmetrical duty cycle. If you divide by 2 you get 50/50 duty.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
daniel2
Associate II
Posted on July 13, 2015 at 04:21

Hmm I missed the D/E only. Thank you!

Amel NASRI
ST Employee
Posted on July 14, 2015 at 15:26

Hi bujak.dan,

To confirm and conclude about the Max SysClock when PLL clock source is HSI: If you are using the STM32F3xxxD/E, the maximum is 72 MHz.

However, for other STM32F3 parts, the maximum sysclock that you may reach with HSI as PLL clock source is 64 MHz.

-Mayla-

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.