6.STM32时钟系统

news/2024/6/3 17:32:07 标签: stm32, 单片机, 嵌入式硬件

1.时钟系统框图:

  • HSI:高速的内部时钟->8MHz;
  • HSE:外部高速时钟->8MHz;
  • PLL: 锁相环->用于倍频(放大频率);
  • CSS:时钟监控系统(一旦检测到HSE(外部晶振)失败,将会自动切换系统时钟源HSI);
  • LSE:低速外部时钟,一般作用是给RTC(实时时钟)时钟供电->32.768KHz;
  • LSI:低速内部时钟->约40KHz;
  • MCO:输出内部时钟的引脚;

2.时钟系统总结:

(1)STM32有5个时钟源:HSI、HSE、LSI、LSE、PLL

  1. HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高;
  2. HSE是高速外部时钟,可接石英/陶瓷谐振器或接外部时钟源,频率范围4MHz~16MHz;
  3. LSI是低速内部时钟,RC振荡器,频率为40KHz,提供低功耗时钟;
  4. LSE是低速外部时钟,接频率为32.798KHz的石英晶体;
  5. PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但输出频率最大不得超过72MHz。

(2)系统时钟SYSCLK可来源于三个时钟源:

  1. HSI振荡器时钟;
  2. HSE振荡器时钟;
  3. PLL时钟;

(3)STM32可选择一个时钟信号输出到MCO(PA8)脚上,可选择为PLL输出的2分频、HSI、HSE或系统时钟。

(4)任何一个外设在使用之前,必须首先使能其相应的时钟;

3.重要时钟:

  • SYSCLK系统时钟;
  • AHB总线时钟;
  • APB1总线时钟(低速):速度最高位36MHz;
  • APB2总线时钟(高速):速度最高位72MHz;

4.RCC相关配置寄存器:

  • RC:HSI、HSE、CSS、PLL等的使能和就绪标志位;
  • CFGR:PLL等的时钟源选择,分频系数设定;
  • CIR:清除/使能 时钟就绪中断;
  • APB2RSTR:APB2线上外设复位寄存器;
  • APB1RSTR:APB1线上外设复位寄存器;
  • AHBENR:DMA、SDIO等时钟使能;
  • APB2ENR:APB2线上外设时钟使能;
  • APB1ENR:APB1线上外设时钟使能;
  • BDCR:备份域控制寄存器;
  • CSR:控制状态寄存器;

5.RCC相关头文件和固件库源文件:


http://www.niftyadmin.cn/n/470131.html

相关文章

数字IC前端学习笔记:仲裁轮询(五)

相关文章 数字IC前端学习笔记:LSFR(线性反馈移位寄存器) 数字IC前端学习笔记:跨时钟域信号同步 数字IC前端学习笔记:信号同步和边沿检测 数字IC前端学习笔记:锁存器Latch的综合 数字IC前端学习笔记&am…

python爬虫-逆向实例小记-2

注意!!!!某数据网站逆向实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!!! 案例分析 第一步:分析请求和响应内容。该网站任何一请求和内容都不可直接…

错误:No module named ‘osgeo’

from osgeo import gdal 报错:No module named ‘osgeo’ pip install gdal 会出错,也不知道什么原因。 解决方案: 下载whl,然后pip install .whl即可。 详细步骤如下: whl下载地址:https://www.lfd.uci.edu/~go…

使用AspectJ框架实现AOP编程

使用AspectJ框架实现AOP编程 当我们在开发应用程序时,通常会将业务逻辑和横切关注点混合在一起。例如,我们可能会在每个方法中添加日志记录、事务管理或安全检查等代码。这样做会导致代码冗余、可读性差、难以维护和测试。 AOP的改变 AOP解决了这个问…

高速电路设计系列分享-ADC电源的设计

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 如今,在设计人员面临众多电源选择的情况下,为高速ADC设计清洁电源时可能会面临巨大挑战。在利用高效开关电源而非传统LDO的场合,这尤其重要。…

OpenStack(1)--创建实例

目录 一、上传镜像 1.1 新建目录 1.2 上传至glance 1.3 查看镜像 二、新建实例 2.1 获取秘钥 2.2 新建实例 2.3 新建实例admin-vm 2.4 获取实例VNC的url 2.5 nova常用命令 一、上传镜像 1.1 新建目录 上传名为cirros-0.3.4-x86_64-disk.img的Linux测试镜像&#xf…

yolov8-02 训练自己的数据集

1. 准备数据集 数据集格式跟yolov5一样,关于如何准备数据集可见之前的文章。 2. 创建 mydata.yaml 格式参考coco128.yaml,主要是 train / validate文件的存放路径,可以是同一个。 在ultralytics-main/ultralytics/datasets中,…

Vuex入门教程:状态管理库的安装、使用和实例演示

简介: Vuex是Vue.js的官方状态管理库,用于管理应用程序的状态。本篇博客将介绍如何安装Vuex、创建Vuex Store,并在Vue应用中使用Vuex来访问和修改状态。同时,我们将提供一个实例演示,以更具体地展示Vuex的用法。 正文…