STM32学习笔记之振荡器(原理篇)

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载注明出处

文章目录

  • RC振荡器和晶体振荡器
      • 基本原理
      • 性能特点
      • 应用场景
  • HSE和HSI分别由什么振荡器生成


RC振荡器和晶体振荡器

以下从多个方面对 RC 振荡器和晶体振荡器进行总结:

基本原理

  • RC 振荡器:利用电阻(R)和电容(C)组成的电路,基于电容的充放电特性,结合放大器的正反馈作用产生振荡信号。电容在充放电过程中电压随时间变化,经放大器放大并通过正反馈网络送回输入端,使电容持续充放电循环,进而产生周期性信号。
  • 晶体振荡器:基于石英晶体的压电效应。当在石英晶体的两个电极上加一电场,晶片就会产生机械变形;反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上会产生电场,这种物理现象称为压电效应。在合适的电路中,晶体的机械振动和电场变化相互转换,形成稳定的振荡。

性能特点

对比项RC 振荡器晶体振荡器
频率稳定性较差。RC 元件的参数易受温度、湿度、电源电压等因素影响,导致振荡频率发生变化。高。晶体的物理特性稳定,受外界环境因素影响较小,能提供高精度、高稳定性的频率输出。
频率范围较窄,一般适用于产生低频信号,频率范围通常在几赫兹到几百千赫兹之间。较宽,可覆盖从几 kHz 到几百 MHz 甚至更高的频率范围。
起振时间短。由于内部结构相对简单,不需要像晶体振荡器那样等待晶体达到稳定的振动状态,所以起振迅速。相对较长。晶体需要一定时间来达到稳定的机械振动状态,才能输出稳定的频率信号。
成本低。只需要使用电阻、电容和放大器等常见的电子元件,电路结构简单,成本较低。高。晶体的制造工艺相对复杂,且需要额外的封装和匹配电路,导致成本较高。
相位噪声较高。由于频率稳定性较差,其输出信号的相位噪声相对较大。较低。能够提供更纯净、稳定的信号,相位噪声较低。

应用场景

  • RC 振荡器:适用于对频率精度要求不高的场合,如简易的信号发生器、低频脉冲发生器、一些简单的数字电路系统的时钟信号(如低成本的单片机开发板)以及定时电路等。
  • 晶体振荡器:广泛应用于对频率精度和稳定性要求较高的领域,如通信设备(手机、基站、卫星通信等)、计算机系统(CPU 时钟、内存时钟等)、高精度测量仪器、航空航天设备等。

HSE和HSI分别由什么振荡器生成

在STM32单片机中:

  • HSI(高速内部时钟):由内部的RC振荡器生成。通常其时钟频率为8MHz。例如在STM32F103系列中,HSI是内部8MHz的RC振荡器,它能够在不需要任何外部器件的条件下提供系统时钟,具有启动时间短的优点,但频率精度相对较差,适用于对时钟精度要求不高的低功耗应用。
  • HSE(高速外部时钟):一般由外部晶体/陶瓷谐振器产生,也可以是用户提供的外部时钟信号。常用的外部晶振频率在4MHz - 16MHz之间,如在STM32F103系列中,HSE通常使用4MHz - 16MHz的外部晶振作为主时钟源,主要用于高精度应用,如USB、CAN、以太网等。HSE产生的时钟信号精度较高,但需要外部连接晶体或其他时钟源设备,且启动时间相对较长。

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

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

相关文章

Stereolabs ZED Box Mini:机器人与自动化领域的人工智能视觉新选择

在人工智能视觉技术快速发展的今天,其应用场景正在持续拓宽,从智能安防到工业自动化,从机器人技术到智能交通,各领域都在积极探索如何利用这一先进技术。而 Stereolabs 推出的ZED Box Mini,正是一款专为满足这些多样化…

K8S学习之基础五十九:部署gitlab服务

部署gitlab docker pull gitlab/gitlab-ce:latest docker tag gitlab/gitlab-ce:latest 172.16.80.140/gitlab/gitlab-ce:latest docker push 172.16.80.140/gitlab/gitlab-ce:latest docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/…

多线程 --- 多线程编程

在写代码的时候,可以使用多进程进行并发编程(在Java中,不太推荐,很多很多关于进程相关的API,在Java标准库中,都没有提供),也可以使用多线程进行并发编程(系统提供了多线程…

HTML~视频音频在网页中不能自动播放

问题: autoplay是打开自动播放,但是发现加了关键词还是没有反应 原因: 现在浏览器禁止自动播放(特别是带声音的) 解决办法: 可以添加muted 进行没有声音的自动播放

vue中上传接口file表单提交二进制文件流

1.使用elementui上传组件 要做一个选择文件后&#xff0c;先不上传&#xff0c;等最后点击确定后&#xff0c;把file二进制流及附加参数一起提交上去。 首先使用elementui中的上传组件&#xff0c;设置auto-uploadfalse&#xff0c;也就是选择文件后不立刻上传。 <el-uplo…

Flutter环境配置

配置环境变量 PUB_HOSTED_URLhttps://pub.flutter-io.cnFLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn 这个命令是用来配置 Flutter 的镜像源地址&#xff0c;主要是为了解决在中国大陆地区访问 Flutter 官方资源较慢的问题。 具体的操作如下&#xff1a; 右键点…

ngx_http_index_set_index

定义在 src\http\modules\ngx_http_index_module.c static char * ngx_http_index_set_index(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {ngx_http_index_loc_conf_t *ilcf conf;ngx_str_t *value;ngx_uint_t i, n;ngx_http_inde…

数据库的视图有什么用?

数据库的视图&#xff08;View&#xff09;是一种虚拟表&#xff0c;它的内容由查询定义&#xff0c;并不实际存储数据&#xff0c;而是动态生成。视图的主要作用如下&#xff1a; 1. 简化复杂查询 场景&#xff1a;当查询涉及多表连接、复杂过滤或聚合操作时&#xff0c;SQL …

Ubuntu 24.04 安装 Docker 详细教程

前言 Docker 是目前最流行的容器化技术&#xff0c;它可以帮助开发者快速部署和运行应用程序。本文将详细介绍在 Ubuntu 24.04 (Noble Numbat) 上安装 Docker 的完整步骤&#xff0c;包括配置镜像加速等实用技巧。 一、准备工作 1.1 系统要求 Ubuntu 24.04 LTS 具有 sudo 权…

鸿蒙进行视频上传,使用 request.uploadFile方法

一.拉起选择器进行视频选择&#xff0c;并且创建文件名称 async getPictureFromAlbum() {// 拉起相册&#xff0c;选择图片let PhotoSelectOptions new photoAccessHelper.PhotoSelectOptions();PhotoSelectOptions.MIMEType photoAccessHelper.PhotoViewMIMETypes.VIDEO_TY…

C++ map容器总结

map基本概念 简介&#xff1a; map中所有元素都是pair pair中第一个元素为key&#xff08;键值&#xff09;&#xff0c;起到索引作用&#xff0c;第二个元素为value&#xff08;实值&#xff09; 所有元素都会根据元素的键值自动排序 本质&#xff1a; map/multimap属于关…

【Zookeeper搭建(跟练版)】Zookeeper分布式集群搭建

&#xff08;一&#xff09;克隆前的准备 1. 用 xftp 发送文件 2. 时间同步&#xff1a; sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 3. zookpeeper 安装 部署 呼应开头发送的压缩包&#xff0c;解压&#xff1a; cd ~ tar -zxvf zookeeper-3.4.6.tar.g…

Flutter项目之页面实现以及路由fluro

目录&#xff1a; 1、项目代码结构2、页面编写以及路由配置main.dart(入口文件)page_content.dartindex.dart&#xff08;首页&#xff09;application.dart&#xff08;启动加载类&#xff09;pubspec.yaml&#xff08;依赖配置文件&#xff09;login.dart&#xff08;登录页&…

记录Jmeter 利用BeanShell 脚本解析JSON字符串

下载org.json包(文档说明) #下载地址 https://www.json.org/ # github 地址 https://github.com/stleary/JSON-java # api 文档说明 https://resources.arcgis.com/en/help/arcobjects-java/api/arcobjects/com/esri/arcgis/server/json/JSONObject.htmlBeanShell脚本 import…

uniapp动态循环表单校验失败:初始值校验

问题现象 &#x1f4a5; 在实现动态增减的单价输入表单时&#xff08;基于uv-form组件&#xff09;&#xff0c;遇到以下诡异现象&#xff1a; <uv-input>的v-model绑定初始值为数字类型时&#xff0c;required规则失效 ❌数字类型与字符串类型校验表现不一致 &#x1…

UML 图六种箭头含义详解:泛化、实现、依赖、关联、聚合、组合

目录 一、泛化&#xff08;Generalization&#xff09; 概念 表示方法 二、实现&#xff08;Realization&#xff09; 概念 表示方法 三、依赖&#xff08;Dependency&#xff09; 概念 表示方法 四、关联&#xff08;Association&#xff09; 概念 表示方法 五、…

Android Logcat总结

文章目录 Android Logcat总结日志格式过滤日志正向过滤反向过滤正则过滤日志等级 Android Logcat总结 日志格式 用法&#xff1a; Log.e("TAG", "hello") Log.i("TAG", "hello") Log.d("TAG", "hello")依次为&…

Unity UGUI - 六大基础组件

目录 一、Canvas上 1. Canvas&#xff1a;复制渲染子UI控件 2. ✨Canvas Scaler✨&#xff1a;画布分辨率自适应 3. Graphics Raycaster&#xff1a;射线事件响应 4. ✨Rect Transform✨&#xff1a;UI位置锚点对齐 二、Event System上 5. Event System 6. Standalone …

基于Springboot的网上订餐系统 【源码】+【PPT】+【开题报告】+【论文】

网上订餐系统是一个基于Java语言和Spring Boot框架开发的Web应用&#xff0c;旨在为用户和管理员提供一个便捷的订餐平台。该系统通过简化餐饮订购和管理流程&#xff0c;为用户提供快速、高效的在线订餐体验&#xff0c;同时也为管理员提供完善的后台管理功能&#xff0c;帮助…

css 实现闪烁光标

要实现闪烁光标&#xff08;比如文本输入框内常见的闪烁效果&#xff09;&#xff0c;可以使用 CSS 动画。下面是一个简单的方法&#xff1a; 代码示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta n…