stm32 为什么有2个晶振?8mhz+32.768k

 

1个是系统时钟晶振是单片机内部系统的主时钟源,它负责控制整个系统的时钟频率。这个晶振的频率一般比较高,通常在几十MHz到几百MHz不等。它和CPU以及各种总线之间相互配合,从而协同工作。

另外一个是外设时钟晶振则通常用于单片机的内部外设模块,如定时器、计数器、串口等,这些模块可能需要与外部设备进行通信或者控制。使用外设时钟晶振,可以让这些外设模块在独立的时钟频率下运行,从而提高了整个系统的灵活性和可靠性。一般来说,外设时钟晶振的频率比较低,通常在几十kHz到几十MHz不等。

需要注意的是,由于单片机内部采用不同的电路处理不同的任务,因此外设时钟晶振和系统时钟晶振的频率不应相同,否则系统可能会出现问题。

2个晶振,一个是HSE(高速外部时钟),常用外部高频,PLL倍频用,常为8MHz。CPU工作时使用的。
另一个为LSE ,外部低频晶振(低速外部时钟),也称时钟晶振,计时用,或系统待机或低功耗时用,为32.768KHz。32768的RTC时钟晶振是给CPU的RTC部件使用的,这时RTC部件和DS1302这样的时钟芯片一样,可以当钟表使用读取时间信息。


你是不是要问时钟晶振为什么是32.768KHz ?

原因有以下几方面:

1、便于分频获得准确的秒信号:32768=2的15次方,这意味着32.768KHz的晶振产生的时钟信号经过15 次分频后,能够产生频率为1Hz的信号,而1Hz的信号正好对应每秒钟一次的计时,非常适合用于实时时钟来确定时间和日期。如果使用其他频率的晶振,想要得到准确的1Hz秒信号,在分频操作上可能会更加复杂,并且难以保证精确性。

2、低功耗:32.768KHz的晶振工作在相对较低的频率,相比于更高频率的晶振,其功耗更低。对于一些依靠电池供电且需要长时间运行的设备,如电子手表、智能水表、电表等,使用低功耗的32.768KHz晶振可以减少电池的消耗,延长设备的使用时间。

3、尺寸和功耗的折中:频率与晶振的尺寸呈反比关系,频率越低,晶振的尺寸越大。32.768KHz的频率在满足低功耗需求的同时,晶振的尺寸也不会过大,是一种比较理想的折中选择。

4、成本较低:在晶振的生产和制造中,32.768KHz的晶振由于应用广泛、产量大,其成本相对较低。对于大规模生产的电子设备来说,使用成本较低的晶振可以降低整体的生产成本。

5、符合人听觉范围外频率:32.768KHz是第一个为2的整次方且超过人听觉范围的频率。人耳的听觉范围一般在20Hz到20kHz之间,使用32.768KHz 的晶振可以避免产生人耳可听到的噪音干扰。

6、历史沿用和技术成熟:从石英钟表时代开始,就采用32.768KHz的晶振来实现准确的计时,经过长期的发展和应用,相关的技术已经非常成熟和稳定。并且在后续的电子设备发展中,为了保持时间计量的准确性和兼容性,也继续沿用了这一频率的晶振。

以上,算是一个有趣的冷知识。


如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理:
1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。
2)对于少于100脚的产品,有2种接法:
2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。
2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出’0’。此方法可以减小功耗并(相对上面2.1)节省2个外部电阻。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大模型问答测试】大模型问答测试脚本实现(第二版)——接入pytest与代码解耦

背景 接上一篇,【大模型问答测试】大模型问答测试脚本实现(第一版)。 在实现自动化的时候,原先把很多方法与request请求写在一块了,趁着目前实现接口数量较少,决定对代码进行解耦,并且清晰目录…

大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

[论文阅读]RGB-Depth Fusion GAN for Indoor Depth Completion

摘要 由于固有的限制,如无法感知透明物体和有限的距离范围,室内深度传感器捕获的原始深度图像通常会有大面积的深度值缺失。这种不完整的深度图给许多后续视觉任务带来了负担,尽管提出了很多深度补全方法来缓解这一问题。但是现有的大多数方…

解决k8s集群中安装ks3.4.1开启日志失败问题

问题 安装kubesphere v3.4.1时,开启了日志功能,部署时有三个pod报错了 Failed to pull image “busybox:latest”: rpc error: code Unknown desc failed to pull and unpack image “docker.io/library/busybox:latest”: failed to copy: httpRead…

字节跳动青训营——入营考核解答(持续更新中~~~)

考核内容: 在指定的题库中自主选择不少于 15 道算法题并完成解题,其中题目难度分配如下: 简单题不少于 10 道中等题不少于 4 道困难题不少于 1 道 解答代码 16.DNA 序列还原 (简单) 代码实现: public…

零基础Java第八期:一维数组(1)

目录 一、 一维数组的基本概念 1.1. 什么是数组 1.2. 数组的创建及初始化 1.3. 数组的使用 二、数组是引用类型 2.1. 初始JVM的内存分布 2.2. 基本类型变量与引用类型变量 2.3. 引用变量的理解 2.4. null 三、数组的应用场景 3.1. 作为函数的参数 3.2. 作为函数的返…

2024台州赛CTFwp

备注: 解题过程中,关键步骤不可省略,不可含糊其辞、一笔带过。解题过程中如是自己编写的脚本,不可省略,不可截图(代码字体可以调小;而如果代码太长,则贴关键代码函数)。…

【HarmonyOS NEXT】服务端向终端推送消息——获取Push Token

【需求】 获取Push Token 【文档】 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-get-token-V5 【代码】 // EntryAbility.ets 文件 import { pushService } from kit.PushKit; export default class EntryAbility extends UIAbility {onCreat…

第T7周:咖啡豆识别

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)**难度:夯实基础⭐⭐语言&#xff…

Qt5.14.2 安装详细教程(图文版)

Qt 是一个跨平台的 C 应用程序开发框架,主要用于开发图形用户界面(GUI)程序,但也支持非 GUI 程序的开发。Qt 提供了丰富的功能库和工具,使开发者能够在不同平台上编写、编译和运行应用程序,而无需修改代码。…

如何通过CDN优化网站服务器访问速度?

CDN,即内容分发网络(Content Delivery Network),在现代互联网中起着重要作用。它可以显著提升网站服务器的访问速度。以下是CDN在加速网站访问方面的主要优势及其工作原理。 1. 全球分布的服务器节点 CDN通过在全球范围内布设多个…

CANoe与C#联合仿真方案

引言 CANoe作为一款强大的网络仿真工具,能够模拟各种通信协议,尤其是在汽车领域的CAN、LIN、Ethernet等协议。而C#作为一种广泛使用的编程语言,能够为CANoe提供灵活的用户界面和逻辑控制。本文将探讨如何将CANoe与C#结合,实现高效的联合仿真方案。 1. 系统架构 联合仿真…

Python学习的自我理解和想法(16)

学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第16天,从今天开始,每天一到两个常用模块,更完恢复到原来的。开学了,时间不多,写…

Bug:通过反射修改@Autowired注入Bean的字段,明确存在,报错 NoSuchFieldException

【BUG】通过Autowired注入了一个Bean SeqNo,测试的时候需要修改其中的字段。通过传统的反射,无论如何都拿不到信息,关键是一方面可以通过IDEA跳转,一方面debug也确实能看到这个字段。但是每次调用set方法报错:NoSuchFi…

Nuxt.js 应用中的 app:templatesGenerated 事件钩子详解

title: Nuxt.js 应用中的 app:templatesGenerated 事件钩子详解 date: 2024/10/19 updated: 2024/10/19 author: cmdragon excerpt: app:templatesGenerated 是 Nuxt.js 的一个生命周期钩子,在模板编译到虚拟文件系统(Virtual File System, VFS)之后被调用。这个钩子允许…

【数据分享】1901-2023年我国省市县三级逐月最低气温(免费获取/Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月最低气温栅格数据(可查看之前的文章获悉详情),该数据来源于国家青藏高原科学数据中心,很多小伙伴拿到数据后反馈栅格数据不太方便使用,问我们能不能把数据处理为更方便使用的Sh…

Android15之解决gdb:Remote register badly formatted问题(二百三十六)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

C++临时变量的常量性

C 临时变量的常量性-CSDN博客 #include <iostream> using namespace std; void print(string& str) {cout << str << endl; }int main() {print("hello world");//print(string("hello world"));return 0; }编译器根据字符串"…

探索 Coconut: Python 的新篇章

文章目录 探索 Coconut: Python 的新篇章背景&#xff1a;为何选择 Coconut&#xff1f;Coconut 是什么&#xff1f;如何安装 Coconut&#xff1f;简单的库函数使用方法1. 惰性列表2. 模式匹配3. 函数组合4. 协程5. 模式匹配数据类型 场景应用1. Web 开发2. 数据处理3. 异步编程…

【C++】类的默认成员函数:深入剖析与应用(下)

&#x1f4af;前言 回顾上篇文章&#x1f449;【C】类的默认成员函数&#xff1a;深入剖析与应用&#xff08;上&#xff09;中对构造函数、拷贝构造函数和析构函数的讨论&#xff0c;强调这些默认成员函数在类的创建、初始化和销毁过程中的重要性。 ✍引出本篇将继续探讨剩余…