0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机STM32时钟详解

电子工程技术 来源:电子工程技术 2023-05-22 10:09 次阅读

747aac72-f814-11ed-90ce-dac502259ad0.jpg众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。

其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用内部高速时钟。而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信号.

高速外部时钟(HSE):以外部晶振作时钟源,晶振频率可取范围为4~16MHz,我们一般采用8MHz的晶振。

高速内部时钟(HSI):由内部RC振荡器产生,频率为8MHz,但不稳定。

低速外部时钟(LSE):以外部晶振作时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。

低速内部时钟(LSI):由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。

OSC_OUT和OSC_IN开始,这两个引脚分别接到外部晶振8MHz,第一个分频器PLLXTPRE,遇到开关PLLSRC(PLL entry clock source),我们可以选择其输出,输出为外部高速时钟(HSE)或是内部高速时钟(HSI)。这里选择输出为HSE,接着遇到锁相环PLL,具有倍频作用,在这里我们可以输入倍频因子PLLMUL,要是想超频,就得在这个寄存器上做手脚啦。经过PLL的时钟称为PLLCLK。倍频因子我们设定为9倍频,也就是说,经过PLL之后,我们的时钟从原来8MHz的 HSE变为72MHz的PLLCLK。紧接着又遇到了一个开关SW,经过这个开关之后就是STM32的系统时钟(SYSCLK)了。通过这个开关,可以切换SYSCLK的时钟源,可以选择为HSI、PLLCLK、HSE。我们选择为PLLCLK时钟,所以SYSCLK就为72MHz了。PLLCLK在输入到SW前,还流向了USB预分频器,这个分频器输出为USB外设的时钟(USBCLK)。回到SYSCLK,SYSCLK经过AHB预分频器,分频后再输入到其它外设。如输出到称为HCLK、FCLK的时钟,还直接输出到SDIO外设的SDIOCLK时钟、存储器控制器FSMC的FSMCCLK时钟,和作为APB1、APB2的预分频器的输入端。GPIO外设是挂载在APB2总线上的, APB2的时钟是APB2预分频器的输出,而APB2预分频器的时钟来源是AHB预分频器。因此,把APB2预分频器设置为不分频,那么我们就可以得到GPIO外设的时钟也等于HCLK,为72MHz了。

SYSCLK:系统时钟,STM32大部分器件的时钟来源。主要由AHB预分频器分配到各个部件。

HCLK:由AHB预分频器直接输出得到,它是高速总线AHB的时钟信号,提供给存储器,DMA及cortex内核,是cortex内核运行的时钟,cpu主频就是这个信号,它的大小与STM32运算速度,数据存取速度密切相关。

FCLK:同样由AHB预分频器输出得到,是内核的“自由运行时钟”。“自由”表现在它不来自时钟 HCLK,因此在HCLK时钟停止时 FCLK 也继续运行。它的存在,可以保证在处理器休眠时,也能够采样和到中断和跟踪休眠事件 ,它与HCLK互相同步。

PCLK1:外设时钟,由APB1预分频器输出得到,最大频率为36MHz,提供给挂载在APB1总线上的外设,APB1总线上的外设如下:

RCC_APB1Periph_TIM2 TIM2时钟

RCC_APB1Periph_TIM3 TIM3时钟

RCC_APB1Periph_TIM4 TIM4时钟

RCC_APB1Periph_WWDG WWDG时钟

RCC_APB1Periph_SPI2 SPI2时钟

RCC_APB1Periph_USART2 USART2时钟

RCC_APB1Periph_USART3 USART3时钟

RCC_APB1Periph_I2C1 I2C1时钟

RCC_APB1Periph_I2C2 I2C2时钟

RCC_APB1Periph_USB USB时钟

RCC_APB1Periph_CAN CAN时钟

RCC_APB1Periph_BKP BKP时钟

RCC_APB1Periph_PWR PWR时钟

RCC_APB1Periph_ALL 全部APB1外设时钟

PCLK2:外设时钟,由APB2预分频器输出得到,最大频率可为72MHz,提供给挂载在APB2总线上的外设,APB2总线上的外设如下:

RCC_APB2Periph_AFIO 功能复用IO时钟

RCC_APB2Periph_GPIOA GPIOA时钟

RCC_APB2Periph_GPIOB GPIOB时钟

RCC_APB2Periph_GPIOC GPIOC时钟

RCC_APB2Periph_GPIOD GPIOD时钟

RCC_APB2Periph_GPIOE GPIOE时钟

RCC_APB2Periph_ADC1 ADC1时钟

RCC_APB2Periph_ADC2 ADC2时钟

RCC_APB2Periph_TIM1 TIM1时钟

RCC_APB2Periph_SPI1 SPI1时钟

RCC_APB2Periph_USART1 USART1时钟

RCC_APB2Periph_ALL 全部APB2外设时钟

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44514

    浏览量

    632919
  • STM32
    +关注

    关注

    2266

    文章

    10871

    浏览量

    354778
  • 时钟
    +关注

    关注

    10

    文章

    1720

    浏览量

    131359

原文标题:一目了然!图文教你理解单片机STM32时钟

文章出处:【微信号:EngicoolArabic,微信公众号:电子工程技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32F103单片机时钟树结构图及时钟配置

    STM32属于Cortex-M3内核的单片机时钟结构比之前的51单片机较复杂的多,根据数据手册,STM32F103的
    发表于 01-19 16:36 8853次阅读
    <b class='flag-5'>STM32</b>F103<b class='flag-5'>单片机时钟</b>树结构图及<b class='flag-5'>时钟</b>配置

    STM32F1系列单片机时钟系统

      这是stm32时钟系统,时钟单片机的关系就好比心脏与人的关系一样,它为单片机的运行提供时间基准。
    发表于 03-23 17:44 2826次阅读
    <b class='flag-5'>STM32</b>F1系列<b class='flag-5'>单片机</b>的<b class='flag-5'>时钟</b>系统

    浅谈STM32单片机时钟系统

      今天来总结一下stm32单片机时钟系统,也就是时钟树的相关知识点。单片机正常工作的三要素是电源、
    发表于 06-12 16:45 1835次阅读
    浅谈<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的<b class='flag-5'>时钟</b>系统

    STM32单片机的原理详解 STM32时钟系统的配置方法

    时钟单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟。这样的好处是,如果不使用一个外设的时候,就把它的时钟关掉,从而可
    发表于 08-25 10:14 2127次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的原理<b class='flag-5'>详解</b> <b class='flag-5'>STM32</b><b class='flag-5'>时钟</b>系统的配置方法

    STM32单片机RTC模块的分析

    今天给大家介绍一下 STM32 单片机的 RTC 模块和它的后备区域寄存器,我们在使用 51 单片机的时候,如果需要用到 RTC 实时时钟,通常会使用一颗外置的 RTC实时
    发表于 11-11 15:51 36次下载

    51单片机STM32单片机有哪些区别

    大部分朋友可能都知道51单片机stm32单片机也知道一般入门会先学习51单片机在学习stm32单片机
    发表于 08-13 17:32 17次下载
    51<b class='flag-5'>单片机</b>和<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>有哪些区别

    STM32单片机为什么必须先配置时钟

    首先,任何外设都需要时钟,51单片机STM32,STM430等等,因为寄存器是由D触发器组成的,往触发器里面写东西,前提条件是有时钟输入。
    发表于 07-31 17:35 2次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>为什么必须先配置<b class='flag-5'>时钟</b>

    使用单片机STM32实现配置时钟的详细资料说明

    本文档的主要内容详细介绍的是使用单片机STM32实现配置时钟的详细资料说明。
    发表于 03-24 15:07 25次下载
    使用<b class='flag-5'>单片机</b><b class='flag-5'>STM32</b>实现配置<b class='flag-5'>时钟</b>的详细资料说明

    一图详解STM32单片机的5个时钟源资料下载

    电子发烧友网为你提供一图详解STM32单片机的5个时钟源资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以
    发表于 04-20 08:46 5次下载
    一图<b class='flag-5'>详解</b><b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的5个<b class='flag-5'>时钟</b>源资料下载

    基于STM32单片机时钟树设计方案

    基于STM32单片机时钟树设计方案
    发表于 08-04 16:37 38次下载

    stm32单片机的基本组成是什么

    stm32是一款高性能、低成本、低功耗、可裁剪的嵌入式单片机。那么stm32单片机的基本组成是什么呢?下面小编就为大家来介绍一下stm32
    的头像 发表于 08-19 15:47 1.9w次阅读

    单片机入门--常见单片机PIC\STM32

    单片机入门--常见单片机PIC\STM32
    发表于 11-13 14:36 43次下载
    <b class='flag-5'>单片机</b>入门--常见<b class='flag-5'>单片机</b>PIC\<b class='flag-5'>STM32</b>

    详解STM32单片机和51单片机的区别

    分享本文,简单分析STM32与51单片机的区别与取舍之处。
    的头像 发表于 04-18 10:45 3.8w次阅读

    基于STM32单片机RTC实时时钟使用库文件设计

    基于STM32单片机RTC实时时钟使用库文件设计源代码
    发表于 04-26 14:28 5次下载

    STM32单片机的工作原理和优缺点 STM32单片机的选型要点

    STM32是STMicroelectronics厂商推出的具有高性能、低功耗以及低成本的 ARM Cortex-M系列单片机,被广泛应用于各种消费类电子、工业自动化、医疗保健设备等领域。STM32
    发表于 08-25 18:22 1.3w次阅读