STM32
登录
直播中
淡淡的爱
11年用户
872经验值
私信
关注
[问答]
STM32CubeMX中的时钟如何配置?
开启该帖子的消息推送
STM32
STM32
CubeMX中的时钟如何配置?
回帖
(1)
李勇
2021-9-27 16:04:41
数据手册中的时钟树:
STM32CubeMX中的时钟配置图:
时钟源
四个
独立
的时钟源
HSE:高速外部时钟
无源晶振或者有源晶振提供,频率从4-16MHZ不等,通常使用8M的无源晶振
HSI:高速内部时钟
来源为RC振荡器,频率为8M,精度不高
LSI:低速内部时钟
RC振荡器,频率为40KHZ,提供低功耗时钟
LSE:低速外部时钟
频率为32.768KHZ的石英晶体
“一个不独立的时钟”
锁相环时钟:来源为HSI/2,HSE或者HSE/2, 该时钟的作用主要是通过锁相环倍频器之后作为系统时钟一个来源
举个例子:Keil编写程序是默认的时钟为72Mhz,其实是这么来的:外部晶振(HSE)提供的8MHz(与电路板上的晶振的相关)通过PLLXTPRE分频器后,进入PLLSRC选择开关,进而通过PLLMUL锁相环进行倍频(x9)后,为系统提供72MHz的系统时钟(SYSCLK)。之后是AHB预分频器对时钟信号进行分频,然后为低速外设提供时钟。
或者内部RC振荡器(HSI) 为8MHz /2 为4MHz 进入PLLSRC选择开关,通过PLLMUL锁相环进行倍频(x18)后 为72MHz
系统时钟SYSCLK
系统时钟来源主要有三个:
HSI振荡器时钟
HSE振荡器时钟
PLL时钟
最大为72MHZ
时钟树看起来比较复杂,其实我们以系统时钟为桥梁来理解就行了,在上面的时钟树中,系统时钟左边的时钟是独立的时钟源,右边的部分是外设时钟,通过系统时钟的分频得到各个外设的时钟。
其他时钟
我们先看左下方的MCO时钟输出,这个相当于是一个对外输出的时钟,可以用示波器来测试,可以输出的时钟包括:PLLCLK/2、HSI、HSE以及系统时钟SYSCLK
然后是看门狗时钟: 看门狗是单片机里的一种技术(软硬件都可以),其目的是为了保护芯片避免其进入死循环(或者说程序跑飞)。看门狗有一个输入端和一个输出端。看门狗和单片机程序的主体部分连接,如果主体部分运行正常,那么
每一段时间
就会给看门狗的输入端一个信号,这时候看门狗就会知道程序运行正常,就不会做出反应。如果看门狗较长一段时间内没有收到信号,说明程序运行不正常,此时由看门狗输出一个信号,该信号会让单片机的主体程序复位进而起到保护的作用。**“每一段时间”**指的就是看门狗时钟,只由LSI提供。
RTC时钟(Real_Time Clock),实时时钟,可以由LSI/LSE 或者HSE/128提供
USB时钟:STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取(唯一的),,可以选择为1.5分频或者1分频,也就是,当需要使用USB模块时,PLL必须使能,并且时钟频率配置为48MHz或72MHz
数据手册中的时钟树:
STM32CubeMX中的时钟配置图:
时钟源
四个
独立
的时钟源
HSE:高速外部时钟
无源晶振或者有源晶振提供,频率从4-16MHZ不等,通常使用8M的无源晶振
HSI:高速内部时钟
来源为RC振荡器,频率为8M,精度不高
LSI:低速内部时钟
RC振荡器,频率为40KHZ,提供低功耗时钟
LSE:低速外部时钟
频率为32.768KHZ的石英晶体
“一个不独立的时钟”
锁相环时钟:来源为HSI/2,HSE或者HSE/2, 该时钟的作用主要是通过锁相环倍频器之后作为系统时钟一个来源
举个例子:Keil编写程序是默认的时钟为72Mhz,其实是这么来的:外部晶振(HSE)提供的8MHz(与电路板上的晶振的相关)通过PLLXTPRE分频器后,进入PLLSRC选择开关,进而通过PLLMUL锁相环进行倍频(x9)后,为系统提供72MHz的系统时钟(SYSCLK)。之后是AHB预分频器对时钟信号进行分频,然后为低速外设提供时钟。
或者内部RC振荡器(HSI) 为8MHz /2 为4MHz 进入PLLSRC选择开关,通过PLLMUL锁相环进行倍频(x18)后 为72MHz
系统时钟SYSCLK
系统时钟来源主要有三个:
HSI振荡器时钟
HSE振荡器时钟
PLL时钟
最大为72MHZ
时钟树看起来比较复杂,其实我们以系统时钟为桥梁来理解就行了,在上面的时钟树中,系统时钟左边的时钟是独立的时钟源,右边的部分是外设时钟,通过系统时钟的分频得到各个外设的时钟。
其他时钟
我们先看左下方的MCO时钟输出,这个相当于是一个对外输出的时钟,可以用示波器来测试,可以输出的时钟包括:PLLCLK/2、HSI、HSE以及系统时钟SYSCLK
然后是看门狗时钟: 看门狗是单片机里的一种技术(软硬件都可以),其目的是为了保护芯片避免其进入死循环(或者说程序跑飞)。看门狗有一个输入端和一个输出端。看门狗和单片机程序的主体部分连接,如果主体部分运行正常,那么
每一段时间
就会给看门狗的输入端一个信号,这时候看门狗就会知道程序运行正常,就不会做出反应。如果看门狗较长一段时间内没有收到信号,说明程序运行不正常,此时由看门狗输出一个信号,该信号会让单片机的主体程序复位进而起到保护的作用。**“每一段时间”**指的就是看门狗时钟,只由LSI提供。
RTC时钟(Real_Time Clock),实时时钟,可以由LSI/LSE 或者HSE/128提供
USB时钟:STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取(唯一的),,可以选择为1.5分频或者1分频,也就是,当需要使用USB模块时,PLL必须使能,并且时钟频率配置为48MHz或72MHz
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
STM32CubeMX
时钟
配置
过程是怎样的?
2021-11-24
774
怎样使用
STM32CubeMX
去
配置
时钟
呢
2021-09-27
1824
如何使用
STM32CubeMX
工具
配置
工程模板?
2022-01-26
707
怎样去
配置
STM32CubeMX
中
的芯片
2021-09-26
1412
如何使用
STM32CubeMx
配置
ADC?
2022-02-09
528
浅析
STM32CubeMX
项目
配置
窗口
2021-09-30
2000
STM32CubeMX
项目
配置
窗口看完你就懂了
2021-09-30
2580
STM32
微控制器的
时钟
树和
STM32CubeMX
Clock Configuration的
配置
关系是什么?
2022-02-14
578
如何对基于
STM32CubeMX
的UART进行
配置
呢
2021-11-26
1466
如何利用
stm32cubeMX
配置
实现简单的串口通信?
2021-12-08
703
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分