【STM32】理解时钟树(图示分析)

news2024/12/28 18:12:57

文章目录

  • 时钟系统
    • 什么是时钟
    • 时钟树
    • 简化图示
    • 类比示例
    • 时钟树详解
      • 时钟源
      • 系统时钟配置
      • 各总线时钟
      • 外设时钟

时钟系统

什么是时钟

时钟在电子和计算机系统中指的是生成周期性信号的电路或设备,这种周期性信号用于同步系统内的各种操作。时钟信号通常是方波,具有固定的频率和周期,在数字电路中尤为重要。以下是时钟的详细说明:

  1. 时钟的基本概念
    周期 (Period):时钟信号重复一次所需的时间,通常以秒(s)或其子单位(如毫秒ms、微秒μs、纳秒ns)表示。
    频率 (Frequency):时钟信号每秒钟重复的次数,以赫兹 (Hz) 为单位,频率是周期的倒数。例如,1 MHz 表示每秒钟有 1,000,000 个时钟周期。
    占空比 (Duty Cycle):时钟信号在一个周期内处于高电平的时间与周期总时间的比值,通常以百分比表示。
  2. 时钟的作用
    同步操作:在数字系统中,不同的模块和电路需要在同一时间执行操作。时钟信号提供了一个共同的时间基准,确保各个模块同步运行。
    数据采样:时钟信号用来控制数据的采样和传输,例如在寄存器中写入或读取数据。
    时序控制:通过时钟信号,可以精确控制系统中各个操作的时序,确保数据处理的正确性。

时钟树

以STM32F103C8T6为例,先看产品手册中的时钟树很懵逼
在这里插入图片描述

简化图示

在这里插入图片描述

类比示例

在这里插入图片描述

单片机的总线矩阵相当于电脑的主板,
单片机的Cortex-M3内核相当于电脑的CPU,
Flash是相当于电脑的硬盘,单面机的RAM相当于电脑的内存条,
单片机的AHB总线相当于向PCLe插槽,APB1和APB2转换桥相当于PCLe转USB板卡,
单片机的APB2总线相当于USB3.0。
单片机的APB1总线相当于USB2.0,
而挂载在总线上的各种各样的模块,就相当于摄像头、麦克风、移动硬盘、鼠标、键盘等这些外部源的设备。

时钟树详解

在这里插入图片描述

在这里插入图片描述

时钟源

STM32F103C8T6 支持多种时钟源,包括:

  • 高频外部晶振 (HSE):通常用于高精度的外部晶振,可以是 4-16 MHz。
  • 低频外部晶振 (LSE):用于低功耗应用的外部晶振,频率通常为 32.768 kHz。
  • 高频内部振荡器 (HSI):内部 8 MHz 的振荡器。
  • 低频内部振荡器 (LSI):内部 40 kHz 的振荡器
  • PLL (锁相环):可以通过 HSE 或 HSI 提供倍频后的时钟信号。

系统时钟配置

系统时钟 (SYSCLK) 是整个芯片的主时钟源,可以选择 HSI、HSE 或 PLL 作为系统时钟源。选择过程如下:

  • 选择 HSE 或 HSI 作为 PLL 的输入时钟源(如果使用 PLL)。
  • 配置 PLL 的倍频系数,确保输出频率在允许的范围内(最高 72 MHz)
  • 选择系统时钟源:可以选择 HSI、HSE 或 PLL。
  • 配置 AHB、APB1 和 APB2 分频器,生成不同的外设时钟。

各总线时钟

  • AHB 时钟 (HCLK):由系统时钟 SYSCLK 通过 AHB 分频器提供,负责驱动内核、存储器和 DMA 等高速外设。
  • APB1 时钟 (PCLK1):通过 APB1 分频器从 HCLK 提供,驱动低速外设如 UART、I2C、SPI 等。
  • APB2 时钟 (PCLK2):通过 APB2 分频器从 HCLK 提供,驱动高速外设如 GPIO、ADC、TIM1 等。

外设时钟

  1. 高速外设时钟 (APB2)
    APB2 总线用于驱动高速外设,包括 GPIO、ADC、TIM1、SPI1 等。这些外设的时钟源通常来自以下几个路径:
    PCLK2 (APB2 预分频器输出时钟):通过 AHB 总线时钟 (HCLK) 分频获得。
    系统时钟 (SYSCLK):通过 PLL 或直接选择 HSI、HSE 作为系统时钟。
  2. 低速外设时钟 (APB1)
    APB1 总线用于驱动低速外设,包括 UART、I2C、TIM2-7、SPI2、SPI3 等。这些外设的时钟源如下:
    PCLK1 (APB1 预分频器输出时钟):通过 AHB 总线时钟 (HCLK) 分频获得。
    系统时钟 (SYSCLK):通过 PLL 或直接选择 HSI、HSE 作为系统时钟。
  3. ADC 时钟
    ADC 外设的时钟可以由以下路径提供:
    PCLK2:通过 RCC_CFGR 中的 ADCPRE 分频配置,可以选择 PCLK2 的 2、4、6 或 8 分频。
  4. USB 时钟
    USB 外设需要 48 MHz 的时钟,通常由 PLL 提供:
    PLL 输出时钟 (PLLCLK):通过 PLL 配置获得 48 MHz 时钟,如果 PLL 的输入时钟为 8 MHz(HSI),则需要配置 PLL 的倍频系数为 6。
  5. 实时时钟 (RTC)
    RTC 的时钟源可以是:
    低频外部晶振 (LSE):通常为 32.768 kHz。
    低频内部振荡器 (LSI):通常为 40 kHz。
  6. 定时器时钟
    定时器的时钟源可以是:
    APB1 和 APB2 时钟 (PCLK1, PCLK2):定时器时钟频率是由对应的 APB 时钟频率决定的,如果 APB 时钟进行了分频,定时器时钟可能会有 2 倍的频率。
  7. SPI 时钟
    SPI 外设的时钟源为:
    PCLK2 (对于 SPI1):通过 AHB 总线时钟 (HCLK) 分频获得。
    PCLK1 (对于 SPI2, SPI3):通过 AHB 总线时钟 (HCLK) 分频获得。
  8. UART/I2C 时钟
    UART 和 I2C 外设的时钟源为:
    PCLK1 (对于 UART2, UART3, I2C1, I2C2):通过 AHB 总线时钟 (HCLK) 分频获得。
    PCLK2 (对于 UART1):通过 AHB 总线时钟 (HCLK) 分频获得。
  9. GPIO 时钟
    GPIO 外设的时钟源为:
    PCLK2:通过 AHB 总线时钟 (HCLK) 分频获得

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1940415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLO 模型基础入门及官方示例演示

文章目录 Github官网简介模式数据集Python 环境Conda 环境Docker 环境部署 CPU 版本官方 CLI 示例官方 Python 示例 任务目标检测姿势估计图像分类 Ultralytics HUB视频流示例 Github https://github.com/ultralytics/ultralytics 官网 https://docs.ultralytics.com/zhhttp…

图像生成(Text-to-Image)发展脉络

这篇博客对 图像生成(image generation) 领域的经典工作发展进行了梳理,包括重要的一些改进,目的是帮助读者对此领域有一个整体的发展方向把握,并非是对每个工作的详细介绍。 脉络发展(时间顺序&#xff0…

13.5.【C语言】二维数组

接第13篇(http://t.csdnimg.cn/TioJH) 把一维数组做为数组的元素,这时候就是二维数组,二维数组作为数组元素的数组被称为三维数组,二维数组以上的数组统称为多维数组。 01.创建 格式: 数据类型 数组名[…

GESP CCF 图形化编程四级认证真题 2024年6月

一、单选题(共 10 题,每题 2 分,共 30 分) 题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 C B C D C D A B D C C D A A B 1、小…

Java语言程序设计基础篇_编程练习题**15.12(几何问题:是否在圆内)

**15.12(几何问题:是否在圆内) 请编写一个程序,绘制一个圆心在(100, 60)而半径为50的固定的圆。当鼠标移动时,显示一条消息表示鼠标点是在圆内还是在圆外,如图15-27a所示 答题思路: 新建一个面板Pane(),一个Circle(100&#xff…

七天打造一套量化交易系统:Day1-数据分类、获取、清洗与存储

七天打造一套量化交易系统:Day1-数据分类、获取、清洗与存储 数据是量化交易的基础,重要性不言而喻。无论是股票、期货、期权、基金、ETF等等,甚至包括比特币,这些投资标的历史行情数据都可以用作回测分析,本篇将分享…

Python测试服务器连接的实战代码

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

2024最佳游戏引擎排行

游戏产业几十年来一直是一个大生意,而且发展势头迅猛。据估计,全球游戏市场在 2025 年每年将达到 5031.4 亿美元,2023 年为 3960 亿美元。 尽管如今有市面上有各种各样的解决方案,但游戏开发人员和管理者在选择适合他们需求的游戏…

【基于netty+zookeeper的rpc远程调用框架】首篇——缘起

🐼作者简介:一名大三在校生🎋 空有想法,没有实践 文章目录 第一章 概述缘起一、为什么要手写一个rpc项目二、什么是rpc三、rpc怎么使用四、rpc的通信流程 欢迎添加微信,加入我的核心小队,请备注来意 第一章…

NCRE1-2 管理和运营宽带城域网的关键技术

是记录,会有错误 网络管理 这个喜欢考选择题 带内网络管理 用传统的电信网络通过 D C N ( D a t a C o m m u n i c a t i o n N e t w o r k ) DCN(Data\ Communication\ Network) DCN(Data Communication Network)或 P S I N ( P u b l i c S w i t c h T e l …

Java特性与快速入门(JDK,JRE,JVM与hello world)

目录 1.Java重要特点 2.Java运行机制及运行过程 跨平台性 3.什么是JDK,JRE 4.JDK,JRE和JVM的包含关系 5.Java快速入门 输出 hello world! 代码示例: 原理讲解: 练习 代码示例: 1.Java重要特点 2.Java运行机制及运行…

自定义Bean转换工具类

BeanConvertor工具类:简化Java对象转换的利器 在Java开发中,我们经常需要在不同的对象之间转换数据。这可能是因为我们需要将数据从一个层(如数据访问层)转移到另一个层(如服务层或表示层),或者是因为我们需要将外部API的数据结构转换为我们的内部数据结构。这种转…

LeetCode 739, 82, 106

文章目录 739. 每日温度题目链接标签思路代码 82. 删除排序链表中的重复元素 II题目链接标签思路代码 106. 从中序与后序遍历序列构造二叉树题目链接标签思路二叉树的三种遍历值与索引的映射对于后序遍历的使用对于中序遍历的使用 代码 739. 每日温度 题目链接 739. 每日温度…

完整创建一个vite前端项目

目录 1.先创建一个vite项目 2.下载第三方依赖 ① 安装路由vue-router ② 安装vuex全局数据管理 ③ 安装element-plus ④ 安装element-plus图标 ⑤ 安装axios发送请求 ⑥ 完整main.js代码模板 3.开发组件 4.登陆页面开发用例 5. 完整项目代码 废话少说,直接…

【C++】 string类的模拟实现

目录 一、我们先创建三个文件分别为 String.h(声明)、String.cpp(定义)、teat.cpp(测试) 二、成员函数 构造函数与析构函数 🌟string() 🌟string(const char* str) &#x1f…

探索SideLlama:浏览器中的本地大型语言模型

在这个数字化时代,浏览器扩展程序已经成为我们日常网络体验中不可或缺的一部分。它们不仅为我们提供了便利,还为我们的浏览体验增添了更多的功能和乐趣。今天,我要介绍的是一个全新的Chrome浏览器扩展程序——SideLlama,它能够让你…

SOMEIPSRV_ONWIRE_03: 从请求中复制请求ID到响应消息

测试目的: 确保服务器在生成响应消息时将请求ID从请求消息复制到响应消息。 描述 本测试用例旨在验证DUT(Device Under Test,被测试设备)在处理SOME/IP请求和生成相应响应时,是否将请求消息中的请求ID正确复制到了响…

苹果相册里的视频删除了怎么恢复?只需3招,轻松拿捏

一个不小心手滑把苹果手机相册里的视频删除了怎么办?删除了是不是再也找不回来了?那些美好的回忆是不是也从此消散了?当然不是!苹果手机相册里的视频删除了怎么恢复?小编这里有3个秘诀,可以让它重新出现在你…

中智讯与黄淮学院共建“嵌入式边缘计算创客工坊”正式签约

7月13日,中智讯(武汉)科技有限公司与黄淮学院共建“嵌入式边缘计算创客工坊”正式签约。出席签约仪式的有黄淮学院电子信息学院党委书记魏迎军同志、院长高有堂教授、副院长吴忠林教授、党委副书记从卫东同志及全体教职工,中智讯(武汉)科技有限公司技术副…

Jackson详解

文章目录 一、Jackson介绍二、基础序列化和反序列化1、快速入门2、序列化API3、反序列化API4、常用配置 三、常用注解1、JsonProperty2、JsonAlias3、JsonIgnore4、JsonIgnoreProperties5、JsonFormat6、JsonPropertyOrder 四、高级特性1、处理泛型1.1、反序列化List泛型1.2、反…