前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详述使用CubeMX配置STM32RCC时钟

详述使用CubeMX配置STM32RCC时钟

作者头像
秋名山码神
发布2023-11-15 09:02:30
1.5K0
发布2023-11-15 09:02:30
举报
文章被收录于专栏:码神随笔

前言

STM32微控制器的时钟部分是其操作的核心,处理器的稳定工作也离不开时钟,它负责为微控制器提供时钟信号以驱动CPU、外设和总线,

所用软件:

  • Keil5
  • STM32 CubeMX

所用开发板型号:stm32f103vet6

一、STM32时钟概述

在STM32微控制器中,时钟系统由多个时钟源、时钟分频器和时钟使能控制组成,可以通过寄存器配置来实现对时钟的控制和调整。

  1. 时钟源
    • 内部振荡器(HSI):高速内部振荡器,通常频率为8MHz。
    • 外部晶体振荡器(HSE):连接外部晶体振荡器,可提供更稳定的时钟信号。
    • PLL(Phase-Locked Loop):用于产生高频时钟信号,通过对输入时钟源进行倍频得到高频时钟信号。
  2. 时钟分频器: 时钟分频器用于将时钟源的频率分频得到所需的时钟频率,比如系统时钟、总线时钟等。它们可以确保各个模块获得适合自己工作的时钟频率。
  3. 时钟使能: 对于每个外设,都有相应的时钟使能控制位,用于启用或禁用该外设的时钟信号。当某个外设不被使用时,禁用其时钟可以减少功耗。

在STM32中,时钟配置通常由寄存器进行设置。通过配置相关的寄存器,可以选择时钟源、设置PLL的倍频因子、配置分频器等。除了手动配置外,ST提供了CubeMX工具,它可以帮助用户通过图形界面来配置时钟,最终生成相应的初始化代码。

STM32F103的时钟树如下:

二、时钟源

STM32F103系列微控制器具有多个可用的时钟源。以下是常见的时钟源:

  1. 内部高速振荡器(HSI)
    • 频率:默认为8MHz,可以通过软件配置为2MHz。
    • 稳定性:适用于大多数应用,具有较好的稳定性和精确度。
    • 启动时间:约为2ms。
  2. 外部晶体振荡器(HSE)
    • 频率:通常为4MHz或8MHz,也可以使用其他频率的外部晶体。
    • 稳定性:提供更高的时钟稳定性和精确度,适用于需要更高时钟精度的应用。
    • 启动时间:取决于外部晶体的特性,一般在数十毫秒范围内。
  3. PLL(Phase-Locked Loop)
    • 输入时钟源:可以选择HSI或HSE作为PLL的输入时钟源。
    • 倍频因子:可通过设置寄存器来选择倍频因子,将输入时钟源的频率乘以固定的倍数,获得更高频率的系统时钟。
    • 频率范围:对于STM32F103系列,最大系统时钟频率为72MHz。

通过配置相关的寄存器,可以选择时钟源并配置PLL的输入时钟源和倍频因子。例如,可以将HSI或HSE作为主时钟源,并通过PLL将其倍频得到更高的系统时钟频率。

三、使用CubeMX配置

  1. 配置RCC

修改HCLK为最大72M, 他这里是问我们没有时钟源没配置成功,点击ok,cubemx会自动帮我们修改

3. 分频率,就是一个除法运算

4. 倍频,和前面的联系起来看,就是可以将HSI或HSE作为主时钟源,并通过PLL将其倍频得到更高的系统时钟频率。

最后

简单来说,对于STM32上的时钟,根据需求来确定,时钟频率越高,功耗也会更高,另一方面要考虑芯片的工作条件,根据芯片运行的工作条件来选取时钟频率。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、STM32时钟概述
  • 二、时钟源
  • 三、使用CubeMX配置
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档