STM32之二:时钟树

目录

1. 时钟

2. STM3时钟源(哪些可以作为时钟信号)

2.1 HSE时钟

        2.1.1 高速外部时钟信号(HSE)来源

        2.1.2 HSE外部晶体电路配置

2.2 HSI时钟

2.3 PLL时钟

2.4 LSE时钟

2.5 LSI时钟

 3. STM32时钟(哪些系统使用时钟)

3.1 系统(SYSCLK)时钟

3.2 RTC时钟

3.3 看门狗时钟

3.4 时钟输出MOC

4. STM32时钟树

4.1 AHB预分频器

5. STM32时钟配置


1. 时钟

        STM32的时钟就是周期性的脉冲,50%占空比的方波、正弦波或三角波都可作为STM32的时钟信号。

2. STM3时钟源(哪些可以作为时钟信号)

        

STM32时钟源
时钟源时钟范围主要用途
HSE高速外部时钟
4~16MMHz

1. 系统时钟

2. 128分频后输入RTC时钟

HSI

高速内部时钟

8MHz

1. 备用时钟源

2. 2分频后作为PLL输入

LSE

低速外部时钟

32.768kHz

RTC实时时钟

LSI低速内部时钟40kHz

1. 待机/停机模式下时钟

2.RTC、IDWG、AWU时钟

2.1 HSE时钟

        2.1.1 高速外部时钟信号(HSE)来源
  1. HSE外部晶体/陶瓷谐振器(通常使用这种)
  2. HSE用户外部时钟
        2.1.2 HSE外部晶体电路配置

为了减少时钟输出的失真和缩短启动稳定时间,晶体 / 陶瓷谐振器和负载电容器必须尽可能地靠近振荡器引脚。负载电容值必须根据所选择的振荡器来调整。
注:1.时钟控制寄存器(RCC_CR)中HSERDY位被置位,表示高速外部振荡器稳定
        2.时钟控制寄存器(RCC_CR)中HSEON位表示开启或关闭HSE高速外部时钟

2.2 HSI时钟

HSI时钟
来源内部8MHz
振荡器RC振荡器
作用

1. 直接作为系统时钟

2.2分频后作为PLL输入

3.如果HSE失效,HSI时钟会被作为备用时钟源

优点

1. 不需要额外的外部器件,成本较低

2.启动时间比HSE短

缺点

1.校准后时钟频率精度仍然较差

2.RC振荡器精度受电压和环境影响

时钟控制寄存器RCC_CR

1. HSIRDY位置位,表示HSI时钟稳定

2.HSION位开启或者关闭HSI时钟

2.3 PLL时钟

PLL锁相环是一种控制系统,之所以叫PLL时钟,是因为,PLL通过调整输入信号(HSE、HSI)的频率和相位,以满足系统对不同频率的要求。

PLL时钟
输入

1. HSI 2分频后输入

2.HSE

使用

1. 输入时钟源稳定后才能使能PLL(RCC_CR的HSIRDY或者HSERDY置位)

2.使能PLL前需要完成PLL配置(选择时钟源、预分频系数、倍频系数)

时钟配置寄存器(RCC_CFGR):

为何要用倍频器,而不是选择一个高频率的晶振?

对于稳定运行的电路来说,时钟频率越高,指令执行越快,单位时间内处理的功能也就越多。但是时钟源的时钟频率最高也就16MHz,达不到STM32系统时钟72MHz的要求,因此需要倍频器将外部时钟频率进行倍频,在输入给系统时钟。

倍频涉及到时钟配置寄存器(RCC_CFGR):

2.4 LSE时钟

LSE时钟
来源(输入)外部32.768KHz
振荡器外部晶体
作用

1. 驱动RTC实时时钟

2. 备份域控制寄存器(RCC_BDCR)LSERDY置位表示晶体振荡器稳定,LSEON表示开启或关闭该时钟

优点

1. 低功耗

2. 精确

2.5 LSI时钟

LSI时钟
来源内部40kHzRC震荡时钟
作用

1. 在停机模式/待机模式下保持运行

2. 独立看门狗(IDWG)时钟、自动唤醒单元(AWU)时钟

3.控制 /状态寄存器(RCC_CSR)里的LSIRDY置位表示震荡稳定,LSION位控制开启或关闭该时钟

 3. STM32时钟(哪些系统使用时钟)

3.1 系统(SYSCLK)时钟

        SYSCLK为整个芯片提供时钟信号,其来源主要有3种:

1. HSE作为系统时钟

2. HSI作为系统时钟

3.PLL作为系统时钟(又叫做HSE间接作为系统时钟)

        可在时钟控制寄存器(RCC_CR)中状态指示位查看当前系统时钟的时钟来源。

另外,当系统时钟的时钟源要进行切换时,只有目标时钟源准备就绪后,时钟源的切换才会发生,涉及时钟配置寄存器RCC_CFGR:

3.2 RTC时钟

        三个输入:LSE、LSI、HSE128分频

3.3 看门狗时钟

LSI提供40kHz时钟。如果看门狗被启动,则LSI会被强制启动,待振荡器稳定后,输入给看门狗。

3.4 时钟输出MOC

4. STM32时钟树

图中标红色方框的为时钟源,可以看到包括之前介绍的HSE、LSE、PLL、HSI、LSI。

图中标绿色方框的为使用时钟(MCO为输出时钟),包括SYSCLK、RTC、IWDG、MOC。

除此之外,时钟树右侧部分,即SYSCLK输出,主要包括外设和和AHB。

4.1 AHB预分频器

预分频器,可通过配置分频系数,调整输出时钟的频率。分频允许系统中不同部分以不同的频率运行,以满足不同模块的工作需求。【主时钟(SYSCLK)、APB1时钟、APB2时钟】

图片来源(CSDN: King~30+,侵删)

AHB预分频器的分频系数可以选择为1(不分频)、2、4、6、8、16、64、128、256、512。

涉及寄存器为时钟配置寄存器RCC_CFGR:

AHB输出到APB1总线和APB2总线,其中APB1总线最大时钟频率为36MHz,为低速时钟,片上挂载低速外设,例如看门狗定时器,USART2\3\4\5,SPI2\3等。APB2总线最大时钟频率为72MHz,其上通常为各种外设的1号选手,例如USART1、ADC1、SPI1等。

5. STM32时钟配置

看一下STM32是怎么配置系统时钟的。

此处以STM32F10xx系列为例,下载STM32固件库后,找到system_stm32f10x.c和system_stm32f10x.h两个文件,这两个文件是STM32用来配置系统时钟的。它提供了两个函数、一个变量和一些宏定义来进行时钟配置。

可以看到,通过SystemInit()函数,最终调用SetSSysclockTo72(),使用高速外部时钟源,最终在PLL锁相环9倍频,赋值给系统时钟。AHB、APB1、APB2经过分频系数分频,分别得到72MHz、36MHz、72MHz时钟频率。

观察SetSysClock(),通过宏定义最终调用所选择的主频率,如果为了降低功耗,或者需要修改STM的主频,可直接修改SYSCLK_FREQ_xxMHz宏定义来修改系统的主频,同样可以在system_stm32f10x.c文件中修改。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

html做一个分组散点图图的软件

在HTML中创建一个分组散点图,可以结合JavaScript库如D3.js或Plotly.js来实现。这些库提供了强大的数据可视化功能,易于集成和使用。下面是一个使用Plotly.js创建分组散点图的示例: 要添加文件上传功能,可以让用户上传包含数据的文…

使用 Python 进行测试(6)Fake it...

总结 如果我有: # my_life_work.py def transform(param):return param * 2def check(param):return "bad" not in paramdef calculate(param):return len(param)def main(param, option):if option:param transform(param)if not check(param):raise ValueError(…

matlab入门基础笔记

1、绘制简单三角函数: 绘制正弦曲线和余弦曲线。x[0:0.5:360]*pi/180; plot(x,sin(x),x,cos(x)); (1)明确x轴与y轴变量: 要求为绘制三角函数: X轴:角度对应的弧度数组 Y轴:对应sin(x)的值 求…

python pynput实现鼠标点击两坐标生成截图

脚本主要实现以下功能: 按ctrl开始截图,点击两个坐标,保存截图tk输出截图文本信息,文本输出内容倒序处理默认命名为A0自增。支持自定义名称,自增编号,修改自定义名称自增重新计算清空文本框内容 from pyn…

C++ (week8):数据库

文章目录 一、数据库简介1.数据库2.MySQL(1)数据库的结构(2)MySQL的三种使用方式(3)命令行(4)Navicat Premium 二、SQL1.SQL (Structured Query Language),即结构化查询语言2.数据定义语言 DDL (Data Definition Language) ,创建、修改、删除数据库、表结…

Leetcode3184. 构成整天的下标对数目 I

Every day a Leetcode 题目来源&#xff1a;3184. 构成整天的下标对数目 I 解法1&#xff1a;遍历 统计满足 i < j 且 hours[i] hours[j] 构成整天的下标对 i, j 的数目。 构成整天的条件&#xff1a;(hours[i] hours[j]) % 24 0。 代码&#xff1a; /** lc applee…

20分钟攻破DISCUZ论坛并盗取数据库(web安全白帽子)

20分钟攻破DISCUZ论坛并盗取数据库&#xff08;web安全白帽子&#xff09; 1 快速搭建discuz论坛1.1 攻击思路1.2 快速搭建实验环境1.2.1&#xff0c;漏洞概述1.2.2&#xff0c;在centos7虚拟机上搭建LAMP环境1.2.3&#xff0c;上传到discuz_X2_SC_UTF8.zip 到Linux系统/root下…

JAVA大型医院绩效考核系统源码:​医院绩效考核实施的难点痛点

JAVA大型医院绩效考核系统源码&#xff1a;​医院绩效考核实施的难点痛点 绩效考核数字化综合管理系统是一个基于数字化技术的管理平台&#xff0c;用于帮助企业、机构等组织进行绩效考评的各个环节的管理和处理。它将绩效考评的各个环节集成到一个系统中&#xff0c;包括目标…

RTA_OS基础功能讲解 2.10-调度表

RTA_OS基础功能讲解 2.10-调度表 文章目录 RTA_OS基础功能讲解 2.10-调度表一、调度表简介二、调度表配置2.1 同步三、到期点配置四、启动调度表4.1 绝对启动4.2 相对启动4.3 同步启动五、到期点处理六、停止调度表6.1 重新启动被停止的调度表七、切换调度表八、选择同步策略8.…

【C语言】解决C语言报错:Array Index Out of Bounds

文章目录 简介什么是Array Index Out of BoundsArray Index Out of Bounds的常见原因如何检测和调试Array Index Out of Bounds解决Array Index Out of Bounds的最佳实践详细实例解析示例1&#xff1a;访问负索引示例2&#xff1a;访问超出上限的索引示例3&#xff1a;循环边界…

一颗B+树可以存储多少数据?

一、前言 这个问题&#xff0c;非常经典&#xff0c;考察的点很多&#xff1a; 比如&#xff1a; 1、操作系统存储的单元&#xff0c;毕竟mysql也是运行在操作系统之上的应用。 2、B树是针对Mysql的InnoDB存储引擎&#xff0c;所以要理解InnoDb的最小存储单元&#xff0c;页&…

【Arduino】实验使用ESP32单片机根据光线变化控制LED小灯开关(图文)

今天小飞鱼继续来实验ESP32的开发&#xff0c;这里使用关敏电阻来配合ESP32做一个我们平常接触比较多的根据光线变化开关灯的实验。当白天时有太阳光&#xff0c;则把小灯关闭&#xff1b;当光线不好或者黑天时&#xff0c;自动打开小灯。 int value;void setup() {pinMode(34…

java基于ssm+jsp 美食推荐管理系统

1前台首页功能模块 美食推荐管理系统&#xff0c;在系统首页可以查看首页、热门美食、美食教程、美食店铺、美食社区、美食资讯、我的、跳转到后台等内容&#xff0c;如图1所示。 图1前台首页功能界面图 用户注册&#xff0c;在注册页面可以填写用户名、密码、姓名、联系电话等…

什么是 vCPU?有什么作用

vCPU 是物理 CPU 的虚拟化版本&#xff0c;是云计算的基本组成部分。这些虚拟化计算单元的一大优势是其良好的可扩展性&#xff0c;这也是它们在云托管中发挥重要作用的原因。 vCPU 有什么作用? vCPU(虚拟中央处理器)是物理CPU的虚拟化变体。换句话说&#xff0c;vCPU 是虚拟机…

ctfshow 2023 愚人杯 web

easy_signin 观察url&#xff0c;发现base64 &#xff0c;进行解码&#xff0c;原来可以访问文件路径&#xff0c;那我们访问一下index.php ?imgaW5kZXgucGhw查看源代码发现还是base64 解码得到flag 被遗忘的反序列化 <?php# 当前目录中有一个txt文件哦 error_reporti…

计算机视觉 | 基于图像处理和边缘检测算法的黄豆计数实验

目录 一、实验原理二、实验步骤1. 图像读取与预处理2. 边缘检测3. 轮廓检测4. 标记轮廓序号 三、实验结果 Hi&#xff0c;大家好&#xff0c;我是半亩花海。 本实验旨在利用 Python 和 OpenCV 库&#xff0c;通过图像处理和边缘检测算法实现黄豆图像的自动识别和计数&#xff0…

MarkDown基础

一、MarkDown标题 1.使用和-表示一级标题 2.使用#、##、###、####、######、######表示一级至六级标题 一级标题 二级标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 二、MarkDown标题 1.Markdown 段落没有特殊的格式&#xff0c;直接编写文字就好&#xff0c;…

适耳贴合的气传导耳机,带来智能生活体验,塞那Z50耳夹耳机上手

现在大家几乎每天都会用到各种AI产品&#xff0c;蓝牙耳机也是我们必不可少的装备&#xff0c;最近我发现一款很好用的分体式气传导蓝牙耳机&#xff0c;它还带有一个具备AI功能的APP端&#xff0c;大大方便了我们日常的使用。这款sanag塞那Z50耳夹耳机我用过一段时间以后&…

共93本!全网最全Frontiers旗下期刊2022、2023版影响因子和分区对比完整版目录!

本周投稿推荐 SSCI • 1区&#xff0c;4.0-5.0&#xff08;无需返修&#xff0c;提交可录&#xff09; EI • 各领域沾边均可&#xff08;2天录用&#xff09; CNKI • 7天录用-检索&#xff08;急录友好&#xff09; SCI&EI • 4区生物医学类&#xff0c;0.1-0.5&…

postman测试接口使用

背景&#xff1a; 隔了一段时间没有用postman&#xff0c;有些忘记了&#xff0c;谨以此文来记录postman的使用&#xff0c;如有忘记就可以快速回忆 使用&#xff1a; 点击这个号&#xff0c;是创建接口页面 这里的复选框可供我们选择接口的rest方式 请求路径&#xff1a; …