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

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

[复制链接]
STMCU小助手 发布时间:2022-4-24 22:16
5.3 配置工程文件0 y" X0 O6 }! B8 Z
默认情况下会进入“LEDTest_Project.ioc”界面,也可以通过双击工程目录的“LEDTest_Project.ioc”进入。点击“Project Manager->Code Generator”,将“Generated files”第1和第2选项勾选,其余默认。
, `9 i& a8 `+ T/ T) W$ L, r6 n& D" p* q: P
A@563DT1L2JJHR8L[D00U$M.png
- P7 {4 K8 Y( @
) F: J1 [& h1 l. x/ Y2 H5.4 配置芯片时钟
/ L4 Q3 T* [. e# T& k5 `5.4.1 配置外部时钟引脚5 |. a- Z, Z* f; a7 j  \+ L
点击“Pinout & Configuration->System Core->RCC”,在“RCC Mode”中将“High Speed Clock(HSC)”设置为“Crystal/Ceramic Resonator”,其余保持默认。
1 ]5 b( \0 k9 B4 w% J' n8 B  |( ~4 |7 g' m
FT5}2SLU]}$LL20F6V~24%5.png
, J6 W1 Z, z0 h- g0 i+ \" C! C/ O0 f& k- X2 _3 P1 C* i
第一个选项High Speed Clock即为HSE(高速时钟源),一般为接外部晶振为主,因此选择Crystal/Ceramic Resonator(使用晶振/外部陶瓷振荡器)来使用外部晶振。
) t* L, Z  u+ s, A; i* `第二个选项Low Speed Clock(低速时钟源)若无特殊需求,不用打开。
3 \+ \7 P  n% J  t  z第三个选项以及第四,五,六个选项用是用来配置MCO1、MCO2和PC9引脚是否要作为时钟输入脚来使用,无特殊需求不用打开。
" w: z2 P3 ~+ j9 o3 d8 o( R8 J配置好晶振设置后可以看到右边芯片实时会显示引脚状态已改变。
! c4 {. U, g% h- p! J9 ^. S9 O1 |& ~+ r0 S
5.4.2 配置时钟频率
) P( @. [. R& m本指南使用的STM32H743II芯片,最大CPU时钟可以配置到480MHZ,外部晶振是25MHZ。点击“Clock Configuration”,在“Input Frequency”输入“25”,在“PLL Source Mux”选择“HSE”作为时钟输入,在“System Clock Mux”选择“PLLCLK”作为时钟输入,在“SPI1,2,3 Clock Mux”输入“480”,然后按下回车键,软件自动计算设置好其他选项,目前时钟配置只需要满足跑马灯实验,其他暂不设置,保持默认。
4 d1 v: _# P2 \1 Q" @
6 n. v+ ], Y5 g. L7 l4 C YN_87Z8`E`JCP9DD6[K9O)9.png
- A% e: \( _* N1 d8 y& i$ _  D0 a& \  A) F# i3 [+ k
5.4.3 时钟图介绍' Q1 y' S( h* ^
本章节不涉及操作,可以忽略跳过。$ `; D4 v5 q7 |" J0 W) |
STM32CubeIDE专门为时钟系统分频单独建了一套配置体系,在主界面点击“Clock Configuration”即可进入时钟树配置界面。由于该部分没有汉化因此单独介绍。
( L; z& |3 l" j1 r1 b$ x: z. h$ T, }/ V1 D! t% r: {& l# g
XDMVR~}GNED7Q4RU$NL6S_V.png # v. X! B3 R9 ~" W! p1 H" R
( D) U( W9 L+ ^+ X4 \9 V" M4 I
简单介绍一下时钟树中各个整体的名称以及内容:  I+ [; t2 a5 U. Y
2 o9 b  K" P+ o, `+ [) ~
2(Z(59V(S[WNQOO9CM(424F.png
0 C4 k% d6 n* R, U2 s* [6 k- S% q9 y3 @. Q5 {
①:低速时钟源,包括LSI和LSE两个,LSI属于STM32H7内部低速时钟源,频率约为32Khz。LSE则是外部低速时钟源,为32.768Khz(使用32.768Khz外部晶振)。这两个时钟源一般用于看门狗和RTC。
% Y# k0 F* J5 J/ x4 |1 g. `$ \②:高速时钟源,包括:HSE、HIS、CSI和HSI48。HSE是外部高速时钟,由于使用了25M的外部晶振,所以HSE频率为25Mhz;HSI是内部高速时钟,频率为 64Mhz; CSI是低功耗内部时钟,频率为4Mhz;HSI48是内部高精度时钟源,频率为 48Mhz,配合CRS可以直接作为USB的时钟源使用。( Y  A) S# n, ^$ x7 b- v! ]
③:PLL1~3的时钟源选择器,一般选择PLL时钟源来自HSE_ck, 25Mhz。/ S2 _: D$ e4 J; {4 g' {
④:sys_ck时钟选择器,可选择sys_ck的时钟来自:HSI_ck、CSI_ck、HSE_ck 或pll1_p_ck等,在PLL1还没设置好的时候,系统默认是选择hsi_ck(64Mhz)作为时钟源的,当PLL1配置好以后,则系统时钟可以切换为plll1_q_ck(480Mhz),以得到最高性能。8 |0 w0 R# B9 i4 D! B; U
⑤: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 等。
0 v$ U. J) F" b) Z0 C+ I6 T! J) X2 l: j- n9 @
2eafce992a474c48ba1a5ffc7c5e02f1.png
" h. w! ]1 {  q$ W# y6 \' O
1 @2 d$ d2 C5 {假设外部晶振为25Mhz,若需要得到400Mhz的pll1_p_ck频率,则可以设置:DIVM1=5,DIVN1=160,DIVP1=2即可。其他分频输出(pll1_q_ck/pll1_r_ck)计算方法与上式相似。
( Z1 \$ i- U! W2 I⑥:SCGU(System Clock Generation Unit,系统时钟生成单元)以及SCEU(System Clock Eable Unit,系统时钟使能单元)于将sys_ck分成各种时钟频率,用于使能各个外设、总线等,如:CPU 频率、SysTick、AXI、AHB14和APB14 等。
4 _$ x! v9 O$ G9 f⑦:PKSU(Peripheral Kernel clock Selection Unit,外设内核时钟选择单元)以及PKEU(Peripheral Kernel clock Enable Unit,外设内核时钟使能单元),用于选择部分外设的内核时钟源以及用于使能部分外设的内核时钟,STM32H7内部很多外设都可以自由选择内核时钟来源,从而提高灵活性,详见《STM32H7xx 参考手册》 335 页, Table 51。2 }" @! g% Z  h! {, y+ X. q" o4 @
2 A+ P/ ?, @: g! S/ o7 D
5SH@$PE6M}7Q3]N]GG{~]XO.png 9 B$ x' a2 l/ e, U- j8 r

: A' `/ |/ F! X/ M1 L* E! I& J此图片频率400为方便讲解设置,实际还是按最大频48MHZ来设置!- i* T9 A* @0 L5 {$ f) o/ M( _
①:Input frequency:输入晶振频率,在这个选项中可根据单片机的外部晶振来填写晶振频率,下面的蓝色范围为可接受频率范围。这边按25MHZ来配。% f6 Y! ~$ V- u
②:PLL source Mux:PLL时钟源选择器,选择HSE高速时钟源即可。; _! i" }$ j3 q, ]# W
③:PLL 分频系数 M 配置。由于我们需要系统时钟设为480MHZ,因此需要通过PLL分频来把25MHZ的晶振时钟转换为系统时钟。
! |- H# b: C4 T+ ~2 i& a3 V④:主 PLL 倍频系数 N 配置。倍频系数 N(自动配频会自动计算)
# x! `- A, a" U1 t7 ]2 ~& r% V⑤:主 PLL 分频系数 P 配置。分频系数 P(自动配频会自动计算)5 f9 O# V  m. x
⑥:系统时钟时钟源选择,选择PLLCLK,系统时钟就会和PLL同步为480MHZ
) {2 n. j7 i2 l* o# ?⑦,⑧:SYSCLK系统时钟,引脚的工作频率都由它分频来配置。
7 ~1 Z" `) U9 {- j3 q+ t8 K/ I" J5 R9 L* f
U[{5FJH5%UR36`E%IKE1F[E.png
4 g* ]* q% D; B2 U* T& j6 Z0 X. ^  q8 V( C9 \* X3 O1 H
系统时钟分频得到的总线时钟:AHB(Advanced High performance Bus,高级高性能总线,用于高性能模块CPU、DMA、DSP之间的连接)、APB1、APB2、APB3和APB总线时钟(Advanced Peripheral Bus,高性能外围总线,用于低带宽的周边外设之间的连接,例如UART)以及Systick时钟的最终来源都是系统时钟SYSCLK。
7 M  s0 s' S* E# ?2 X7 `% R$ ]1 Q5 k# I# O" g

+ a: n  ^" p- T1 J8 Y( P
收藏 评论0 发布时间:2022-4-24 22:16

举报

0个回答

所属标签

相似分享

官网相关资源

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