RCC的复位和时钟

本文深入解析STM32的复杂时钟系统,包括时钟源、时钟树、复位机制等内容,阐述如何通过控制时钟源来降低功耗,以及不同复位方式对系统的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 时钟

STM32为了降低功耗,实现了比较复杂的时钟系统。在需要使用某个外设,需要启动时钟,也可以为了降低功耗,将一些时钟关闭。

时钟树

如下图,标记了红色,橙色和蓝色
在这里插入图片描述

红色:

为时钟的4个时钟源(HES)(HSI)(LSE)(LSI),stm32中有高速,低速两个时钟,可以外接高低两个时钟,高速外部时钟,可以接3-25MHZ振荡器,而往往接的是8mhz的。4个时钟都可以根据需要关闭或者开启。

橙色:

二级时钟,是4个时钟源进行分频或者倍频得到的时钟源。其中的:

系统时钟(SYSCLK):用来提供给内核,最大72MHZ,往往设置的就是72MHZ,大于72就超频了。同时也提供给外设时钟,但外设频率远跟不上内核的频率,所以要经过分屏,提供给各个外设。系统时钟由3个时钟源获得,分别是外部高速时钟HSE,内部高速时钟HSI,以及PLLCLK。
PLLCLK:用来提供给USB,当需要使用USB时候,就必须使能PLLCLK。同时也可以提供给系统时钟。PLLCLK由HSE和HSI进行分频后得到。

蓝色

蓝色是一些外设,如看门狗,RTC,APB1,APB2等
独立看门狗:只能挂在低速内部时钟上,使用看门狗就需要HSI使能
RTC: 可以由内部低速,外部低速或者外部高速128分频得到。
APB1和APB2由系统时钟提供,APB1最大36MHZ,APB2最大72MHZ,可以通过系统时钟分频得到。
MCO:可以通过MCO接口将HSE,HSI,系统时钟,PLL等时钟输出到外部,给外部芯片等提供时钟频率。

二 复位

复位分位三种,系统复位,电源复位,备份域复位

备份域复位

备份域由低速外部振荡器 ,实时时钟,备份SRAM ,RTC备份寄存器等构成,用来在掉电时候,通过外部的纽扣电池供电,保存一些必要的数据。
备份域复位也只复位,备份域中的寄存器,而对外界没有影响。
引起备份域复位的方式有:
(1)软件复位;
备份域控制寄存器 (RCC_BDCR) 中的 BDRST 位置 1 触发复位。
(2)电源VDD和VBAT都已经掉电后,再上电任意一个。

系统复位

系统复位将复位除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外的所有寄存器。也就是包括CM3内核和外设的寄存器复位。
当以下事件中的一件发生时,产生一个系统复位:

  1. NRST管脚上的低电平(外部复位)
  2. 窗口看门狗计数终止(WWDG复位)
  3. 独立看门狗计数终止(IWDG复位)
  4. 软件复位(SW复位)
  5. 低功耗管理复位

电源复位

除了备份域内的寄存器以外,电源复位会将其它全部寄存器复位成默认的复位值。也就是直接关掉电源,会将时钟控制寄存器数据丢失。
当以下事件中之一发生时,产生电源复位:

  1. 上电/掉电复位(POR/PDR复位)
  2. 从待机模式中返回
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工农村贴膜小哥

我倒是要看看是那个憨憨在给我打

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值