【嵌入式学习笔记】---- 时钟源时钟树 RCC

news2024/9/20 22:31:37

微观引入时钟源

在芯片内部,布满了各种逻辑电路,通过数字信号进行通信

假设芯片内部存在如下这种逻辑电路:
image

①状态:当A、B均输入1时,与门输出1,异或门输出0,故此时寄存器的值为0
image

②状态:当A输入1,B输入0时,与门输出0,异或门输出0,此时寄存器的值为0
image

问题引出:受到逻辑门内部电路的影响,上述两种状态并不能瞬间完成,即存在过渡状态

过渡状态

  • 当B由1突变为0时,与门的输出没有立即变为0,在等待与门运算的过程中,异或门的两个输入信号一高一低,故在这个过渡状态下异或门的输出值为1,即寄存器的值也为1.
  • 当与门运算完成后,与门输出0,与上述同理,异或门经一段时间再输出0,寄存器值为0(此时才达到②状态)

正因为这种过渡状态因逻辑电路运算延时而产生的错误状态)的存在,极易对数字电路产生巨大影响

解决办法:加入边沿触发器

image
边沿触发器通过上升沿控制导通,通过调整合适的方波周期,使逻辑电路在一个周期完成相应的逻辑运算,规避过渡状态,避免信号混乱

这个具有一定周期的方波信号,便是我们的时钟信号

该部分内容参考于大佬视频:https://www.bilibili.com/video/BV1ph4y1e7Ey/?spm_id_from=333.337.search-card.all.click&vd_source=2c974fb85c05e13d278d1bbe4cddc944

时钟系统

时钟是嵌入式工作系统的同步节拍,时钟系统由信号源,定时唤醒器,分频器组成。常见的信号源包括晶振和RC振荡器

时钟系统是嵌入式系统中的心脏,心脏每搏动一次相当于产生一个时钟脉冲,连续的脉冲便称为时钟信号。处理器执行指令以及外设的正常工作都需要时钟的配合,当晶振不起振或者振荡不稳、停振时,嵌入式系统都是无法正常工作的。

时钟源

从时钟频率来分可以分为高速时钟源和低速时钟源,
HSI, HSE 以及 PLL 是高速时钟, 为芯片的内核和主要外设提供时钟;
LSI 和 LSE 是低速时钟,为芯片的RTC和看门狗提供时钟

外部高速时钟(HSE)

一般接石英/陶瓷谐振器及其配套电路构成的时钟电路,其频率范围为4MHz~16MHz(具体可参考相应芯片手册)

外部低速时钟 (LSE)

接频率为 32.768kHz 的石英晶体。其经过16分频即可得到准确的1 Hz的秒时钟信号,提供给实时时钟RTC

内部高速时钟 (HSI)

RC 振荡器, 频率为 8MHz。系统启动时,硬件默认使用改时钟,硬件启动完成后,一般在初始化程序中会将时钟源配置为更为稳定的 HSE

内部低速时钟 (LSI)

RC 振荡器,频率为 40kHz。 独立看门狗的时钟源只能是 LSI,同时 LSI 还可以作为 RTC 的时钟源

锁相环(PLL)

内部PLL可以用来倍频HSI RC的输出时钟或HSE晶体输出时钟。PLL 为锁相环倍频输出,可输出高频且稳定的时钟信号,其时钟输入源可选择为 HSI/2、 HSE 或者 HSE/2。倍频可选择为2~16 倍,但是其输出频率最大不得超过 72MHz(因不同芯片而异)

时钟电路设计

振荡模式

该模式下,在MCU外部连接一个晶振和两个电容。利用MCU片内集成的反相器构成振荡电路,进而产生时钟信号。

旁路时钟模式

该模式下,直接由外部电路输入一个稳定的时钟信号。外部时钟信号送入OSC_IN引脚,悬空OSC_OUT引脚。

系统时钟

外部高速时钟信号HSE

HSE是高速的外部时钟信号,可以由有源晶振无源晶振提供

  • 使用有源晶振时:时钟从OSC_IN引脚进入,OSC_OUT引脚悬空
  • 使用无源晶振时:配合谐振电容,时钟从OSC_IN和OSC_OUT引脚进入

当使用HSEHSE经过PLL倍频之后的时钟作为系统时钟SYSCLK时,若HSE出现故障,HSE和PLL都会关闭,此时HSI作为备用时钟信号维持系统时钟,直至HSE恢复正常

锁相环PLL

主要功能:倍频,然后将时钟输出到各个功能部件

PLL可分为两个:主PLL、PLLI2S(专用)

其中主PLL有两路时钟输出:
第一路是输出时钟PLLCLK用于系统时钟
第二路是输出用于USB OTG FS的时钟、RNG和SDIO时钟

专用的PLLI2S用于生成精确时钟,给 I 2 S I^{2}S I2S提供时钟

系统时钟SYSCLK

来源可以是:HSE、HSI、PLLCLK

AHB总线时钟HCLK

由SYSCLK经过AHB预分频器分频之后得到的时钟叫APB总线时钟,即HCLK

APB1总线时钟PCLK1

由HCLK经过低速APB预分频器得到,属于低速的总线时钟

APB2总线时钟PCLK2

由HCLK经过高速APB2预分频器得到,属于高速的总线时钟

其他时钟

RTC时钟

通常由LSE提供,32.768KHz

独立看门狗时钟

由LSI提供,32KHz

I 2 S I^{2}S I2S时钟

由专用的PLLI2S提供,也可由外部时钟引脚I2S_CKIN提供

时钟与系统性能的关系

  • 系统超频的时候会带来性能上的提升,但是发热也会增大,影响系统稳定性
  • 在设备运行时,时钟频率越高其功耗越大,发热越大,系统不稳定,需要苛刻的外部散热条件
  • 外设不用的时候最好关闭其对应的时钟线

时钟与周期的关系

振荡周期

广义上指任何振动现象重复出现的时间间隔,在嵌入式领域中,振荡周期等于晶振或者RC振荡器的频率的倒数

时钟周期(节拍)

等于芯片的工作频率的倒数。在单片机中,时钟周期等于振荡周期,而在STM32处理器中,为满足性能的需要,经常对时钟进行倍频处理,此时系统工作频率可以超过晶振频率,时钟周期也就小于振荡周期。
时钟周期是嵌入式中最基本、最小的时间单位,在一个时间周期内,芯片只能完成一个最基本的动作。系统工作频率越大,时钟周期越小,系统工作速度越快

状态周期

等于两个时钟周期(节拍)

机器周期

系统完成一个基本操作,例如取指令、读写存储器的时间, 一个机器周期由若干个时钟周期(在51单片机中一般是12个时钟周期)组成

指令周期

系统从内存中取出指令和执行指令的总时间,通常由若干个机器周期组成,指令的不同,指令周期包含的机器周期数就不同,指令周期长短也就不同

总线周期

在嵌入式系统中,存储器和IO口等外设都是挂在总线上的,处理器对存储器和IO接口等外设的访问,是通过总线实现的。通过总线完成一次内存读写操作或完成一次输入输出设备的读写操作所需要的时间 ,称为总线周期,一个总线周期通常由4个时钟周期组成,这4个时钟周期分别称4个状态,即T1状态、T2状态、T3状态和T4状态

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

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

相关文章

文件被误删?找回电脑删除的文件,这4招很好用

在日常使用电脑的过程中,不小心误删重要文件的情况时有发生,让人心急如焚。但别担心,只要掌握了一些实用的方法,你就有可能轻松找回那些看似已经消失的文件。今天,就为大家分享四招非常有效的找回电脑删除文件的方法&a…

Java笔试面试题AI答之正则表达式(2)

文章目录 7. 简述Java正则表达式零宽断言 ?8. 简述Java正则表达式贪婪与懒惰 ?贪婪匹配(Greedy Matching)懒惰匹配(Lazy Matching)区别与应用示例 9. 简述Java正则表达式POSIX 字符类(仅 US-ASC…

docker安装prometheus、grafana监控SpringBoot

1. 概述 最新有一个需求, 需要安装一个监控软件,对SpringBoot程序进行监控, 包括机器上cpu, 内存,jvm以及一些日志的统计。 这里需要介绍两款软件: prometheus 和 grafana prometheus: 中文名称, 普罗米…

OpenCV 与 Matplotlib 的结合使用:探索有趣的图像处理与可视化功能

本文将讲述,将 OpenCV 与 Matplotlib 相结合,可以充分利用两者的优势,实现丰富多彩的图像处理和数据可视化功能。本文将介绍几种有趣且实用的结合应用,并通过示例代码展示具体实现方式。在今后的博客中会扩展下面的十个基础实现以…

宝贝甜梦秘籍!康姿百德柔压磁性枕豪华款守护成长每一夜

科学护航童年梦!康姿百德豪华柔压磁性枕,给孩子五星级的睡眠享受 孩子的成长过程中,良好的睡眠环境至关重要。而康姿百德柔压磁性枕(豪华款),凭借其独特的设计和材料,成为了孩子成长过程中不可…

乐凡三防平板高性能为稳定运行保驾护航

随着科技进步的浪潮,三防工业平板电脑在自动化生产、设备监控及数据收集等场景中日益彰显其关键作用。但在特定环境,比如户外探险、紧急救援或电力供应不稳定的场合,维持设备的持续运行成为了一大挑战。因此,开发一款配备可更换电…

运动耳机怎么选购?解密最值得购买的五大品牌!

​到了2024年,开放式耳机已经成为耳机界的大热门。它们的好处是,既能让你听得健康,戴着又舒服,还能一边听歌一边留意周围的声音,这对于喜欢户外活动的人来说,能提高安全意识,是个很好的优势。作…

GaussDB关键技术原理:高弹性(三)

书接上文GaussDB关键技术原理:高弹性(二)从优化器剪枝、执行器两方面对hashbucket进行了解读,本篇将从段页式技术方面继续介绍GaussDB高弹性技术。 3 段页式 3.1 段页式存储 根据前文的介绍,hashbucket需要对文…

数据库审计是什么?主要用在哪些场景呢?

数据库审计是什么?主要用在哪些场景呢? 数据库审计 数据库审计是指对数据库系统中的操作进行记录、监控和分析的过程,用于检查和评估数据库的安全性、合规性和完整性。数据库审计可以为组织提供重要的安全保障和合规性需求的满足。本文将介…

嵌入式24千兆电口+4万兆光口管理型三层交换机RTL9301模块

核心模块概述: 嵌入式RTL9301模块可以支持4口万兆上联24口千兆三层管理型以太网交换机,也就是最多可以提供24个10/100/1000自适应电口、4个10 Gb SFP 端口、1个console口、1个USB串口。 完善的安全控制策略及CPU保护策略(CPU protect policy)提高容错能力&#xff0…

LLM大模型学习:LLM常见问题(思维链部分)

1. 什么是思维链提示? 思维链(Chain-of-thought,CoT),指的是一系列有逻辑关系的思考步骤,形成一个完整的思考过程。人在日常生活中,随时随地都会用思维链来解决问题,比如工作、读书经常用到的思维导图&…

【git】git安装方法

1 Git 的下载 这个就需要去 Git 官网下载对应系统的软件了,下载地址为 git-scm.com或者gitforwindows.org,或者阿里镜像(感谢评论区的星悸迷航同学) 上面的 git-scm 是 Git 的官方,里面有不同系统不同平台的安装包和…

Nhanes数据(复杂调查数据)绘制限制立方样条(rcs)函数svyggrcs1.8尝鲜版发布

临床上,因变量和临床的结局有时候不是线性关系,而回归模型有一个重要的假设就是自变量和因变量呈线性关联,因此非线性关系模型用回归分析来拟合受到限制。因此,一个更好的解决方法是拟合自变量与因变量之间的非线性关系&#xff0…

智慧公厕:城市公共卫生管理的新篇章‌@卓振思众

在快节奏的现代生活中,公共厕所作为城市基础设施的重要组成部分,其使用体验和管理效率直接影响着市民的生活质量与城市形象。随着科技的飞速发展,智慧公厕应运而生,它以一种全新的姿态,为城市公共卫生管理带来了前所未…

【吊打面试官系列-Redis面试题】Pipeline 有什么好处,为什么要用 pipeline?

大家好,我是锋哥。今天分享关于 【Pipeline 有什么好处,为什么要用 pipeline?】面试题,希望对大家有帮助; Pipeline 有什么好处,为什么要用 pipeline? 1000道 互联网大厂Java工程师 精选面试题…

ABAP 报错 提示 Use the associated entity XXX

警告,我们可以忽略,但是报错了,却不知道怎么改? 后面发现是 在ABAP里面 对CDS的字段做 substring 或者concat是不允许的

常见加解密算法06 - 分组密码的填充与工作模式

各位英姿焕发,风华正茂的读者们你们好啊,今天我们讨论一下分组密码的填充与工作模式。 分组密码中,需要将明文按指定大小进行分组,由于明文并非指定大小的整数倍,因此在明文的最后一个分组需要将其填充至加密算法所要…

向 ADC 模型和 DAC 建模添加低通滤波器

与单音测试信号相比,双音测试信号可提供更多有关 ADC 性能的信息。您的作者的模型与特定 ADC 的制造商模型非常匹配,因此可以方便地运行误码率模拟。该 ADC 恰好具有非常宽的输入带宽。 对于带宽较低的 ADC,添加如图 1 所示的低通滤波器将提…

[SUCTF 2018]annonymous1

知识点&#xff1a; 匿名函数创建其实有自己的名字&#xff08;%00lambda_%d&#xff09; 进入页面开始代码审计. <?php // 使用 create_function 创建一个匿名函数&#xff0c;该函数调用 die() 函数并执行 cat flag.php 命令&#xff08;在服务器上执行&#xff0c;如果…

BFF层聚合查询服务异步改造及治理实践

首先感谢王晓老师的[ 接口优化的常见方案实战总结]一文总结&#xff0c;恰巧最近在对稳健理财BFF层聚合查询服务优化治理&#xff0c;针对文章内的串行改并行章节进行展开&#xff0c;分享下实践经验&#xff0c;主要涉及原同步改异步的过程、全异步化后衍生的问题以及治理方面…