29.01.2015 Views

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

RM0008<br />

Low-, medium- <strong>and</strong> high-density reset <strong>and</strong> clock control (RCC)<br />

Figure 8.<br />

Clock tree<br />

USB<br />

Prescaler<br />

/1, 1.5<br />

48 MHz<br />

USBCLK<br />

to USB interface<br />

I2S3CLK<br />

to I2S3<br />

OSC_OUT<br />

OSC_IN<br />

OSC32_IN<br />

OSC32_OUT<br />

8 MHz<br />

HSI RC<br />

PLLSRC<br />

PLLMUL<br />

SW<br />

..., x16<br />

HSI<br />

SYSCLK AHB<br />

x2, x3, x4<br />

Prescaler<br />

PLLCLK 72 MHz<br />

PLL<br />

max /1, 2..512<br />

HSE<br />

4-16 MHz<br />

HSE OSC<br />

LSE OSC<br />

32.768 kHz<br />

LSI RC<br />

40 kHz<br />

HSI<br />

PLLXTPRE<br />

/2<br />

/128<br />

/2<br />

LSE<br />

RTCSEL[1:0]<br />

LSI<br />

RTCCLK<br />

CSS<br />

to RTC<br />

to Independent Watchdog (IWDG)<br />

IWDGCLK<br />

Peripheral clock<br />

enable<br />

Peripheral clock<br />

enable<br />

72 MHz max<br />

/8<br />

Clock<br />

Enable<br />

APB1<br />

Prescaler<br />

/1, 2, 4, 8, 16<br />

HCLK<br />

to AHB bus, core,<br />

memory <strong>and</strong> DMA<br />

Peripheral Clock<br />

Enable<br />

PCLK1<br />

to APB1<br />

peripherals<br />

TIM2,3,4,5,6,7<br />

If (APB1 prescaler =1) x1 to TIM2,3,4,5,6 <strong>and</strong> 7<br />

else x2 TIMXCLK<br />

Peripheral Clock<br />

Enable<br />

APB2<br />

Prescaler<br />

/1, 2, 4, 8, 16<br />

36 MHz max<br />

72 MHz max<br />

to Cortex System timer<br />

FCLK Cortex<br />

free running clock<br />

Peripheral Clock<br />

Enable<br />

PCLK2<br />

peripherals to APB2<br />

TIM1 & 8 timers<br />

to TIM1 <strong>and</strong> TIM8<br />

If (APB2 prescaler =1) x1<br />

else x2 TIMxCLK<br />

Peripheral Clock<br />

Enable<br />

ADC<br />

to ADC1, 2 or 3<br />

Prescaler<br />

ADCCLK 14 MHz max<br />

/2, 4, 6, 8<br />

/2<br />

I2S2CLK<br />

Peripheral clock<br />

enable<br />

Peripheral clock<br />

enable<br />

to I2S2<br />

SDIOCLK<br />

FSMCCLK<br />

HCLK/2<br />

to SDIO<br />

to FSMC<br />

To SDIO AHB interface<br />

Peripheral clock<br />

enable<br />

MCO<br />

Main<br />

Clock Output<br />

MCO<br />

/2 PLLCLK<br />

HSI<br />

HSE<br />

SYSCLK<br />

Legend:<br />

HSE = High-speed external clock signal<br />

HSI = High-speed internal clock signal<br />

LSI = Low-speed internal clock signal<br />

LSE = Low -speed external clock signal<br />

ai14752d<br />

1. When the HSI is used as a PLL clock input, the maximum system clock frequency that can be achieved is<br />

64 MHz.<br />

2. For full details about the internal <strong>and</strong> external clock source characteristics, please refer to the “Electrical<br />

characteristics” section in your device datasheet.<br />

Several prescalers allow the configuration of the AHB frequency, the high speed APB<br />

(APB2) <strong>and</strong> the low speed APB (APB1) domains. The maximum frequency of the AHB <strong>and</strong><br />

the APB2 domains is 72 MHz. The maximum allowed frequency of the APB1 domain is<br />

36 MHz. The SDIO AHB interface is clocked with a fixed frequency equal to HCLK/2.<br />

The RCC feeds the Cortex System Timer (SysTick) external clock with the AHB clock<br />

(HCLK) divided by 8. The SysTick can work either with this clock or with the Cortex clock<br />

(HCLK), configurable in the SysTick Control <strong>and</strong> Status Register. The ADCs are clocked by<br />

the clock of the High Speed domain (APB2) divided by 2, 4, 6 or 8.<br />

The timer clock frequencies are automatically fixed by hardware. There are two cases:<br />

Doc ID 13902 Rev 9 77/995

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!