2xtac4i0rum64018363708.png
/ t% ?" U: T$ K' O& L
, }2 ?4 o0 H* v1 HSE 时钟 # \+ B' j- K' x' h2 S0 |
高速外部时钟信号(HSE)有以下几个时钟源: ? HSE 外部晶振/陶瓷谐振器 ? HSE 用户外部时钟,提供 OSC_IN 引脚
5 \% T+ a! H/ m+ g谐振器和负载电容必须尽可能地靠近振荡器的引脚,以尽量减小输出失真和起振稳定时间。负载电容值必须根据所+ \0 X i2 x5 C# X
选振荡器的不同做适当调整。
L7 @5 G. n) @
cebltu4iut064018363808.png
1 M; |) U8 _4 }1.1 外部晶振/陶瓷谐振器(HSE 晶振) % w) O# c8 }! q6 J) t2 K
4到50MHz外部振荡器的优点是可以生成一个精度非常高的主时钟。有关详细信息,请参见数据手册的电气特性部分。
% b5 N" R0 H. _8 W/ [
8 E- Z8 O4 N0 X4 O; l3 C6 i( Q1.2 外部时钟源(HSE旁路) * u, q; i7 @6 C; R* k0 A
在此模式下,必须提供外部时钟源,频率高达50MHz。必须使用占空比约为40%至60%的外部时钟信号(方波、正弦波或三角波)来驱动 OSC_IN引脚,具体取决于频率(参考数据手册),同时OSC_OUT引脚可用作GPIO使用。
# n5 S) E1 Q' q0 R f& K2 HSI16时钟 5 J, Y3 i- a, u: c
HSI16时钟信号是从16MHz内部RC振荡器生成的。RC振荡器以低成本提供时钟源(无需使用外部元件)。它还比HSE晶振具有更快的启动时间。但即使校准后,频率也不如外部晶振或陶瓷谐振器的频率精度高。HSI16时钟还可作为备份时钟源(辅助时钟)使用,以防HSE晶振发生故障。
5 Z9 X) d) z- O( u J2 j# v3 MSI(MSIS 和 MSIK)时钟 MSI由四个内部RC振荡器组成:MSIRC0 (48MHz)、MSIRC1 (4MHz)、MSIRC2 (3.072MHz)和 MSIRC3 (400kHz)。每个振荡器提供一个预分频器,从而提供1、2、3或4分频。由这些分频振荡器生成两个输出时钟: " ?# K/ j) T4 b) W4 l
? MSIS,可选择作为系统时钟 - q% i; Z* _! [
? MSIK,可由一些外设选择作为内核时钟
3 X, Y7 {; j& o) l7 C0 s. ~' T, i V c+ Z! e
可由软件分别使用RCC_ICSCR1寄存器中的MSISRANGE[3:0]和 MSIKRANGE[3:0]字段(且MSIRGSEL=1)来调整MSIS和MSIK频率范围。提供十六个频率范围,由四个内部RC生成。
8 Z( S' P1 G0 C: z- E! o1 W! N如果HSE晶振发生故障,则MSI时钟还可作为备份时钟源(辅助时钟)。MSI振荡器可提供一个低成本(无外部元件)低功耗的时钟源。此外,当和LSE 一起用于PLL模式时,MSI可提供一个非常精确的时钟源,该时钟源可用于USB OTG-FS外设,并且PLL反馈,使系统以最大速率160 MHz运行。利用LSE进行硬件自动校准(PLL模式)* I0 d; F, V+ S2 ]6 Y; W$ G9 c
当应用中存在32.768 kHz 外部振荡器时,MSIS或MSIK可配置为PLL模式。此模式已启用,如下所示:
, J# \% |! p7 e' T5 R6 T& E; n? 对于MSIS:在RCC_CR寄存器中将MSIPLLEN位置为1
9 _- N/ V/ Q2 ?# ~? 对于MSIK:在RCC_CR寄存器中将MSIPLLEN位置为0 ' I) r: b- I' n8 w" y
% Z8 b3 Z4 X; `5 _. Y
如果MSIS和MSIK范围是从同一MSIRC源生成的,则PLL模式应用于 MSIS和MSIK。当配置为PLL模式时,MSIS或MSIK可利用LSE自动校准。该模式可用于所有MSI频率范围。48MHz时,处于PLL模式的MSIK可用
5 L, c9 _ ]: X于USB OTG FS器件,不需要外部高速晶振。
4 h; `0 L) S9 Z1 |$ i6 Q! R+ f* M) m' u7 J4 { o
4 LSE 时钟
$ [+ T) C9 h4 u8 j' WLSE晶振是32.768kHz低速外部晶振或陶瓷谐振器。它为RTC(实时时钟)外设提供低功耗且精度高的时钟源,用于时钟/日历或其他定时功能。使用RCC_BDCR寄存器中的LSEDRV[1:0]位,可在运行时更改晶振驱动强度,以实现稳定性、短启动时间和低功耗之间的最佳平衡。外部时钟源(LSE 旁路)在此模式下,必须提供频率高达1MHz的外部时钟源。必须使用占空比约为50%的外部时钟信号(方波、正弦波或三角波)来驱动 OSC32_IN引脚,同时OSC32_OUT引脚可以作为GPIO使用。% m% Q) X6 N4 O7 e3 L
==========1 v* M% H! E3 d- V' R! F
往期回顾:Keil中变量不被初始化方法
- \* w- l" b. o* p5 M5 I$ K如何提高单片机的运算效率之FPU
5 s! f5 K* x$ w0 A L蓝桥杯物联网教程汇总_240529
# E" s- T: n# }$ `# w==========
* f+ V! m3 V& W! ?
/ R: U4 V! X4 T! E$ V; e7 p
iqm0orseqtu64018363908.png
* Q8 a& [2 x8 Z! r
- o0 M% |( x0 f& v
zd4e54lonnj64018364008.png
7 y7 P5 }1 E0 u/ k
7 S) e7 w0 e# q& Y: K B" ^8 @
wbclzvgzb0y64018364108.png
|