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

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

[复制链接]
STMCU小助手 发布时间:2022-10-31 11:21
概述6 Z+ e0 N4 z- d8 ]
STM32时钟系统主要的目的就是给相对独立的外设模块提供时钟,也是为了降低整个芯片的耗能。5 _$ c3 J! _# A6 W% d( a. o
系统时钟,是处理器运行时间基准(每一条机器指令一个时钟周期)
. W- w2 \- ]" f- m, X时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。) ^& H( D% K3 W1 r. u
一个单片机内提供多个不同的系统时钟,可以适应更多的应用场合。
# _, J! [8 m) ^/ H不同的功能模块会有不同的时钟上限,因此提供不同的时钟,也能在一个单片机内放置更多的功能模块。+ i3 _  O% j* p, L- h6 i! L
对不同模块的时钟增加开启和关闭功能,可以降低单片机的功耗5 P3 ]0 b' @9 J' G3 h
STM32为了低功耗,他将所有的外设时钟都设置为disable(不使能),用到什么外设,只要打开对应外设的时钟就可以, 其他的没用到的可以还是disable(不使能),这样耗能就会减少。  这就是为什么不管你配置什么功能都需要先打开对应的时钟的原因2 [0 T* G  i( r& a9 w# d' s( |

% h6 p$ ^- h( t3 _  H- d- U5 S 20200419221228616.jpg # i+ m4 m2 F  E: I$ R+ b; ]! U

3 O" O( R/ j! a, g1 D各个时钟源    (左边的部分)
. T) A, k) g9 r/ B% Z7 c% c: a, fSTM32G0有4个独立时钟源:HSI、HSE、LSI、LSE。
3 P( h) k: o" _( [& f- ^. B% e& l①、HSI是高速内部时钟,RC振荡器,频率为16MHz,精度不高。4 e! ?# n3 l4 ?8 i* a2 p/ Q
②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~48MHz。0 M6 _! W( H- \7 C
③、LSI是低速内部时钟,RC振荡器,频率为32kHz,提供低功耗时钟。 
& ?; s3 U' ]4 U) U  O" m* B④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。2 h8 A/ l4 m+ X- I3 I2 G! M
7 b, Q- H  d& B7 e( y/ a; I
其中LSI是作为IWDGCLK(独立看门狗)时钟源和RTC时钟源 而独立使用 3 L2 W4 @3 {  G' ]# ?- D6 ^
( O2 ]! ~" ~9 ]& X
而HSI高速内部时钟、 HSE高速外部时钟、 LSI低速内部时钟,这三个经过分频或者倍频 作为系统时钟来使用
7 |6 c) g4 X  h& r. A, h( b) d6 `) Y7 ^, |* e. ?- n8 R
PLL为锁相环倍频输出,基于HSI16或基于HSE的时钟的频率相乘,以产生三个独立的时钟输出。允许的输入频率范围是2.66至16 MHz。分频因子可从1到8进行编程
1 E' ]% `; Y& n; G
  G0 q6 U: }3 c) X时钟分析
! j6 N& Q8 V+ b2 f+ ~7 mLSI(低速内部时钟)7 Y; ]4 t, u- R* S* h

7 K0 P7 \, c; y- F! V作为IWDG(独立看门狗)和RTC的时钟源,单独使用。3 x: m9 _; M% k, _0 ^
; h$ v- ]" A# K9 P0 t9 @
LSE(低速外部时钟)6 L1 _  p( |  k8 z

7 d0 h2 \4 r7 Z& h" s' ~/ f& m可以为RTC、CEC、SYSCLK提供时钟源。+ S: p9 B9 v: m, B

# A+ V3 o3 {; ]( m/ JHSE(高速外部时钟)
) U2 W* v$ H3 a  Y( b* p* X/ ?/ M8 ?' Z# M$ @8 l* _
可以为RTC、SYSCLK、PLL提供时钟源。
! S0 h$ H1 E2 t; `* q$ w5 v+ u+ E8 e* R6 h* Y
HSI(高速内部时钟)
6 {0 w1 g% y! S+ I0 v
9 t+ ^7 P: [9 L+ u  P可以为PLL、HSISYS提供时钟源,HSISYS再为SYSCLK提供时钟源2 f3 I5 ]5 W# ]. U( a

" _  w) d0 T  B& D" aPLL(锁相环倍频输出)8 G" m6 k8 R8 X; `2 x5 L- y- y1 @3 |
' ^5 [! H! T$ J( {% \
由HSE、HSI输入,经过分频倍频后提供SYSCLK,还用两组时钟分别提供给TIM1/TIM15/RNG和ADC/I2S1。- x3 w, k  `9 n5 S
3 ~* p) F: r5 ~9 F  {+ F' g) _" `
其他时钟源分析7 h7 i% Y4 }* ^5 C
HSISYS
- p0 R2 R7 Y) O$ u  Q
& e, g: ^/ J5 w$ _# m; @从HSI16通过除以1到128的可编程因子得到的时钟
+ @4 Z! r7 R% C9 {" k0 z
+ i, }8 {" D# C# @PLLPCLK,PLLQCLK,PLLRCLK
5 Q" S/ E4 v: a, W- o
0 l6 j4 _0 V  o7 `# A从PLL模块输出的时钟
7 J) y# J; K7 b. V; P( w1 c* I3 x$ Z/ S7 C& Q6 J: ~
SYSCLK8 V  M4 L7 S8 @# C' J

; R0 O; m- ]: u  K通过选择LSE,LSI,HSE,PLLRCLK和HSISYS时钟之一获得的时钟,是整个系统时钟基准。G0系列频率最高到64MHz。# g# p; ^" A" b! z% R0 n9 A

! h3 h% H! d! x. K" zHCLK* w& H1 f+ `1 K- q- U/ @0 K
2 u0 y) b& W; g1 R7 w  O9 q
由SYSCLK通过除以从1到512可编程的因子得出的时钟2 s( k% P  w3 V6 r
  G( h( o2 ~" F% e! c. N
HCLK8) R5 V1 S, ~* i
4 Z+ p, m" h8 |" y2 T% B! w5 D
由HCLK八分频得出的时钟* m5 e1 Y# P! T; w

% k, C& Z6 r4 X7 G PCLK# h2 T2 T# F$ O/ D
( l8 r4 ^, ]2 m8 S
从HCLK的时钟通过除以从1到16可编程的因子得出的时钟1 |3 W/ ?. @5 ^/ d; f

5 C8 C5 V5 P# w! r8 y& O7 j& q" uTIMPCLK7 y; y" K# [5 B5 B
6 |" T+ G& f7 d( @
从PCLK派生的时钟,如果APB预分频器分频因子设置为1,则以PCLK频率运行,否则,以PCLK频率的两倍运行# R3 }- i/ k( l7 N
. q$ e) [5 F" W& A' c  p
LPTIMx_IN$ d7 o1 Y; ^1 h$ h/ H$ C

0 L; ]5 ~1 o* X+ d) [8 r: CLPTIMx_INx引脚提供的时钟,可为LPTIM外设选择- c$ Z+ e: w: d& I

$ s4 {9 }1 G3 K  tMCO(微控制器时钟输出)
8 f7 h; B0 x% N: b) p微控制器时钟输出(MCO)功能允许将时钟输出到外部MCO引脚。 可以选择以下之一作为MCO时钟:
+ F) D6 N- E, m3 v# {, J% T7 t5 h9 ?1 ?, M/ Y
• LSI
. r% v9 ~& n' [2 d• LSE  |, j  `7 p+ g
• SYSCLK! i% c, d4 z# B4 v3 E: C- M" v$ J! S/ R
• HSI16
6 e  X2 y/ K! f0 g• HSE
$ p' A6 a- X) P( x* Y• PLLRCLK
7 j. l: t) l- C! {% S9 d, x+ `& [% Z' k" d, D( ^
CSS(时钟安全系统)
  T& x2 A- ]* A% [5 r' K' L时钟安全系统可以通过软件激活。一旦检测到HSE时钟故障,则系统时钟将自动切换到HSISYS,并且禁用HSE振荡器。如果HSE时钟也是PLL的时钟来源,并且发生故障时将PLLRCLK用作系统时钟,则PLL也被禁用。
" B) z6 D1 u* }: c9 a0 F# o& i; ~3 S( c5 _! q  g
通过CubeMX配置时钟树3 M  l, @! t/ P8 G- t
新建工程,并且开启SWD调试 ;(如何开启SWD调试,请点击链接); \! k( r& j/ v9 P; k
通过在引脚视图界面,配置PC6为GPIO_Output;(如何使用GPIO引脚,请点击链接)
/ X2 o  E& \) i在Pinout&Configuration中选中"RCC",在配置栏High Speed Clock(HSE)下拉菜单中选中"Crystal/Ceramic Resonator"% S/ ~" Z3 ^0 G2 A, J" t5 [$ [

2 ?- z4 K- Y, j( E6 s- M8 w. i+ v 20200419231256537.png
# S4 x; s: p: K, k  O2 ?0 `- x
: o& P9 c% G7 [0 N- o# F2 D3 u3 ^在Clock Configuration中 ,按下图配置,在HCLK框中输入最大64MHz,回车。cubemx软件会自动计算系数,而不用手动填写。保持激活CSS。3 `% w/ \" u1 x. _/ |' T* T8 [
2 [1 a4 p, T3 ^- y* X$ l$ H
20200419231756954.png 0 r9 A9 U, b; }" S, e& e- H

# g7 B$ ~9 @4 f% K  C& Z然后在Project Manager中,设置好参数信息。
! q  k4 T7 K; r3 R
% I5 V: |2 k8 J( X5 f0 u  A 20200419232147249.png
# L& M$ D0 ~' L; K! ^% {* [/ f: _! J' _) U( [) m( m( b
20200419232218938.png # e" x0 G, ?# \( G2 L+ Q

$ i/ J$ W. [; f+ G  [最后点击GENERATE CODE,生成工程文件。 打开工程项目,进入到MDK软件
7 @* m7 d# I: W
: T2 b$ I. C- P0 [1 d- q. ] 20200419232457161.png
, d3 ~2 X+ q. A( c8 e8 m
1 n$ n) H6 z% x" e, E 打开魔术棒工具-Debug-Settings-Flash Download,勾上"Reset and Run",最后就可以编写代码,自由发挥吧。& g4 ^2 d$ ^( `; n$ R" D' Q! p; n

0 l5 d5 R# y9 p% a* C+ @ 20200419233315988.png
1 b( p* `9 M0 f9 [/ ^3 l' y; m8 c
  H( m* s; {+ T* A* A! ?) K————————————————8 s0 r& s* k2 _5 h6 V6 f
版权声明:SCCELE; `: a3 E& f. y: T, J: e
3 A% ^4 v& Z- d2 u. E$ u
赞 收藏 评论0 发布时间:2022-10-31 11:21

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版