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

【经验分享】STM32Cube配置时钟设置

[复制链接]
STMCU小助手 发布时间:2022-4-24 22:16
5.3 配置工程文件
8 h; }. @3 N- r4 N, R9 {$ b3 m/ M默认情况下会进入“LEDTest_Project.ioc”界面,也可以通过双击工程目录的“LEDTest_Project.ioc”进入。点击“Project Manager->Code Generator”,将“Generated files”第1和第2选项勾选,其余默认。+ v! O6 m( T3 y" U8 P( L1 n, e

( ~# |/ g; g* i: o4 X, b( a& J! G' Z A@563DT1L2JJHR8L[D00U$M.png
4 T/ S* O3 U  I4 d9 G% k
- j& O" z0 [2 m5 j5.4 配置芯片时钟  @) X' _( x, U- S! v
5.4.1 配置外部时钟引脚
" ^' U' Y% U. d3 k! w点击“Pinout & Configuration->System Core->RCC”,在“RCC Mode”中将“High Speed Clock(HSC)”设置为“Crystal/Ceramic Resonator”,其余保持默认。
7 A! V$ o. U* h; H
* C1 g4 @2 x, r( U7 P FT5}2SLU]}$LL20F6V~24%5.png ' K6 h8 W/ U. l+ l% H# L/ N% d! x- v
4 n$ b. L# L& _" J4 s. d7 _
第一个选项High Speed Clock即为HSE(高速时钟源),一般为接外部晶振为主,因此选择Crystal/Ceramic Resonator(使用晶振/外部陶瓷振荡器)来使用外部晶振。( D# x0 H0 S. j. a3 n) _/ a
第二个选项Low Speed Clock(低速时钟源)若无特殊需求,不用打开。
& p: C8 e5 T1 }1 E1 o; w, H: F& X第三个选项以及第四,五,六个选项用是用来配置MCO1、MCO2和PC9引脚是否要作为时钟输入脚来使用,无特殊需求不用打开。
: i8 k! J8 ^! O" K7 s' k配置好晶振设置后可以看到右边芯片实时会显示引脚状态已改变。/ t. e& ?7 a1 _0 X

: K1 _% o+ }2 p' R$ ]! ?5.4.2 配置时钟频率! A+ M2 G% w) G/ k
本指南使用的STM32H743II芯片,最大CPU时钟可以配置到480MHZ,外部晶振是25MHZ。点击“Clock Configuration”,在“Input Frequency”输入“25”,在“PLL Source Mux”选择“HSE”作为时钟输入,在“System Clock Mux”选择“PLLCLK”作为时钟输入,在“SPI1,2,3 Clock Mux”输入“480”,然后按下回车键,软件自动计算设置好其他选项,目前时钟配置只需要满足跑马灯实验,其他暂不设置,保持默认。3 I6 B+ C6 i0 n

. r; J& `3 w1 a- n3 z YN_87Z8`E`JCP9DD6[K9O)9.png
7 ^0 t  t1 y- v! F
$ G  {9 o  N  S5 f5 w( D* ~5.4.3 时钟图介绍
$ ]- A" N  M& P2 o  G. B本章节不涉及操作,可以忽略跳过。
* K' x- t1 i6 [/ n/ [# N8 \STM32CubeIDE专门为时钟系统分频单独建了一套配置体系,在主界面点击“Clock Configuration”即可进入时钟树配置界面。由于该部分没有汉化因此单独介绍。
  c8 P; O: M" q- G, A  L/ f5 W- l
. J/ M- l! d# x XDMVR~}GNED7Q4RU$NL6S_V.png ( }4 {# R* T1 N/ K
; K; a# O3 Y, l
简单介绍一下时钟树中各个整体的名称以及内容:) j/ ^& d0 v5 v% M( v: C7 w
! j2 ~- a! E+ a# Y2 q
2(Z(59V(S[WNQOO9CM(424F.png % ~2 S% U+ c" J% c/ M- |

. O8 w3 K6 }6 |0 c; a$ ~" m, T" ]①:低速时钟源,包括LSI和LSE两个,LSI属于STM32H7内部低速时钟源,频率约为32Khz。LSE则是外部低速时钟源,为32.768Khz(使用32.768Khz外部晶振)。这两个时钟源一般用于看门狗和RTC。
5 }6 `- b% k7 h' m7 D3 \3 Y  B②:高速时钟源,包括:HSE、HIS、CSI和HSI48。HSE是外部高速时钟,由于使用了25M的外部晶振,所以HSE频率为25Mhz;HSI是内部高速时钟,频率为 64Mhz; CSI是低功耗内部时钟,频率为4Mhz;HSI48是内部高精度时钟源,频率为 48Mhz,配合CRS可以直接作为USB的时钟源使用。; A9 d$ C- j8 b) ~  E
③:PLL1~3的时钟源选择器,一般选择PLL时钟源来自HSE_ck, 25Mhz。
. ^- t" H' c( v6 H+ f④:sys_ck时钟选择器,可选择sys_ck的时钟来自:HSI_ck、CSI_ck、HSE_ck 或pll1_p_ck等,在PLL1还没设置好的时候,系统默认是选择hsi_ck(64Mhz)作为时钟源的,当PLL1配置好以后,则系统时钟可以切换为plll1_q_ck(480Mhz),以得到最高性能。
' K& A1 |5 ^' d! a' s⑤:PLL1 锁相环,该 PLL 主要用到两路输出: pll1_p_ck 和 pll1_q_ck,其中: pll1_p_ck一般用于 sys_ck 的时钟源,最终作为 CPU、 SysTick、 AXI、 AHB1~4 和 APB1~4 等的时钟源;而 pll1_q_ck 则可以通过 PKSU 选择作为部分外设的内核时钟( perx_ker_ck),如 FMC、 QSPI、SDMMC1/2 等。; I# W( s6 e+ A. \

# w- Z8 X9 n8 B7 c5 {; @4 | 2eafce992a474c48ba1a5ffc7c5e02f1.png
: _! A0 R9 ]9 Z' g
0 m7 U9 n' I: i7 Z) b+ Z( u* ^假设外部晶振为25Mhz,若需要得到400Mhz的pll1_p_ck频率,则可以设置:DIVM1=5,DIVN1=160,DIVP1=2即可。其他分频输出(pll1_q_ck/pll1_r_ck)计算方法与上式相似。# r$ u* y9 S; k. n3 }6 y4 b4 {
⑥:SCGU(System Clock Generation Unit,系统时钟生成单元)以及SCEU(System Clock Eable Unit,系统时钟使能单元)于将sys_ck分成各种时钟频率,用于使能各个外设、总线等,如:CPU 频率、SysTick、AXI、AHB14和APB14 等。# i. [6 {( N% a( l# X2 H
⑦:PKSU(Peripheral Kernel clock Selection Unit,外设内核时钟选择单元)以及PKEU(Peripheral Kernel clock Enable Unit,外设内核时钟使能单元),用于选择部分外设的内核时钟源以及用于使能部分外设的内核时钟,STM32H7内部很多外设都可以自由选择内核时钟来源,从而提高灵活性,详见《STM32H7xx 参考手册》 335 页, Table 51。
$ n5 d. s: l/ O1 w: |) D
8 @) O7 [% h- r! |: W$ n  T 5SH@$PE6M}7Q3]N]GG{~]XO.png
! {4 t  s8 H/ s( t+ r) }* r& a$ q6 g& s4 D, Q/ [; p) @
此图片频率400为方便讲解设置,实际还是按最大频48MHZ来设置!/ w/ [2 e, K' H; R' O
①:Input frequency:输入晶振频率,在这个选项中可根据单片机的外部晶振来填写晶振频率,下面的蓝色范围为可接受频率范围。这边按25MHZ来配。2 g) D9 i) k) W3 \
②:PLL source Mux:PLL时钟源选择器,选择HSE高速时钟源即可。
- y, n2 X6 e4 z$ M; B③:PLL 分频系数 M 配置。由于我们需要系统时钟设为480MHZ,因此需要通过PLL分频来把25MHZ的晶振时钟转换为系统时钟。
/ k, a4 D! W# v, d0 O! L* m④:主 PLL 倍频系数 N 配置。倍频系数 N(自动配频会自动计算)2 L7 u% J( |$ W3 z( h1 j; d& j6 `
⑤:主 PLL 分频系数 P 配置。分频系数 P(自动配频会自动计算)% l% }( N4 I, S9 S
⑥:系统时钟时钟源选择,选择PLLCLK,系统时钟就会和PLL同步为480MHZ( [, \( `5 f* n# g6 e' [
⑦,⑧:SYSCLK系统时钟,引脚的工作频率都由它分频来配置。
  x# G3 X3 Y% O0 ^6 L+ v5 u! `; U6 Y3 [: B" H: {4 P: n
U[{5FJH5%UR36`E%IKE1F[E.png
5 G  y$ d. m. _  e# L; j5 D  _# D! K' j( O8 i
系统时钟分频得到的总线时钟:AHB(Advanced High performance Bus,高级高性能总线,用于高性能模块CPU、DMA、DSP之间的连接)、APB1、APB2、APB3和APB总线时钟(Advanced Peripheral Bus,高性能外围总线,用于低带宽的周边外设之间的连接,例如UART)以及Systick时钟的最终来源都是系统时钟SYSCLK。( @# Q7 S2 x- O" k

" W3 M% X" K& v
  @4 o  F, L  j! t2 [3 G* L! t/ I+ Y
收藏 评论0 发布时间:2022-4-24 22:16

举报

0个回答

所属标签

相似分享

官网相关资源

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