skiasdwybjp64077262602.png
/ @& r2 X* f5 F
/ F! y7 s9 r" e' B) U6 T
2 @3 h% o- c9 r- x4 _- ?+ S7 L- G. U6 Y
lv04v1iyrjh64077262703.png
+ `7 K3 k1 T P {7 q( d
1,低速时钟: V( u1 K5 P9 R2 ^8 d; {/ j9 J
LSE是外部晶振作时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。LSI是由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及IWDG(独立看门狗)使用。 . v0 b! ~& w; Z: N; ] _
2,中速时钟( o$ J5 z) c/ P% k6 A
MSI RC是“中速内部时钟”或“中速内部振荡器”,是STM32L系列独有的时钟,RC表示这个时钟源是通过RC振荡器实现的,它可提供7种频率的时钟源,范围:65.636kHz~4194KHz。可以直接选择为SYSCLK(系统时钟)的时钟源,也可以作为MOC(时钟输出)的时钟源。 ! O1 f x8 Q6 b' g: L" }1 R
3,高速时钟
: ^* S) N# x$ y7 O+ s' H5 z* sHSI RC是内部高速时钟,可以直接选择为系统时钟,可以作为PLL(锁相环倍频输出)的时钟源,还可以作为ADC,USART1,USART2,I2C1,I2C3,LPTIM(低功耗定时器),LPUART(低功耗串口)和MCO(主时钟输出)的时钟源,是最重要的时钟之一。 % {% P* h& I' g2 T9 o$ v2 f
4,锁相环
: U, s9 X- N; L3 N5 zPLL代表锁相环,在STM32中PLL可以被用于倍频或者分频SYSCLK(系统时钟),其倍数可以是外部高速晶振的倍数。 1 J9 N; O$ [8 s, }! }* z8 W3 h# l
5,系统时钟! ]" w/ l" t/ W6 ~# P2 A
SYSCLK是系统时钟,由MSI,HSI和PLLCLK提供,是整个系统的核心,SYSCLK的频率直接影响整个系统的运行速度。 . J8 p* ^ Y) N N; b3 x- p' i
6,AHB系统总线
. o7 K/ {, P. S4 eAHB高级高性能总线,这是一种“系统总线”。主要用于高性能模块(如CPU、DMA和DSP等)之间的连接。AHB系统由主模块、从模块和基础结构3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。 , t. t' R% P5 @) I
7,HCLK主总线时钟2 w, D3 O! \5 j t3 f+ G
HCLK 是主总线时钟,由 SYSCLK 通过 AHB 分频器得到的,控制着主总线的时钟频率。HCLK驱动CPU核心、存储器(Flash和RAM)以及其他一些主总线上的外设。
* m0 s, G! h1 h+ u2 ?8,FCLK自由运行时钟
' N/ O1 }/ m+ y/ v/ w- w- LFCLK是自由运行时钟,“自由”表现在它不来自系统时钟HCLK,在系统时钟停止时FCLK也继续运行。FCLK用作采样中断或者为调试模块计时。在处理器休眠时,通过FCLK可以采样到中断和跟踪休眠事件。Cortex-M内核的FCLK和HCLK互相同步、互相平衡,保证Cortex-M的延迟相同。
( z' U( f" ^% i9,Cortex system timer
" i. q4 ~9 m9 D% KCortex system timer是Cortex的系统时钟,常用作滴答定时器。
" s z$ ~- ]2 i# |- C: }7 W10,APB1和APB2) ?+ W3 D. {& P) y9 D. I
APB1 peripheral clocks与APB1 timer clocks分别是APB1的外设时钟和APB1的定时器时钟,同理,APB2 peripheral clocks与APB1 timer clocks分别是APB2的外设时钟和APB2的定时器时钟。那么APB1和APB2是什么呢?我们可以在数据手册上看到下面的方框图,图中介绍了各种外设的关系。比如APB1掌管TIM2,TM3,I2C3等。# y. i( Y3 L; g& W
x13jkkyfjha64077262803.png
7 n4 l3 o$ A& C
- N6 K4 n9 O- c3 {) t# _* G9 [
% {* S6 _' C( C) L5 D11,外设时钟& b* k- v3 H% ]
灰色部分的是因为STM32CubeMX没有激活该功能,激活后就会变成这样: l6 d. e5 F- C2 _* J6 ]
hn5qxwuljk564077262903.png
0 _7 B& q! {- y e4 p; c这些都是常见的外设,时钟来源也已经标注出来了,比如I2C1的时钟来源有PCLK1,HSI和SYSCLK。如下图:8 M, g& W) a2 v
qpgambst3gu64077263003.png
. _+ r* a2 w* d7 q
6 N1 V- a/ ]+ v) U6 x& H9 X: s; n2 L v/ v
==========
2 l1 A8 H9 M' \! y1 g往期回顾:【带你读懂数据手册】CN3702 一款锂电池充电芯片
3 X1 I* v h7 d/ s有源晶振和无源晶振的区别+ c5 b' I# H! G' z( ~0 K2 q5 b+ ?
读取STM32芯片温度与当前供电电压! T9 o: `" ?! _; v6 N3 w
C语言求数组长度的5种方法2 _/ U9 }1 M' k" O+ r
==========+ I! |3 f- e0 H% C# L
yqtqo02wvb064077263103.png
c. U. B# K% I: w" R/ p% p) L) f
b1 I* W+ v; m# k# ^# l
ss0bnkknhh264077263203.png
2 k4 G9 ^# Q/ E) U, O
" \! d; @& Y7 N* @$ }# N
ropaqgmyla264077263304.png
|