STM32F10X-时钟树详细介绍

发布者:bluepion最新更新时间:2021-12-24 来源: eefocus关键字:STM32F10X  时钟树  复位 手机看文章 扫描二维码
随时随地手机看文章

RCC是reset clock control的简称(即复位和时钟控制器),本文将详细介绍时钟树的构成,通过理解时钟树我们可以更加的了解STM32的所有时钟来源和他们之间的关系。


如下图,是STM32的时钟树,非常重要,我们将对每个时钟进行讲解,读者理解后时钟树看起来将会变得很简单。


建议保存下图,边阅读本文边对照时钟树,可以达到事半功倍的效果。

1.HSE高速外部时钟

HSE是高速外部时钟新号,可以由有源晶振和无源晶振提供,频率范围4-16MHZ。使用有源晶振,时钟从OSC_IN引脚进入,OSC_out引脚悬空;当使用无源晶振是,时钟信号由OSC_IN和OSC_OUT进入,且需要谐振电容。


当确定PLL时钟来源为HSE时,可以选择HES不分频或者2分频作为PLL时钟源。


2.PLL时钟源

PLL时钟源有两个,一个是HSE,另外一个是HSI/2。HSI是高速内部时钟信号,频率为8M,该信号源会随着温度和环境会有所漂移,一般不作为PLL的时钟来源。


3.PLL时钟PLLCLK

通过设置PLL倍频因子,可以对PLLSRC进行倍频。72M是ST官方推荐的稳定运行时钟,最高为128M。


4.系统时钟SYSCLK

系统时钟来源可以是HSI、PLLCLK、HSE。


5.AHB总线时钟HCLK

SYSCLK经过AHB预分频之后得到时钟叫APB总线时钟,即HCLK。片上的绝大部分外设的时钟都是经过HCLK分频得到。


6.APB1总线时钟HCLK1

APB1总线时钟PCLK1由HCLK经过低速APB预分频器得到的。HCLK1属于低速总线时钟,最高为36M,低速片上外设就挂载到这条总线上,比如USART2/3/4/5、SPI2/3,、I2C1/2。


7.APB2总线时钟HCLK2

APB2总线时钟HCLK2由HCLK经过高速APB2预分频器得到的。HCLK2属于高速的总线时钟,片上高速外设就挂载到这条总线上,比如全部的GPIO、USART1、SPI1。


8.其他时钟

USB时钟

USB时钟是由PLLCLK经过USB预分频器得到,USB最高时钟是48M。USB对时钟要求比较高,所以PLLCLK只能是HSE倍频得到,不能使用HSI倍频。


Cortex时钟

Cortex系统时钟是由HCLK 8分频得到的,Cortex系统时钟用来驱动内核的系统定时器SYSTick,SysTick一般用于操作系统的时钟节拍,也可以做普通的定时。


ADC时钟

ADC时钟由PCLK2经过ADC预分频器得到,ADC最高时钟是14M。


RTC时钟、独立看门狗时钟

RTC时钟由HSE/128分频得到,也可以由低速外部时钟LSE提供,频率为23.768KHZ,也可以由低速外部时钟HSI提供。


独立看门狗的时钟只能由LSI提供,频率为30-60KHZ,一般取40KHZ。


MCO时钟输出

MCO是microcontroller clockoutput的缩写,是微控制器时钟输出引脚,主要作用是对外提供时钟,相当于一个有源晶振。MCO的时钟来源可以是PLLCLK/2,HSI,HSE,SYSCLK。


可以通过监控MCO引脚的时钟输出来验证我们的系统时钟是否配置正确。


9.HSI使用

当HSE作为PLL时钟来源时候,如果HSE发生故障,不仅HSE不能使用,PLL也会关闭,这个时候系统会自动切换HSI作为系统时钟,此时SYSCLK=HSI=8M,这个时候如果没有开启CSS和CSS中断时候,系统只能在低速率运行,跟瘫痪没什么区别。


如果HSE故障时候,CSS中断里采取补救措施,使用HSI,把系统时钟设置为更高,最高是64M,频率够用了,但是与原来频率(比如72M)不一致,外设时钟也跟着改变,那么外设工作也会被打乱,这时候我们设置HSI时钟时候也跟着改变各个分频因子,使得外设时钟跟故障之前一样,但是毕竟不能一直使用HSI,所以HSE故障时应该采取报警措施。

关键字:STM32F10X  时钟树  复位 引用地址:STM32F10X-时钟树详细介绍

上一篇:STM32系统定时器-SysTick
下一篇:STM32 GPIO的输入输出-HAL库

推荐阅读最新更新时间:2024-11-12 10:48

三菱PLC置位SET指令与复位RST指令的使用说明
SET是置位指令,其作用是使被操作的目标元件置位并保持。 RST是复位指令,其作用是使被操作的目标元件复位并保持清零状态。 SET, RST的使用如下图所示。   图C所示为时序图。时序图可以直观地表达出梯形图的控制功能。在画时序图时,我们一般规定只画各元件常开触点的状态,如果常开触点是闭合状态,用高电平“1”表示;如果常开触点是断开状态,则用低电平“0"表示。假如梯形图中只有某元件的线圈和常闭触点。则在时序图中仍然只画出其常开触点的状态。   指令使用说明:   1) SET指令的目标元件可以是Y、M、S   2) RST指令的目标元件为Y、M、S、T、C、D、V、Z。RST指令常被用来对D、Z、V的内容清零,还用来复位积算定
[嵌入式]
STM32芯片的那些系统级复位功能
我们知道,STM32芯片里有很多系统级的复位,比方上电复位、欠压复位、看门狗复位、软件复位、复位脚电平触发复位等等。这些系统级的复位往往都是针对整个芯片或芯片的绝大部分区域。 其实,我们在实际应用中有时候可能并不需要、甚至不接受总是对整个芯片做大面积的复位。正因为如此,STM32的芯片里除了具备那些系统级复位功能外,还针对各个外设设计了复位功能,即我们可以只需针对某特定外设或特定区域做复位而不影响其它。特定区域一般是指某一块总线驱动的外设集,比方挂在APB1总线的所有外设。 或许有人不了解、或者说没有使用过针对特定外设复位的功能,这里就简单介绍下,抛砖引玉。在STM32各个系列的参考手册里的RCC章节,有关于对外设或局部外
[单片机]
STM32芯片的那些系统级<font color='red'>复位</font>功能
STM32时钟与启动过程时钟设置分析
如果你要深入学习STM32,那么你就应该深入研究STM32从启动开始到结束的各个过程,清楚认识整个过程,才会避免在今后的开发中遇到各种玄学问题(虽然博主也经常遇到各种玄学问题),很多情况下玄学问题都是因为自身对问题没有足够深入的认识。 启动过程???许多刚入门STM32的小白可能会一脸懵逼,我可以正常的写流水灯程序呀,我从来就没设置过启动过程。那么说明你对STM32的固件库还没有足够清晰的认识,我们虽然没有足够的能力去写启动程序,但是我们应该学会去阅读、认识这个过程。此处借助原子的Template工程没有资料的从此处下载:启动程序是./CORE/startup_stm32f40_41xxx.s 这是一段汇编代码,主要是一
[单片机]
STM32<font color='red'>时钟</font><font color='red'>树</font>与启动过程<font color='red'>时钟</font>设置分析
stm32复位电阻设置过小导致的各类症状
STM32F103T8U6,焊接时误将复位电容的上拉电阻焊成10欧,出现症状有: 烧写一次程序后,程序无法运行,无法第二次烧写程序。烧写到最后,会报错:Error: Flash Download failed - cortex-M3 但是此时jtag仍然能够连上芯片。 将烧写设置改为erase full chip,烧写到错后,报错显示: Contents mismatch at: 08000000H (Flash=FFH Required=00H) ! Contents mismatch at: 08000001H (Flash=FFH Required=04H) ! Contents mismatch at: 0
[单片机]
PIC单片机复位系统模块有哪些?
PIC16F87X系列单片机的复位功能设计得比较完善,根据引起单片机内部复位的条件和原因,可以将PIC单片机复位系统分为五个模块进行介绍:   1.上电复位   每次单片机加电时,上电复位电路都要对电源电压VDD的上升过程进行检测,当VDD值上升到规定值1.6~1.8V时,就产生一个有效的复位信号,需经过72ms加1024个时钟周期的延时,才会使单片机复位。   2.人工复位(单片机在执行程序期间)   无论是单片机在按预先设定的正常顺序运行程序,还是出现单片机进入不可预知的某一个死循环,都必须认为单片机在执行程序。单片机在执行程序期间,只要在人工复位端MCLR加入一个低电平信号,就会令其复位。   3.人工复位(单片机在睡眠期间)
[单片机]
STM32复位/时钟控制
========================== Reset/Clock Control ======================= 1、时钟安全系统(CSS) 时钟安全系统被激活后,时钟监控器将实时监控外部高速振荡器;如果HSE时钟发生故障,外部振荡器自动被关闭,产生时钟安全中断,该中断被连接到Cortex-M3的NMI的中断;同时CSS将内部RC振荡器切换为STM32的系统时钟源(对于STM32F103,时钟失效事件还将被送到高级定时器TIM1的刹车输入端,用以实现电机保护控制)。 操作流程: 1)、启动时钟安全系统CSS: RCC_ClockSecuritySystemCmd(ENABLE); (
[单片机]
8051基础之复位电路
RESET/Vpd作复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。 8051的复位方式可以是自动复位(VCC一上电时是通的,待稳定后电容就断开了直流电,RESET为低,此即典型的电阻电容式复位电路),也可以是手动复位(按键后电容充电,RESET为高,松开后,电容放电,直到RESET为低),见上图。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。 有的方案需
[单片机]
8051基础之<font color='red'>复位</font>电路
STM32F10x_硬件I2C主从通信(轮询发送,中断接收)
Ⅰ、写在前面 关注我分享文章的朋友应该知道我在前面讲述过(软件、硬件)I2C主机控制从机EEPROM的例子。在I2C通信主机控制程序是比较常见的一种,可以说在实际项目中,很多应用都会使用到I2C通信。但在实际项目中作为I2C从机的应用相对要少的多,本文主要讲述关于【STM32F10x_硬件I2C主从通信】中STM32作为从机的例子。 在学习本问内容之前,如果对I2C协议还不太了解的朋友请先去了解一下I2C协议,或看我之前关于I2C通信的文章(我微信公众号和博客都有)。 关于STM32硬件I2C作为从机的文章网上很少(我在写本文之前也在百度、谷歌等网站上搜索了解过),我猜测大概的原因主要是两点:1.使用该功能的人比较少; 2
[单片机]
STM32F10x_硬件I2C主从通信(轮询发送,中断接收)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved