当前位置: 首页 > news >正文

(STM32笔记)九、RCC时钟树与时钟 第一部分

我用的是正点的STM32F103来进行学习,板子和教程是野火的指南者
之后的这个系列笔记开头未标明的话,用的也是这个板子和教程。

九、RCC时钟树与时钟

  • 九、RCC时钟树与时钟
    • 1、时钟树
      • HSE时钟
      • HSI时钟
      • 锁相环时钟
      • 系统时钟
      • HCLK时钟
      • PCLK1时钟
      • PCLK2时钟
      • RTC时钟
      • 独立看门狗时钟
      • MCO时钟输出
      • 时钟安全系统(CSS)

九、RCC时钟树与时钟

1、时钟树

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

HSE时钟

  • HSE:High Speed External Clock signal,即高速的外部时钟。
    在这里插入图片描述

  • 来源:无源晶振(4-16M),通常使用8M,通过倍频得到72M。
    在这里插入图片描述

无缘晶振需要配两个电容

补充:
有源晶振一般4个脚,一个电源,一个接地,一个信号输出端,一个NC(空脚)。有源晶振自身就能震动。
在这里插入图片描述

  • 控制:

在这里插入图片描述

时钟控制寄存器(RCC_CR)的位16:HSEON控制开关
在这里插入图片描述

时钟控制寄存器(RCC_CR)的位17:HSERDY显示时钟是否就绪(仅可读)
在这里插入图片描述

HSI时钟

  • HSI:Low Speed Internal Clock signal,高速的内部时钟。
    在这里插入图片描述

  • 来源:芯片内部,大小为8M,当HSE故障时,系统时钟会自动切换到HSI,直到HSE启动成功。

  • 控制:
    在这里插入图片描述

时钟控制寄存器(RCC_CR)的位0:HSION控制开关
在这里插入图片描述

时钟控制寄存器(RCC_CR)的位1:HSIRDY显示时钟是否就绪(仅可读)
在这里插入图片描述

锁相环时钟

  • 锁相环时钟:PLLCLK
    在这里插入图片描述

  • 来源:(HSI/2、HSE)经过倍频所得。
    其中HSI一定会/2分频,HSE可以选择是否/2分频。
    选择其中一个时钟进行倍频,即可得到锁相环时钟。

  • 控制:
    在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位16:PLLSRC
在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位17:PLLXTPRE
在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位21:18:PLLMUL
在这里插入图片描述

注意:PLL时钟源头使用HSI/2的时候,PLLMUL最大只能是16,这个时候PLLCLK最大只能是64M,小于ST官方推荐的最大时钟72M。

系统时钟

  • 锁相环时钟:SYSCLK,最高为72M(ST官方推荐的)
    在这里插入图片描述

  • 来源:HSI、HSE、PLLCLK。

  • 控制:
    在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位1:0:SW
在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位3:2:SWS(仅可读)
在这里插入图片描述

注意:通常的配置是SYSCLK=PLLCLK=72M。

HCLK时钟

在这里插入图片描述

在这里插入图片描述

  • HCLK:AHB高速总线时钟,速度最高为72M。为AHB总线的外设提供时钟、为Cortex系统定时器提供时钟(SysTick)、为内核提供时钟(FCLK)。

AHB:advanced high-performance bus。

  • 来源:系统时钟分频得到,一般设置HCLK=SYSCLK=72M
  • 控制:
    在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位7:4:HPRE
在这里插入图片描述

PCLK1时钟

在这里插入图片描述

在这里插入图片描述

  • PCLK1:APB1低速总线时钟,最高为36M,为APB1总线的外设提供时钟。
    2倍频之后则为APB1总线的定时器2-7提供时钟,最大为72M。

如HCLK时钟为72M时,如果不用APB1外设,则分频系数为1(72M);如果使用APB1外设,则分频系数为2(此时36M),同时再倍频2给定时器2-7提供时钟(还是72M)。

  • 来源:APB1分频得到,一般配置PCLK1=HCLK/2=36M
  • 控制:
    在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位10:8:PPRE1
在这里插入图片描述

PCLK2时钟

在这里插入图片描述

在这里插入图片描述

  • PCLK2:APB2高速总线时钟,最高为72M。为APB1总线的外设提供时钟。为APB1总线的定时器1和8提供时钟,最大为72M。
  • 来源:APB2分频得到,一般配置PCLK1=HCLK=72M
  • 控制:
    在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位13:11:PPRE2
在这里插入图片描述

其中ADC时钟最大14MHz,还需要对PCLK2时钟继续分频
时钟配置寄存器(RCC_CFGR)位15:14:ADCPRE
在这里插入图片描述

RTC时钟

  • RTC时钟:为芯片内部的RTC外设提供时钟。
    在这里插入图片描述

  • 来源:HSE_RTC(HSE分频得到)、LSE(外部32.768KHZ的晶体提供)、LSI(40KHZ)。

  • 控制:
    在这里插入图片描述

备份域控制寄存器(RCC_BDCR)位9:8:RTCSEL
在这里插入图片描述

独立看门狗时钟

  • IWDGCLK,由LSI提供
    在这里插入图片描述

MCO时钟输出

  • MCO:microcontroller clock output,微控制器时钟输出引脚,由PA8复用所得。
    在这里插入图片描述

  • 来源:PLLCLK/2,HSE、HSI、SYSCLK

  • 控制:CRGR:MCO
    在这里插入图片描述

时钟配置寄存器(RCC_CFGR)位26:24:MCO
在这里插入图片描述

时钟安全系统(CSS)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

时钟控制寄存器(RCC_CR)的位19:CSSON控制开关
在这里插入图片描述

相关文章:

  • 微信小程序之behaviors
  • 刷题——不同路径的数目
  • Python基础学习笔记(一)
  • 记录一次网站疑似被劫持的排查
  • 数据治理五部曲
  • uniapp中初始化对象不赋值,后续属性无法绑定问题
  • 掌握SQL Server事务日志的艺术:深入配置与管理
  • Spock Unit Test in Java
  • c++ 11 =delete
  • 数据结构(面试)
  • Java:类和对象
  • c++网络编程实战——开发基于协议的文件传输模块(一)如何实现一个简单的tcp长连接
  • vulnhub靶机:Tomato
  • 【Spring】详细了解静态代理和动态代理的使用
  • Android读取拨号记录功能
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • classpath对获取配置文件的影响
  • Java方法详解
  • Sass 快速入门教程
  • SpringCloud集成分布式事务LCN (一)
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 代理模式
  • 计算机在识别图像时“看到”了什么?
  • 记录:CentOS7.2配置LNMP环境记录
  • 将回调地狱按在地上摩擦的Promise
  • 聚类分析——Kmeans
  • 入门到放弃node系列之Hello Word篇
  • 我感觉这是史上最牛的防sql注入方法类
  • 一些css基础学习笔记
  • ​configparser --- 配置文件解析器​
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #传输# #传输数据判断#
  • (1)虚拟机的安装与使用,linux系统安装
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (python)数据结构---字典
  • (二)pulsar安装在独立的docker中,python测试
  • (二)PySpark3:SparkSQL编程
  • (分布式缓存)Redis分片集群
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (九)One-Wire总线-DS18B20
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (三)mysql_MYSQL(三)
  • (十三)Maven插件解析运行机制
  • (未解决)macOS matplotlib 中文是方框
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)大型网站架构演变和知识体系
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 8 发布了,试下微软最近强推的MAUI