STM32之二:时钟树

news2024/11/28 20:42:46

目录

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文件中修改。

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

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

相关文章

机器学习课程复习——逻辑回归

1. 激活函数 Q:激活函数有哪些? SigmoidS型函数Tanh 双曲正切函数

【技巧】Leetcode 201. 数字范围按位与【中等】

数字范围按位与 给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。 示例 1: 输入:left 5, right 7 输出:4 解题思路 …

外部存储器

外部存储器是主存的后援设备,也叫做辅助存储器,简称外存或辅存。 它的特点是容量大、速度慢、价格低,可以脱机保存信息,属于非易失性存储器。 外存主要有:光盘、磁带、磁盘;磁盘和磁带都属于磁表面存储器…

three.js 第八节 - gltf加载器、解码器

// ts-nocheck // 引入three.js import * as THREE from three // 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls // 导入hdr加载器(专门加载hdr的) import { RGBELoader } from three/examples/jsm/loaders…

工业web4.0UI风格令人惊艳

工业web4.0UI风格令人惊艳

6月27日云技术研讨会 | 中央集中架构新车型功能和网络测试解决方案

会议摘要 “软件定义汽车”新时代下,整车电气电气架构向中央-区域集中式发展已成为行业共识,车型架构的变革带来更复杂的整车功能定义、更多的新技术的应用(如SOA服务化、TSN等)和更短的车型研发周期,对整车和新产品研…

【数据结构与算法】哈夫曼树,哈夫曼编码 详解

哈夫曼树的数据结构。 struct TreeNode {ElemType data;TreeNode *left, *right; }; using HuffmanTree TreeNode *;结构体包含三个成员: data 是一个 ElemType 类型的变量,用于存储哈夫曼树节点的数据。left 是一个指向 TreeNode 类型的指针&#xf…

如何混淆 net core 8 架构 C# 编译程序

如何混淆 net core 8 架构 C# 编译程序 一、使用混淆工具 .NET Reactor V6.9二、net core 8 架构 C# 编译程序(发布的单文件)1、通过发布的单文件程序,可以直接在 .NET Reactor 拖入或打开 ,勾选自己需要的保护功能。2、勾选自己需…

不同交换机之间相同VLAN间主机通信

1、搭建网络拓扑 搭建拓扑,分配IP地址,划分vlan,分配端口 2、配置交换机 //进入全局配置模式 Switch>enable Switch#config terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#hostname SW1 …

湖南(市场调研)源点咨询 新产品上市前市场机会调研与研究分析

湖南源点调研认为:无论是创业公司,还是在公司内部探索新的项目或者新的产品线等,首先都要做“市场机会分析与调研“,要真正思考并解答以下疑问: 我们的目标客户群体是谁,他们如何决策? 我们所…

算法:渐进记号的含义及时间复杂度计算

渐进记号及时间复杂度计算 渐近符号渐近记号 Ω \Omega Ω渐进记号 Θ \Theta Θ渐进记号小 ο \omicron ο渐进记号小 ω \omega ω渐进记号大 O \Omicron O常见的时间复杂度关系 时间复杂度计算:递归方程代入法迭代法套用公式法 渐近符号 渐近记号 Ω \Omega Ω …

Vue: Module “vue“ has no exported member xxx

这个问题让我困扰了好一会儿,我询问了 chatgpt 和各种网站社区,尝试了切换依赖的版本,清除缓存等等,依然没有解决 不过算是有心栽花花不开,无心插柳柳成荫,碰巧解决了,也不知道是不是这个原因&a…

【GD32F303红枫派使用手册】第二十二节 IIC-IIC OLED显示实验

22.1 实验内容 通过本实验主要学习以下内容: OLED驱动原理 IIC驱动OLED显示操作 22.2 实验原理 OLED模块的驱动芯片为SSD1306,其显存大小总共为 128*64bit 大小,SSD1306 将这些显存分为了 8 页,其对应关系如下所示&#xff1…

CST初级教程 七

本教程将实例讲解CST设计优化仿真及其操作步骤。下面是一个微带功率分配器的图片: 一 3D建模 Substrate 建模 Step1 绘制Substrate外形 Substrate 的尺寸参数如下: Step2 添加新材料Substrate Step3 将新建的材料分配给Substrate 选中新建材料Substra…

和琪宝的厦门之旅~

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 引言 承接去年国庆的遗憾,我们将这次的旅行城市定为厦门。 琪宝是下午四点左右到…

迈巴赫S480升级增强现实AR抬头显示hud比普通抬头显示HUD更好用吗

增强AR实景抬头显示HUD(Augmented Reality Head-Up Display)是一种更高级的驾驶辅助技术,相比于普通抬头显示HUD,它提供了更丰富、更具沉浸感的驾驶体验。以下是它比普通抬头显示HUD多的一些功能: • 信息呈现方式&am…

新火种AI|Claude 3.5一夜封王超越GPT-4o!留给OpenAI的时间真的不多了...

AI大模型更新换代的速度,的确快到令人难以想象。 相信很多人现在对“最先进AI大模型”的印象还停留在GPT-4,但事实上,大模型领域的头把交椅早已悄然易主了好几回。就在GPT-4惊艳全球不久之后,其“死对头” Anthropic发布了Claude…

大模型自然语言生成自动驾驶可编辑仿真场景(其一 共十篇)

第一篇:LLM greater scene summarize 第二篇:LLM simulation Test effect 第三篇:LLM simulation driving scenario flow work 第四篇:LLM Algorithm flow description 第五篇:Configure the environment and back…

【CSS in Depth2精译】1.4 简写属性

文章目录 1.4 简写属性1.4.1 当心简写属性悄悄覆盖其他样式1.4.2 记住简写值的顺序1 上、右、下、左顺序2 先水平、再垂直的顺序 1.4 简写属性 简写属性(Shorthand properties) 是可以一次性设置多个属性值的样式属性。例如, font 就是一个简…

大模型产品化第一年​:战术、运营与战略

作者 | Eugene Yan、Bryan Bischof等 OneFlow编译 翻译|宛子琳、张雪聃、杨婷 题图由SiliconCloud平台生成 这是一个激动人心的时代,所有人都能够利用语言大模型(LLM)进行各种各样的产品构建。 过去一年里,LLM已经达到…