你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G0学习手册——时钟树管理

[复制链接]
STMCU小助手 发布时间:2022-10-31 11:21
概述
( O: m0 L, d( H0 ^* CSTM32时钟系统主要的目的就是给相对独立的外设模块提供时钟,也是为了降低整个芯片的耗能。3 ^" R5 C, B& h" R- l& g
系统时钟,是处理器运行时间基准(每一条机器指令一个时钟周期)3 R, m$ _6 [8 q' O0 _+ Z
时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。
" \+ ^4 b2 w' i! B1 Z% r3 [一个单片机内提供多个不同的系统时钟,可以适应更多的应用场合。$ d! O3 _. e8 {+ ^
不同的功能模块会有不同的时钟上限,因此提供不同的时钟,也能在一个单片机内放置更多的功能模块。
1 e6 a; X! O) S6 N对不同模块的时钟增加开启和关闭功能,可以降低单片机的功耗
; }. x0 @' w5 I$ M$ \8 B, zSTM32为了低功耗,他将所有的外设时钟都设置为disable(不使能),用到什么外设,只要打开对应外设的时钟就可以, 其他的没用到的可以还是disable(不使能),这样耗能就会减少。  这就是为什么不管你配置什么功能都需要先打开对应的时钟的原因3 t' B8 {0 e8 M/ k% ~

5 |/ T8 G+ b2 V, Q! i8 ~, R 20200419221228616.jpg ( r, u5 B3 }# F3 j6 A( I0 `

3 x- C6 @" a3 ?, u/ m4 H% g各个时钟源    (左边的部分)7 ~- y, z4 @4 [8 F4 U
STM32G0有4个独立时钟源:HSI、HSE、LSI、LSE。
4 D( N2 ^- X& w6 y) g0 e①、HSI是高速内部时钟,RC振荡器,频率为16MHz,精度不高。4 K  c$ e! |9 M2 r% ~! Z- n4 [  {
②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~48MHz。  V2 V! G1 r3 u. u1 S' ]6 H. I4 F; A1 @5 \
③、LSI是低速内部时钟,RC振荡器,频率为32kHz,提供低功耗时钟。 
& M+ ^6 }7 q2 ^# J# Y9 E④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
0 T" I" j5 f/ M7 ^8 T6 ?9 c; `! |+ ?4 @3 ]
其中LSI是作为IWDGCLK(独立看门狗)时钟源和RTC时钟源 而独立使用 6 ]5 O& ^1 b8 s7 X" Z. I
% _& A. X  ?2 ~) o8 r2 ?6 M
而HSI高速内部时钟、 HSE高速外部时钟、 LSI低速内部时钟,这三个经过分频或者倍频 作为系统时钟来使用- O9 p1 Q( c1 @7 R0 i

) D! k( K! U9 J4 p6 d% J! M: nPLL为锁相环倍频输出,基于HSI16或基于HSE的时钟的频率相乘,以产生三个独立的时钟输出。允许的输入频率范围是2.66至16 MHz。分频因子可从1到8进行编程0 |) e7 {# l7 [% `/ V

( n6 ?9 n1 _  ^3 @- |' h时钟分析3 k$ {3 c# |) U& B% I$ N
LSI(低速内部时钟)1 N0 @7 f# s+ I" u
8 K# R9 Q5 d' X
作为IWDG(独立看门狗)和RTC的时钟源,单独使用。
9 m6 y/ P  M  B( N4 x# M- K, I/ ~
LSE(低速外部时钟)( J  K- P0 J- e6 y$ }  B

# N/ j: K9 N. h: o# J可以为RTC、CEC、SYSCLK提供时钟源。
6 P4 S1 T: U9 I
; C& d( s) o/ b* A; fHSE(高速外部时钟)
6 j4 H" {" |2 s, f) U2 G, |- B: z  B: g
可以为RTC、SYSCLK、PLL提供时钟源。
$ }& N0 \% c' O- c
. u& o8 a5 e9 d; pHSI(高速内部时钟)
- X& y& k; G( h. h4 X2 R7 R. y/ U2 h1 X: c8 P2 D1 q# s: Q
可以为PLL、HSISYS提供时钟源,HSISYS再为SYSCLK提供时钟源
! I" q7 q  O) P3 N4 s- I/ z, Z$ b) \9 ~3 ^; r1 I
PLL(锁相环倍频输出)
0 I& \0 z/ }- q) T- l& ]5 _1 n
2 ]2 Q1 L( u( w/ z$ b由HSE、HSI输入,经过分频倍频后提供SYSCLK,还用两组时钟分别提供给TIM1/TIM15/RNG和ADC/I2S1。
! q3 H" Q7 }) h: m' |5 Z3 S! J. [
! _! A) G# u6 |: e) p8 s- |其他时钟源分析
7 ~/ {5 s  v8 V' BHSISYS, z7 h9 F6 C: B. p7 x6 T+ Z; N& m

* h9 A; a. ~# e& \! @% ~从HSI16通过除以1到128的可编程因子得到的时钟) `8 z+ z% W# z) c& r

1 k$ d1 ~% q/ a: ?( YPLLPCLK,PLLQCLK,PLLRCLK
: {: q' w7 ?. _, N( I6 T# }. B2 P) \( H. s9 ]" z6 I
从PLL模块输出的时钟* V6 Z1 K# U; M0 _0 l3 a

: |% B1 M. `, H3 |  n6 M: KSYSCLK: g' }+ g: Q6 q$ I. ?' k# V) v

- b2 {: p/ c; S" u  Q通过选择LSE,LSI,HSE,PLLRCLK和HSISYS时钟之一获得的时钟,是整个系统时钟基准。G0系列频率最高到64MHz。
* e/ j$ R& o4 _8 o( s( L, h8 h; r8 ^0 r5 X  x  e5 [
HCLK" w4 R; C: s: N
# y5 I& y2 B5 d' F
由SYSCLK通过除以从1到512可编程的因子得出的时钟
  ]$ e; m. B/ g. j6 L
- o& m1 F! P8 ^  MHCLK8
" y2 M( y+ x; Z0 s2 D+ i" {; C' G2 v; h: ^
由HCLK八分频得出的时钟
5 ]0 |# N! w  M+ H8 V7 q% a! j5 @/ ~9 R5 X% `( q
PCLK
2 g- w2 w' n6 o( R' a6 E4 q. o& A6 C3 s* l0 L4 U" @
从HCLK的时钟通过除以从1到16可编程的因子得出的时钟
* a# r0 G- x% ]0 G9 W  p7 H
) p+ |4 n% R$ ITIMPCLK
7 u# u( n4 t) n6 S8 B& u( I
5 \  `# Y+ U1 [! D 从PCLK派生的时钟,如果APB预分频器分频因子设置为1,则以PCLK频率运行,否则,以PCLK频率的两倍运行
0 R, A, \# c% t  R) P" V! W! @
0 B" {# x9 Q- O) g: kLPTIMx_IN, W2 M4 y0 _& R+ S
  j, S, R0 R* k9 U$ C7 O
LPTIMx_INx引脚提供的时钟,可为LPTIM外设选择
6 ^  b. b, D  z- B& O$ i1 v
! V# g; E5 ?/ l6 wMCO(微控制器时钟输出)
' D& n& K, e9 _) A/ v8 y2 f微控制器时钟输出(MCO)功能允许将时钟输出到外部MCO引脚。 可以选择以下之一作为MCO时钟:& l% r6 e; P" y2 r

2 G" g. N, N( c• LSI
; B+ q. b1 h% k3 V6 ]* _• LSE
# _1 K  l7 J4 L5 X4 Y$ p• SYSCLK) ~' f. F* J& D+ F! u/ I% g4 O# ?; v
• HSI16
* e: i4 W$ d2 t0 i" C• HSE4 |7 K7 F# Q! {8 w$ p. A1 D+ ^
• PLLRCLK
' P. d: {# W, ~" T9 ?  {1 X& l8 v( h
  }2 H3 R; j" o, b' L2 JCSS(时钟安全系统)' s& g4 C8 Y2 i1 u% u
时钟安全系统可以通过软件激活。一旦检测到HSE时钟故障,则系统时钟将自动切换到HSISYS,并且禁用HSE振荡器。如果HSE时钟也是PLL的时钟来源,并且发生故障时将PLLRCLK用作系统时钟,则PLL也被禁用。$ x& H4 K  D7 }- q5 {# O7 N
7 A2 N: L' `: E, Y# A( D! d9 O0 q+ [, U
通过CubeMX配置时钟树
" d* E5 q% x0 }& v5 h* _新建工程,并且开启SWD调试 ;(如何开启SWD调试,请点击链接)
# X' A8 h2 e9 q. ]8 g: }通过在引脚视图界面,配置PC6为GPIO_Output;(如何使用GPIO引脚,请点击链接)1 L& ~' D7 R( [! P: h1 C& D! U/ B5 Z
在Pinout&Configuration中选中"RCC",在配置栏High Speed Clock(HSE)下拉菜单中选中"Crystal/Ceramic Resonator"4 h  Q: ?0 ~6 L) W  i" o' r- a

1 c0 L( Z& i( q; l1 w' ? 20200419231256537.png
) _: O# Z  Z% r3 Z7 ]+ k3 T# q( I: I& K4 z$ _- h& N
在Clock Configuration中 ,按下图配置,在HCLK框中输入最大64MHz,回车。cubemx软件会自动计算系数,而不用手动填写。保持激活CSS。6 e$ [+ o& A$ j5 k
+ K- W" y) C9 l* P6 R% _4 r* f
20200419231756954.png
1 b( B1 W7 H+ M, h5 b2 e' V7 g; y! D6 B+ V0 j+ r2 n
然后在Project Manager中,设置好参数信息。
; W+ @, l# g. z2 u* r* u
5 m; J. u4 z8 I6 {+ X! P 20200419232147249.png ' K6 s8 o2 R; z. x  {, W% }
: `( |. i# B' f2 @
20200419232218938.png 6 t: m7 J) Y% [  M% v

% f9 k+ I7 j. T9 `& E, V* a- i" N最后点击GENERATE CODE,生成工程文件。 打开工程项目,进入到MDK软件
( h3 ?3 G. @- v( }& z9 N
# J0 W3 b8 }. \7 Y6 F) x/ D 20200419232457161.png - `  p3 D( L2 I- d
) D2 i6 Y. I3 Q: F( t. B0 f) j
打开魔术棒工具-Debug-Settings-Flash Download,勾上"Reset and Run",最后就可以编写代码,自由发挥吧。
& }1 Q! H& h! W5 V4 a# T0 @) p! J
20200419233315988.png / \: B# C% a1 z3 j! J* F
+ E* _' Y- O/ X
————————————————
  h% P5 F4 i- T2 |3 m: h版权声明:SCCELE0 E) I- \) N6 w# x- H
. }/ e: ^6 R  w  P
收藏 评论0 发布时间:2022-10-31 11:21

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版