|
在 STM32 中,一共有 5 个时钟源,分别是 HSI 、 HSE 、 LSI 、 LSE 、 PLL 。" V) ?1 i! Y" l" ~$ x
3 d( y& [9 _% q, d6 Y/ l0 V
①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz ;3 g( h$ i0 L8 b4 D+ ~
6 P1 a- ]' Q: E0 I, F; M4 @' I0 P②HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围是 4MHz – 16MHz ; Y$ `/ }! Q* ]+ @
* ^+ w% _/ O: c9 w! i0 [' X
③LSI 是低速内部时钟, RC 振荡器,频率为 40KHz ;( j) u; P/ Z( |; X0 K! T8 z
6 U0 |( d+ B, H7 A1 H; |
④LSE 是低速外部时钟,接频率为 32.768KHz 的石英晶体;
0 R4 S8 t+ T* E1 L) ^1 O, h6 X3 q4 I+ z9 c5 J4 Z, @
⑤PLL 为锁相环倍频输出,严格的来说并不算一个独立的时钟源, PLL 的输入可以接 HSI/2 、 HSE 或者 HSE/2 。PLL倍频可选择为 2 – 16 倍,但是其输出频率最大不得超过 72MHz 。
& w+ K/ ~3 a. d) _/ q; @2 |
2 T. ^+ u6 a3 |& V, w6 V其中, 40kHz 的 LSI 供独立看门狗 IWDG 使用,另外它还可以被选择为实时时钟 RTC 的时钟源。另外,实时时钟 RTC 的时钟源还可以选择 LSE ,或者是 HSE 的 128 分频。% a$ E" z% B1 l T! v
. [( w+ J/ p% d* [
STM32 中有一个全速功能的 USB 模块,其串行接口引擎需要一个频率为 48MHz 的时钟源。该时钟源只能从 PLL 端获取,可以选择为 1.5 分频或者 1 分频,也就是,当需使用到 USB 模块时, PLL 必须使能,并且时钟配置为 48MHz 或 72MHz 。6 [7 P$ u5 P9 I# Q
3 h! s# h" n; v) M- r4 P; Y1 [0 U另外 STM32 还可以选择一个时钟信号输出到 MCO 脚 (PA.8) 上,可以选择为 PLL 输出的 2 分频、 HSI 、 HSE 或者系统时钟。
- O* z( g( N7 @+ P A9 F) E- }+ o( ~ i' m
系统时钟 SYSCLK ,它是提供 STM32 中绝大部分部件工作的时钟源。系统时钟可以选择为 PLL 输出、 HSI 、 HSE 。系系统时钟最大频率为 72MHz ,它通过 AHB 分频器分频后送给各个模块使用, AHB 分频器可以选择 1 、 2 、 4 、 8 、 16 、 64 、 128 、 256 、 512 分频,AHB分频器输出的时钟送给 5 大模块使用:
. l; p! F% o- |9 ?4 v# v: D2 }7 e% L+ t/ J. W1 f. I3 F( R0 \5 d
①送给 AHB 总线、内核、内存和 DMA 使用的 HCLK 时钟;
! v5 i' H2 |7 g1 q4 m5 I! X2 P. u, e( \+ T( o/ Z- k+ x6 |. ? A7 N2 L4 e7 y
②通过 8 分频后送给 Cortex 的系统定时器时钟STCLK;
* r/ O2 C3 [# s- j, |, j& d: P
" t/ M: S. B' v! U5 J h ③直接送给 Cortex 的空闲运行时钟 FCLK ;$ I+ j& a) r* E
7 Y% _9 Y9 n9 o; k* N
④送给 APB1 分频器。 APB1 分频器可以选择 1 、 2 、 4 、 8 、 16 分频,其输出一路供 APB1 外设使用( PCLK1 ,最大频率 36MHz ),另一路送给定时器 (Timer)2 、 3 、 4 倍频器使用。该倍频器根据PCLK1的分频值自动选择 1 或者 2 倍频,时钟输出供定时器 2 、 3 、 4 使用。& t0 S9 Y2 j. u, z- w0 ]: N7 r
, a8 [' w8 ?9 K4 O
⑤送给 APB2 分频器。 APB2 分频器可以选择 1 、 2 、 4 、 8 、 16 分频,其输出一路供 APB2 外设使用( PCLK2 ,最大频率 72MHz ),另外一路送给定时器 (Timer)1 倍频使用。该倍频器根据PCLK2的分频值自动选择1 或 2 倍频,时钟输出供定时器 1 使用。另外 APB2 分频器还有一路输出供 ADC 分频器使用,分频后送给 ADC 模块使用。 ADC 分频器可选择为 2 、 4 、 6 、 8 分频。* A4 Z# s Z4 N( g+ s" g
9 v& B" T6 a0 C9 g7 Y8 D& t需要注意的是定时器的倍频器,当 APB 的分频为 1 时,它的倍频值为 1 ,否则它的倍频值就为 2 。 |
|